Table 171 "Standard Sales Line"
Base Application · Microsoft.Sales.Document
Across versions
- BC23present
- BC242 fields changed
- BC25-27unchanged
- BC289 fields changed
- BC291 procedures changed, 1 procedures added
- BC30unchanged
Neighbourhood 14 connected objects and pages
Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Standard Sales Line |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Standard Sales Code | Code[10] | — | TableRelation Table 170 “Standard Sales Code” (Standard Sales Code); not editable |
| 2 | Line No. | Integer | — | not editable |
| 3 | Type Δ BC28 | Enum “Sales Line Type” | Specifies whether the line is for a general ledger account, item, resource, fixed asset or item charge. | enum Enum 37 “Sales Line Type” |
| 4 | No. Δ BC24 Δ BC28 | Code[20] | Specifies the number of a general ledger account, item, resource, additional cost, or fixed asset, depending on the contents of the Type field. | TableRelation Table 15 “G/L Account”, Table 156 “Resource”, Table 27 “Item” (if (Type = const(” “)) “Standard Text” else if (Type = const(“G/L Account”)) “G/L Account” else if (Type = const(Item)) Item where(Blocked = const(false)) else if (Type = const(Resource)) Resource else if (Type = const(“Fixed Asset”)) “Fixed Asset” else if (Type = const(“Allocation Account”)) “Alloc…) |
| 5 | Description Δ BC28 | Text[100] | Specifies a description of the entry, which is based on the contents of the Type and No. fields. | |
| 6 | Quantity Δ BC28 | Decimal | Specifies the number of units of the item on the line. | |
| 7 | Amount Excl. VAT Δ BC28 | Decimal | Specifies the net amount for the standard sales line. This field only applies to lines of type G/L Account and Charge (Item). | |
| 8 | Unit of Measure Code Δ BC24 Δ BC28 | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation Table 204 “Unit of Measure”, Table 205 “Resource Unit of Measure”, Table 5404 “Item Unit of Measure” (if (Type = const(Item)) “Item Unit of Measure”.Code where(“Item No.” = field(“No.”)) else if (Type = const(Resource)) “Resource Unit of Measure”.Code where(“Resource No.” = field(“No.”)) else “Unit of Measure”) |
| 9 | Shortcut Dimension 1 Code Δ BC28 | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false))) |
| 10 | Shortcut Dimension 2 Code Δ BC28 | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false))) |
| 11 | Variant Code Δ BC28 | Code[10] | Specifies the variant of the item on the line. | TableRelation Table 5401 “Item Variant” (if (Type = const(Item)) “Item Variant”.Code where(“Item No.” = field(“No.”), Blocked = const(false))) |
| 480 | Dimension Set ID | Integer | — | TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable |
Keys
- Key1: Standard Sales Code, Line No. (clustered)
Events published
OnBeforeLookupShortcutDimCode(var StandardSalesLine: Record "Standard Sales Line"; var xStandardSalesLine: Record "Standard Sales Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)(integration)OnAfterValidateShortcutDimCode(var StandardSalesLine: Record "Standard Sales Line"; xStandardSalesLine: Record "Standard Sales Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)OnAfterValidateNo(var StandardSalesLine: Record "Standard Sales Line"; GLAccount: Record "G/L Account")(integration)OnAfterShowDimensions(var StandardSalesLine: Record "Standard Sales Line"; var DimMgt: Codeunit DimensionManagement)(integration)OnBeforeValidateShortcutDimCode(var StandardSalesLine: Record "Standard Sales Line"; xStandardSalesLine: Record "Standard Sales Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration)
Procedures
EmptyLine(): Boolean: Checks if the line is empty (no item number and zero quantity).InsertLine(): Boolean: Determines if the line should be inserted into a sales document.ShowDimensions(): Opens the dimension set editing page for this standard sales line.ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Validates a shortcut dimension code for this standard sales line.LookupShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Opens a lookup for a shortcut dimension code and validates the selection.ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20]): Retrieves all eight shortcut dimension codes for this standard sales line.FormatType(): Text[20]Δ BC29 (obsolete 29.0: Use FormatTypeAsText() instead.): Formats the line type for display, returning ‘Comment’ for blank types.FormatTypeAsText(): Text[30]+ BC29: Formats the line type for display, returning ‘Comment’ for blank types.
Plus 1 local procedures.
Triggers
OnInsert, OnRename
Relations
- No.: TableRelation Table 15 “G/L Account” (conditional)
- No.: TableRelation Table 156 “Resource” (conditional)
- Standard Sales Code: TableRelation Table 170 “Standard Sales Code”
- Unit of Measure Code: TableRelation Table 204 “Unit of Measure” (conditional)
- Unit of Measure Code: TableRelation Table 205 “Resource Unit of Measure” (conditional)
- No.: TableRelation Table 27 “Item” (conditional)
- Shortcut Dimension 1 Code: TableRelation Table 349 “Dimension Value”
- Shortcut Dimension 2 Code: TableRelation Table 349 “Dimension Value”
- Dimension Set ID: TableRelation Table 480 “Dimension Set Entry”
- Variant Code: TableRelation Table 5401 “Item Variant”
- Unit of Measure Code: TableRelation Table 5404 “Item Unit of Measure” (conditional)
- No.: TableRelation Table 5600 “Fixed Asset” (conditional)
- No.: TableRelation Table 7 “Standard Text” (conditional)
Pages and codeunits on this table
- Page 171 “Standard Sales Code Subform” (source table)
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 408 “DimensionManagement” (6 calls:
LookupShortcutDimCode → LookupDimValueCode,LookupShortcutDimCode → ValidateShortcutDimValues,ShowDimensions → EditDimensionSet, …)
Recent changes
- 2026-08-13 #9947 Allow long localized sales and purchase line type captions (main, BC30, fix)
Deprecations
- procedure FormatType: Pending 29.0 (#if not CLEAN29), “Use FormatTypeAsText() instead.”
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: "table", object_name: "Standard Sales Line"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.