diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateColumnLayoutName.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateColumnLayoutName.Codeunit.al index d7555af7c1..91a27e41b1 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateColumnLayoutName.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/1.Setup data/CreateColumnLayoutName.Codeunit.al @@ -36,6 +36,14 @@ codeunit 5401 "Create Column Layout Name" ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthNetChangeVSameMonthPriorYear(), CurrentMonthNetChangeVSameMonthPriorYearLbl); ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthVPriorMonthCY(), CurrentMonthVPriorMonthCYLbl); ContosoAccountSchedule.InsertColumnLayoutName(CurrentMonthVBudgetYearToDate(), CurrentMonthVBudgetYearToDateLbl); + + ContosoAccountSchedule.InsertColumnLayoutName(BalanceSheetMultiYearBalanceComparison(), BalanceSheetMultiYearBalanceComparisonLbl); + ContosoAccountSchedule.InsertColumnLayoutName(BalanceSheetCurrentYearBalanceByQuarter(), BalanceSheetCurrentYearBalanceByQuarterLbl); + ContosoAccountSchedule.InsertColumnLayoutName(IncomeStatementCurrentYearNetChangeByQuarter(), IncomeStatementCurrentYearNetChangeByQuarterLbl); + ContosoAccountSchedule.InsertColumnLayoutName(IncomeStatementMultiYearNetChangeComparison(), IncomeStatementMultiYearNetChangeComparisonLbl); + ContosoAccountSchedule.InsertColumnLayoutName(PeriodAndYearToDate(), PeriodAndYearToDateLbl); + ContosoAccountSchedule.InsertColumnLayoutName(PeriodAndYearToDateWithPercentTotalRevenue(), PeriodAndYearToDateWithPercentTotalRevenueLbl); + ContosoAccountSchedule.InsertColumnLayoutName(ThisYearToDatevsPriorYearToDate(), ThisYearToDatevsPriorYearToDateLbl); end; internal procedure CreateSetupColumnLayoutName() @@ -140,6 +148,41 @@ codeunit 5401 "Create Column Layout Name" exit(CurrentMonthVBudgetYearToDateTok); end; + procedure BalanceSheetMultiYearBalanceComparison(): Code[10] + begin + exit(BalanceSheetMultiYearBalanceComparisonTok); + end; + + procedure BalanceSheetCurrentYearBalanceByQuarter(): Code[10] + begin + exit(BalanceSheetCurrentYearBalanceByQuarterTok); + end; + + procedure IncomeStatementCurrentYearNetChangeByQuarter(): Code[10] + begin + exit(IncomeStatementCurrentYearNetChangeByQuarterTok); + end; + + procedure IncomeStatementMultiYearNetChangeComparison(): Code[10] + begin + exit(IncomeStatementMultiYearNetChangeComparisonTok); + end; + + procedure PeriodAndYearToDate(): Code[10] + begin + exit(PeriodAndYearToDateTok); + end; + + procedure PeriodAndYearToDateWithPercentTotalRevenue(): Code[10] + begin + exit(PeriodAndYearToDateWithPercentTotalRevenueTok); + end; + + procedure ThisYearToDatevsPriorYearToDate(): Code[10] + begin + exit(ThisYearToDatevsPriorYearToDateTok); + end; + var ActualBudgetComparisonTok: Label 'ACT/BUD', MaxLength = 10; BalanceOnlyTok: Label 'BAL ONLY', MaxLength = 10; @@ -160,6 +203,13 @@ codeunit 5401 "Create Column Layout Name" CurrentMonthNetChangeVSameMonthPriorYearTok: Label 'CNC VSPYNC', Locked = true; CurrentMonthVPriorMonthCYTok: Label 'CNCVPNCYOY', Locked = true; CurrentMonthVBudgetYearToDateTok: Label 'CVC YTDBUD', Locked = true; + BalanceSheetMultiYearBalanceComparisonTok: Label 'BMULTIYR', MaxLength = 10; + BalanceSheetCurrentYearBalanceByQuarterTok: Label 'CY BQTR', MaxLength = 10; + IncomeStatementCurrentYearNetChangeByQuarterTok: Label 'CY NCQTR', MaxLength = 10; + IncomeStatementMultiYearNetChangeComparisonTok: Label 'NCMULTIYR', MaxLength = 10; + PeriodAndYearToDateTok: Label 'PTD+YTD', MaxLength = 10; + PeriodAndYearToDateWithPercentTotalRevenueTok: Label 'PTD+YTD+%', MaxLength = 10; + ThisYearToDatevsPriorYearToDateTok: Label 'YTDCOMPARE', MaxLength = 10; BalanceSheetLbl: Label 'BS 12 Months Balance Trending Current Fiscal Year', MaxLength = 80, Comment = 'BS - abbreviation of Balance Sheet'; IncomeStatementLbl: Label 'IS 12 Months Net Change Trending Current Fiscal Year', MaxLength = 80, Comment = 'IS - abbreviation of Income Statement'; TrialBalanceLbl: Label 'TB Beginning Balance Debits Credits Ending Balance', MaxLength = 80, Comment = 'TB - abbreviation of Trial Balance'; @@ -179,4 +229,11 @@ codeunit 5401 "Create Column Layout Name" DefaultLayoutLbl: Label 'Standard Column Layout', MaxLength = 80; KeyCashFlowRatioLbl: Label 'Key Cash Flow Ratio', MaxLength = 80; PeriodsDefinitionLbl: Label 'Periods Definition for Mini Charts', MaxLength = 80; + BalanceSheetMultiYearBalanceComparisonLbl: Label 'BS Multi-Year Balance Comparison', MaxLength = 80; + BalanceSheetCurrentYearBalanceByQuarterLbl: Label 'BS Current Year Balances by Quarter', MaxLength = 80; + IncomeStatementCurrentYearNetChangeByQuarterLbl: Label 'IS Current Year Net Change by Quarter', MaxLength = 80; + IncomeStatementMultiYearNetChangeComparisonLbl: Label 'IS Multi-Year Net Change Comparison', MaxLength = 80; + PeriodAndYearToDateLbl: Label 'Period and Year to Date', MaxLength = 80; + PeriodAndYearToDateWithPercentTotalRevenueLbl: Label 'Period and Year to Date with Percent of Total Revenue', MaxLength = 80; + ThisYearToDatevsPriorYearToDateLbl: Label 'This Year to Date vs. Prior Year to Date', MaxLength = 80; } diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateColumnLayout.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateColumnLayout.Codeunit.al index 2276c92fdd..4a317d32e0 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateColumnLayout.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoData/Finance/2.Master data/CreateColumnLayout.Codeunit.al @@ -6,6 +6,7 @@ namespace Microsoft.DemoData.Finance; using Microsoft.DemoTool.Helpers; +using Microsoft.Foundation.Enums; using Microsoft.Finance.FinancialReports; codeunit 5395 "Create Column Layout" @@ -143,6 +144,55 @@ codeunit 5395 "Create Column Layout" ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 110000, 'A', NovemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[11]', false); ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 120000, 'A', DecemberLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[12]', false); ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 130000, '', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, 'A', false, Enum::"Column Layout Show"::Always, '', false); + + ColumnLayoutName := CreateColumnLayoutName.BalanceSheetMultiYearBalanceComparison(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentYearLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', PriorYearLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', TwoYearsPriorLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-2FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', ThreeYearsPriorLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-3FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', FourYearsPriorLbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-4FY[1..12]', false); + + ColumnLayoutName := CreateColumnLayoutName.BalanceSheetCurrentYearBalanceByQuarter(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', Quarter1Lbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1..3]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', Quarter2Lbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[4..6]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', Quarter3Lbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[7..9]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', Quarter4Lbl, Enum::"Column Layout Type"::"Balance at Date", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[10..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1..4', false, Enum::"Column Layout Show"::Always, '', false, 0); + + ColumnLayoutName := CreateColumnLayoutName.IncomeStatementCurrentYearNetChangeByQuarter(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', Quarter1Lbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1..3]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', Quarter2Lbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[4..6]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', Quarter3Lbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[7..9]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', Quarter4Lbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[10..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', TotalLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '1..4', false, Enum::"Column Layout Show"::Always, '', false, 0); + + + ColumnLayoutName := CreateColumnLayoutName.IncomeStatementMultiYearNetChangeComparison(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '1', CurrentYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, 'FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '2', PriorYearLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-1FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, '3', TwoYearsPriorLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-2FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '4', ThreeYearsPriorLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-3FY[1..12]', false); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, '5', FourYearsPriorLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, '', false, Enum::"Column Layout Show"::Always, '-4FY[1..12]', false); + + ColumnLayoutName := CreateColumnLayoutName.PeriodAndYearToDate(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, '', CurrPeriodLbl, Enum::"Column Layout Type"::"Net Change", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', false, 0); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '', YearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', false, 0); + + + ColumnLayoutName := CreateColumnLayoutName.PeriodAndYearToDateWithPercentTotalRevenue(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, 'PTD', CurrPeriodLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Budget Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::None); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'PTD%', true, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::None); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, 'YTD', YearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::None); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::Entries, Enum::"Account Schedule Amount Type"::"Net Amount", 'YTD%', true, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::None); + + + ColumnLayoutName := CreateColumnLayoutName.ThisYearToDatevsPriorYearToDate(); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 10000, 'CUR', CurrentYearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::"Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '', false, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 20000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Entries", Enum::"Account Schedule Amount Type"::"Net Amount", 'CUR%', true, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 30000, 'PRIOR', PriorYearToDateLbl, Enum::"Column Layout Type"::"Year to Date", Enum::"Column Layout Entry Type"::"Entries", Enum::"Account Schedule Amount Type"::"Net Amount", '-1Y', false, Enum::"Column Layout Show"::Always, '', false, 1033, Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 40000, '', '', Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Entries", Enum::"Account Schedule Amount Type"::"Net Amount", 'PRIOR%', true, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::"1"); + ContosoAccountSchedule.InsertColumnLayout(ColumnLayoutName, 50000, 'DIFF', DifferenceLbl, Enum::"Column Layout Type"::Formula, Enum::"Column Layout Entry Type"::"Entries", Enum::"Account Schedule Amount Type"::"Net Amount", 'CUR-PRIOR', false, Enum::"Column Layout Show"::Always, '', false, 0, Enum::"Analysis Rounding Factor"::"1"); + end; internal procedure CreateSetupColumnLayout() @@ -209,4 +259,18 @@ codeunit 5395 "Create Column Layout" YearToDateBudgetLbl: Label 'Year to Date Budget', MaxLength = 30; TotalBudgetPlannedLbl: Label 'Total Budget Planned', MaxLength = 30; TotalBudgetRemainingLbl: Label 'Total Budget Remaining', MaxLength = 30; + CurrentYearLbl: Label 'Current Year', MaxLength = 30; + PriorYearLbl: Label 'Prior Year', MaxLength = 30; + TwoYearsPriorLbl: Label '2 Years Prior', MaxLength = 30; + ThreeYearsPriorLbl: Label '3 Years Prior', MaxLength = 30; + FourYearsPriorLbl: Label '4 Years Prior', MaxLength = 30; + CurrPeriodLbl: Label 'Current Period', MaxLength = 30; + Quarter1Lbl: Label 'Quarter 1', MaxLength = 39; + Quarter2Lbl: Label 'Quarter 2', MaxLength = 39; + Quarter3Lbl: Label 'Quarter 3', MaxLength = 39; + Quarter4Lbl: Label 'Quarter 4', MaxLength = 39; + YearToDateLbl: Label 'Year to Date', MaxLength = 30; + CurrentYearToDateLbl: Label 'Current Year to Date', MaxLength = 30; + PriorYearToDateLbl: Label 'Prioer Year to Date', MaxLength = 30; + } diff --git a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountSchedule.Codeunit.al b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountSchedule.Codeunit.al index ef40945d0b..4cdbdebfab 100644 --- a/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountSchedule.Codeunit.al +++ b/Apps/W1/ContosoCoffeeDemoDataset/app/DemoTool/Contoso Helpers/ContosoAccountSchedule.Codeunit.al @@ -5,6 +5,7 @@ namespace Microsoft.DemoTool.Helpers; using Microsoft.Finance.FinancialReports; +using Microsoft.Foundation.Enums; using System.Visualization; codeunit 5239 "Contoso Account Schedule" @@ -212,6 +213,11 @@ codeunit 5239 "Contoso Account Schedule" end; procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; HideCurrencySymbol: Boolean; FormulaLCID: Integer) + begin + InsertColumnLayout(ColumnLayoutName, LineNo, ColumnNo, ColumnHeader, ColumnType, LedgerEntryType, AmountType, Formula, ShowOppositeSign, Show, ComparisonPeriodFormula, HideCurrencySymbol, FormulaLCID, Enum::"Analysis Rounding Factor"::None); + end; + + procedure InsertColumnLayout(ColumnLayoutName: Code[10]; LineNo: Integer; ColumnNo: Code[10]; ColumnHeader: Text[30]; ColumnType: Enum "Column Layout Type"; LedgerEntryType: Enum "Column Layout Entry Type"; AmountType: Enum "Account Schedule Amount Type"; Formula: Code[80]; ShowOppositeSign: Boolean; Show: Enum "Column Layout Show"; ComparisonPeriodFormula: Code[20]; HideCurrencySymbol: Boolean; FormulaLCID: Integer; ReoundingFactor: Enum "Analysis Rounding Factor") var ColumnLayout: Record "Column Layout"; Exists: Boolean; @@ -236,6 +242,7 @@ codeunit 5239 "Contoso Account Schedule" ColumnLayout.Validate("Comparison Period Formula LCID", FormulaLCID); ColumnLayout."Comparison Period Formula" := ComparisonPeriodFormula; ColumnLayout.Validate("Hide Currency Symbol", HideCurrencySymbol); + ColumnLayout.Validate("Rounding Factor", ReoundingFactor); if Exists then ColumnLayout.Modify(true)