---
title: "Page 46 Sales Order Subform"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/page/46-sales-order-subform/
type: page
id: 46
name: "Sales Order Subform"
app: "Base Application"
namespace: Microsoft.Sales.Document
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/page/46-sales-order-subform/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Page 46 Sales Order Subform

Jonas Paprotka, https://jonas-paprotka.de/ref/page/46-sales-order-subform/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Sales.Document |
| Versions | 17-28 |
| Source table | 37 |
| Source file | Sales/Document/SalesOrderSubform.Page.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| ApproveCalcInvDisc | () | - | public | 17-28 | - | - |
| CalcInvDisc | () | - | public | 17-28 | - | - |
| ExplodeBOM | () | - | public | 17-28 | - | - |
| OpenPurchOrderForm | () | - | public | 17-28 | - | - |
| OpenSpecialPurchOrderForm | () | - | public | 17-28 | - | - |
| InsertExtendedText | (Boolean) | - | public | 17-28 | - | - |
| ShowNonstockItems | () | - | public | 17-28 | - | - |
| ShowTracking | () | - | public | 17-28 | - | - |
| ItemChargeAssgnt | () | - | public | 17-28 | - | - |
| UpdateForm | (Boolean) | - | public | 17-28 | - | - |
| ShowPrices | () | - | public | 17-28 | - | - |
| ShowLineDisc | () | - | public | 17-28 | - | - |
| OrderPromisingLine | () | - | public | 17-28 | - | - |
| NoOnAfterValidate | () | - | public | 17-28 | - | - |
| VariantCodeOnAfterValidate | () | - | protected | 17-28 | - | - |
| LocationCodeOnAfterValidate | () | - | public | 17-28 | - | - |
| ReserveOnAfterValidate | () | - | protected | 17-28 | - | - |
| QuantityOnAfterValidate | () | - | protected | 17-28 | - | - |
| QtyToAsmToOrderOnAfterValidate | () | - | protected | 17-28 | - | - |
| UnitofMeasureCodeOnAfterValidate | () | - | protected | 17-28 | - | - |
| ShipmentDateOnAfterValidate | () | - | protected | 17-28 | - | - |
| SaveAndAutoAsmToOrder | () | - | protected | 17-28 | - | - |
| ShowDocumentLineTracking | () | - | public | 17-28 | - | - |
| DeltaUpdateTotals | () | - | public | 17-28 | - | - |
| RedistributeTotalsOnAfterValidate | () | - | public | 17-28 | - | - |
| UpdateEditableOnRow | () | - | public | 17-28 | - | - |
| UpdateTypeText | () | - | public | 17-28 | - | - |
| ClearTotalSalesHeader | () | - | public | 18-28 | - | - |
| CalculateTotals | () | - | public | 18-28 | - | - |
| ForceTotalsCalculation | () | - | public | 18-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterNoOnAfterValidate | (var Record Sales Line, Record Sales Line) | 17-28 | - | - |
| Integration event | OnAfterQuantityOnAfterValidate | (var Record Sales Line, Record Sales Line) | 17-28 | - | - |
| Integration event | OnAfterUpdateEditableOnRow | (Record Sales Line, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterValidateShortcutDimCode | (var Record Sales Line, var Code[20], Integer) | 17-28 | - | - |
| Integration event | OnBeforeDeleteReservationEntries | (var Record Sales Line) | 17-28 | - | - |
| Integration event | OnBeforeInsertExtendedText | (var Record Sales Line) | 17-28 | - | - |
| Integration event | OnBeforeSetDefaultType | (var Record Sales Line, var Record Sales Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeUpdateTypeText | (var Record Sales Line) | 17-28 | - | - |
| Integration event | OnCrossReferenceNoOnLookup | (var Record Sales Line) | 17-22 | Pending 20.0 | Replaced by event OnReferenceNoOnAfterLookup() |
| Integration event | OnReferenceNoOnAfterLookup | (var Record Sales Line) | 17-28 | - | - |
| Integration event | OnNoOnAfterValidateOnAfterSaveAndAutoAsmToOrder | (var Record Sales Line) | 17-28 | - | - |
| Integration event | OnNoOnAfterValidateOnBeforeSaveAndAutoAsmToOrder | () | 17-28 | - | - |
| Integration event | OnBeforeQtyToAsmToOrderOnAfterValidate | (var Record Sales Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeAfterGetCurrRecord | (var Record Sales Line, var Boolean, var Record Sales Header, var Record Currency) | 17-28 | - | - |
| Integration event | OnBeforeCalculateTotals | (var Record Sales Line, var Boolean, var Codeunit Document Totals) | 17-25 | - | - |
| Integration event | OnBeforeOpenPurchOrderForm | (Record Sales Line, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeOpenSpecialPurchOrderForm | (Record Sales Line, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterValidateDescription | (var Record Sales Line, Record Sales Line) | 18-28 | - | - |
| Integration event | OnBeforeSetOpenPage | () | 19-28 | - | - |
| Integration event | OnAfterSetDimensionsVisibility | () | 19-28 | - | - |
| Integration event | OnAfterLocationCodeOnAfterValidate | (var Record Sales Line, Record Sales Line) | 20-28 | - | - |
| Integration event | OnBeforeNoOnAfterValidate | (var Record Sales Line, Record Sales Line) | 20-28 | - | - |
| Integration event | OnBeforeDeltaUpdateTotals | (var Record Sales Line, var Boolean) | 20 | - | - |
| Integration event | OnBeforeQuantityOnAfterValidate | (var Record Sales Line, var Record Sales Line) | 20-28 | - | - |
| Integration event | OnBeforeDeltaUpdateTotals | (var Record Sales Line, var Boolean, Record Sales Line, Boolean) | 21-28 | - | - |
| Integration event | OnBeforeVariantCodeOnAfterValidate | (var Record Sales Line, var Record Sales Line) | 22-28 | - | - |
| Integration event | OnBeforeUnitofMeasureCodeOnAfterValidate | (var Record Sales Line, var Record Sales Line) | 22-28 | - | - |
| Integration event | OnAfterUnitofMeasureCodeOnAfterValidate | (var Record Sales Line, Record Sales Line) | 22-28 | - | - |
| Integration event | OnInsertExtendedTextOnAfterInsertSalesExtText | (Record Sales Line) | 23-28 | - | - |
| Integration event | OnBeforeValidateNo | (var Record Sales Line, var Record Sales Line, var Boolean) | 23-28 | - | - |
| Integration event | OnBeforeCalculateTotals | (var Record Sales Line, var Boolean, var Codeunit Document Totals, var Boolean) | 26-28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
