Codeunit 950 "Time Sheet Management"
Base Application · Microsoft.Projects.TimeSheet
Across versions
- BC23present
- BC2412 procedures added, 7 events added
- BC2510 procedures added, 8 procedures removed
- BC26unchanged
- BC272 events added
- BC289 procedures removed, 4 events removed
- BC29-30unchanged
Neighbourhood 32 connected objects and pages
Base Application · Microsoft.Projects.TimeSheet · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | TableData “Time Sheet Posting Entry” = ri, TableData “Job Planning Line” = r, TableData Employee = r |
Events published
OnAfterCalcActSchedFactBoxData(var TimeSheetHeader: Record "Time Sheet Header"; var TotalQtyText: Text; var TotalPresenceQty: Decimal; var AbsenceQty: Decimal)(integration)OnAfterCreateTSPostingEntry(TimeSheetDetail: Record "Time Sheet Detail"; var TimeSheetPostingEntry: Record "Time Sheet Posting Entry")(integration)OnAfterCopyPrevTimeSheetLines()(integration)OnAfterFilterAllLines(var TimeSheetLine: Record "Time Sheet Line"; ActionType: Option Submit,ReopenSubmitted,Approve,ReopenApproved,Reject)(integration)OnCalcStatusFactBoxDataOnAfterTimeSheetHeaderSetFilters(var TimeSheetHeader: Record "Time Sheet Header")(integration)OnCalcActSchedFactBoxDataOnAfterTimeSheetHeaderSetFilters(var TimeSheetHeader: Record "Time Sheet Header"; Calendar: Record Date)(integration)OnCalcActSchedFactBoxDataOnBeforeResouceCalcFields(var Resource: Record Resource; Calendar: Record Date)(integration)OnCheckInsertJobPlanningLine(JobPlanningLine: Record "Job Planning Line"; var JobPlanningLineBuffer: Record "Job Planning Line"; var SkipLine: Boolean)(integration)OnCopyPrevTimeSheetLinesOnBeforeCopyLine(var TimeSheetLine: Record "Time Sheet Line"; var IsHandled: Boolean)(integration)OnBeforeCheckJobJnlLine(var JobJnlLine: Record "Job Journal Line"; var IsHandled: Boolean)(integration)OnBeforeCheckResJnlLine(ResJournalLine: Record "Res. Journal Line"; var IsHandled: Boolean)(integration)OnBeforeFillJobPlanningBuffer(var JobPlanningLine: Record "Job Planning Line"; var JobPlanningLineBuffer: Record "Job Planning Line"; TimeSheetHeader: Record "Time Sheet Header"; var IsHandled: Boolean)(integration)OnBeforeFilterTimeSheets(var TimeSheetHeader: Record "Time Sheet Header"; FieldNo: Integer; ApplyToAdmin: Boolean; var IsHandled: Boolean)+ BC24 − BC24 (integration)OnBeforeToTimeSheetLineInsert(var ToTimeSheetLine: Record "Time Sheet Line"; FromTimeSheetLine: Record "Time Sheet Line")(integration)OnCreateLinesFromJobPlanningOnBeforeTimeSheetLineInsert(var TimeSheetLine: Record "Time Sheet Line"; var JobPlanningLine: Record "Job Planning Line")(integration)OnAfterGetActivityInfo(var TimeSheetLine: Record "Time Sheet Line"; var ActivityCaption: Text[30]; var ActivityID: Code[20]; var ActivitySubCaption: Text[30]; var ActivitySubID: Code[20])(integration)OnFillJobPlanningBufferOnBeforeJobPlanningLineBufferInsert(JobPlanningLine: Record "Job Planning Line"; var JobPlanningLineBuffer: Record "Job Planning Line" temporary)(integration)OnFindTimeSheetArchiveOnAfterSetFilters(var TimeSheetHeaderArchive: Record "Time Sheet Header Archive")(integration)OnGetActivityInfoCaseTypeElse(var TimeSheetLine: Record "Time Sheet Line"; var ActivityCaption: Text[30]; var ActivityID: Code[20]; var ActivitySubCaption: Text[30]; var ActivitySubID: Code[20])(integration)- subscribers: Codeunit 6451 “Serv. Time Sheet Mgt.” OnGetActivityInfoCaseTypeElse
OnCalcActSchedFactBoxDataOnAfterSetDateDescription(TimeSheetHeader: Record "Time Sheet Header"; Calendar: Record Date; var DateDescriptionForSpecificDate: Text[30])(integration)OnBeforeTimeSheetHeaderArchiveInsert(var TimeSheetHeaderArchive: Record "Time Sheet Header Archive"; TimeSheetHeader: Record "Time Sheet Header")(integration)OnBeforeTimeSheetLineArchiveInsert(var TimeSheetLineArchive: Record "Time Sheet Line Archive"; TimeSheetLine: Record "Time Sheet Line")(integration)OnBeforeTimeSheetDetailArchiveInsert(var TimeSheetDetailArchive: Record "Time Sheet Detail Archive"; TimeSheetDetail: Record "Time Sheet Detail")(integration)OnBeforeTimeSheetCmtLineArchiveInsert(var TimeSheetCmtLineArchive: Record "Time Sheet Cmt. Line Archive"; TimeSheetCommentLine: Record "Time Sheet Comment Line")(integration)OnBeforeCopyTimeSheetLine(var ToTimeSheetHeader: Record "Time Sheet Header"; var FromTimeSheetLine: Record "Time Sheet Line"; CopyComments: Boolean; var NextLineNo: Integer; var IsHandled: Boolean)+ BC24 (integration)OnBeforeCopyTimeSheetLineArchive(var ToTimeSheetHeader: Record "Time Sheet Header"; var FromTimeSheetLineArchive: Record "Time Sheet Line Archive"; CopyComments: Boolean; var NextLineNo: Integer; var IsHandled: Boolean)+ BC24 (integration)OnAfterCheckTimeSheetLineFieldsVisible(var WorkTypeCodeVisible: Boolean; var JobFieldsVisible: Boolean; var ChargeableVisible: Boolean; var ServiceOrderNoVisible: Boolean; var AbsenceCauseVisible: Boolean; var AssemblyOrderNoVisible: Boolean)+ BC24 (integration)OnBeforeCheckTimeSheetLineFieldsVisible(var ServiceOrderNoVisible: Boolean)+ BC25 (integration)- subscribers: Codeunit 6451 “Serv. Time Sheet Mgt.” OnBeforeCheckTimeSheetLineFieldsVisible
OnCreateTSLineFromDocLineOnBeforeTimeSheetLineInsert(var TimeSheetLine: Record "Time Sheet Line"; TableID: Integer; OrderNo: Code[20]; OrderLineNo: Integer)+ BC25 (integration)- subscribers: Codeunit 6451 “Serv. Time Sheet Mgt.” OnCreateTSLineFromDocLineOnBeforeTimeSheetLineInsert
OnBeforeTimeSheetDetailInsert(var ToTimeSheetDetail: Record "Time Sheet Detail"; FromTimeSheetDetail: Record "Time Sheet Detail"; var IsHandled: Boolean)+ BC24 (integration)OnCopyTimeSheetLineArchiveOnBeforeToTimeSheetLineInsert(var ToTimeSheetLine: Record "Time Sheet Line"; FromTimeSheetLineArchive: Record "Time Sheet Line Archive")+ BC24 (integration)OnBeforeCheckAccPeriod(Date: Date; var IsHandled: Boolean)+ BC27 (integration)OnBeforeCopyTimeSheetLineArchiveDetails(var FromTimeSheetLineArchive: Record "Time Sheet Line Archive"; var ToTimeSheetLine: Record "Time Sheet Line"; var IsHandled: Boolean)+ BC27 (integration)
Procedures
IsUserTimeSheetAdmin(UserId: Text): Boolean+ BC24FilterTimeSheets(var TimeSheetHeader: Record "Time Sheet Header"; FieldNo: Integer)+ BC24FilterTimeSheets(var TimeSheetHeader: Record "Time Sheet Header"; FieldNo: Integer; ApplyToAdmin: Boolean)+ BC24FilterAllTimeSheetLines(var TimeSheetLine: Record "Time Sheet Line"; ActionType: Option Submit,ReopenSubmitted,Approve,ReopenApproved,Reject)CheckTimeSheetNo(var TimeSheetHeader: Record "Time Sheet Header"; TimeSheetNo: Code[20])SetTimeSheetNo(TimeSheetNo: Code[20]; var TimeSheetLine: Record "Time Sheet Line")LookupOwnerTimeSheet(var TimeSheetNo: Code[20]; var TimeSheetLine: Record "Time Sheet Line"; var TimeSheetHeader: Record "Time Sheet Header")LookupApproverTimeSheet(var TimeSheetNo: Code[20]; var TimeSheetLine: Record "Time Sheet Line"; var TimeSheetHeader: Record "Time Sheet Header")FormatDate(Date: Date; DOWFormatType: Option Full,Short): Text[30]CheckAccPeriod(Date: Date)CheckResourceTimeSheetOwner(TimeSheetOwnerUserID: Code[50]; CurrResourceNo: Code[20])CalcStatusFactBoxData(var TimeSheetHeader: Record "Time Sheet Header"; var OpenQty: Decimal; var SubmittedQty: Decimal; var RejectedQty: Decimal; var ApprovedQty: Decimal; var PostedQty: Decimal; var TotalQuantity: Decimal)CalcActSchedFactBoxData(TimeSheetHeader: Record "Time Sheet Header"; var DateDescription: array[7] of Text[30]; var DateQuantity: array[7] of Text[30]; var TotalQtyText: Text[30]; var TotalPresenceQty: Decimal; var AbsenceQty: Decimal)+ BC25CalcActSchedFactBoxData(TimeSheetHeader: Record "Time Sheet Header"; var DateDescription: array[7] of Text[30]; var DateQuantity: array[7] of Text[30]; var TotalQtyText: Text[30]; var TotalPresenceQty: Decimal; var AbsenceQty: Decimal; var TotalScheduledQty: Decimal)+ BC25FormatActualSched(ActualQty: Decimal; ScheduledQty: Decimal): Text[30]FilterTimeSheetsArchive(var TimeSheetHeaderArchive: Record "Time Sheet Header Archive"; FieldNo: Integer)CheckTimeSheetArchiveNo(var TimeSheetHeaderArchive: Record "Time Sheet Header Archive"; TimeSheetNo: Code[20])GetTimeSheetDataCaption(TimeSheetHeader: Record "Time Sheet Header"): TextSetTimeSheetArchiveNo(TimeSheetNo: Code[20]; var TimeSheetLineArchive: Record "Time Sheet Line Archive")LookupOwnerTimeSheetArchive(var TimeSheetNo: Code[20]; var TimeSheetLineArchive: Record "Time Sheet Line Archive"; var TimeSheetHeaderArchive: Record "Time Sheet Header Archive")LookupApproverTimeSheetArchive(var TimeSheetNo: Code[20]; var TimeSheetLineArchive: Record "Time Sheet Line Archive"; var TimeSheetHeaderArchive: Record "Time Sheet Header Archive")CalcSummaryArcFactBoxData(TimeSheetHeaderArchive: Record "Time Sheet Header Archive"; var DateDescription: array[7] of Text[30]; var DateQuantity: array[7] of Decimal; var TotalQuantity: Decimal; var AbsenceQuantity: Decimal)MoveTimeSheetToArchive(TimeSheetHeader: Record "Time Sheet Header")CheckTimeSheetLineFieldsVisible(var WorkTypeCodeVisible: Boolean; var JobFieldsVisible: Boolean; var ChargeableVisible: Boolean; var ServiceOrderNoVisible: Boolean; var AbsenceCauseVisible: Boolean; var AssemblyOrderNoVisible: Boolean)+ BC24SelectAndCopyTimeSheetLines(ToTimeSheetHeader: Record "Time Sheet Header"; CopyComments: Boolean)+ BC24CheckCopyPrevTimeSheetLines(TimeSheetHeader: Record "Time Sheet Header")CopyPrevTimeSheetLines(ToTimeSheetHeader: Record "Time Sheet Header")CalcPrevTimeSheetLines(ToTimeSheetHeader: Record "Time Sheet Header"): IntegerCheckCreateLinesFromJobPlanning(TimeSheetHeader: Record "Time Sheet Header"): IntegerCreateLinesFromJobPlanning(TimeSheetHeader: Record "Time Sheet Header"): IntegerCalcLinesFromJobPlanning(TimeSheetHeader: Record "Time Sheet Header"): IntegerFindTimeSheet(var TimeSheetHeader: Record "Time Sheet Header"; Which: Option Prev,Next): Code[20]FindTimeSheetArchive(var TimeSheetHeaderArchive: Record "Time Sheet Header Archive"; Which: Option Prev,Next): Code[20]GetDateFilter(StartingDate: Date; EndingDate: Date): Text[30]CreateTSLineFromDocLine(TableID: Integer; ResourceNo: Code[20]; PostingDate: Date; DocumentNo: Code[20]; OrderNo: Code[20]; OrderLineNo: Integer; WorkTypeCode: Code[10]; Chargbl: Boolean; Desc: Text[100]; Quantity: Decimal)Δ BC25CreateTSLineFromAssemblyLine(AssemblyHeader: Record "Assembly Header"; AssemblyLine: Record "Assembly Line"; Qty: Decimal)CreateTSPostingEntry(TimeSheetDetail: Record "Time Sheet Detail"; Qty: Decimal; PostingDate: Date; DocumentNo: Code[20]; Desc: Text[100])CheckTSLineDetailPosting(TimeSheetNo: Code[20]; TimeSheetLineNo: Integer; TimeSheetDate: Date; QtyToPost: Decimal; QtyPerUnitOfMeasure: Decimal; var MaxAvailableQty: Decimal): BooleanΔ BC25CheckResJnlLine(ResJnlLine: Record "Res. Journal Line")CheckJobJnlLine(JobJnlLine: Record "Job Journal Line")CopyFilteredTimeSheetLinesToBuffer(var TimeSheetLineFrom: Record "Time Sheet Line"; var TimeSheetLineTo: Record "Time Sheet Line")UpdateTimeAllocation(TimeSheetLine: Record "Time Sheet Line"; AllocatedQty: array[7] of Decimal)GetActivityInfo(TimeSheetLine: Record "Time Sheet Line"; var ActivityCaption: Text[30]; var ActivityID: Code[20]; var ActivitySubCaption: Text[30]; var ActivitySubID: Code[20])ShowPostingEntries(TimeSheetNo: Code[20]; TimeSheetLineNo: Integer)FindNearestTimeSheetStartDate(Date: Date): Date
Plus 12 local procedures.
Triggers
OnRun
Called by
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Page 952 “Manager Time Sheet” (5 calls:
FindTimeSheet → FindTimeSheet,FindTimeSheet → SetTimeSheetNo,OnOpenPage → SetTimeSheetNo, …) - Page 974 “Time Sheet Lines Subform” (5 calls:
FilterAllLines → FilterAllTimeSheetLines,OnOpenPage → CheckTimeSheetLineFieldsVisible,Process → CopyFilteredTimeSheetLinesToBuffer, …) - Page 959 “Time Sheet Archive” (4 calls:
FindTimeSheet → FindTimeSheetArchive,FindTimeSheet → SetTimeSheetArchiveNo,OnOpenPage → SetTimeSheetArchiveNo, …) - Page 961 “Manager Time Sheet Archive” (4 calls:
FindTimeSheet → FindTimeSheetArchive,FindTimeSheet → SetTimeSheetArchiveNo,OnOpenPage → SetTimeSheetArchiveNo, …) - Codeunit 6451 “Serv. Time Sheet Mgt.” (3 calls:
CheckServiceLine → CheckTSLineDetailPosting,CreateTSLineFromServiceLine → CreateTSLineFromDocLine,CreateTSLineFromServiceShptLine → CreateTSLineFromDocLine) - Page 949 “Time Sheet Lines” (3 calls:
GetDataFromTimeSheetArchiveQuery → IsUserTimeSheetAdmin,GetDataFromTimeSheetQuery → IsUserTimeSheetAdmin,OnOpenPage → CheckTimeSheetLineFieldsVisible) - Page 973 “Time Sheet Card” (3 calls:
CheckSetDefaultOwnerFilter → FilterTimeSheets,FilterAllLines → FilterAllTimeSheetLines,GetDataCaption → GetTimeSheetDataCaption) - Table 950 “Time Sheet Header” (3 calls:
FindCurrentTimeSheetNo → FilterTimeSheets,FindLastTimeSheetNo → FilterTimeSheets,FindTimeSheetList → FilterTimeSheets) - Codeunit 952 “Time Sheet Chart Mgt.” (2 calls:
DrillDown → SetTimeSheetNo,OnOpenPage → FindNearestTimeSheetStartDate) - Page 954 “Manager Time Sheet by Job” (2 calls:
Process → CopyFilteredTimeSheetLinesToBuffer,SetColumns → FormatDate) - Page 957 “Time Sheet Status FactBox” (2 calls:
UpdateData → CalcStatusFactBoxData,UpdateDataInclFilters → CalcStatusFactBoxData) - Table 952 “Time Sheet Detail” (2 calls:
OnInsert → CheckAccPeriod,OnModify → CheckAccPeriod) - Codeunit 1011 “Job Jnl.-Check Line” (1 call:
RunCheck → CheckJobJnlLine) - Codeunit 211 “Res. Jnl.-Check Line” (1 call:
RunCheck → CheckResJnlLine) - Codeunit 212 “Res. Jnl.-Post Line” (1 call:
PostTimeSheetDetail → CreateTSPostingEntry) - Codeunit 900 “Assembly-Post” (1 call:
PostResourceConsumption → CreateTSLineFromAssemblyLine) - Codeunit 951 “Time Sheet Approval Management” (1 call:
PostAbsence → CreateTSPostingEntry) - Page 946 “Time Sheet Line List” (1 call:
OnOpenPage → CheckTimeSheetLineFieldsVisible) - Page 951 “Time Sheet List” (1 call:
OnOpenPage → FilterTimeSheets) - Page 953 “Manager Time Sheet List” (1 call:
OnOpenPage → FilterTimeSheets) - Page 956 “Actual/Sched. Summary FactBox” (1 call:
UpdateData → CalcActSchedFactBoxData) - Page 960 “Time Sheet Archive List” (1 call:
OnOpenPage → FilterTimeSheetsArchive) - Page 962 “Manager Time Sheet Arc. List” (1 call:
OnOpenPage → FilterTimeSheetsArchive) - Page 964 “Period Summary Archive FactBox” (1 call:
UpdateData → CalcSummaryArcFactBoxData) - Page 970 “Time Sheet Allocation” (1 call:
OnOpenPage → FormatDate) - Page 971 “Activity Details FactBox” (1 call:
OnAfterGetRecord → GetActivityInfo) - Page 975 “Time Sheet Archive Card” (1 call:
CheckSetDefaultOwnerFilter → FilterTimeSheetsArchive) - Page 976 “Time Sheet Archive Subform” (1 call:
SetColumns → FormatDate) - Report 951 “Suggest Res. Jnl. Lines” (1 call:
OnPreReport → GetDateFilter) - Report 952 “Suggest Job Jnl. Lines” (1 call:
OnPostReport → GetDateFilter) - Table 954 “Time Sheet Header Archive” (1 call:
FindLastTimeSheetArchiveNo → FilterTimeSheetsArchive)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Time Sheet Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.