mirror of
https://github.com/microsoft/BCQuality.git
synced 2026-10-07 15:46:55 +01:00
ShowMandatory + OnQueryClosePage Check (#147)
* ShowMandatory + OnQueryClosePage Check * Tighten mandatory-field review guidance Require explicit ShowMandatory in the good sample, acknowledge that NotBlank marking is unreliable, and limit findings to visible editable controls on paths where users must supply a value. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 89dba8c8-6529-4b60-956f-875a59be499d --------- Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com> Copilot-Session: 89dba8c8-6529-4b60-956f-875a59be499d
This commit is contained in:
parent
7a41d25bbd
commit
182180913e
6 changed files with 342 additions and 0 deletions
|
|
@ -0,0 +1,96 @@
|
|||
report 50545 "Sample Statement Late Check"
|
||||
{
|
||||
ApplicationArea = All;
|
||||
UsageCategory = ReportsAndAnalysis;
|
||||
Caption = 'Sample Statement Late Check';
|
||||
|
||||
dataset
|
||||
{
|
||||
dataitem(CustLedgerEntry; "Cust. Ledger Entry")
|
||||
{
|
||||
column(CustomerNo; "Customer No.") { }
|
||||
column(Amount; Amount) { }
|
||||
}
|
||||
}
|
||||
|
||||
requestpage
|
||||
{
|
||||
layout
|
||||
{
|
||||
area(content)
|
||||
{
|
||||
group(Options)
|
||||
{
|
||||
field(StatementDateField; StatementDate)
|
||||
{
|
||||
ApplicationArea = All;
|
||||
Caption = 'Statement Date';
|
||||
ToolTip = 'Specifies the date the statement is printed for.';
|
||||
ShowMandatory = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// No OnQueryClosePage: nothing inspects the input while the page is open.
|
||||
}
|
||||
|
||||
var
|
||||
StatementDate: Date;
|
||||
StatementDateMissingErr: Label 'Enter a statement date.';
|
||||
|
||||
trigger OnPreReport()
|
||||
begin
|
||||
// The request page is already closed. The user cannot correct the date
|
||||
// here — the run is aborted and every entry on the page is lost.
|
||||
if StatementDate = 0D then
|
||||
Error(StatementDateMissingErr);
|
||||
end;
|
||||
}
|
||||
|
||||
report 50546 "Sample Statement Close Trap"
|
||||
{
|
||||
ApplicationArea = All;
|
||||
UsageCategory = ReportsAndAnalysis;
|
||||
Caption = 'Sample Statement Close Trap';
|
||||
|
||||
dataset
|
||||
{
|
||||
dataitem(CustLedgerEntry; "Cust. Ledger Entry")
|
||||
{
|
||||
column(CustomerNo; "Customer No.") { }
|
||||
column(Amount; Amount) { }
|
||||
}
|
||||
}
|
||||
|
||||
requestpage
|
||||
{
|
||||
layout
|
||||
{
|
||||
area(content)
|
||||
{
|
||||
group(Options)
|
||||
{
|
||||
field(StatementDateField; StatementDate)
|
||||
{
|
||||
ApplicationArea = All;
|
||||
Caption = 'Statement Date';
|
||||
ToolTip = 'Specifies the date the statement is printed for.';
|
||||
ShowMandatory = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
trigger OnQueryClosePage(CloseAction: Action): Boolean
|
||||
begin
|
||||
// No close-action guard. Cancel and Esc raise the error too, and an
|
||||
// error prevents the page from closing — the user cannot get out.
|
||||
if StatementDate = 0D then
|
||||
Error(StatementDateMissingErr);
|
||||
end;
|
||||
}
|
||||
|
||||
var
|
||||
StatementDate: Date;
|
||||
StatementDateMissingErr: Label 'Enter a statement date.';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue