Page 951 Time Sheet List, source in 29
Source29
src/Layers/W1/BaseApp/Projects/TimeSheet/TimeSheetList.Page.al174 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.Projects.TimeSheet;
using System.Security.User;
page 951 "Time Sheet List"
{
ApplicationArea = Jobs;
Caption = 'Time Sheets';
AdditionalSearchTerms = 'Timesheets';
InsertAllowed = false;
PageType = List;
AboutTitle = 'About Time Sheets';
AboutText = 'Track and manage time spent on projects, tasks, or absences by creating, submitting, and approving time sheets for resources, helping monitor progress and control costs.';
CardPageID = "Time Sheet Card";
SourceTable = "Time Sheet Header";
SourceTableView = sorting("Resource No.", "Starting Date") order(descending);
UsageCategory = Tasks;
Editable = false;
RefreshOnActivate = true;
layout
{
area(content)
{
repeater(Control1)
{
ShowCaption = false;
field("No."; Rec."No.")
{
ApplicationArea = Jobs;
}
field("Starting Date"; Rec."Starting Date")
{
ApplicationArea = Jobs;
}
field("Ending Date"; Rec."Ending Date")
{
ApplicationArea = Jobs;
}
field(Description; Rec.Description)
{
ApplicationArea = Jobs;
}
field("Resource No."; Rec."Resource No.")
{
ApplicationArea = Jobs;
}
field("Resource Name"; Rec."Resource Name")
{
ApplicationArea = Jobs;
Visible = false;
}
field("Quantity"; Rec."Quantity")
{
ApplicationArea = Jobs;
Caption = 'Total';
}
field("Quantity Open"; Rec."Quantity Open")
{
ApplicationArea = Jobs;
Caption = 'Open';
ToolTip = 'Specifies the number of hours for the time sheet with status Open.';
}
field("Quantity Submitted"; Rec."Quantity Submitted")
{
ApplicationArea = Jobs;
Caption = 'Submitted';
ToolTip = 'Specifies the number of hours for the time sheet with status Submitted.';
}
field("Quantity Approved"; Rec."Quantity Approved")
{
ApplicationArea = Jobs;
Caption = 'Approved';
ToolTip = 'Specifies the number of hours for the time sheet with status Approved.';
}
field("Quantity Rejected"; Rec."Quantity Rejected")
{
ApplicationArea = Jobs;
Caption = 'Rejected';
ToolTip = 'Specifies the number of hours for the time sheet with status Rejected.';
}
field(Comment; Rec.Comment)
{
ApplicationArea = Comments;
}
}
}
}
actions
{
area(processing)
{
action("Create Time Sheets")
{
ApplicationArea = Jobs;
Caption = 'Create Time Sheets';
Image = NewTimesheet;
RunObject = Report "Create Time Sheets";
Visible = TimeSheetAdminActionsVisible;
}
action(MoveTimeSheetsToArchive)
{
ApplicationArea = Jobs;
Caption = 'Move Time Sheets to Archive';
Image = Archive;
RunObject = Report "Move Time Sheets to Archive";
Visible = TimeSheetAdminActionsVisible;
}
}
area(navigation)
{
group("&Time Sheet")
{
Caption = '&Time Sheet';
Image = Timesheet;
action(Comments)
{
ApplicationArea = Comments;
Caption = 'Co&mments';
Image = ViewComments;
RunObject = Page "Time Sheet Comment Sheet";
RunPageLink = "No." = field("No."),
"Time Sheet Line No." = const(0);
ToolTip = 'View or add comments for the record.';
}
}
}
area(Promoted)
{
group(Category_Process)
{
Caption = 'Process', Comment = 'Generated from the PromotedActionCategories property index 1.';
actionref("Create Time Sheets_Promoted"; "Create Time Sheets")
{
}
actionref(MoveTimeSheetsToArchive_Promoted; MoveTimeSheetsToArchive)
{
}
actionref(Comments_Promoted; Comments)
{
}
}
}
}
trigger OnOpenPage()
begin
TimeSheetAdminActionsVisible := true;
if UserSetup.Get(UserId) then
CurrPage.Editable := UserSetup."Time Sheet Admin.";
TimeSheetAdminActionsVisible := UserSetup."Time Sheet Admin.";
TimeSheetMgt.FilterTimeSheets(Rec, Rec.FieldNo("Owner User ID"));
OnAfterOnOpenPage(Rec);
end;
var
UserSetup: Record "User Setup";
TimeSheetMgt: Codeunit "Time Sheet Management";
TimeSheetAdminActionsVisible: Boolean;
[IntegrationEvent(true, false)]
local procedure OnAfterOnOpenPage(var TimeSheetHeader: Record "Time Sheet Header")
begin
end;
}