One technician-against-one-work-line row on a time sheet. It names the ServiceOrderLine worked, the Item, the resource who did the work, and the stage stamps WorkStartDate, WorkPauseDate (with PauseReason) and WorkEndDate written by the sheet's work-start/pause/end actions. Hours are held as decimals, so a ninety-minute job is 1.5; the sheet's own ActualDurationHours and StandardDurationHours are sums over these lines. It is the grain resource profitability joins on, because it links the person and the hours to the specific sold line.
Fields
| Field | Label | Type | Required | What it does |
ActualDurationHours | Actual Duration (Hours) | Calculated (calculated) | | Hours actually worked on this service order line by this resource, held to two decimals so part-hours are preserved — a ninety-minute job is 1.5. It is captured rather than computed from the start and end stamps, and it is the grain resource profitability sums. |
CreatedById | Created By | Lookup → UserAccount | Yes | |
CreatedDateTime | Created Date | DateAndTime | Yes | |
ExternalId | External | Text, unique | | |
Id | Id | Guid | Yes | |
ItemId | Item | Lookup → Item | | |
ModifiedById | Modified By | Lookup → UserAccount | Yes | |
Name | Name | Text | Yes | |
OwnerId | Owner | Lookup → UserAccount | Yes | |
PauseReason | Pause Reason | PickList | | Values: Paused-Non Availability of Stock. |
RecordTypeId | Record Type | Guid, hidden | | |
ResourceId | Resource | Lookup → Resource | | |
ServiceOrderLineId | Service Order Line | Lookup → ServiceOrderLine | | The service order line this time was worked against. It is the join that lets hours and the revenue of the thing sold meet, and a sheet line without it contributes hours but no revenue attribution. |
ServiceOrderTimeSheetId | Service Order Time Sheet | Lookup → ServiceOrderTimeSheet | Yes | |
StandardDurationHours | Standard Duration Hours | Calculated (calculated) | | Book time for the line, calculated from the linked service order line's Item service duration in minutes divided by sixty, so it comes from the item master rather than being entered. |
Status | Status | PickList | | Values: Work Started, Work Paused, Work Ended. |
UIProps | UI Props | Text | | |
UpdatedDateTime | Modified Date | DateAndTime | Yes | |
WorkEndDate | Work End Date | DateAndTime | | |
WorkPauseDate | Work Pause Date | Date | | |
WorkStartDate | Work Start Date | DateAndTime | | |
Actions
| Action | Label | Type | What it does |
Clone | Clone | ServerAction (Clone) | Create a copy of this record |
DeleteEntity | Delete | Delete | Delete Entity |
DeleteHeader | Delete | Delete | Delete Header |
DeleteRow | Delete | Delete | DeleteRow |
EditEntity | Edit | Edit | Edit Entity |
EditInLineEntity | Edit | EditInline | Edit In Line Entity |
EditInLineHeader | Edit | EditInline | EditInLine Header |
EditRow | Edit | Edit | Edit Row |
NewHeader | New | New | New Header |
Validations
| Validation | Applies to | Error message | Notes |
| Duration Validation Rule | ActualDurationHours, Error, inactive | Duration cannot be equal to Zero | Duration cannot be equal to Zero |
| Work End Validation Rule | WorkStartDate, Error | Work End Date cannot be before Work Start Date | Work End Date cannot be before Work Start Date |
Lookup filters
| Filter | Lookup field | Notes |
| Item For Type Work Item | ItemId | |