diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/ITContosoLocalization.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/ITContosoLocalization.Codeunit.al index 5331f3db3a..933e4d7a33 100644 --- a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/ITContosoLocalization.Codeunit.al +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/ITContosoLocalization.Codeunit.al @@ -34,6 +34,8 @@ codeunit 12251 "IT Contoso Localization" CRMModule(ContosoDemoDataLevel); if Module = Enum::"Contoso Demo Data Module"::Bank then BankModule(ContosoDemoDataLevel); + if Module = Enum::"Contoso Demo Data Module"::Analytics then + AnalyticsModule(ContosoDemoDataLevel); UnBindSubscriptionDemoData(Module); end; @@ -115,6 +117,17 @@ codeunit 12251 "IT Contoso Localization" end; end; + local procedure AnalyticsModule(ContosoDemoDataLevel: Enum "Contoso Demo Data Level") + begin + case ContosoDemoDataLevel of + Enum::"Contoso Demo Data Level"::"Transactional Data": + begin + Codeunit.Run(Codeunit::"Create Sales Document IT"); + Codeunit.Run(Codeunit::"Create Purchase Document IT"); + end; + end; + end; + [EventSubscriber(ObjectType::Codeunit, Codeunit::"Contoso Demo Tool", 'OnBeforeGeneratingDemoData', '', false, false)] local procedure OnBeforeGeneratingDemoData(Module: Enum "Contoso Demo Data Module") var @@ -184,6 +197,11 @@ codeunit 12251 "IT Contoso Localization" end; Enum::"Contoso Demo Data Module"::"Fixed Asset Module": BindSubscription(CreateNoSeriesIT); + Enum::"Contoso Demo Data Module"::Analytics: + begin + BindSubscription(CreatePurchaseDocumentIT); + BindSubscription(CreateSalesDocumentIT); + end; end; end; @@ -255,6 +273,11 @@ codeunit 12251 "IT Contoso Localization" UnbindSubscription(CreatePurchaseDocumentIT); UnbindSubscription(CreateSalesDocumentIT); end; + Enum::"Contoso Demo Data Module"::Analytics: + begin + UnbindSubscription(CreatePurchaseDocumentIT); + UnbindSubscription(CreateSalesDocumentIT); + end; end; end; } diff --git a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/Sales/3.Transaction Data/CreateSalesDocumentIT.Codeunit.al b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/Sales/3.Transaction Data/CreateSalesDocumentIT.Codeunit.al index e43bfaa7f4..9045841864 100644 --- a/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/Sales/3.Transaction Data/CreateSalesDocumentIT.Codeunit.al +++ b/Apps/IT/ContosoCoffeeDemoDatasetIT/app/DemoData/Sales/3.Transaction Data/CreateSalesDocumentIT.Codeunit.al @@ -32,6 +32,7 @@ codeunit 12222 "Create Sales Document IT" SalesHeader.SetFilter("Document Type", '%1|%2', SalesHeader."Document Type"::Order, SalesHeader."Document Type"::Invoice); if SalesHeader.FindSet() then repeat + SalesHeader.SetHideValidationDialog(true); if SalesHeader."No." = '101001' then SalesHeader.Validate("Posting Date", CalcDate('<+1D>', FromDate)); if SalesHeader."No." = '101002' then diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/3.Transactions/CreateExtendedPurchDocument.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/3.Transactions/CreateExtendedPurchDocument.Codeunit.al new file mode 100644 index 0000000000..97f8b199f7 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/3.Transactions/CreateExtendedPurchDocument.Codeunit.al @@ -0,0 +1,92 @@ +// ------------------------------------------------------------------------------------------------ +// 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.Analytics; + +using Microsoft.Purchases.Document; +using Microsoft.DemoTool.Helpers; +using Microsoft.DemoData.Foundation; +using Microsoft.DemoTool; +using Microsoft.DemoData.Inventory; +using Microsoft.DemoData.Bank; +using Microsoft.DemoData.Purchases; + +codeunit 5688 "Create Extended Purch Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + 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"; + DocumentDate: Date; + StartingDate: Date; + begin + ContosoCoffeeDemoDataSetup.Get(); + StartingDate := ContosoCoffeeDemoDataSetup."Starting Date"; + + DocumentDate := CalcDate('<-6M>', StartingDate); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensDesk(), 60, '', 219.5); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticNodPublisher(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.ParisGuestChairBlack(), 30, '', 97.5); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AthensMobilePedestal(), 25, '', 219.5); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticFirstUp(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.LondonSwivelChairBlue(), 23, '', 96.1); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticWorldImporter(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AntwerpConferenceTable(), 50, '', 328); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AmsterdamLamp(), 15, '', 27.8); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.BerlingGuestChairYellow(), 5, '', 27.8); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticFirstUp(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCM(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.RomeGuestChairGreen(), 39, '', 97.5); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticWorldImporter(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.TokyoGuestChairBlue(), 40, '', 97.5); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticFirstUp(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MexicoSwivelChairBlack(), 30, '', 96.1); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MunichSwivelChairYellow(), 30, '', 96.1); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticNodPublisher(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.MoscowSwivelChairRed(), 40, '', 96.1); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.DomesticFirstUp(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SeoulGuestChairRed(), 40, '', 97.5); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.AtlantAWhiteboardBase(), 20, '', 707.2); + + PurchaseHeader := ContosoPurchase.InsertPurchaseHeader(Enum::"Purchase Document Type"::Order, CreateVendor.EUGraphicDesign(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), DocumentDate, ContosoUtilities.AdjustDate(19020101D), CreatePaymentTerms.PaymentTermsCOD(), '', '', '', DocumentDate, CreatePaymentMethod.Cash()); + ContosoPurchase.InsertPurchaseLineWithItem(PurchaseHeader, CreateItem.SydneySwivelChairGreen(), 10, '', 96.1); + end; + + procedure AnalyticsReference(): Code[35] + begin + exit(AnalyticsReferenceTok); + end; + + var + AnalyticsReferenceTok: Label 'ANALYTICS', MaxLength = 35; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/3.Transactions/CreateExtendedSalesDocument.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/3.Transactions/CreateExtendedSalesDocument.Codeunit.al new file mode 100644 index 0000000000..f7ad076d4d --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/3.Transactions/CreateExtendedSalesDocument.Codeunit.al @@ -0,0 +1,397 @@ +// ------------------------------------------------------------------------------------------------ +// 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.Analytics; + +using Microsoft.Sales.Document; +using Microsoft.DemoTool.Helpers; +using Microsoft.DemoData.Foundation; +using Microsoft.DemoTool; +using Microsoft.DemoData.Inventory; +using Microsoft.DemoData.Bank; +using Microsoft.DemoData.Sales; + +codeunit 5692 "Create Extended Sales Document" +{ + InherentEntitlements = X; + InherentPermissions = X; + + trigger OnRun() + begin + GetStartingDate(); + CreateSalesInvoicesToPost(); + CreateOpenSalesDocuments(); + 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"; + FirstDayOfTheMonth: Date; + LastDayOfTheMonth: Date; + begin + // Starting Date minus 5 months + CalculateDatesForThisMonth('<-5M>', FirstDayOfTheMonth, LastDayOfTheMonth); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), FirstDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', FirstDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+8D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+8D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+12D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+12D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-4D>', LastDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-4D>', LastDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-2D>', LastDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-2D>', LastDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), LastDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', LastDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 6); + + // Starting Date minus 4 months + CalculateDatesForThisMonth('<-4M>', FirstDayOfTheMonth, LastDayOfTheMonth); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), FirstDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', FirstDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+2D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+2D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+3D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+3D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+3D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+3D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 5); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+6D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+6D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+6D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+6D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+9D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+9D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+10D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+10D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+10D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+10D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+12D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+12D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+13D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+13D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+15D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+15D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+18D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+18D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+19D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+19D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+23D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+23D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+24D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+24D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+25D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+25D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+26D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+26D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-2D>', LastDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-2D>', LastDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), LastDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', LastDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 10); + + // Starting Date minus 3 months + CalculateDatesForThisMonth('<-3M>', FirstDayOfTheMonth, LastDayOfTheMonth); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), FirstDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', FirstDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+1D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+1D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+3D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+3D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+4D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+4D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+6D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+6D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+9D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+9D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 9); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+14D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+14D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+15D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+15D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+18D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+18D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+19D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+19D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+22D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+22D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+22D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+22D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+24D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+24D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-3D>', LastDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-3D>', LastDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-2D>', LastDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-2D>', LastDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), LastDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', LastDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 2); + + // Starting Date minus 2 months + CalculateDatesForThisMonth('<-2M>', FirstDayOfTheMonth, LastDayOfTheMonth); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), FirstDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', FirstDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 10); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+1D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+1D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+7D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+7D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+8D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+8D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+11D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+11D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+13D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+13D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+14D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+14D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+17D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+17D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+19D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+19D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SydneySwivelChairGreen(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 7); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.GuestSection1(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticRelecloud(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+21D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 12); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-4D>', LastDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-4D>', LastDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-1D>', LastDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-1D>', LastDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), LastDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', LastDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 4); + + // Previous Month + CalculateDatesForThisMonth('<-1M>', FirstDayOfTheMonth, LastDayOfTheMonth); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), FirstDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', FirstDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), FirstDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', FirstDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 7); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 3); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+1D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+1D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+2D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+2D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MoscowSwivelChairRed(), 6); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+5D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+10D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+10D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 2); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+11D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+11D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.GuestSection1(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+15D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+15D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 1); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+16D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+16D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+20D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 4); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+22D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+22D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+23D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+23D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 6); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<+25D>', FirstDayOfTheMonth), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<+25D>', FirstDayOfTheMonth), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 5); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticAdatumCorporation(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), LastDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', LastDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 8); + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.DomesticTreyResearch(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), LastDayOfTheMonth, CreatePaymentTerms.PaymentTermsCM(), '', LastDayOfTheMonth, CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 8); + + // Current month + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.ExportSchoolofArt(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-CM>', StartingDate), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-CM>', StartingDate), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 5); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Invoice, CreateCustomer.EUAlpineSkiHouse(), AnalyticsReference(), ContosoUtilities.AdjustDate(19020101D), CalcDate('<-CM>', StartingDate), CreatePaymentTerms.PaymentTermsCM(), '', CalcDate('<-CM>', StartingDate), CreatePaymentMethod.Cash(), '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 10); + end; + + local procedure CreateOpenSalesDocuments() + 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"; + CreateSalesDocument: Codeunit "Create Sales Document"; + begin + + // Quotes + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticAdatumCorporation(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-15W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-15W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 24); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.EUAlpineSkiHouse(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-19W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-19W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 28); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 20); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 10); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-10W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-10W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 16); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-9W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-9W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 10); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-8W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-8W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-3W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-3W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 8); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-7W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-7W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.ExportSchoolofArt(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-26W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-26W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 16); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 20); + + + // Return Orders + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-9W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-9W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-17W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-17W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 4); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.EUAlpineSkiHouse(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-15W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-15W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 1); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.DomesticAdatumCorporation(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-6W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-6W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-3W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-3W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 3); + + + // Blanket Orders + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Blanket Order", CreateCustomer.ExportSchoolofArt(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-5W>'), CreatePaymentTerms.PaymentTermsDAYS60(), '', CalculateDate('<-5W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 80); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 40); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Blanket Order", CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-7W>'), CreatePaymentTerms.PaymentTermsDAYS21(), '', CalculateDate('<-7W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 40); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 20); + + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 3); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.DomesticAdatumCorporation(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-6W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-6W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-9W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-9W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 2); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-18W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-18W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 4); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Return Order", CreateCustomer.EUAlpineSkiHouse(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-15W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-15W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 1); + + + // Quotes + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticAdatumCorporation(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-15W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-15W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 24); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.EUAlpineSkiHouse(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-17W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-17W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 28); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.ParisGuestChairBlack(), 20); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AmsterdamLamp(), 10); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-12W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-12W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MexicoSwivelChairBlack(), 16); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-9W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-9W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AntwerpConferenceTable(), 10); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-7W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-7W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticRelecloud(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-3W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-3W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.RomeGuestChairGreen(), 8); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-7W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-7W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AtlantaWhiteboardBase(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 6); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::Quote, CreateCustomer.ExportSchoolofArt(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-23W>'), CreatePaymentTerms.PaymentTermsCM(), '', CalculateDate('<-23W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensDesk(), 10); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.TokyoGuestChairBlue(), 8); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.MunichSwivelChairYellow(), 20); + + + // Blanket Orders + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Blanket Order", CreateCustomer.ExportSchoolofArt(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-5W>'), CreatePaymentTerms.PaymentTermsDAYS60(), '', CalculateDate('<-5W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.BerlingGuestChairYellow(), 80); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.LondonSwivelChairBlue(), 40); + + SalesHeader := ContosoSales.InsertSalesHeader(Enum::"Sales Document Type"::"Blanket Order", CreateCustomer.DomesticTreyResearch(), CreateSalesDocument.OpenYourReference(), ContosoUtilities.AdjustDate(19020101D), CalculateDate('<-7W>'), CreatePaymentTerms.PaymentTermsDAYS21(), '', CalculateDate('<-7W>'), '', '', ContosoUtilities.AdjustDate(0D), '', ''); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.SeoulGuestChairRed(), 40); + ContosoSales.InsertSalesLineWithItem(SalesHeader, CreateItem.AthensMobilePedestal(), 20); + end; + + procedure AnalyticsReference(): Text + begin + exit(AnalyticsReferenceTok); + end; + + local procedure GetStartingDate() + var + ContosoCoffeeDemoDataSetup: Record "Contoso Coffee Demo Data Setup"; + begin + ContosoCoffeeDemoDataSetup.Get(); + StartingDate := ContosoCoffeeDemoDataSetup."Starting Date"; + end; + + local procedure CalculateDatesForThisMonth(DateFormulaText: Text; var FirstDayOfTheMonth: Date; var LastDayOfTheMonth: Date) + begin + FirstDayOfTheMonth := CalcDate(DateFormulaText, CalcDate('<-CM>', StartingDate)); + LastDayOfTheMonth := CalcDate(DateFormulaText, CalcDate('', StartingDate)); + end; + + local procedure CalculateDate(DateFormulaText: Text): Date + begin + exit(CalcDate(DateFormulaText, StartingDate)); + end; + + var + AnalyticsReferenceTok: Label 'ANALYTICS', Locked = true; + StartingDate: Date; +} \ No newline at end of file diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/4.Historical/CreatePostedAnalyticsData.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/4.Historical/CreatePostedAnalyticsData.Codeunit.al new file mode 100644 index 0000000000..7df129b45f --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/4.Historical/CreatePostedAnalyticsData.Codeunit.al @@ -0,0 +1,50 @@ +// ------------------------------------------------------------------------------------------------ +// 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.Analytics; + +using Microsoft.Sales.Document; +using Microsoft.Sales.Posting; +using Microsoft.Purchases.Document; +using Microsoft.Purchases.Posting; + +codeunit 5698 "Create Posted Analytics Data" +{ + trigger OnRun() + begin + PostSalesInvoicesForAnalytics(); + PostPurchaseOrdersForAnalytics(); + end; + + procedure PostSalesInvoicesForAnalytics() + var + SalesHeader: Record "Sales Header"; + CreateExtendedSalesDocument: Codeunit "Create Extended Sales Document"; + begin + SalesHeader.SetRange("Document Type", SalesHeader."Document Type"::Invoice); + SalesHeader.SetRange("Your Reference", CreateExtendedSalesDocument.AnalyticsReference()); + if SalesHeader.Findset() then + repeat + SalesHeader.Validate(Invoice, true); + SalesHeader.Validate(Ship, true); + Codeunit.Run(Codeunit::"Sales-Post", SalesHeader); + until SalesHeader.Next() = 0; + end; + + procedure PostPurchaseOrdersForAnalytics() + var + PurchHeader: Record "Purchase Header"; + CreatePurchaseDocument: Codeunit "Create Extended Purch Document"; + begin + PurchHeader.SetRange("Document Type", PurchHeader."Document Type"::Order); + PurchHeader.SetRange("Your Reference", CreatePurchaseDocument.AnalyticsReference()); + 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/Analytics/AnalyticsModule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/AnalyticsModule.Codeunit.al new file mode 100644 index 0000000000..ba70cf1626 --- /dev/null +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Analytics/AnalyticsModule.Codeunit.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.DemoData.Analytics; + +using Microsoft.DemoTool; + +codeunit 5687 "Analytics Module" implements "Contoso Demo Data Module" +{ + InherentEntitlements = X; + InherentPermissions = X; + + procedure RunConfigurationPage() + begin + 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); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Sales); + Dependencies.Add(Enum::"Contoso Demo Data Module"::Purchase); + end; + + procedure CreateSetupData() + begin + end; + + procedure CreateMasterData() + begin + end; + + procedure CreateTransactionalData() + begin + Codeunit.Run(Codeunit::"Create Extended Sales Document"); + Codeunit.Run(Codeunit::"Create Extended Purch Document"); + end; + + procedure CreateHistoricalData() + begin + Codeunit.Run(Codeunit::"Create Posted Analytics Data"); + end; +} diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoData.Page.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoData.Page.al index 3fde0c55b6..731dd4198c 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoData.Page.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoData.Page.al @@ -26,6 +26,10 @@ page 4762 "Contoso Coffee Demo Data" { ToolTip = 'Specifies the Starting Year that you want to create the demo data with.'; } + field("Starting Date"; Rec."Starting Date") + { + ToolTip = 'Specifies the Starting Date that you want to create the demo date with. In the Analytics module, this will generate data for the past six months from this date. By default, the starting date is set to today''s date and going back six months.'; + } field("Company Type"; Rec."Company Type") { ToolTip = 'Specifies the Company Type that you want to create the demo data with.'; diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al index 534b2b018d..f8b40ebdf0 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoCoffeeDemoDataSetup.Table.al @@ -56,6 +56,10 @@ table 4768 "Contoso Coffee Demo Data Setup" InitValue = 0; TableRelation = "Windows Language"; } + field(8; "Starting Date"; Date) + { + Caption = 'Starting Date'; + } } keys @@ -74,6 +78,7 @@ table 4768 "Contoso Coffee Demo Data Setup" Rec.Init(); Rec.Validate("Starting Year", Date2DMY(Today(), 3) - 1); + Rec.Validate("Starting Date", Today()); Rec.Insert(); end; } diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al index 2592e8a53a..994a8009f2 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/ContosoDemoDataModule.Enum.al @@ -20,6 +20,7 @@ using Microsoft.DemoData.Purchases; using Microsoft.DemoData.Sales; using Microsoft.DemoData.Service; using Microsoft.DemoData.Warehousing; +using Microsoft.DemoData.Analytics; enum 5160 "Contoso Demo Data Module" implements "Contoso Demo Data Module" { @@ -100,4 +101,9 @@ enum 5160 "Contoso Demo Data Module" implements "Contoso Demo Data Module" Implementation = "Contoso Demo Data Module" = "EService Module"; Caption = 'EService'; } + value(18; Analytics) + { + Implementation = "Contoso Demo Data Module" = "Analytics Module"; + Caption = 'Analytics'; + } }