---
id: object/page/949
type: object
title: Page 949 "Time Sheet Lines"
summary: Page 949 "Time Sheet Lines" in Base Application (Microsoft.Projects.TimeSheet). 3 public procedures, 2 events. Introduced in BC24, still in BC30.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: "24"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 8d70816db961f25eafdc27af9e3543f099dfc30c1d2d5ba008ad82ec7ce14e0b
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Projects/TimeSheet/TimeSheetLines.Page.al
    title: src/Layers/W1/BaseApp/Projects/TimeSheet/TimeSheetLines.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/projects-how-setup-time-sheets
    title: Set up time sheets and their approval
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/projects-how-setup-time-sheets
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/set-up-business-central/set-up-project-management
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 949
name: Time Sheet Lines
namespace: Microsoft.Projects.TimeSheet
app: Base Application
extends: null
first_version: "24"
last_version: "30"
present_in:
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/projects-how-setup-time-sheets.md
counts:
  fields: 0
  procedures: 15
  events: 2
  subscribers: 0
  controls: 23
  actions: 4
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 1
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Page 949 "Time Sheet Lines"

> Page 949 "Time Sheet Lines" in Base Application (Microsoft.Projects.TimeSheet). 3 public procedures, 2 events. Introduced in BC24, still in BC30.

Base Application · Microsoft.Projects.TimeSheet · BC24-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Projects/TimeSheet/TimeSheetLines.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Time Sheet Lines |
| SourceTable | Time Sheet Line |
| PageType | List |
| UsageCategory | Tasks |
| ApplicationArea | Jobs |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Control1 | Time Sheet No. | [Time Sheet No.](../table/951.md#fields) | Specifies the number of the related document. <small>from the table field</small> |
|  | Resource No. | `TempTimeSheetHeader."Resource No."` | Specifies the number of the resource for the time sheet. |
|  | Starting Date | [Time Sheet Starting Date](../table/951.md#fields) | Specifies the starting date for a time sheet. <small>from the table field</small> |
|  | Ending Date | `TempTimeSheetHeader."Ending Date"` | Specifies the ending date for a time sheet. |
|  | Type | [Type](../table/951.md#fields) | Specifies the type of time sheet line. <small>from the table field</small> |
|  | Status | [Status](../table/951.md#fields) | Specifies information about the status of a time sheet line. <small>from the table field</small> |
|  | Description | [Description](../table/951.md#fields) | Specifies a description of the time sheet line. <small>from the table field</small> |
|  | Job No. | [Job No.](../table/951.md#fields) | Specifies the number for the project that is associated with the time sheet line. <small>from the table field</small> |
|  | Job Task No. | [Job Task No.](../table/951.md#fields) | Specifies the number of the related project task. <small>from the table field</small> |
|  | Cause of Absence Code | [Cause of Absence Code](../table/951.md#fields) | Specifies a list of standard absence codes, from which you may select one. <small>from the table field</small> |
|  | Chargeable | [Chargeable](../table/951.md#fields) | Specifies if the usage that you are posting is chargeable. <small>from the table field</small> |
|  | Work Type Code | [Work Type Code](../table/951.md#fields) | Specifies which work type the resource applies to. Prices are updated based on this entry. <small>from the table field</small> |
|  | Assembly Order No. | [Assembly Order No.](../table/951.md#fields) | Specifies the assembly order number that is associated with the time sheet line. <small>from the table field</small> |
|  | Archived | [Posted](../table/951.md#fields) | Specifies if the time sheet line has been archived. |
|  | Field1 | `CellData[1]` | Specifies the number of hours registered for this day. |
|  | Field2 | `CellData[2]` | Specifies the number of hours registered for this day. |
|  | Field3 | `CellData[3]` | Specifies the number of hours registered for this day. |
|  | Field4 | `CellData[4]` | Specifies the number of hours registered for this day. |
|  | Field5 | `CellData[5]` | Specifies the number of hours registered for this day. |
|  | Field6 | `CellData[6]` | Specifies the number of hours registered for this day. |
|  | Field7 | `CellData[7]` | Specifies the number of hours registered for this day. |
|  | Total | `LineTotal` | Specifies the total number of hours that have been entered on a time sheet. |
| FactBoxes | TimeSheetLineDetailsFactBox | part [Page 948 "TimeSheet Line Details FactBox"](../page/948.md) | — |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | View All | Use this action to reset Status filter. |  |
|  | View Open | Use this action to set filter Status = Open. |  |
|  | View Submitted | Use this action to set filter Status = Submitted. |  |
| Navigation | Open Time Sheet Card | Open Time Sheet Card for the record. |  |

## Events published

- `OnAfterGetFromDate(ForDate: Date; LoadEntriesForPeriod: Option Month,Year,All; var FromDate: Date)` (integration)
- `OnAfterSetWeekDaysOrder(var ColumnCaption: array[7] of Text[30])` (integration)

## Procedures

- `SetForTimeSheetHeader(ForTimeSheetHeader: Record "Time Sheet Header")`
- `SetRec(var TimeSheetLine: Record "Time Sheet Line")`
- `GetData(var TimeSheetLine: Record "Time Sheet Line"; ForResourceCode: Code[20]; ProcessingDate: Date; OnPageOpen: Boolean; IncludeArchive: Boolean)`

Plus 10 local procedures.

## Triggers

OnAfterGetRecord, OnAfterGetCurrRecord, OnOpenPage

## Relations

- source table [Table 951 "Time Sheet Line"](../table/951.md)

## Extended by

- [Page extension 6486 "Serv. Timesheet Lines"](../pageextension/6486.md)

## Calls

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.

- [Codeunit 950 "Time Sheet Management"](../codeunit/950.md) (3 calls: `GetDataFromTimeSheetArchiveQuery → IsUserTimeSheetAdmin`, `GetDataFromTimeSheetQuery → IsUserTimeSheetAdmin`, `OnOpenPage → CheckTimeSheetLineFieldsVisible`)

## Across versions

- Present in: BC24-30
- Changed (declaration) in: none

## Documented on Microsoft Learn

- [Set up time sheets and their approval](https://learn.microsoft.com/dynamics365/business-central/projects-how-setup-time-sheets)

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## 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: "page", object_name: "Time Sheet Lines")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
