Page 508 "Blanket Sales Order Subform"
Base Application · Microsoft.Sales.Document
Across versions
- BC23present
- BC241 procedures changed, 1 events changed
- BC25-27unchanged
- BC281 procedures added
- BC29-30unchanged
Neighbourhood 11 connected objects and pages
Base Application · Microsoft.Sales.Document · captioned “Lines” · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Lines |
| SourceTable | Sales Line |
| PageType | ListPart |
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 | Type | Type | Specifies the type of entity that will be posted for this sales line, such as Item, Resource, or G/L Account. |
| Type | TypeAsText |
Specifies the type of transaction that will be posted with the document line. If you select Comment, then you can enter any text in the Description field, such as a message to a customer. | |
| No. | No. | Specifies the number of the involved entry or record, according to the specified number series. from the table field | |
| Item Reference No. | Item Reference No. | Specifies the referenced item number. from the table field | |
| Variant Code | Variant Code | Specifies the variant of the item on the line. from the table field | |
| Nonstock | Nonstock | Specifies that this item is a catalog item. from the table field | |
| Gen. Bus. Posting Group | Gen. Bus. Posting Group | Specifies the vendor’s or customer’s trade type to link transactions made for this business partner with the appropriate general ledger account according to the general posting setup. from the table field | |
| Gen. Prod. Posting Group | Gen. Prod. Posting Group | Specifies the item’s product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. from the table field | |
| VAT Bus. Posting Group | VAT Bus. Posting Group | Specifies the vendor’s VAT specification to link transactions made for this vendor with the appropriate general ledger account according to the VAT posting setup. from the table field | |
| VAT Prod. Posting Group | VAT Prod. Posting Group | Specifies the VAT product posting group. Links business transactions made for the item, resource, or G/L account with the general ledger, to account for VAT amounts resulting from trade with that record. from the table field | |
| Description | Description | Specifies a description of the blanket sales order. | |
| Description 2 | Description 2 | Specifies information in addition to the description. from the table field | |
| Location Code | Location Code | Specifies the location from where inventory items to the customer on the sales document are to be shipped by default. | |
| Quantity | Quantity | Specifies the quantity of the sales order line. | |
| Qty. to Assemble to Order | Qty. to Assemble to Order | Specifies how many units of the blanket sales line quantity that you want to supply by assembly. | |
| Work Type Code | Work Type Code | Specifies the work type code of the service line linked to this entry. | |
| Unit of Measure Code | Unit of Measure Code | 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. from the table field | |
| Unit of Measure | Unit of Measure | Specifies the name of the item or resource’s unit of measure, such as piece or hour. | |
| Unit Cost (LCY) | Unit Cost (LCY) | Specifies the cost, in LCY, of one unit of the item or resource on the line. | |
| Sale Price Exists | Rec.PriceExists() |
Specifies that there is a specific price for this customer. The sales prices can be seen in the Sales Prices window. | |
| Unit Price | Unit Price | Specifies the price of one unit of the item or resource. You can enter a price manually or have it entered according to the Price/Profit Calculation field on the related card. | |
| Tax Liable | Tax Liable | Specifies if this vendor charges you sales tax for purchases. | |
| Tax Area Code | Tax Area Code | Specifies the tax area that is used to calculate and post sales tax. from the table field | |
| Tax Group Code | Tax Group Code | Specifies the tax group code for the tax detail entry. | |
| Line Discount % | Line Discount % | Specifies the discount percentage that is granted for the item on the line. from the table field | |
| Line Amount | Line Amount | Specifies the net amount, excluding any invoice discount amount, that must be paid for products on the line. from the table field | |
| Sales Line Disc. Exists | Rec.LineDiscExists() |
Specifies that there is a specific discount for this customer. The sales line discounts can be seen in the Sales Line Discounts window. | |
| Line Discount Amount | Line Discount Amount | Specifies the discount amount that is granted for the item on the line. from the table field | |
| Allow Invoice Disc. | Allow Invoice Disc. | Specifies if the invoice line is included when the invoice discount is calculated. from the table field | |
| Qty. to Ship | Qty. to Ship | Specifies the quantity of items that remain to be shipped. from the table field | |
| Quantity Shipped | Quantity Shipped | Specifies how many units of the item on the line have been posted as shipped. from the table field | |
| Quantity Invoiced | Quantity Invoiced | Specifies how many units of the item on the line have been posted as invoiced. from the table field | |
| Shipment Date | Shipment Date | Specifies when items on the document are shipped or were shipped. A shipment date is usually calculated from a requested delivery date plus lead time. from the table field | |
| Shortcut Dimension 1 Code | Shortcut Dimension 1 Code | 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. from the table field | |
| Shortcut Dimension 2 Code | Shortcut Dimension 2 Code | 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. from the table field | |
| ShortcutDimCode[3] | ShortcutDimCode[3] |
— | |
| ShortcutDimCode[4] | ShortcutDimCode[4] |
— | |
| ShortcutDimCode[5] | ShortcutDimCode[5] |
— | |
| ShortcutDimCode[6] | ShortcutDimCode[6] |
— | |
| ShortcutDimCode[7] | ShortcutDimCode[7] |
— | |
| ShortcutDimCode[8] | ShortcutDimCode[8] |
— | |
| Unit Gross Weight | Gross Weight | Specifies the gross weight of one unit of the item. In the sales statistics window, the gross weight on the line is included in the total gross weight of all the lines for the particular sales document. from the table field | |
| Unit Net Weight | Net Weight | Specifies the net weight of one unit of the item. In the sales statistics window, the net weight on the line is included in the total net weight of all the lines for the particular sales document. from the table field | |
| Unit Volume | Unit Volume | Specifies the volume of one unit of the item. In the sales statistics window, the volume of one unit of the item on the line is included in the total volume of all the lines for the particular sales document. from the table field | |
| Units per Parcel | Units per Parcel | Specifies the number of units per parcel of the item. In the sales statistics window, the number of units per parcel on the line helps to determine the total number of units for all the lines for the particular sales document. from the table field | |
| Control49 | Subtotal Excl. VAT | TotalSalesLine."Line Amount" |
Specifies the sum of the value in the Line Amount Excl. VAT field on all lines in the document. |
| Invoice Discount Amount | InvoiceDiscountAmount |
Specifies a discount amount that is deducted from the value of the Total Incl. VAT field, based on sales lines where the Allow Invoice Disc. field is selected. You can enter or change the amount manually. | |
| Invoice Discount % | InvoiceDiscountPct |
Specifies a discount percentage that is applied to the invoice, based on sales lines where the Allow Invoice Disc. field is selected. The percentage and criteria are defined in the Customer Invoice Discounts page, but you can enter or change the percentage manually. | |
| Control35 | Total Amount Excl. VAT | TotalSalesLine.Amount |
Specifies the sum of the value in the Line Amount Excl. VAT field on all lines in the document minus any discount amount in the Invoice Discount Amount field. |
| Total VAT | VATAmount |
Specifies the sum of VAT amounts on all lines in the document. | |
| Total Amount Incl. VAT | TotalSalesLine."Amount Including VAT" |
Specifies the sum of the value in the Line Amount Incl. VAT field on all lines in the document minus any discount amount in the Invoice Discount Amount field. |
Actions
| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Item Availability by | Event | View how the actual and the projected available balance of an item will develop over time according to supply and demand events. | |
| Period | View the projected quantity of the item over time according to time periods, such as day, week, or month. | ||
| Variant | View or edit the item’s variants. Instead of setting up each color of an item as a separate item, you can set up the various colors as variants of the item. | ||
| Location | View the actual and projected quantity of the item per location. | ||
| Lot | View the current and projected quantity of the item in each lot. | Page 520 “Item Availability by Lot No.” | |
| BOM Level | View availability figures for items on bills of materials that show how many units of a parent item you can make based on the availability of child items. | ||
| Unposted Lines | Orders | View related sales orders. | |
| Invoices | View a list of ongoing sales invoices for the order. | ||
| Return Orders | Open the list of ongoing return orders. | ||
| Credit Memos | View a list of ongoing credit memos for the order. | ||
| Posted Lines | Shipments | View a list of ongoing sales shipments for the order. | |
| Invoices | View a list of ongoing sales invoices for the order. | ||
| Return Receipts | View a list of posted return receipts for the order. | ||
| Credit Memos | View a list of ongoing credit memos for the order. | ||
| Line | Dimensions | View or edit dimensions, such as area, project, or department, that you can assign to sales and purchase documents to distribute costs and analyze transaction history. | |
| Attachments | Add a file as an attachment. You can attach images as well as documents. | ||
| Comments | View or add comments for the record. | ||
| Assemble to Order | Assemble-to-Order Lines | View any linked assembly order lines if the documents represents an assemble-to-order sale. | |
| Roll Up Price | Update the unit price of the assembly item according to any changes that you have made to the assembly components. | ||
| Roll Up Cost | Update the unit cost of the assembly item according to any changes that you have made to the assembly components. | ||
| Line | Document Line Tracking | View related open, posted, or archived documents or document lines. | |
| Functions | Get Price | Insert the lowest possible price in the Unit Price field according to any special price that you have set up. | |
| Get Line Discount | Insert the best possible discount in the Line Discount field according to any special discounts that you have set up. | ||
| Get Price | Insert the lowest possible price in the Unit Price field according to any special price that you have set up. | ||
| Get Line Discount | Insert the best possible discount in the Line Discount field according to any special discounts that you have set up. | ||
| Explode BOM | Add a line for each component on the bill of materials for the selected item. For example, this is useful for selling the parent item as a kit. CAUTION: The line for the parent item will be deleted and only its description will display. To undo this action, delete the component lines and add a line … | ||
| Insert Ext. Texts | Insert the extended item description that is set up for the item that is being processed on the line. | ||
| Select Catalog Items | View the list of catalog items that exist in the system. |
Events published
OnAfterNoOnAfterValidate(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line")Δ BC24 (integration)OnBeforeNoOnAfterValidate(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line")(integration)OnAfterUpdateEditableOnRow(SalesLine: Record "Sales Line"; var IsCommentLine: Boolean; var IsBlankNumber: Boolean)(integration)OnAfterValidateShortcutDimCode(var SalesLine: Record "Sales Line"; var ShortcutDimCode: array[8] of Code[20]; DimIndex: Integer)(integration)OnBeforeInsertExtendedText(var SalesLine: Record "Sales Line")(integration)OnCrossReferenceNoOnLookup(var SalesLine: Record "Sales Line")(integration)OnBeforeSetDefaultType(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration)OnBeforeDeltaUpdateTotals(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line")(integration)OnBeforeQuantityOnAfterValidate(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line")(integration)OnAfterQuantityOnAfterValidate(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line")(integration)
Procedures
ApproveCalcInvDisc(): Runs the invoice discount calculation with user confirmation.InsertExtendedText(Unconditionally: Boolean): Inserts extended text for the current line if available.UpdateForm(SetSaveRecord: Boolean): Updates the current page.ClearTotalSalesHeader(): Clears the total sales header variable.CalculateTotals(): Calculates the document totals for the subform.CallDeltaUpdateTotals(): Calls the delta update totals procedure.DeltaUpdateTotals()Δ BC24: Performs incremental update of document totals based on line changes.ForceTotalsCalculation(): Forces a recalculation of document totals.UpdateEditableOnRow(): Updates the editable state of fields based on the current row.NoOnAfterValidate(): Handles post-validation processing when the No. field changes.LocationCodeOnAfterValidate()(protected)VariantCodeOnAfterValidate()(protected)QuantityOnAfterValidate()(protected)UnitofMeasureCodeOnAfterValidate()(protected)SaveAndAutoAsmToOrder()(protected)ShowDocumentLineTracking(): Opens the Document Line Tracking page for the current line.RedistributeTotalsOnAfterValidate(): Redistributes invoice discount amounts after validation.
Plus 8 local procedures.
Triggers
OnAfterGetCurrRecord, OnAfterGetRecord, OnDeleteRecord, OnFindRecord, OnInit, OnModifyRecord, OnNewRecord, OnOpenPage
Relations
- source table Table 37 “Sales Line”
Extended by
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 57 “Document Totals” (13 calls:
ApproveCalcInvDisc → SalesDocTotalsNotUpToDate,CalculateTotals → CalculateSalesSubPageTotals,CalculateTotals → RefreshSalesLine, …) - Codeunit 378 “Transfer Extended Text” (3 calls:
InsertExtendedText → InsertSalesExtText,InsertExtendedText → MakeUpdate,InsertExtendedText → SalesCheckIfAnyExtText) - Codeunit 9179 “Application Area Mgmt. Facade” (2 calls:
OnInit → IsAdvancedEnabled,OnInit → IsFoundationEnabled) - Codeunit 27 “Confirm Management” (1 call:
ValidateInvoiceDiscountAmount → GetResponseOrDefault) - Codeunit 408 “DimensionManagement” (1 call:
SetDimensionsVisibility → UseShortcutDims) - Codeunit 56 “Sales - Calc Discount By Type” (1 call:
ValidateInvoiceDiscountAmount → ApplyInvDiscBasedOnAmt) - Codeunit 61 “Sales-Disc. (Yes/No)” (1 call:
ApproveCalcInvDisc → (object)) - Codeunit 63 “Sales-Explode BOM” (1 call:
ExplodeBOM → (object)) - Codeunit 7001 “Price Calculation Mgt.” (1 call:
OnOpenPage → IsExtendedPriceCalculationEnabled)
Recent changes
- 2026-08-17 #9937 Fix error when selecting item as the line type in German language (main, BC30, fix)
- 2026-08-13 #9947 Allow long localized sales and purchase line type captions (main, BC30, fix)
Countries that replace it
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: "Blanket Sales Order Subform"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.