Skip to content

Commit c934ec4

Browse files
Refactor G/L Entry Review logic and add upgrade handling for review entries
1 parent 6b0785c commit c934ec4

File tree

3 files changed

+84
-3
lines changed

3 files changed

+84
-3
lines changed

Apps/W1/ReviewGLEntries/app/src/codeunits/ReviewGLEntry.Codeunit.al

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ codeunit 22200 "Review G/L Entry" implements "G/L Entry Reviewer"
2020
procedure ReviewEntries(var GLEntry: Record "G/L Entry");
2121
var
2222
GLEntryReviewLog: Record "G/L Entry Review Log";
23+
#if not CLEAN27
24+
GLEntryReviewEntry: Record "G/L Entry Review Entry";
25+
#endif
2326
FeatureTelemetry: Codeunit "Feature Telemetry";
2427
UserName: Code[50];
2528
Identifier: Integer;
@@ -39,8 +42,11 @@ codeunit 22200 "Review G/L Entry" implements "G/L Entry Reviewer"
3942
GLEntry."Amount to Review" := 0;
4043
GLEntry.Modify(true);
4144
until GLEntry.Next() = 0;
45+
#if not CLEAN27
46+
OnAfterReviewEntries(GLEntry, GLEntryReviewEntry);
47+
#endif
4248

43-
OnAfterReviewEntries(GLEntry, GLEntryReviewLog);
49+
OnAfterReviewEntriesLog(GLEntry, GLEntryReviewLog);
4450

4551
FeatureTelemetry.LogUptake('0000J2W', 'Review G/L Entries', "Feature Uptake Status"::Used);
4652
FeatureTelemetry.LogUsage('0000KQJ', 'Review G/L Entries', 'Review G/L Entries');
@@ -115,8 +121,16 @@ codeunit 22200 "Review G/L Entry" implements "G/L Entry Reviewer"
115121
end;
116122
end;
117123

124+
#if not CLEAN27
125+
[Obsolete('Use the event OnAfterReviewEntriesLog instead.', '27.0')]
118126
[IntegrationEvent(false, false)]
119-
local procedure OnAfterReviewEntries(var GLEntry: Record "G/L Entry"; var GLEntryReviewLog: Record "G/L Entry Review Log")
127+
local procedure OnAfterReviewEntries(var GLEntry: Record "G/L Entry"; var GLEntryReviewLog: Record "G/L Entry Review Entry")
128+
begin
129+
end;
130+
#endif
131+
132+
[IntegrationEvent(false, false)]
133+
local procedure OnAfterReviewEntriesLog(var GLEntry: Record "G/L Entry"; var GLEntryReviewLog: Record "G/L Entry Review Log")
120134
begin
121135
end;
122136
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
namespace Microsoft.Finance.GeneralLedger.Review;
2+
using System.Upgrade;
3+
codeunit 22201 "Upgrade"
4+
{
5+
Access = Internal;
6+
Subtype = Upgrade;
7+
8+
trigger OnUpgradePerCompany()
9+
begin
10+
MovetoGLEntryReviewLog();
11+
end;
12+
13+
local procedure MovetoGLEntryReviewLog()
14+
var
15+
GLEntryReviewEntry: Record "G/L Entry Review Entry";
16+
GLEntryReviewLog: Record "G/L Entry Review Log";
17+
UpgradeTag: Codeunit "Upgrade Tag";
18+
begin
19+
if UpgradeTag.HasUpgradeTag(UpgradeReviewGLEntryTag) then exit;
20+
21+
if GLEntryReviewEntry.FindSet() then
22+
repeat
23+
GLEntryReviewLog.Init();
24+
GLEntryReviewLog."G/L Entry No." := GLEntryReviewEntry."G/L Entry No.";
25+
GLEntryReviewLog."Reviewed Identifier" := GLEntryReviewEntry."Reviewed Identifier";
26+
GLEntryReviewLog."Reviewed By" := GLEntryReviewEntry."Reviewed By";
27+
GLEntryReviewLog."Reviewed Amount" := GLEntryReviewEntry."Reviewed Amount";
28+
GLEntryReviewLog.Insert(true);
29+
until GLEntryReviewEntry.Next() = 0;
30+
31+
UpgradeTag.SetUpgradeTag(UpgradeReviewGLEntryTag);
32+
end;
33+
34+
35+
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Upgrade Tag", 'OnGetPerCompanyUpgradeTags', '', false, false)]
36+
local procedure RegisterPerCompanyTags(var PerCompanyUpgradeTags: List of [Code[250]])
37+
begin
38+
PerCompanyUpgradeTags.Add(UpgradeReviewGLEntryTag());
39+
end;
40+
41+
local procedure UpgradeReviewGLEntryTag(): Code[250]
42+
begin
43+
exit('MS-547765-UpdateReviewGLEntry-20250704');
44+
end;
45+
}

Apps/W1/ReviewGLEntries/app/src/tables/GLEntryReviewEntry.Table.al

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ table 22216 "G/L Entry Review Entry"
55
ObsoleteState = Pending;
66
ObsoleteReason = 'Use "G/L Entry Review Log" instead.';
77
ObsoleteTag = '27.0';
8-
//TODO: Create data conversion codeunit to convert existing entries to the new table
98
fields
109
{
1110
field(1; "G/L Entry No."; Integer)
@@ -34,4 +33,27 @@ table 22216 "G/L Entry Review Entry"
3433
Clustered = true;
3534
}
3635
}
36+
37+
trigger OnInsert()
38+
var
39+
GLEntryReviewLog: Record "G/L Entry Review Log";
40+
begin
41+
GLEntryReviewLog.Init();
42+
GLEntryReviewLog."G/L Entry No." := "G/L Entry No.";
43+
GLEntryReviewLog."Reviewed Identifier" := "Reviewed Identifier";
44+
GLEntryReviewLog."Reviewed By" := "Reviewed By";
45+
GLEntryReviewLog."Reviewed Amount" := "Reviewed Amount";
46+
GLEntryReviewLog.Insert(true);
47+
end;
48+
49+
trigger OnDelete()
50+
var
51+
GLEntryReviewLog: Record "G/L Entry Review Log";
52+
begin
53+
GLEntryReviewLog.SetRange("G/L Entry No.", "G/L Entry No.");
54+
if GLEntryReviewLog.FindSet() then
55+
repeat
56+
GLEntryReviewLog.Delete(true);
57+
until GLEntryReviewLog.Next() = 0;
58+
end;
3759
}

0 commit comments

Comments
 (0)