mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-05 06:36:55 +01:00
- data-modeling: tablerelation-field-length-must-match-related-field (exact length for unconditional relations, at least the longest target when all relations are conditional; no compile-time diagnostic) - testing: recordref-open-temp-parameter-defeats-real-table-checks (a temp-opened RecordRef is empty, so existence/uniqueness checks on it never see persisted rows; cross-links use-generateguid article) - Wire both into the review leaves and register the fixture pairs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.2 KiB
AL
33 lines
1.2 KiB
AL
codeunit 50150 "Sample Payment Terms Codes"
|
|
{
|
|
procedure GenerateUnusedPaymentTermsCode(): Code[10]
|
|
var
|
|
PaymentTerms: Record "Payment Terms";
|
|
LibraryUtility: Codeunit "Library - Utility";
|
|
RecRef: RecordRef;
|
|
FieldRef: FieldRef;
|
|
NewCode: Code[10];
|
|
begin
|
|
// Temp = false: the loop checks the persisted Payment Terms rows.
|
|
RecRef.Open(Database::"Payment Terms", false, CompanyName());
|
|
FieldRef := RecRef.Field(PaymentTerms.FieldNo(Code));
|
|
repeat
|
|
NewCode := CopyStr(LibraryUtility.GenerateRandomXMLText(MaxStrLen(NewCode)), 1, MaxStrLen(NewCode));
|
|
FieldRef.SetRange(NewCode);
|
|
until RecRef.IsEmpty();
|
|
exit(NewCode);
|
|
end;
|
|
|
|
procedure GetFieldFilterFromView(TableNo: Integer; TableView: Text; FieldNo: Integer): Text
|
|
var
|
|
RecRef: RecordRef;
|
|
FieldRef: FieldRef;
|
|
begin
|
|
// Temp = true is correct here: the RecordRef only parses a view and
|
|
// never reads rows.
|
|
RecRef.Open(TableNo, true);
|
|
RecRef.SetView(TableView);
|
|
FieldRef := RecRef.Field(FieldNo);
|
|
exit(FieldRef.GetFilter());
|
|
end;
|
|
}
|