Table 9042 Team Member Cue, source in 29
Source29
src/Layers/W1/BaseApp/RoleCenters/TeamMemberCue.Table.al197 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.RoleCenters;
using Microsoft.Projects.TimeSheet;
table 9042 "Team Member Cue"
{
Caption = 'Team Member Cue';
DataClassification = CustomerContent;
fields
{
field(1; "Primary Key"; Code[10])
{
AllowInCustomizations = Never;
Caption = 'Primary Key';
}
#if not CLEANSCHEMA29
field(2; "Open Time Sheets"; Integer)
{
CalcFormula = count("Time Sheet Header" where("Open Exists" = filter(= true),
"Owner User ID" = field("User ID Filter")));
Caption = 'Time Sheets In progress';
FieldClass = FlowField;
AllowInCustomizations = Never;
ObsoleteReason = 'For performance reasons, replaced by value calculated in CountTimeSheetsInStatus procedure.';
ObsoleteState = Removed;
ObsoleteTag = '29.0';
}
#endif
#if not CLEANSCHEMA29
field(3; "Submitted Time Sheets"; Integer)
{
CalcFormula = count("Time Sheet Header" where("Submitted Exists" = filter(= true),
"Owner User ID" = field("User ID Filter")));
Caption = 'Submitted Time Sheets';
FieldClass = FlowField;
AllowInCustomizations = Never;
ObsoleteReason = 'For performance reasons, replaced by value calculated in CountTimeSheetsInStatus procedure.';
ObsoleteState = Removed;
ObsoleteTag = '29.0';
}
#endif
#if not CLEANSCHEMA29
field(4; "Rejected Time Sheets"; Integer)
{
CalcFormula = count("Time Sheet Header" where("Rejected Exists" = filter(= true),
"Owner User ID" = field("User ID Filter")));
Caption = 'Rejected Time Sheets';
FieldClass = FlowField;
AllowInCustomizations = Never;
ObsoleteReason = 'For performance reasons, replaced by value calculated in CountTimeSheetsInStatus procedure.';
ObsoleteState = Removed;
ObsoleteTag = '29.0';
}
#endif
#if not CLEANSCHEMA29
field(5; "Approved Time Sheets"; Integer)
{
CalcFormula = count("Time Sheet Header" where("Approved Exists" = filter(= true),
"Owner User ID" = field("User ID Filter")));
Caption = 'Approved Time Sheets';
FieldClass = FlowField;
AllowInCustomizations = Never;
ObsoleteReason = 'For performance reasons, replaced by value calculated in CountTimeSheetsInStatus procedure.';
ObsoleteState = Removed;
ObsoleteTag = '29.0';
}
#endif
#if not CLEANSCHEMA29
field(7; "Time Sheets to Approve"; Integer)
{
CalcFormula = count("Time Sheet Header" where("Approver User ID" = field("Approve ID Filter"),
"Submitted Exists" = const(true)));
Caption = 'Time Sheets to Approve';
FieldClass = FlowField;
AllowInCustomizations = Never;
ObsoleteReason = 'For performance reasons, replaced by value calculated in CountTimeSheetsInStatus procedure.';
ObsoleteState = Removed;
ObsoleteTag = '29.0';
}
#endif
field(9; "New Time Sheets"; Integer)
{
CalcFormula = count("Time Sheet Header" where("Lines Exist" = filter(= false),
"Owner User ID" = field("User ID Filter")));
Caption = 'New Time Sheets';
FieldClass = FlowField;
}
field(28; "User ID Filter"; Code[50])
{
Caption = 'User ID Filter';
FieldClass = FlowFilter;
}
field(29; "Approve ID Filter"; Code[50])
{
Caption = 'Approve ID Filter';
FieldClass = FlowFilter;
}
}
keys
{
key(Key1; "Primary Key")
{
Clustered = true;
}
}
fieldgroups
{
}
internal procedure Initialize()
begin
Rec.Reset();
if not Rec.Get() then begin
Rec.Init();
Rec.Insert();
end;
end;
internal procedure SetDefaultFilters(var ShowTimeSheetsToApprove: Boolean)
var
TimeSheetHeader: Record "Time Sheet Header";
begin
TimeSheetHeader.SetRange("Approver User ID", UserId());
if not TimeSheetHeader.IsEmpty() then begin
Rec.SetRange("Approve ID Filter", UserId());
Rec.SetRange("User ID Filter", UserId());
ShowTimeSheetsToApprove := true;
end else begin
Rec.SetRange("User ID Filter", UserId());
ShowTimeSheetsToApprove := false;
end;
end;
internal procedure CountTimeSheetsInStatus(UserFilterOption: Option Owner,Approver; TimeSheetStatus: Enum "Time Sheet Status") CalculatedCount: Integer
var
TimeSheetLineStatusCount: Query "Time Sheet Line Status Count";
begin
case UserFilterOption of
UserFilterOption::Owner:
TimeSheetLineStatusCount.SetFilter(Filter_Owner_User, Rec.GetFilter("User ID Filter"));
UserFilterOption::Approver:
TimeSheetLineStatusCount.SetFilter(Filter_Approver_User, Rec.GetFilter("Approve ID Filter"));
end;
case TimeSheetStatus of
TimeSheetStatus::Open:
TimeSheetLineStatusCount.SetRange(Filter_Status, "Time Sheet Status"::Open);
TimeSheetStatus::Submitted:
TimeSheetLineStatusCount.SetRange(Filter_Status, "Time Sheet Status"::Submitted);
TimeSheetStatus::Rejected:
TimeSheetLineStatusCount.SetRange(Filter_Status, "Time Sheet Status"::Rejected);
TimeSheetStatus::Approved:
TimeSheetLineStatusCount.SetRange(Filter_Status, "Time Sheet Status"::Approved);
end;
TimeSheetLineStatusCount.Open();
while TimeSheetLineStatusCount.Read() do
CalculatedCount += 1
end;
internal procedure DrillDownToTimeSheetList(UserFilterOption: Option Owner,Approver; TimeSheetStatus: Enum "Time Sheet Status")
var
TimeSheetHeader: Record "Time Sheet Header";
begin
case UserFilterOption of
UserFilterOption::Owner:
TimeSheetHeader.SetFilter("Owner User ID", Rec.GetFilter("User ID Filter"));
UserFilterOption::Approver:
TimeSheetHeader.SetFilter("Approver User ID", Rec.GetFilter("Approve ID Filter"));
end;
case TimeSheetStatus of
TimeSheetStatus::Open:
TimeSheetHeader.SetRange("Open Exists", true);
TimeSheetStatus::Submitted:
TimeSheetHeader.SetRange("Submitted Exists", true);
TimeSheetStatus::Rejected:
TimeSheetHeader.SetRange("Rejected Exists", true);
TimeSheetStatus::Approved:
TimeSheetHeader.SetRange("Approved Exists", true);
end;
case UserFilterOption of
UserFilterOption::Owner:
Page.Run(Page::"Time Sheet List", TimeSheetHeader);
UserFilterOption::Approver:
Page.Run(Page::"Manager Time Sheet List", TimeSheetHeader);
end;
end;
}