Table 954 Time Sheet Header Archive, source in 29
Source29
src/Layers/W1/BaseApp/Projects/TimeSheet/TimeSheetHeaderArchive.Table.al167 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 Microsoft.Projects.Resources.Resource;
using System.Security.User;
table 954 "Time Sheet Header Archive"
{
Caption = 'Time Sheet Header Archive';
DataClassification = CustomerContent;
fields
{
field(1; "No."; Code[20])
{
Caption = 'No.';
ToolTip = 'Specifies the number of the involved entry or record, according to the specified number series.';
}
field(3; "Starting Date"; Date)
{
Caption = 'Starting Date';
ToolTip = 'Specifies the start date for the archived time sheet.';
}
field(4; "Ending Date"; Date)
{
Caption = 'Ending Date';
ToolTip = 'Specifies the end date for an archived time sheet.';
}
field(5; "Resource No."; Code[20])
{
Caption = 'Resource No.';
ToolTip = 'Specifies the list of resource numbers associated with an archived time sheet.';
TableRelation = Resource;
}
field(7; "Owner User ID"; Code[50])
{
Caption = 'Owner User ID';
DataClassification = EndUserIdentifiableInformation;
TableRelation = "User Setup";
}
field(8; "Approver User ID"; Code[50])
{
Caption = 'Approver User ID';
ToolTip = 'Specifies the ID of the time sheet approver.';
DataClassification = EndUserIdentifiableInformation;
TableRelation = "User Setup";
}
field(10; Description; Text[100])
{
Caption = 'Description';
ToolTip = 'Specifies the description for a time sheet.';
DataClassification = CustomerContent;
}
field(11; "Unit of Measure"; Code[10])
{
CalcFormula = lookup(Resource."Base Unit of Measure" where("No." = field("Resource No.")));
Caption = 'Unit of Measure';
FieldClass = FlowField;
Editable = false;
}
field(20; Quantity; Decimal)
{
AutoFormatType = 0;
CalcFormula = sum("Time Sheet Detail Archive".Quantity where("Time Sheet No." = field("No."),
Status = field("Status Filter"),
"Job No." = field("Job No. Filter"),
"Job Task No." = field("Job Task No. Filter"),
Date = field("Date Filter"),
Posted = field("Posted Filter"),
Type = field("Type Filter")));
Caption = 'Quantity';
FieldClass = FlowField;
}
field(26; Comment; Boolean)
{
CalcFormula = exist("Time Sheet Comment Line" where("No." = field("No."),
"Time Sheet Line No." = const(0)));
Caption = 'Comment';
Editable = false;
FieldClass = FlowField;
}
field(30; "Status Filter"; Enum "Time Sheet Status")
{
Caption = 'Status Filter';
FieldClass = FlowFilter;
}
field(31; "Job No. Filter"; Code[20])
{
Caption = 'Project No. Filter';
FieldClass = FlowFilter;
}
field(32; "Job Task No. Filter"; Code[20])
{
Caption = 'Project Task No. Filter';
FieldClass = FlowFilter;
}
field(33; "Date Filter"; Date)
{
Caption = 'Date Filter';
FieldClass = FlowFilter;
}
field(34; "Posted Filter"; Boolean)
{
Caption = 'Posted Filter';
FieldClass = FlowFilter;
}
field(35; "Type Filter"; Enum "Time Sheet Line Type")
{
Caption = 'Type Filter';
FieldClass = FlowFilter;
}
}
keys
{
key(Key1; "No.")
{
Clustered = true;
}
key(Key2; "Resource No.", "Starting Date")
{
}
}
fieldgroups
{
fieldgroup(DropDown; "No.", "Starting Date", "Ending Date", "Resource No.")
{
}
}
trigger OnDelete()
var
TimeSheetLineArchive: Record "Time Sheet Line Archive";
TimeSheetCmtLineArchive: Record "Time Sheet Cmt. Line Archive";
begin
TimeSheetLineArchive.SetRange("Time Sheet No.", "No.");
TimeSheetLineArchive.DeleteAll(true);
TimeSheetCmtLineArchive.SetRange("No.", "No.");
TimeSheetCmtLineArchive.SetRange("Time Sheet Line No.", 0);
TimeSheetCmtLineArchive.DeleteAll();
end;
var
TimeSheetMgt: Codeunit "Time Sheet Management";
procedure FindLastTimeSheetArchiveNo(FilterFieldNo: Integer): Code[20]
begin
Reset();
SetCurrentKey("Resource No.", "Starting Date");
TimeSheetMgt.FilterTimeSheetsArchive(Rec, FilterFieldNo);
SetFilter("Starting Date", '%1..', WorkDate());
if not FindFirst() then begin
SetRange("Starting Date");
SetRange("Ending Date");
FindLast();
end;
exit("No.");
end;
}