diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/2.Master Data/CreateFADimensionValue.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/2.Master Data/CreateFADimensionValue.Codeunit.al new file mode 100644 index 0000000000..b980050f8f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/2.Master Data/CreateFADimensionValue.Codeunit.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.DemoData.FixedAsset; + +using Microsoft.DemoData.Finance; +using Microsoft.DemoTool.Helpers; +using Microsoft.Finance.Dimension; +using Microsoft.FixedAssets.FixedAsset; + +codeunit 5212 "Create FA Dimension Value" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoDimension: Codeunit "Contoso Dimension"; + CreateDimension: Codeunit "Create Dimension"; + CreateDimensionValue: Codeunit "Create Dimension Value"; + CreateFixedAsset: Codeunit "Create Fixed Asset"; + begin + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000010(), CreateDimension.DepartmentDimension(), CreateDimensionValue.AdministrationDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000020(), CreateDimension.DepartmentDimension(), CreateDimensionValue.AdministrationDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000030(), CreateDimension.DepartmentDimension(), CreateDimensionValue.ProductionDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000040(), CreateDimension.DepartmentDimension(), CreateDimensionValue.ProductionDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000050(), CreateDimension.DepartmentDimension(), CreateDimensionValue.ProductionDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000060(), CreateDimension.DepartmentDimension(), CreateDimensionValue.ProductionDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000070(), CreateDimension.DepartmentDimension(), CreateDimensionValue.ProductionDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000080(), CreateDimension.DepartmentDimension(), CreateDimensionValue.ProductionDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + ContosoDimension.InsertDefaultDimensionValue(Database::"Fixed Asset", CreateFixedAsset.FA000090(), CreateDimension.DepartmentDimension(), CreateDimensionValue.AdministrationDepartment(), Enum::"Default Dimension Value Posting Type"::" "); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/2.Master Data/CreateFixedAsset.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/2.Master Data/CreateFixedAsset.Codeunit.al index 071e76936a..d0c599e3a9 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/2.Master Data/CreateFixedAsset.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/2.Master Data/CreateFixedAsset.Codeunit.al @@ -5,8 +5,8 @@ namespace Microsoft.DemoData.FixedAsset; -using Microsoft.DemoTool.Helpers; using Microsoft.DemoData.Common; +using Microsoft.DemoTool.Helpers; using Microsoft.FixedAssets.FixedAsset; codeunit 5118 "Create Fixed Asset" @@ -26,24 +26,25 @@ codeunit 5118 "Create Fixed Asset" FAClass: Codeunit "Create FA Class"; ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; FALocation: Codeunit "Create FA Location"; + FAPostingGroup: Codeunit "Create FA Posting Group"; CommonCustomerVendor: Codeunit "Create Common Customer/Vendor"; ContosoUtilities: Codeunit "Contoso Utilities"; DomesticVendor1, DomesticVendor2, DomesticVendor3 : Code[20]; begin DomesticVendor1 := CommonCustomerVendor.DomesticVendor1(); - ContosoFixedAsset.InsertFixedAsset(FA000010(), Vehicle1Lbl, FAClass.TangibleClass(), FAClass.VehiclesSubClass(), FALocation.Administration(), Enum::"FA Component Type"::" ", SerialNoEA12394QLbl, ContosoUtilities.AdjustDate(19030412D), DomesticVendor1, DomesticVendor1); - ContosoFixedAsset.InsertFixedAsset(FA000020(), Vehicle2Lbl, FAClass.TangibleClass(), FAClass.VehiclesSubClass(), FALocation.Sales(), Enum::"FA Component Type"::" ", SerialNoEA12395QLbl, ContosoUtilities.AdjustDate(19030718D), DomesticVendor1, DomesticVendor1); - ContosoFixedAsset.InsertFixedAsset(FA000030(), Truck1Lbl, FAClass.TangibleClass(), FAClass.VehiclesSubClass(), FALocation.Production(), Enum::"FA Component Type"::" ", SerialNoEA15397QLbl, ContosoUtilities.AdjustDate(19030821D), DomesticVendor1, DomesticVendor1); + ContosoFixedAsset.InsertFixedAsset(FA000010(), Vehicle1Lbl, FAClass.TangibleClass(), FAClass.VehiclesSubClass(), FALocation.Administration(), Enum::"FA Component Type"::" ", SerialNoEA12394QLbl, ContosoUtilities.AdjustDate(19030412D), DomesticVendor1, DomesticVendor1, FAPostingGroup.Vehicles()); + ContosoFixedAsset.InsertFixedAsset(FA000020(), Vehicle2Lbl, FAClass.TangibleClass(), FAClass.VehiclesSubClass(), FALocation.Sales(), Enum::"FA Component Type"::" ", SerialNoEA12395QLbl, ContosoUtilities.AdjustDate(19030718D), DomesticVendor1, DomesticVendor1, FAPostingGroup.Vehicles()); + ContosoFixedAsset.InsertFixedAsset(FA000030(), Truck1Lbl, FAClass.TangibleClass(), FAClass.VehiclesSubClass(), FALocation.Production(), Enum::"FA Component Type"::" ", SerialNoEA15397QLbl, ContosoUtilities.AdjustDate(19030821D), DomesticVendor1, DomesticVendor1, FAPostingGroup.Vehicles()); DomesticVendor2 := CommonCustomerVendor.DomesticVendor2(); - ContosoFixedAsset.InsertFixedAsset(FA000040(), ConveyorMainAssetLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::"Main Asset", SerialNoX23111SW0Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor2, DomesticVendor2); - ContosoFixedAsset.InsertFixedAsset(FA000050(), ConveyorBeltLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::Component, SerialNoX23111SW1Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor2, DomesticVendor2); - ContosoFixedAsset.InsertFixedAsset(FA000060(), ConveyorComputerLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::Component, SerialNoX23111SW3Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor2, DomesticVendor2); + ContosoFixedAsset.InsertFixedAsset(FA000040(), ConveyorMainAssetLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::"Main Asset", SerialNoX23111SW0Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor2, DomesticVendor2, FAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFixedAsset(FA000050(), ConveyorBeltLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::Component, SerialNoX23111SW1Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor2, DomesticVendor2, FAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFixedAsset(FA000060(), ConveyorComputerLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::Component, SerialNoX23111SW3Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor2, DomesticVendor2, FAPostingGroup.Equipment()); DomesticVendor3 := CommonCustomerVendor.DomesticVendor3(); - ContosoFixedAsset.InsertFixedAsset(FA000070(), ConveyorLiftLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::Component, SerialNoX23111SW2Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor3, DomesticVendor3); - ContosoFixedAsset.InsertFixedAsset(FA000080(), CargoLiftLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::" ", SerialNoAKW2476111Lbl, ContosoUtilities.AdjustDate(19030421D), DomesticVendor3, DomesticVendor3); - ContosoFixedAsset.InsertFixedAsset(FA000090(), SwitchboardLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Administration(), Enum::"FA Component Type"::" ", SerialNoTELE4476ZLbl, ContosoUtilities.AdjustDate(19031212D), DomesticVendor3, DomesticVendor3); + ContosoFixedAsset.InsertFixedAsset(FA000070(), ConveyorLiftLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::Component, SerialNoX23111SW2Lbl, ContosoUtilities.AdjustDate(19030815D), DomesticVendor3, DomesticVendor3, FAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFixedAsset(FA000080(), CargoLiftLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Production(), Enum::"FA Component Type"::" ", SerialNoAKW2476111Lbl, ContosoUtilities.AdjustDate(19030421D), DomesticVendor3, DomesticVendor3, FAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFixedAsset(FA000090(), SwitchboardLbl, FAClass.TangibleClass(), FAClass.EquipmentSubClass(), FALocation.Administration(), Enum::"FA Component Type"::" ", SerialNoTELE4476ZLbl, ContosoUtilities.AdjustDate(19031212D), DomesticVendor3, DomesticVendor3, FAPostingGroup.Equipment()); end; local procedure CreateMainAssetComponents() @@ -58,18 +59,19 @@ codeunit 5118 "Create Fixed Asset" local procedure CreateFADepreciationBookForAssets() var ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; - CreateFADepreciationBook: Codeunit "Create FA Depreciation Book"; ContosoUtilities: Codeunit "Contoso Utilities"; + CreateFADepreciationBook: Codeunit "Create FA Depreciation Book"; + CreateFAPostingGroup: Codeunit "Create FA Posting Group"; begin - ContosoFixedAsset.InsertFADepreciationBook(FA000010(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020101D), 5); - ContosoFixedAsset.InsertFADepreciationBook(FA000020(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020501D), 5); - ContosoFixedAsset.InsertFADepreciationBook(FA000030(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020601D), 5); - ContosoFixedAsset.InsertFADepreciationBook(FA000040(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020101D), 0); - ContosoFixedAsset.InsertFADepreciationBook(FA000050(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020101D), 10); - ContosoFixedAsset.InsertFADepreciationBook(FA000060(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020201D), 8); - ContosoFixedAsset.InsertFADepreciationBook(FA000070(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020301D), 4); - ContosoFixedAsset.InsertFADepreciationBook(FA000080(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020401D), 8); - ContosoFixedAsset.InsertFADepreciationBook(FA000090(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19020201D), 7); + ContosoFixedAsset.InsertFADepreciationBook(FA000010(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010101D), 5, CreateFAPostingGroup.Vehicles()); + ContosoFixedAsset.InsertFADepreciationBook(FA000020(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010501D), 5, CreateFAPostingGroup.Vehicles()); + ContosoFixedAsset.InsertFADepreciationBook(FA000030(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010601D), 5, CreateFAPostingGroup.Vehicles()); + ContosoFixedAsset.InsertFADepreciationBook(FA000040(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010101D), 0, CreateFAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFADepreciationBook(FA000050(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010101D), 10, CreateFAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFADepreciationBook(FA000060(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010201D), 8, CreateFAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFADepreciationBook(FA000070(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010301D), 4, CreateFAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFADepreciationBook(FA000080(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010401D), 8, CreateFAPostingGroup.Equipment()); + ContosoFixedAsset.InsertFADepreciationBook(FA000090(), CreateFADepreciationBook.Company(), ContosoUtilities.AdjustDate(19010201D), 7, CreateFAPostingGroup.Equipment()); end; procedure FA000010(): Text[20] @@ -118,22 +120,22 @@ codeunit 5118 "Create Fixed Asset" end; var - Vehicle1Lbl: Label 'Vehicle 1', MaxLength = 100; - Vehicle2Lbl: Label 'Vehicle 2', MaxLength = 100; - Truck1Lbl: Label 'Truck 1', MaxLength = 100; - ConveyorMainAssetLbl: Label 'Conveyor, Main Asset', MaxLength = 100; + CargoLiftLbl: Label 'Cargo Lift', MaxLength = 100; ConveyorBeltLbl: Label 'Conveyor Belt', MaxLength = 100; ConveyorComputerLbl: Label 'Conveyor Computer', MaxLength = 100; - CargoLiftLbl: Label 'Cargo Lift', MaxLength = 100; ConveyorLiftLbl: Label 'Conveyor Lift', MaxLength = 100; - SwitchboardLbl: Label 'Switchboard', MaxLength = 100; + ConveyorMainAssetLbl: Label 'Conveyor, Main Asset', MaxLength = 100; + SerialNoAKW2476111Lbl: Label 'AKW2476111', Locked = true; SerialNoEA12394QLbl: Label 'EA 12 394 Q', Locked = true; SerialNoEA12395QLbl: Label 'EA 12 395 Q', Locked = true; SerialNoEA15397QLbl: Label 'EA 15 397 Q', Locked = true; + SerialNoTELE4476ZLbl: Label 'TELE 4476 Z', Locked = true; SerialNoX23111SW0Lbl: Label '23 111 SW0', Locked = true; SerialNoX23111SW1Lbl: Label '23 111 SW1', Locked = true; SerialNoX23111SW2Lbl: Label '23 111 SW2', Locked = true; SerialNoX23111SW3Lbl: Label '23 111 SW3', Locked = true; - SerialNoAKW2476111Lbl: Label 'AKW2476111', Locked = true; - SerialNoTELE4476ZLbl: Label 'TELE 4476 Z', Locked = true; + SwitchboardLbl: Label 'Switchboard', MaxLength = 100; + Truck1Lbl: Label 'Truck 1', MaxLength = 100; + Vehicle1Lbl: Label 'Vehicle 1', MaxLength = 100; + Vehicle2Lbl: Label 'Vehicle 2', MaxLength = 100; } diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/3.Transactions/CreateFAJnlLines.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/3.Transactions/CreateFAJnlLines.Codeunit.al new file mode 100644 index 0000000000..5b0c7b43c2 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/3.Transactions/CreateFAJnlLines.Codeunit.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.DemoData.FixedAsset; + +using Microsoft.DemoData.Finance; +using Microsoft.DemoTool.Helpers; +using Microsoft.Finance.GeneralLedger.Journal; +using Microsoft.FixedAssets.Depreciation; +using Microsoft.FixedAssets.Journal; + +codeunit 5213 "Create FA Jnl. Lines" +{ + InherentEntitlements = X; + InherentPermissions = X; + EventSubscriberInstance = Manual; + + trigger OnRun() + var + ContosoFixedAsset: Codeunit "Contoso Fixed Asset"; + ContosoUtilities: Codeunit "Contoso Utilities"; + CreateFAJnlTemplate: Codeunit "Create FA Jnl. Template"; + CreateFANoSeries: Codeunit "Create FA No Series"; + CreateFixedAsset: Codeunit "Create Fixed Asset"; + CreateGLAccount: Codeunit "Create G/L Account"; + FAJournalBatchName: Code[10]; + FAJournalTemplateName: Code[10]; + begin + FAJournalTemplateName := CreateFAJnlTemplate.Assets(); + FAJournalBatchName := CreateFAJnlTemplate.Default(); + + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 10000, CreateFixedAsset.FA000010(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 65000); + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 20000, CreateFixedAsset.FA000020(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 70000); + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 30000, CreateFixedAsset.FA000030(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 95000); + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 40000, CreateFixedAsset.FA000050(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 15000); + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 50000, CreateFixedAsset.FA000060(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 60000); + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 60000, CreateFixedAsset.FA000070(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 1500); + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 70000, CreateFixedAsset.FA000080(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 11000); + InsertFAGenJournalLine(FAJournalTemplateName, FAJournalBatchName, 80000, CreateFixedAsset.FA000090(), ContosoUtilities.AdjustDate(19010101D), Enum::"Gen. Journal Line FA Posting Type"::"Acquisition Cost", AssetAcquisitionLbl, AcquisitionLbl, Enum::"Gen. Journal Account Type"::"G/L Account", CreateGLAccount.Cash(), 4000); + Codeunit.Run(Codeunit::"Post FA Jnl. Lines"); + + CalculateDepreciationLines(ContosoUtilities.AdjustDate(19011231D), 1); + CalculateDepreciationLines(ContosoUtilities.AdjustDate(19021231D), 2); + Codeunit.Run(Codeunit::"Post FA Jnl. Lines"); + end; + + procedure InsertFAGenJournalLine(JournalTemplateName: Code[10]; JournalBatchName: Code[10]; LineNo: Integer; AccountNo: Code[20]; PostingDate: Date; FAPostingType: Enum "Gen. Journal Line FA Posting Type"; DocumentNo: Code[20]; Description: Text[100]; BalAccountType: Enum "Gen. Journal Account Type"; BalAccountNo: Code[20]; Amount: Decimal) + var + GenJournalLine: Record "Gen. Journal Line"; + begin + GenJournalLine.Validate("Journal Template Name", JournalTemplateName); + GenJournalLine.Validate("Journal Batch Name", JournalBatchName); + GenJournalLine.Validate("Line No.", LineNo); + GenJournalLine.Validate("Account Type", Enum::"Gen. Journal Account Type"::"Fixed Asset"); + GenJournalLine.Validate("Account No.", AccountNo); + GenJournalLine.Validate("Posting Date", PostingDate); + GenJournalLine.Validate("FA Posting Type", FAPostingType); + GenJournalLine.Validate("Document No.", DocumentNo); + GenJournalLine.Validate(Description, Description); + GenJournalLine.Validate("Bal. Account Type", BalAccountType); + GenJournalLine.Validate("Bal. Account No.", BalAccountNo); + GenJournalLine.Validate(Amount, Amount); + GenJournalLine.Insert(true); + end; + + local procedure CalculateDepreciationLines(PostingDate: Date; BatchCount: Integer) + var + CalculateDepreciation: Report "Calculate Depreciation"; + CreateFADepreciationBook: Codeunit "Create FA Depreciation Book"; + begin + CalculateDepreciation.InitializeRequest(CreateFADepreciationBook.Company(), PostingDate, false, 0, PostingDate, StrSubstNo('%1%2', AssetDepreciationLbl, BatchCount), DepreciationLbl, true); + CalculateDepreciation.UseRequestPage(false); + BindSubscription(this); + CalculateDepreciation.Run(); + UnbindSubscription(this); + end; + + [EventSubscriber(ObjectType::Report, Report::"Calculate Depreciation", OnPostReportOnBeforeConfirmShowGenJournalLines, '', true, true)] + local procedure ConfirmShowGenJournalLines(DeprBook: Record "Depreciation Book"; GenJnlLine: Record "Gen. Journal Line"; GenJnlLineCreatedCount: Integer; var IsHandled: Boolean) + begin + IsHandled := true; + end; + + var + AcquisitionLbl: Label 'Acquisition', MaxLength = 100; + AssetAcquisitionLbl: Label 'ASSET-ACQ', MaxLength = 20; + AssetDepreciationLbl: Label 'ASSET-DEPR', MaxLength = 20; + DepreciationLbl: Label 'Depreciation', MaxLength = 100; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/3.Transactions/PostFAJnlLines.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/3.Transactions/PostFAJnlLines.Codeunit.al new file mode 100644 index 0000000000..8ecd312b03 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/3.Transactions/PostFAJnlLines.Codeunit.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.DemoData.FixedAsset; + +using Microsoft.Finance.GeneralLedger.Journal; +using Microsoft.Finance.GeneralLedger.Posting; + +codeunit 5214 "Post FA Jnl. Lines" +{ + InherentEntitlements = X; + InherentPermissions = X; + EventSubscriberInstance = Manual; + + trigger OnRun() + var + GenJournalLine: Record "Gen. Journal Line"; + CreateFAJnlTemplate: Codeunit "Create FA Jnl. Template"; + FAJournalBatchName: Code[10]; + FAJournalTemplateName: Code[10]; + begin + FAJournalTemplateName := CreateFAJnlTemplate.Assets(); + FAJournalBatchName := CreateFAJnlTemplate.Default(); + + GenJournalLine.SetRange("Journal Template Name", FAJournalTemplateName); + GenJournalLine.SetRange("Journal Batch Name", FAJournalBatchName); + if GenJournalLine.FindFirst() then begin + BindSubscription(this); + Codeunit.Run(Codeunit::"Gen. Jnl.-Post", GenJournalLine); + UnbindSubscription(this); + end; + end; + + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Gen. Jnl.-Post", OnCodeOnBeforeConfirmPostJournalLinesResponse, '', true, true)] + local procedure ConfirmPostJournalLinesResponse(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; var ShouldExit: Boolean) + begin + IsHandled := true; + end; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/FAModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/FAModule.Codeunit.al index 0f8edc805c..97949549fc 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/FAModule.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/FixedAsset/FAModule.Codeunit.al @@ -45,11 +45,13 @@ codeunit 4774 "FA Module" implements "Contoso Demo Data Module" Codeunit.Run(Codeunit::"Create Fixed Asset"); Codeunit.Run(Codeunit::"Create FA Insurance Type"); Codeunit.Run(Codeunit::"Create FA Insurance"); + Codeunit.Run(codeunit::"Create FA Dimension Value"); end; procedure CreateTransactionalData() begin Codeunit.Run(Codeunit::"Create FA Maint. Registration"); + Codeunit.Run(Codeunit::"Create FA Jnl. Lines"); end; procedure CreateHistoricalData() diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoFixedAsset.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoFixedAsset.Codeunit.al index e805c45adf..903447982a 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoFixedAsset.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoFixedAsset.Codeunit.al @@ -5,11 +5,11 @@ namespace Microsoft.DemoTool.Helpers; using Microsoft.FixedAssets.Depreciation; -using Microsoft.FixedAssets.Setup; using Microsoft.FixedAssets.FixedAsset; -using Microsoft.FixedAssets.Maintenance; -using Microsoft.FixedAssets.Journal; using Microsoft.FixedAssets.Insurance; +using Microsoft.FixedAssets.Journal; +using Microsoft.FixedAssets.Maintenance; +using Microsoft.FixedAssets.Setup; codeunit 4776 "Contoso Fixed Asset" { @@ -224,10 +224,19 @@ codeunit 4776 "Contoso Fixed Asset" FAPostingGroup.Insert(true); end; + procedure InsertFixedAsset(FANo: Code[20]; Description: Text[100]; FAClassCode: Code[10]; FASubclassCode: Code[20]; FALocationCode: Code[10]; MainAssetComponent: Enum "FA Component Type"; SerialNo: Text[30]; + NextServiceDate: Date; + VendorNo: Code[20]; + MaintenanceVendorNo: Code[20]) + begin + InsertFixedAsset(FANo, Description, FAClassCode, FASubclassCode, FALocationCode, MainAssetComponent, SerialNo, NextServiceDate, VendorNo, MaintenanceVendorNo, ''); + end; + procedure InsertFixedAsset(FANo: Code[20]; Description: Text[100]; FAClassCode: Code[10]; FASubclassCode: Code[20]; FALocationCode: Code[10]; MainAssetComponent: Enum "FA Component Type"; SerialNo: Text[30]; NextServiceDate: Date; VendorNo: Code[20]; - MaintenanceVendorNo: Code[20]) + MaintenanceVendorNo: Code[20]; + FAPostingGroupCode: Code[20]) var FixedAsset: Record "Fixed Asset"; Exists: Boolean; @@ -250,6 +259,7 @@ codeunit 4776 "Contoso Fixed Asset" FixedAsset.Validate("Next Service Date", NextServiceDate); FixedAsset.Validate("Vendor No.", VendorNo); FixedAsset.Validate("Maintenance Vendor No.", MaintenanceVendorNo); + FixedAsset.Validate("FA Posting Group", FAPostingGroupCode); if Exists then FixedAsset.Modify(true) @@ -259,8 +269,8 @@ codeunit 4776 "Contoso Fixed Asset" procedure InsertMainAssetComponent(MainAssetNo: Code[20]; FANo: Code[20]) var - MainAssetComponent: Record "Main Asset Component"; FixedAsset: Record "Fixed Asset"; + MainAssetComponent: Record "Main Asset Component"; Exists: Boolean; begin if MainAssetComponent.Get(MainAssetNo, FANo) then begin