Skip to content

Commit b04b075

Browse files
authored
Obsolete IncrementNoText in favor of IncStr (#3112)
IncStr can now handle incrementing numbers higher or lower than 1. Hence we should be using that platform functionality instead as it's also much faster. Fixes [AB#557645](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/557645)
1 parent d131030 commit b04b075

File tree

5 files changed

+9
-6
lines changed

5 files changed

+9
-6
lines changed

src/Business Foundation/App/NoSeries/readme_refactoring.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ begin
126126
if GenJnlBatch."No. Series" <> '' then begin
127127
NoSeriesManagement.SetNoSeriesLineFilter(NoSeriesLine, GenJnlBatch."No. Series", "Posting Date");
128128
if NoSeriesLine."Increment-by No." > 1 then
129-
NoSeriesManagement.IncrementNoText(LastDocNumber, NoSeriesLine."Increment-by No.")
129+
LastDocNumber := IncStr(LastDocNumber, NoSeriesLine."Increment-by No.")
130130
else
131131
LastDocNumber := IncStr(LastDocNumber);
132132
end else

src/Business Foundation/App/NoSeries/src/Legacy/NoSeriesManagement.Codeunit.al

+1-1
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ codeunit 396 NoSeriesManagement
340340
if NoSeriesLine."Increment-by No." <= 1 then
341341
NoSeriesLine."Last No. Used" := IncStr(NoSeriesLine."Last No. Used")
342342
else
343-
IncrementNoText(NoSeriesLine."Last No. Used", NoSeriesLine."Increment-by No.");
343+
NoSeriesLine."Last No. Used" := IncStr(NoSeriesLine."Last No. Used", NoSeriesLine."Increment-by No.");
344344

345345
// Ensure number is within the valid range
346346
if (NoSeriesLine."Ending No." <> '') and

src/Business Foundation/App/NoSeries/src/Setup/NoSeriesSetup.Codeunit.al

+3
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,21 @@ codeunit 299 "No. Series - Setup"
2424
exit(NoSeriesSetupImpl.CalculateOpen(NoSeriesLine))
2525
end;
2626

27+
#if not CLEAN27
2728
/// <summary>
2829
/// Increments the given No. by the specified Increment.
2930
/// </summary>
3031
/// <param name="No">The number, as a code string to increment</param>
3132
/// <param name="Increment">Indicates by how much to increment the No.</param>
3233
/// <returns>The incremented No.</returns>
34+
[Obsolete('Use IncStr(No, Increment) instead.', '27.0')]
3335
procedure IncrementNoText(No: Code[20]; Increment: Integer): Code[20]
3436
var
3537
NoSeriesSetupImpl: Codeunit "No. Series - Setup Impl.";
3638
begin
3739
exit(NoSeriesSetupImpl.IncrementNoText(No, Increment));
3840
end;
41+
#endif
3942

4043
/// <summary>
4144
/// Updates the different No. fields in the No. Series Line based on the pattern provided in the NewNo parameter.

src/Business Foundation/App/NoSeries/src/Setup/NoSeriesSetupImpl.Codeunit.al

+3-1
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ codeunit 305 "No. Series - Setup Impl."
177177
exit(false);
178178

179179
if NoSeriesLine."Increment-by No." <> 1 then begin
180-
NextNo := IncrementNoText(LastNoUsed, NoSeriesLine."Increment-by No.");
180+
NextNo := IncStr(LastNoUsed, NoSeriesLine."Increment-by No.");
181181
if NextNo > NoSeriesLine."Ending No." then
182182
exit(false);
183183
if StrLen(NextNo) > StrLen(NoSeriesLine."Ending No.") then
@@ -220,6 +220,7 @@ codeunit 305 "No. Series - Setup Impl."
220220
NoSeries.Validate("Default Nos.", true);
221221
end;
222222

223+
#if not CLEAN27
223224
procedure IncrementNoText(No: Code[20]; Increment: Integer): Code[20]
224225
var
225226
BigIntNo: BigInteger;
@@ -235,6 +236,7 @@ codeunit 305 "No. Series - Setup Impl."
235236
ReplaceNoText(No, NewNo, 0, StartPos, EndPos);
236237
exit(No);
237238
end;
239+
#endif
238240

239241
procedure UpdateNoSeriesLine(var NoSeriesLine: Record "No. Series Line"; NewNo: Code[20]; NewFieldCaption: Text[100])
240242
var

src/Business Foundation/App/NoSeries/src/Single/NoSeriesStatelessImpl.Codeunit.al

+1-3
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ codeunit 306 "No. Series - Stateless Impl." implements "No. Series - Single"
3737

3838
[InherentPermissions(PermissionObjectType::TableData, Database::"No. Series Line", 'm')]
3939
local procedure GetNextNoInternal(var NoSeriesLine: Record "No. Series Line"; ModifySeries: Boolean; UsageDate: Date; HideErrorsAndWarnings: Boolean): Code[20]
40-
var
41-
NoSeriesSetup: Codeunit "No. Series - Setup";
4240
begin
4341
if NoSeriesLine."Last No. Used" = '' then begin
4442
if HideErrorsAndWarnings and (NoSeriesLine."Starting No." = '') then
@@ -49,7 +47,7 @@ codeunit 306 "No. Series - Stateless Impl." implements "No. Series - Single"
4947
if NoSeriesLine."Increment-by No." <= 1 then
5048
NoSeriesLine."Last No. Used" := IncStr(NoSeriesLine."Last No. Used")
5149
else
52-
NoSeriesLine."Last No. Used" := NoSeriesSetup.IncrementNoText(NoSeriesLine."Last No. Used", NoSeriesLine."Increment-by No.");
50+
NoSeriesLine."Last No. Used" := IncStr(NoSeriesLine."Last No. Used", NoSeriesLine."Increment-by No.");
5351

5452
if not EnsureLastNoUsedIsWithinValidRange(NoSeriesLine, HideErrorsAndWarnings) then
5553
exit('');

0 commit comments

Comments
 (0)