Page 701 Error Messages Part, source in 29
Source29
src/Layers/W1/BaseApp/Modules/System/ErrorMessage/ErrorMessagesPart.Page.al165 lines, Copyright (c) Microsoft Corporation. MIT
namespace System.Utilities;
page 701 "Error Messages Part"
{
Caption = 'Error Messages';
DeleteAllowed = false;
Editable = false;
InsertAllowed = false;
LinksAllowed = false;
ModifyAllowed = false;
PageType = ListPart;
SourceTable = "Error Message";
SourceTableTemporary = true;
SourceTableView = sorting("Message Type", ID)
order(ascending);
layout
{
area(content)
{
repeater(Group)
{
field("Message Type"; Rec."Message Type")
{
ApplicationArea = Basic, Suite;
ToolTip = 'Specifies if the message is an error, a warning, or information.';
}
field("Table Name"; Rec."Table Name")
{
ApplicationArea = Basic, Suite;
ToolTip = 'Specifies error messages that occur during data processing.';
Visible = false;
}
field("Field Name"; Rec."Field Name")
{
ApplicationArea = Basic, Suite;
ToolTip = 'Specifies the field where the error occurred.';
Width = 10;
}
field(Description; Rec."Message")
{
ApplicationArea = Basic, Suite;
DrillDown = true;
Enabled = EnableOpenRelatedEntity;
StyleExpr = StyleText;
ToolTip = 'Specifies the message.';
}
}
}
}
actions
{
area(processing)
{
action(ViewDetails)
{
ApplicationArea = Basic, Suite;
Caption = 'View Details';
Image = ViewDetails;
ToolTip = 'Show more information about this error message.';
trigger OnAction()
begin
PAGE.Run(PAGE::"Error Messages", Rec);
end;
}
}
}
trigger OnAfterGetCurrRecord()
begin
EnableActions();
end;
trigger OnAfterGetRecord()
begin
SetStyle();
end;
var
RecordIDToHighlight: RecordID;
StyleText: Text[20];
protected var
EnableOpenRelatedEntity: Boolean;
DisableOpenRelatedEntity: Boolean;
procedure SetRecords(var TempErrorMessage: Record "Error Message" temporary)
begin
Rec.Reset();
Rec.DeleteAll();
TempErrorMessage.Reset();
if TempErrorMessage.FindFirst() then
Rec.Copy(TempErrorMessage, true);
end;
procedure SetRecordID(RecID: RecordID)
var
ErrorMessage: Record "Error Message";
TempErrorMessage: Record "Error Message" temporary;
begin
ErrorMessage.SetRange("Record ID", RecId);
ErrorMessage.CopyToTemp(TempErrorMessage);
SetRecords(TempErrorMessage);
CurrPage.Update();
end;
procedure GetStyleOfRecord(RecordVariant: Variant; var StyleExpression: Text)
var
RecordRef: RecordRef;
begin
if not RecordVariant.IsRecord then
exit;
RecordRef.GetTable(RecordVariant);
RecordIDToHighlight := RecordRef.RecordId;
if Rec.HasErrorMessagesRelatedTo(RecordVariant) then
StyleExpression := 'Attention'
else
StyleExpression := 'None';
end;
local procedure SetStyle()
var
RecID: RecordID;
begin
RecID := Rec."Record ID";
case Rec."Message Type" of
Rec."Message Type"::Error:
if RecID = RecordIDToHighlight then
StyleText := 'Unfavorable'
else
StyleText := 'Attention';
Rec."Message Type"::Warning,
Rec."Message Type"::Information:
if RecID = RecordIDToHighlight then
StyleText := 'Strong'
else
StyleText := 'None';
end;
end;
local procedure EnableActions()
var
RecID: RecordID;
begin
RecID := Rec."Record ID";
if DisableOpenRelatedEntity then
EnableOpenRelatedEntity := false
else
EnableOpenRelatedEntity := RecID.TableNo <> 0;
end;
procedure DisableActions()
begin
DisableOpenRelatedEntity := true;
end;
}