Page 5201 Employee List
- App
- Base Application
- Namespace
- Microsoft.HumanResources.Employee
- Versions
- 17-28
- Source table
- 5200
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/HumanResources/Employee/EmployeeList.Page.al477 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.HumanResources.Employee;
using Microsoft.CRM.BusinessRelation;
using Microsoft.CRM.Contact;
using Microsoft.Finance.Dimension;
using Microsoft.Foundation.Attachment;
using Microsoft.HumanResources.Absence;
using Microsoft.HumanResources.Analysis;
using Microsoft.HumanResources.Comment;
using Microsoft.HumanResources.Payables;
using System.Email;
using System.Text;
page 5201 "Employee List"
{
ApplicationArea = BasicHR;
Caption = 'Employees';
CardPageID = "Employee Card";
Editable = false;
PageType = List;
AboutTitle = 'About Employees';
AboutText = 'Manage employee records, update personal and job details, track absences, and enter information for sustainability and governance reporting.';
SourceTable = Employee;
UsageCategory = Lists;
layout
{
area(content)
{
repeater(Control1)
{
ShowCaption = false;
field("No."; Rec."No.")
{
ApplicationArea = BasicHR;
}
field(FullName; Rec.FullName())
{
ApplicationArea = BasicHR;
Caption = 'Full Name';
ToolTip = 'Specifies the full name of the employee.';
Visible = false;
}
field("First Name"; Rec."First Name")
{
ApplicationArea = BasicHR;
NotBlank = true;
}
field("Middle Name"; Rec."Middle Name")
{
ApplicationArea = BasicHR;
Visible = false;
}
field("Last Name"; Rec."Last Name")
{
ApplicationArea = BasicHR;
NotBlank = true;
}
field(Initials; Rec.Initials)
{
ApplicationArea = Basic, Suite;
Visible = false;
}
field("Job Title"; Rec."Job Title")
{
ApplicationArea = BasicHR;
}
field("Post Code"; Rec."Post Code")
{
ApplicationArea = BasicHR;
Visible = false;
}
field("Country/Region Code"; Rec."Country/Region Code")
{
ApplicationArea = BasicHR;
Visible = false;
}
field("Phone No."; Rec."Phone No.")
{
ApplicationArea = BasicHR;
Caption = 'Company Phone No.';
}
field(Extension; Rec.Extension)
{
ApplicationArea = BasicHR;
Visible = false;
}
field("Mobile Phone No."; Rec."Mobile Phone No.")
{
ApplicationArea = BasicHR;
Caption = 'Private Phone No.';
Visible = false;
}
field("E-Mail"; Rec."E-Mail")
{
ApplicationArea = BasicHR;
Caption = 'Private Email';
Visible = false;
}
field("Statistics Group Code"; Rec."Statistics Group Code")
{
ApplicationArea = Suite;
Visible = false;
}
field("Resource No."; Rec."Resource No.")
{
ApplicationArea = Jobs;
Visible = false;
}
field("Privacy Blocked"; Rec."Privacy Blocked")
{
ApplicationArea = BasicHR;
Visible = false;
}
field("Search Name"; Rec."Search Name")
{
ApplicationArea = Basic, Suite;
}
field("Balance (LCY)"; Rec."Balance (LCY)")
{
ApplicationArea = Basic, Suite;
}
field(Comment; Rec.Comment)
{
ApplicationArea = Comments;
}
}
}
area(factboxes)
{
part("Attached Documents List"; "Doc. Attachment List Factbox")
{
ApplicationArea = All;
Caption = 'Documents';
UpdatePropagation = Both;
SubPageLink = "Table ID" = const(Database::Employee), "No." = field("No.");
}
systempart(Control1900383207; Links)
{
ApplicationArea = RecordLinks;
Visible = false;
}
systempart(Control1905767507; Notes)
{
ApplicationArea = Notes;
Visible = true;
}
}
}
actions
{
area(navigation)
{
group("E&mployee")
{
Caption = 'E&mployee';
Image = Employee;
action("Co&mments")
{
ApplicationArea = Comments;
Caption = 'Co&mments';
Image = ViewComments;
RunObject = Page "Human Resource Comment Sheet";
RunPageLink = "Table Name" = const(Employee),
"No." = field("No.");
ToolTip = 'View or add comments for the record.';
}
group(Dimensions)
{
Caption = 'Dimensions';
Image = Dimensions;
action("Dimensions-Single")
{
ApplicationArea = Dimensions;
Caption = 'Dimensions-Single';
Image = Dimensions;
RunObject = Page "Default Dimensions";
RunPageLink = "Table ID" = const(5200),
"No." = field("No.");
ShortCutKey = 'Alt+D';
ToolTip = 'View or edit the single set of dimensions that are set up for the selected record.';
}
action("Dimensions-&Multiple")
{
AccessByPermission = TableData Dimension = R;
ApplicationArea = Dimensions;
Caption = 'Dimensions-&Multiple';
Image = DimensionSets;
ToolTip = 'View or edit dimensions for a group of records. You can assign dimension codes to transactions to distribute costs and analyze historical information.';
trigger OnAction()
var
Employee: Record Employee;
DefaultDimMultiple: Page "Default Dimensions-Multiple";
begin
CurrPage.SetSelectionFilter(Employee);
DefaultDimMultiple.SetMultiRecord(Employee, Rec.FieldNo("No."));
DefaultDimMultiple.RunModal();
end;
}
}
action("&Picture")
{
ApplicationArea = BasicHR;
Caption = '&Picture';
Image = Picture;
RunObject = Page "Employee Picture";
RunPageLink = "No." = field("No.");
ToolTip = 'View or add a picture of the employee or, for example, the company''s logo.';
}
action(AlternativeAddresses)
{
ApplicationArea = Basic, Suite;
Caption = '&Alternate Addresses';
Image = Addresses;
RunObject = Page "Alternative Address List";
RunPageLink = "Employee No." = field("No.");
ToolTip = 'Open the list of addresses that are registered for the employee.';
}
action("&Relatives")
{
ApplicationArea = Basic, Suite;
Caption = '&Relatives';
Image = Relatives;
RunObject = Page "Employee Relatives";
RunPageLink = "Employee No." = field("No.");
ToolTip = 'Open the list of relatives that are registered for the employee.';
}
action("Mi&sc. Article Information")
{
ApplicationArea = Basic, Suite;
Caption = 'Mi&sc. Article Information';
Image = Filed;
RunObject = Page "Misc. Article Information";
RunPageLink = "Employee No." = field("No.");
ToolTip = 'Open the list of miscellaneous articles that are registered for the employee.';
}
action("Co&nfidential Information")
{
ApplicationArea = Basic, Suite;
Caption = 'Co&nfidential Information';
Image = Lock;
RunObject = Page "Confidential Information";
RunPageLink = "Employee No." = field("No.");
ToolTip = 'Open the list of any confidential information that is registered for the employee.';
}
action("Q&ualifications")
{
ApplicationArea = Basic, Suite;
Caption = 'Q&ualifications';
Image = Certificate;
RunObject = Page "Employee Qualifications";
RunPageLink = "Employee No." = field("No.");
ToolTip = 'Open the list of qualifications that are registered for the employee.';
}
action("A&bsences")
{
ApplicationArea = Basic, Suite;
Caption = 'A&bsences';
Image = Absence;
RunObject = Page "Employee Absences";
RunPageLink = "Employee No." = field("No.");
ToolTip = 'View absence information for the employee.';
}
separator(Action51)
{
}
action("Absences by Ca&tegories")
{
ApplicationArea = Basic, Suite;
Caption = 'Absences by Ca&tegories';
Image = AbsenceCategory;
RunObject = Page "Empl. Absences by Categories";
RunPageLink = "No." = field("No."),
"Employee No. Filter" = field("No.");
ToolTip = 'View categorized absence information for the employee.';
}
action("Misc. Articles &Overview")
{
ApplicationArea = Basic, Suite;
Caption = 'Misc. Articles &Overview';
Image = FiledOverview;
RunObject = Page "Misc. Articles Overview";
ToolTip = 'View miscellaneous articles that are registered for the employee.';
}
action("Con&fidential Info. Overview")
{
ApplicationArea = Basic, Suite;
Caption = 'Con&fidential Info. Overview';
Image = ConfidentialOverview;
RunObject = Page "Confidential Info. Overview";
ToolTip = 'View confidential information that is registered for the employee.';
}
action(Contact)
{
ApplicationArea = RelationshipMgmt;
Caption = 'Contact';
Image = ContactPerson;
ToolTip = 'View or edit detailed information about the contact person at the employee.';
trigger OnAction()
var
ContBusRel: Record "Contact Business Relation";
Contact: Record Contact;
begin
if ContBusRel.FindByRelation(ContBusRel."Link to Table"::Employee, Rec."No.") then begin
Contact.Get(ContBusRel."Contact No.");
Page.Run(Page::"Contact Card", Contact);
end;
end;
}
}
group(History)
{
Caption = 'History';
Image = History;
action("Sent Emails")
{
ApplicationArea = Basic, Suite;
Caption = 'Sent Emails';
Image = ShowList;
ToolTip = 'View a list of emails that you have sent to this employee.';
trigger OnAction()
var
Email: Codeunit Email;
begin
Email.OpenSentEmails(Database::Employee, Rec.SystemId);
end;
}
}
}
area(processing)
{
action("Absence Registration")
{
ApplicationArea = Basic, Suite;
Caption = 'Absence Registration';
Image = Absence;
RunObject = Page "Absence Registration";
ToolTip = 'Register absence for the employee.';
}
action("Ledger E&ntries")
{
ApplicationArea = BasicHR;
Caption = 'Ledger E&ntries';
Image = VendorLedger;
RunObject = Page "Employee Ledger Entries";
RunPageLink = "Employee No." = field("No.");
RunPageView = sorting("Employee No.")
order(descending);
ShortCutKey = 'Ctrl+F7';
ToolTip = 'View the history of transactions that have been posted for the selected record.';
}
action(PayEmployee)
{
ApplicationArea = BasicHR;
Caption = 'Pay Employee';
Image = SuggestVendorPayments;
RunObject = Page "Employee Ledger Entries";
RunPageLink = "Employee No." = field("No."),
"Remaining Amount" = filter(< 0),
"Applies-to ID" = filter('');
ToolTip = 'View employee ledger entries for the selected record with remaining amount that have not been paid yet.';
}
action(ApplyTemplate)
{
ApplicationArea = Basic, Suite;
Caption = 'Apply Template';
Ellipsis = true;
Image = ApplyTemplate;
ToolTip = 'Apply a template to update one or more entities with your standard settings for a certain type of entity.';
trigger OnAction()
var
Employee: Record Employee;
EmployeeTemplMgt: Codeunit "Employee Templ. Mgt.";
begin
CurrPage.SetSelectionFilter(Employee);
EmployeeTemplMgt.UpdateEmployeesFromTemplate(Employee);
end;
}
action(Email)
{
ApplicationArea = All;
Caption = 'Send Email';
Image = Email;
ToolTip = 'Send an email to this employee.';
Enabled = CanSendEmail;
trigger OnAction()
var
TempEmailItem: Record "Email Item" temporary;
EmailScenario: Enum "Email Scenario";
begin
TempEmailItem.AddSourceDocument(Database::Employee, Rec.SystemId);
if Rec."Company E-Mail" <> '' then
TempEmailitem."Send to" := Rec."Company E-Mail"
else
TempEmailitem."Send to" := Rec."E-Mail";
TempEmailItem.Send(false, EmailScenario::Default);
end;
}
}
area(Promoted)
{
group(Category_Process)
{
Caption = 'Process';
actionref(Email_Promoted; Email)
{
}
actionref(ApplyTemplate_Promoted; ApplyTemplate)
{
}
actionref("Absence Registration_Promoted"; "Absence Registration")
{
}
actionref(PayEmployee_Promoted; PayEmployee)
{
}
actionref("Ledger E&ntries_Promoted"; "Ledger E&ntries")
{
}
}
group(Category_Employee)
{
Caption = 'Employee';
group(Category_Dimensions)
{
Caption = 'Dimensions';
ShowAs = SplitButton;
actionref("Dimensions-&Multiple_Promoted"; "Dimensions-&Multiple")
{
}
actionref("Dimensions-Single_Promoted"; "Dimensions-Single")
{
}
}
actionref("Co&mments_Promoted"; "Co&mments")
{
}
actionref(Contact_Promoted; Contact)
{
}
}
}
}
trigger OnAfterGetCurrRecord()
var
Employee: Record Employee;
begin
CurrPage.SetSelectionFilter(Employee);
CanSendEmail := Employee.Count() = 1;
end;
var
CanSendEmail: Boolean;
procedure GetSelectionFilter(): Text
var
Employee: Record Employee;
SelectionFilterManagement: Codeunit SelectionFilterManagement;
begin
CurrPage.SetSelectionFilter(Employee);
exit(SelectionFilterManagement.GetSelectionFilterForEmployee(Employee));
end;
}