---
title: "Page 47 Sales Invoice Subform"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/page/47-sales-invoice-subform/
type: page
id: 47
name: "Sales Invoice Subform"
app: "Base Application"
namespace: Microsoft.Sales.Document
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/page/47-sales-invoice-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 47 Sales Invoice Subform

Jonas Paprotka, https://jonas-paprotka.de/ref/page/47-sales-invoice-subform/

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

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| ApproveCalcInvDisc | () | - | public | 17-28 | - | - |
| CalcInvDisc | () | - | public | 17-28 | - | - |
| ExplodeBOM | () | - | public | 17-28 | - | - |
| GetShipment | () | - | public | 17-28 | - | - |
| InsertExtendedText | (Boolean) | - | public | 17-28 | - | - |
| UpdatePage | (Boolean) | - | public | 17-28 | - | - |
| ShowPrices | () | - | public | 17-28 | - | - |
| ShowLineDisc | () | - | public | 17-28 | - | - |
| SetUpdateAllowed | (Boolean) | - | public | 17-28 | - | - |
| UpdateAllowed | () | Boolean | public | 17-28 | - | - |
| NoOnAfterValidate | () | - | public | 17-28 | - | - |
| UpdateEditableOnRow | () | - | public | 17-28 | - | - |
| ValidateAutoReserve | () | - | protected | 17-28 | - | - |
| DeltaUpdateTotals | () | - | public | 17-28 | - | - |
| RedistributeTotalsOnAfterValidate | () | - | public | 17-28 | - | - |
| UpdateTypeText | () | - | public | 17-28 | - | - |
| ClearTotalSalesHeader | () | - | public | 18-28 | - | - |
| CalculateTotals | () | - | public | 18-28 | - | - |
| ForceTotalsCalculation | () | - | public | 18-28 | - | - |
| QuantityOnAfterValidate | () | - | protected | 23-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterNoOnAfterValidate | (var Record Sales Line, Record Sales Line) | 17-28 | - | - |
| Integration event | OnAfterUpdateEditableOnRow | (Record Sales Line, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterValidateAutoReserve | (var Record Sales Line) | 17-19 | - | - |
| Integration event | OnAfterValidateShortcutDimCode | (var Record Sales Line, var Code[20], Integer) | 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-19 | Pending 18.0 | Replaced by OnItemReferenceNoOnLookup event. |
| Integration event | OnBeforeCalculateTotals | (var Record Sales Line, var Boolean) | 18-28 | - | - |
| Integration event | OnItemReferenceNoOnLookup | (var Record Sales Line) | 18-28 | - | - |
| Integration event | OnBeforeSetOpenPage | () | 19-28 | - | - |
| Integration event | OnAfterSetDimensionsVisibility | () | 19-28 | - | - |
| Integration event | OnAfterValidateAutoReserve | (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, Record Sales Line) | 21 | - | - |
| Integration event | OnBeforeDeltaUpdateTotals | (var Record Sales Line, Record Sales Line, Boolean) | 22-25 | - | - |
| Integration event | OnBeforeOnDeleteRecord | (var Record Sales Line, var Codeunit Document Totals, var Boolean, var Boolean) | 23-28 | - | - |
| Integration event | OnBeforeQuantityOnAfterValidate | (var Record Sales Line, Record Sales Line) | 23-28 | - | - |
| Integration event | OnAfterQuantityOnAfterValidate | (var Record Sales Line, Record Sales Line) | 23-28 | - | - |
| Integration event | OnBeforeDeltaUpdateTotals | (var Record Sales Line, Record Sales Line, Boolean, 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.
