Table 36 "Sales Header"
Base Application · Microsoft.Sales.Document
- 183fields
- 657procedures
- 394events
- 22Learn pages
- 14countries replace it
- 82fields reference it
- 94event subscribers
- 38objects it calls
Across versions
- BC23present
- BC2410 events added, 8 events changed
- BC2512 procedures added, 10 events added
- BC269 events added, 8 procedures changed
- BC2749 fields changed, 6 events added
- BC2875 fields changed, 9 events added
- BC299 procedures removed, 4 events removed
- BC30unchanged
Neighbourhood 227 connected objects and pages
Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 9305 “Sales Order List” (13 Learn pages), Page 42 “Sales Order” (10), Page 9301 “Sales Invoice List” (9), Page 9300 “Sales Quotes” (7), Page 43 “Sales Invoice” (5), Page 44 “Sales Credit Memo” (4), Page 9304 “Sales Return Order List” (4), Page 6630 “Sales Return Order” (3), Page 9303 “Blanket Sales Orders” (3), Page 41 “Sales Quote” (2), Page 507 “Blanket Sales Order” (2), Page 9302 “Sales Credit Memos” (2).
Properties
| Property | Value |
|---|---|
| Caption | Sales Header |
| DataClassification | CustomerContent |
| Permissions | tabledata “Assemble-to-Order Link” = rmid, tabledata “Assembly Header” = m |
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 | Document Type | Enum “Sales Document Type” | — | enum Enum 36 “Sales Document Type” |
| 2 | Sell-to Customer No. Δ BC27 | Code[20] | Specifies the number of the customer that you’re selling to. By default, the same customer is suggested as the ship-to customer. If needed, you can specify a different ship-to customer on the document. | TableRelation Table 18 “Customer” |
| 3 | No. Δ BC27 | Code[20] | Specifies a unique number that identifies the sales document. The number can be generated automatically from a number series, or you can number each of them manually. | |
| 4 | Bill-to Customer No. Δ BC27 | Code[20] | Specifies the number of the customer that you send or sent the invoice or credit memo to. | TableRelation Table 18 “Customer”; NotBlank |
| 5 | Bill-to Name Δ BC27 | Text[100] | Specifies the name of the customer that you send or sent the invoice or credit memo to. | TableRelation Customer.Name |
| 6 | Bill-to Name 2 Δ BC27 | Text[50] | Specifies an additional part of the name of the customer that you send or sent the invoice or credit memo to. | |
| 7 | Bill-to Address Δ BC28 | Text[100] | Specifies the address of the customer that you will send the invoice to. | |
| 8 | Bill-to Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 9 | Bill-to City Δ BC28 | Text[30] | Specifies the city of the customer on the sales document. | TableRelation Table 225 “Post Code” (if (“Bill-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Bill-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Bill-to Country/Region Code”))) |
| 10 | Bill-to Contact Δ BC27 | Text[100] | Specifies the name of the contact person at the customer’s billing address. | |
| 11 | Your Reference Δ BC27 | Text[35] | Specifies the customer’s reference. The content will be printed on sales documents. | |
| 12 | Ship-to Code Δ BC27 | Code[10] | Specifies a code for an alternate shipment address if you want to ship to another address than the one that has been entered automatically. This field is also used in case of drop shipment. | TableRelation Table 222 “Ship-to Address” (“Ship-to Address”.Code where(“Customer No.” = field(“Sell-to Customer No.”))) |
| 13 | Ship-to Name Δ BC27 | Text[100] | Specifies the name of the customer at the address that the items are shipped to. | |
| 14 | Ship-to Name 2 Δ BC28 | Text[50] | Specifies an additional part of the name that products on the sales document will be shipped to. | |
| 15 | Ship-to Address Δ BC28 | Text[100] | Specifies the address that products on the sales document will be shipped to. | |
| 16 | Ship-to Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 17 | Ship-to City Δ BC28 | Text[30] | Specifies the city of the customer on the sales document. | TableRelation Table 225 “Post Code” (if (“Ship-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Ship-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Ship-to Country/Region Code”))) |
| 18 | Ship-to Contact Δ BC27 | Text[100] | Specifies the name of the contact person at the address that the items are shipped to. | |
| 19 | Order Date Δ BC28 | Date | Specifies the date when the order was created. | |
| 20 | Posting Date Δ BC27 | Date | Specifies the date when the posting of the sales document will be recorded. | |
| 21 | Shipment Date Δ BC27 | 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. | |
| 22 | Posting Description Δ BC27 | Text[100] | Specifies additional posting information for the document. After you post the document, the description can add detail to vendor and customer ledger entries. | |
| 23 | Payment Terms Code Δ BC27 | Code[10] | Specifies a formula that calculates the payment due date, payment discount date, and payment discount amount. | TableRelation Table 3 “Payment Terms” (Payment Terms) |
| 24 | Due Date Δ BC27 | Date | Specifies when the sales invoice must be paid. | |
| 25 | Payment Discount % Δ BC27 Δ BC28 | Decimal | Specifies the payment discount percentage that is granted if the customer pays on or before the date entered in the Pmt. Discount Date field. The discount percentage is specified in the Payment Terms Code field. | |
| 26 | Pmt. Discount Date Δ BC28 | Date | Specifies the date on which the amount in the entry must be paid for a payment discount to be granted. | |
| 27 | Shipment Method Code Δ BC27 | Code[10] | Specifies the delivery conditions of the related shipment, such as free on board (FOB). | TableRelation Table 10 “Shipment Method” (Shipment Method) |
| 28 | Location Code Δ BC27 Δ BC28 | Code[10] | Specifies the code for the location from where the items are shipped. When you select the customer and the customer has a location assigned, the value is taken from the Customer card. If the customer has no location, but a Responsibility Center is populated, the location code is taken from the Respo… | TableRelation Table 14 “Location” (Location where(“Use As In-Transit” = const(false))) |
| 29 | Shortcut Dimension 1 Code Δ BC27 | 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))) |
| 30 | Shortcut Dimension 2 Code Δ BC27 | 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))) |
| 31 | Customer Posting Group Δ BC28 | Code[20] | Specifies the customer’s market type to link business transactions to. | TableRelation Table 92 “Customer Posting Group” (Customer Posting Group) |
| 32 | Currency Code Δ BC27 | Code[10] | Specifies the currency of amounts on the sales document. | TableRelation Table 4 “Currency” |
| 33 | Currency Factor Δ BC28 | Decimal | — | not editable |
| 34 | Customer Price Group | Code[10] | — | TableRelation Table 6 “Customer Price Group” (Customer Price Group) |
| 35 | Prices Including VAT Δ BC28 | Boolean | Specifies if the Unit Price and Line Amount fields on document lines should be shown with or without VAT. | |
| 37 | Invoice Disc. Code | Code[20] | — | |
| 40 | Customer Disc. Group | Code[20] | — | TableRelation Table 340 “Customer Discount Group” (Customer Discount Group) |
| 41 | Language Code Δ BC28 | Code[10] | Specifies the language to be used on printouts for this document. | TableRelation Table 8 “Language” |
| 42 | Format Region Δ BC28 | Text[80] | Specifies the format to be used on printouts for this document. | TableRelation “Language Selection”.“Language Tag” |
| 43 | Salesperson Code Δ BC27 | Code[20] | Specifies the name of the salesperson who is assigned to the customer. | TableRelation Table 13 “Salesperson/Purchaser” (“Salesperson/Purchaser” where(Blocked = const(false))) |
| 45 | Order Class | Code[10] | — | |
| 46 | Comment | Boolean | — | FlowField: exist(“Sales Comment Line” where(“Document Type” = field(“Document Type”), “No.” = field(“No.”), “Document Line No.” = const(0))); not editable |
| 47 | No. Printed | Integer | — | not editable |
| 51 | On Hold | Code[3] | — | |
| 52 | Applies-to Doc. Type Δ BC28 | Enum “Gen. Journal Document Type” | Specifies the type of the posted document that this document or journal line will be applied to when you post, for example to register payment. | enum Enum 6 “Gen. Journal Document Type” |
| 53 | Applies-to Doc. No. Δ BC28 | Code[20] | Specifies the number of the posted document that this document or journal line will be applied to when you post, for example to register payment. | |
| 55 | Bal. Account No. | Code[20] | — | TableRelation Table 15 “G/L Account”, Table 270 “Bank Account” (if (“Bal. Account Type” = const(“G/L Account”)) “G/L Account” else if (“Bal. Account Type” = const(“Bank Account”)) “Bank Account”) |
| 56 | Recalculate Invoice Disc. | Boolean | — | FlowField: exist(“Sales Line” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), “Recalculate Invoice Disc.” = const(true))); not editable |
| 57 | Ship | Boolean | — | not editable |
| 58 | Invoice | Boolean | — | |
| 59 | Print Posted Documents | Boolean | — | |
| 60 | Amount Δ BC27 | Decimal | Specifies the sum of amounts on all the lines in the document. This will include invoice discounts. | FlowField: sum(“Sales Line”.Amount where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))); not editable |
| 61 | Amount Including VAT Δ BC27 | Decimal | Specifies the sum of amounts, including VAT, on all the lines in the document. This will include invoice discounts. | FlowField: sum(“Sales Line”.“Amount Including VAT” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))); not editable |
| 62 | Shipping No. | Code[20] | — | |
| 63 | Posting No. | Code[20] | — | |
| 64 | Last Shipping No. | Code[20] | — | TableRelation Table 110 “Sales Shipment Header” (Sales Shipment Header); not editable |
| 65 | Last Posting No. | Code[20] | — | TableRelation Table 112 “Sales Invoice Header” (Sales Invoice Header); not editable |
| 66 | Prepayment No. | Code[20] | — | |
| 67 | Last Prepayment No. | Code[20] | — | TableRelation Table 112 “Sales Invoice Header” (Sales Invoice Header) |
| 68 | Prepmt. Cr. Memo No. | Code[20] | — | |
| 69 | Last Prepmt. Cr. Memo No. | Code[20] | — | TableRelation Table 114 “Sales Cr.Memo Header” (Sales Cr.Memo Header) |
| 70 | VAT Registration No. Δ BC28 | Text[20] | Specifies the customer’s VAT registration number for customers. | |
| 71 | Combine Shipments Δ BC28 | Boolean | Specifies whether the order will be included when you use the Combine Shipments function. | |
| 72 | Registration Number + BC24 Δ BC28 | Text[50] | Specifies the customer’s registration number. | |
| 73 | Reason Code Δ BC28 | Code[10] | Specifies the reason code, a supplementary source code that enables you to trace the document. | TableRelation Table 231 “Reason Code” (Reason Code) |
| 74 | Gen. Bus. Posting Group Δ BC28 | Code[20] | Specifies the general business posting group that the sales document is linked to. The general business posting group is used to link the sales document to the appropriate general ledger account. | TableRelation Table 250 “Gen. Business Posting Group” (Gen. Business Posting Group) |
| 75 | EU 3-Party Trade Δ BC28 | Boolean | Specifies if the transaction is related to trade with a third party within the EU. | |
| 76 | Transaction Type Δ BC28 | Code[10] | Specifies the type of transaction that the document represents, for the purpose of reporting to INTRASTAT. | TableRelation Table 258 “Transaction Type” (Transaction Type) |
| 77 | Transport Method Δ BC28 | Code[10] | Specifies the transport method, for the purpose of reporting to INTRASTAT. | TableRelation Table 259 “Transport Method” (Transport Method) |
| 78 | VAT Country/Region Code Δ BC28 | Code[10] | Specifies the country or region code for the VAT. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 79 | Sell-to Customer Name Δ BC27 | Text[100] | Specifies the name of the customer that you’re selling to. By default, the same customer is suggested as the ship-to customer. If needed, you can specify a different ship-to customer on the document. | TableRelation Customer.Name |
| 80 | Sell-to Customer Name 2 Δ BC27 | Text[50] | Specifies an additional part of the name of the customer who will receive the products and be billed by default. | |
| 81 | Sell-to Address Δ BC28 | Text[100] | Specifies the address where the customer is located. | |
| 82 | Sell-to Address 2 Δ BC28 | Text[50] | Specifies additional address information. | |
| 83 | Sell-to City Δ BC28 | Text[30] | Specifies the city of the customer on the sales document. | TableRelation Table 225 “Post Code” (if (“Sell-to Country/Region Code” = const(‘’)) “Post Code”.City else if (“Sell-to Country/Region Code” = filter(<> ‘’)) “Post Code”.City where(“Country/Region Code” = field(“Sell-to Country/Region Code”))) |
| 84 | Sell-to Contact Δ BC27 | Text[100] | Specifies the name of the contact person at the customer’s main address. | |
| 85 | Bill-to Post Code Δ BC27 | Code[20] | Specifies the postal code of the customer’s billing address. | TableRelation Table 225 “Post Code” (Post Code) |
| 86 | Bill-to County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 87 | Bill-to Country/Region Code Δ BC27 | Code[10] | Specifies the country/region code of the customer’s billing address. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 88 | Sell-to Post Code Δ BC27 | Code[20] | Specifies the postal code of the customer’s main address. | TableRelation Table 225 “Post Code” (if (“Sell-to Country/Region Code” = const(‘’)) “Post Code” else if (“Sell-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Sell-to Country/Region Code”))) |
| 89 | Sell-to County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 90 | Sell-to Country/Region Code Δ BC27 | Code[10] | Specifies the country/region code of the customer’s main address. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 91 | Ship-to Post Code Δ BC27 | Code[20] | Specifies the postal code of the address that the items are shipped to. | TableRelation Table 225 “Post Code” (if (“Ship-to Country/Region Code” = const(‘’)) “Post Code” else if (“Ship-to Country/Region Code” = filter(<> ‘’)) “Post Code” where(“Country/Region Code” = field(“Ship-to Country/Region Code”))) |
| 92 | Ship-to County Δ BC28 | Text[30] | Specifies the state, province or county of the address. | |
| 93 | Ship-to Country/Region Code Δ BC27 | Code[10] | Specifies the country/region code of the address that the items are shipped to. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 94 | Bal. Account Type | Enum “Payment Balance Account Type” | — | enum Enum 96 “Payment Balance Account Type” |
| 97 | Exit Point Δ BC28 | Code[10] | Specifies the point of exit through which you ship the items out of your country/region, for reporting to Intrastat. | TableRelation Table 282 “Entry/Exit Point” (Entry/Exit Point) |
| 98 | Correction Δ BC28 | Boolean | Specifies the entry as a corrective entry. You can use the field if you need to post a corrective entry to a customer account. If you place a check mark in this field when posting a corrective entry, the system will post a negative debit instead of a credit or a negative credit instead of a debit. C… | |
| 99 | Document Date Δ BC27 | Date | Specifies the date when the related document was created. | |
| 100 | External Document No. Δ BC27 | Code[35] | Specifies a document number that refers to the customer’s or vendor’s numbering system. | |
| 101 | Area Δ BC28 | Code[10] | Specifies the country or region of origin for the purpose of Intrastat reporting. | TableRelation Table 284 “Area” |
| 102 | Transaction Specification Δ BC28 | Code[10] | Specifies a specification of the document’s transaction, for the purpose of reporting to INTRASTAT. | TableRelation Table 285 “Transaction Specification” (Transaction Specification) |
| 104 | Payment Method Code Δ BC28 | Code[10] | Specifies how to make payment, such as with bank transfer, cash, or check. | TableRelation Table 289 “Payment Method” (Payment Method) |
| 105 | Shipping Agent Code Δ BC27 | Code[10] | Specifies the code for the shipping agent who is transporting the items. | TableRelation Table 291 “Shipping Agent” (Shipping Agent) |
| 106 | Package Tracking No. Δ BC24 Δ BC27 | Text[50] | Specifies the shipping agent’s package number. | |
| 107 | No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series); not editable |
| 108 | Posting No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 109 | Shipping No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 114 | Tax Area Code Δ BC28 | Code[20] | Specifies the tax area that is used to calculate and post sales tax. | TableRelation Table 318 “Tax Area” (Tax Area) |
| 115 | Tax Liable Δ BC28 | Boolean | Specifies if the customer or vendor is liable for sales tax. | |
| 116 | VAT Bus. Posting Group Δ BC28 | Code[20] | Specifies the VAT specification of the involved customer or vendor to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. | TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group) |
| 117 | Reserve | Enum “Reserve Method” | — | enum Enum 100 “Reserve Method” |
| 118 | Applies-to ID Δ BC28 | Code[50] | Specifies the ID of entries that will be applied to when you choose the Apply Entries action. | |
| 119 | VAT Base Discount % Δ BC28 | Decimal | — | |
| 120 | Status Δ BC27 | Enum “Sales Document Status” | Specifies whether the document is open, waiting to be approved, has been invoiced for prepayment, or has been released to the next stage of processing. | enum Enum 3612 “Sales Document Status”; not editable |
| 121 | Invoice Discount Calculation | Option | — | OptionCaption: None,%,Amount; not editable |
| 122 | Invoice Discount Value Δ BC28 | Decimal | — | not editable |
| 123 | Send IC Document | Boolean | — | |
| 124 | IC Status | Enum “Sales Document IC Status” | — | enum Enum 124 “Sales Document IC Status” |
| 125 | Sell-to IC Partner Code | Code[20] | — | TableRelation Table 413 “IC Partner” (IC Partner); not editable |
| 126 | Bill-to IC Partner Code | Code[20] | — | TableRelation Table 413 “IC Partner” (IC Partner); not editable |
| 127 | IC Reference Document No. | Code[20] | — | not editable |
| 129 | IC Direction | Enum “IC Direction Type” | — | enum Enum 129 “IC Direction Type” |
| 130 | Prepayment % Δ BC28 | Decimal | Specifies the prepayment percentage to use to calculate the prepayment for sales. | |
| 131 | Prepayment No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 132 | Compress Prepayment Δ BC28 | Boolean | Specifies that prepayments on the sales order are combined if they have the same general ledger account for prepayments or the same dimensions. | |
| 133 | Prepayment Due Date Δ BC28 | Date | Specifies when the prepayment invoice for this sales order is due. | |
| 134 | Prepmt. Cr. Memo No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 135 | Prepmt. Posting Description | Text[100] | — | |
| 138 | Prepmt. Pmt. Discount Date Δ BC28 | Date | Specifies the last date the customer can pay the prepayment invoice and still receive a payment discount on the prepayment amount. | |
| 139 | Prepmt. Payment Terms Code Δ BC28 | Code[10] | Specifies the code that represents the payment terms for prepayment invoices related to the sales document. | TableRelation Table 3 “Payment Terms” (Payment Terms) |
| 140 | Prepmt. Payment Discount % Δ BC28 | Decimal | Specifies the payment discount percent granted on the prepayment if the customer pays on or before the date entered in the Prepmt. Pmt. Discount Date field. | |
| 151 | Quote No. Δ BC27 | Code[20] | Specifies the number of the sales quote that the sales order was created from. You can track the number to sales quote documents that you have printed, saved, or emailed. | not editable |
| 152 | Quote Valid Until Date Δ BC28 | Date | Specifies how long the quote is valid. | |
| 153 | Quote Sent to Customer | DateTime | — | not editable |
| 154 | Quote Accepted Δ BC28 | Boolean | Specifies that the quote was accepted by the customer. | |
| 155 | Quote Accepted Date Δ BC28 | Date | Specifies when the quote was accepted by the customer. | not editable |
| 160 | Job Queue Status Δ BC24 Δ BC27 | Enum “Document Job Queue Status” | Specifies the status of a job queue entry or task that handles the posting of sales orders. | enum Enum 485 “Document Job Queue Status”; not editable |
| 161 | Job Queue Entry ID | Guid | — | not editable |
| 163 | Company Bank Account Code Δ BC28 | Code[20] | Specifies the bank account to use for bank information when the document is printed. | TableRelation Table 270 “Bank Account” (“Bank Account” where(“Currency Code” = field(“Currency Code”))) |
| 165 | Incoming Document Entry No. Δ BC28 | Integer | Specifies the number of the incoming document that this sales document is created for. | TableRelation Table 130 “Incoming Document” (Incoming Document) |
| 166 | Alt. VAT Registration No. + BC25 | Boolean | Alternative VAT Registration No. caption | not editable |
| 167 | Alt. Gen. Bus Posting Group + BC25 | Boolean | Alternative Gen. Bus. Posting Group caption | not editable |
| 168 | Alt. VAT Bus Posting Group + BC25 | Boolean | Alternative VAT Bus. Posting Group caption | not editable |
| 170 | IsTest | Boolean | — | not editable |
| 171 | Sell-to Phone No. Δ BC28 | Text[30] | Specifies the telephone number of the contact person that the sales document will be sent to. | |
| 172 | Sell-to E-Mail Δ BC28 | Text[80] | Specifies the email address of the contact person that the sales document will be sent to. | |
| 178 | Journal Templ. Name Δ BC28 | Code[10] | Specifies the name of the journal template in which the sales header is to be posted. | TableRelation Table 80 “Gen. Journal Template” (“Gen. Journal Template” where(Type = filter(Sales))) |
| 179 | VAT Reporting Date Δ BC28 | Date | Specifies the date used to include entries on VAT reports in a VAT period. This is either the date that the document was created or posted, depending on your setting on the General Ledger Setup page. | not editable |
| 181 | Rcvd.-from Count./Region Code Δ BC28 | Code[10] | Specifies the country or region from which the items are returned for the purpose of Intrastat reporting. | TableRelation Table 9 “Country/Region” (Country/Region) |
| 185 | Last Email Sent Time − BC24 + BC25 | DateTime | — | FlowField: max(“Email Related Record”.SystemCreatedAt where(“Table Id” = const(Database::“Sales Header”), “System Id” = field(SystemId))) |
| 186 | Last Email Sent Message Id + BC25 | Guid | — | FlowField: lookup(“Email Related Record”.“Email Message Id” where(SystemCreatedAt = field(“Last Email Sent Time”))) |
| 200 | Work Description | BLOB | — | |
| 210 | Ship-to Phone No. + BC25 Δ BC28 | Text[30] | Specifies the telephone number of the company’s shipping address. | |
| 300 | Amt. Ship. Not Inv. (LCY) Δ BC27 Δ BC28 | Decimal | Specifies the sum, in LCY, for items that have been shipped but not yet been invoiced. The amount is calculated as Amount Including VAT x Qty. Shipped Not Invoiced / Quantity. | FlowField: sum(“Sales Line”.“Shipped Not Invoiced (LCY)” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))); not editable |
| 301 | Amt. Ship. Not Inv. (LCY) Base Δ BC27 Δ BC28 | Decimal | Specifies the sum, in LCY, for items that have been shipped but not yet been invoiced. The amount is calculated as Amount Including VAT x Qty. Shipped Not Invoiced / Quantity. | FlowField: sum(“Sales Line”.“Shipped Not Inv. (LCY) No VAT” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”))); not editable |
| 480 | Dimension Set ID | Integer | — | TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable |
| 600 | Payment Service Set ID | Integer | — | |
| 720 | Coupled to CRM Δ BC26 | Boolean | Coupled to Dynamics 365 Sales caption | obsolete Removed 26.0; #if not CLEANSCHEMA26; not editable |
| 721 | Coupled to Dataverse Δ BC27 | Boolean | Specifies that the sales order is coupled to an order in Dynamics 365 Sales. | FlowField: exist(“CRM Integration Record” where(“Integration ID” = field(SystemId), “Table ID” = const(Database::“Sales Header”))); not editable |
| 1200 | Direct Debit Mandate ID Δ BC28 | Code[35] | Specifies the direct-debit mandate that the customer has signed to allow direct debit collection of payments. | TableRelation Table 1230 “SEPA Direct Debit Mandate” (“SEPA Direct Debit Mandate” where(“Customer No.” = field(“Bill-to Customer No.”), Closed = const(false), Blocked = const(false))) |
| 1305 | Invoice Discount Amount Δ BC28 | Decimal | — | FlowField: sum(“Sales Line”.“Inv. Discount Amount” where(“Document No.” = field(“No.”), “Document Type” = field(“Document Type”))); not editable |
| 5043 | No. of Archived Versions Δ BC28 | Integer | Specifies the number of archived versions for this document. | FlowField: max(“Sales Header Archive”.“Version No.” where(“Document Type” = field(“Document Type”), “No.” = field(“No.”), “Doc. No. Occurrence” = field(“Doc. No. Occurrence”))); not editable |
| 5048 | Doc. No. Occurrence | Integer | — | |
| 5050 | Campaign No. Δ BC27 | Code[20] | Specifies the campaign number the document is linked to. | TableRelation Table 5071 “Campaign” |
| 5052 | Sell-to Contact No. Δ BC28 | Code[20] | Specifies the number of the contact person that the sales document will be sent to. | TableRelation Table 5050 “Contact” |
| 5053 | Bill-to Contact No. Δ BC28 | Code[20] | Specifies the number of the contact the invoice will be sent to. | TableRelation Table 5050 “Contact” |
| 5055 | Opportunity No. Δ BC28 | Code[20] | Specifies the number of the opportunity that the sales quote is assigned to. | TableRelation if (“Document Type” = filter(<> Order)) Opportunity.“No.” where(“Contact No.” = field(“Sell-to Contact No.”), Closed = const(false)) else if (“Document Type” = const(Order)) Opportunity.“No.” where(“Contact No.” = field(“Sell-to Contact No.”), “Sales Document No.” = field(“No.”), “Sales Document Typ… |
| 5056 | Sell-to Customer Templ. Code Δ BC28 | Code[20] | Specifies the code for the template to create a new customer | TableRelation Table 1381 “Customer Templ.” (Customer Templ.) |
| 5057 | Bill-to Customer Templ. Code | Code[20] | Bill-to Customer Template Code caption | TableRelation Table 1381 “Customer Templ.” (Customer Templ.) |
| 5700 | Responsibility Center Δ BC28 | Code[10] | Specifies the code of the responsibility center, such as a distribution hub, that is associated with the involved user, company, customer, or vendor. | TableRelation Table 5714 “Responsibility Center” (Responsibility Center) |
| 5750 | Shipping Advice Δ BC27 | Enum “Sales Header Shipping Advice” | Specifies if the customer accepts partial shipment of orders. | enum Enum 3657 “Sales Header Shipping Advice” |
| 5751 | Shipped Not Invoiced | Boolean | — | FlowField: exist(“Sales Line” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), “Qty. Shipped Not Invoiced” = filter(<> 0))); not editable |
| 5752 | Completely Shipped Δ BC27 | Boolean | Specifies whether all the items on the order have been shipped or, in the case of inbound items, completely received. | FlowField: min(“Sales Line”.“Completely Shipped” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), Type = filter(<> “ “), “Location Code” = field(“Location Filter”))); not editable |
| 5753 | Posting from Whse. Ref. | Integer | — | |
| 5754 | Location Filter | Code[10] | — | TableRelation Table 14 “Location”; FlowFilter |
| 5755 | Shipped | Boolean | — | FlowField: exist(“Sales Line” where(“Document Type” = field(“Document Type”), “Document No.” = field(“No.”), “Qty. Shipped (Base)” = filter(<> 0))); not editable |
| 5756 | Last Shipment Date Δ BC24 | Date | — | FlowField: lookup(“Sales Shipment Header”.“Shipment Date” where(“No.” = field(“Last Shipping No.”))) |
| 5790 | Requested Delivery Date Δ BC27 | Date | Specifies the date that the customer has asked for the order to be delivered. | |
| 5791 | Promised Delivery Date Δ BC28 | Date | Specifies the date that you have promised to deliver the order, as a result of the Order Promising function. | |
| 5792 | Shipping Time Δ BC28 | DateFormula | Specifies how long it takes from when the items are shipped from the warehouse to when they are delivered. | |
| 5793 | Outbound Whse. Handling Time Δ BC28 | DateFormula | Specifies a date formula for the time it takes to get items ready to ship from this location. The time element is used in the calculation of the delivery date as follows: Shipment Date + Outbound Warehouse Handling Time = Planned Shipment Date + Shipping Time = Planned Delivery Date. | |
| 5794 | Shipping Agent Service Code Δ BC27 | Code[10] | Specifies the code for the service, such as a one-day delivery, that is offered by the shipping agent. | TableRelation Table 5790 “Shipping Agent Services” (“Shipping Agent Services”.Code where(“Shipping Agent Code” = field(“Shipping Agent Code”))) |
| 5795 | Late Order Shipping Δ BC28 | Boolean | Indicates a delay in the shipment of one or more lines, or that the shipment date is either the same as or earlier than the work date. | FlowField: exist(“Sales Line” where(“Document Type” = field(“Document Type”), “Sell-to Customer No.” = field(“Sell-to Customer No.”), “Document No.” = field(“No.”), “Shipment Date” = field(“Date Filter”), “Outstanding Quantity” = filter(<> 0))); not editable |
| 5796 | Date Filter | Date | — | FlowFilter |
| 5800 | Receive | Boolean | — | |
| 5801 | Return Receipt No. | Code[20] | — | |
| 5802 | Return Receipt No. Series | Code[20] | — | TableRelation Table 308 “No. Series” (No. Series) |
| 5803 | Last Return Receipt No. | Code[20] | — | TableRelation Table 6660 “Return Receipt Header” (Return Receipt Header); not editable |
| 7000 | Price Calculation Method | Enum “Price Calculation Method” | — | enum Enum 7000 “Price Calculation Method” |
| 7001 | Allow Line Disc. | Boolean | — | |
| 7200 | Get Shipment Used | Boolean | — | not editable |
| 9000 | Assigned User ID Δ BC27 | Code[50] | Specifies the ID of the user who is responsible for the document. | TableRelation Table 91 “User Setup” (User Setup); DataClassification EndUserIdentifiableInformation |
Keys
- Key1: Document Type, No. (clustered)
- Key2: No., Document Type
- Key3: Document Type, Sell-to Customer No.
- Key4: Document Type, Bill-to Customer No.
- Key5: Document Type, Combine Shipments, Sell-to Customer No., Bill-to Customer No., Currency Code, EU 3-Party Trade, Dimension Set ID, Journal Templ. Name
- Key6: Sell-to Customer No., External Document No.
- Key7: Document Type, Sell-to Contact No.
- Key8: Bill-to Contact No.
- Key9: Incoming Document Entry No.
- Key10: Document Date
- Key11: Shipment Date, Status, Location Code, Responsibility Center
- Key12: Salesperson Code
- Key13: SystemModifiedAt
Events published
OnCheckSalesPostRestrictions()Δ BC24 (integration): Raised to allow subscribers to add custom restrictions to the sales document posting process.- subscribers: Codeunit 1550 “Record Restriction Mgt.” CustomerCheckSalesPostRestrictions, Codeunit 1550 “Record Restriction Mgt.” SalesHeaderCheckSalesPostRestrictions
OnCustomerCreditLimitExceeded(NotificationId: Guid)Δ BC24 (integration): Raised when the calculated credit amount exceeds the customer’s credit limit.- subscribers: Codeunit 1520 “Workflow Event Handling” RunWorkflowOnCustomerCreditLimitExceeded
OnCustomerCreditLimitNotExceeded()Δ BC24 (integration): Raised when the calculated credit amount does not exceed the customer’s credit limit.- subscribers: Codeunit 1520 “Workflow Event Handling” RunWorkflowOnCustomerCreditLimitNotExceeded
OnCheckSalesReleaseRestrictions()Δ BC24 (integration): Raised to allow subscribers to add custom restrictions to the sales document release process.- subscribers: Codeunit 1550 “Record Restriction Mgt.” SalesHeaderCheckSalesReleaseRestrictions
OnAfterAssignDefaultVATBusPostingGroup(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; GenBusinessPostingGroup: Record "Gen. Business Posting Group")(integration): Raised after the default VAT business posting group is assigned to the sales header.OnAfterInitDefaultDimensionSources(var SalesHeader: Record "Sales Header"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer)(integration): Raised after the default dimension sources are initialized for the sales header.OnAfterInitRecord(var SalesHeader: Record "Sales Header")(integration): Raised after the sales header record is initialized.OnAfterInitNoSeries(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised after the number series is initialized for the sales header.OnAfterInitializeRoundingPrecision(var SalesHeader: Record "Sales Header"; var Currency: Record Currency)(integration): Raised after the rounding precision is initialized from the currency.OnAfterIsBillToAddressEqualToSellToAddress(SellToSalesHeader: Record "Sales Header"; BillToSalesHeader: Record "Sales Header"; var Result: Boolean)(integration): Raised after checking if the bill-to address equals the sell-to address.OnAfterCheckCreditLimitCondition(var SalesHeader: Record "Sales Header"; var RunCheck: Boolean)(integration): Raised after the credit limit check condition is evaluated.OnAfterCheckCreditMaxBeforeInsert(var SalesHeader: Record "Sales Header")(integration): Raised after the credit maximum is checked before inserting the sales header.OnAfterCheckBillToCust(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; Customer: Record Customer)(integration): Raised after the bill-to customer is validated.- subscribers: Codeunit 5012 “Service Declaration Mgt.” OnAfterCheckBillToCustInSalesHeader
OnAfterCheckSellToCust(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; Customer: Record Customer; CurrentFieldNo: Integer)(integration): Raised after the sell-to customer is validated.- subscribers: Codeunit 5012 “Service Declaration Mgt.” OnAfterCheckSellToCustInSalesHeader
OnAfterCheckShippingAdvice(var SalesHeader: Record "Sales Header"; var Result: Boolean)(integration): Raised after the shipping advice is checked.OnCheckShippingAdviceOnAfterSetLineFilters(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header")+ BC28 (integration)OnAfterConfirmSalesPrice(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var RecalculateLines: Boolean)(integration): Raised after the user confirms sales price changes.OnAfterConfirmCurrencyFactorUpdate(var SalesHeader: Record "Sales Header"; var Confirmed: Boolean)(integration): Raised after the user confirms the currency factor update.OnAfterCouldDimensionsBeKept(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var Result: Boolean)(integration): Raised after checking if dimensions could be kept when changing header fields.OnBeforeRecreateSalesLine(var IsHandled: Boolean; var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; var SalesHeader: Record "Sales Header")+ BC28 (integration): Raised before a sales line is recreated from temporary storage, allowing subscribers to replace the standard sales line creation.OnAfterRecreateSalesLine(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; var SalesHeader: Record "Sales Header")(integration): Raised after a sales line is recreated from temporary storage.OnAfterDeleteAllTempSalesLines(SalesHeader: Record "Sales Header")(integration): Raised after all temporary sales lines are deleted.OnAfterDeleteSalesLines(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header")(integration): Raised after sales lines are deleted from the sales header.OnAfterInitFromSalesHeader(var SalesHeader: Record "Sales Header"; SourceSalesHeader: Record "Sales Header")(integration): Raised after the sales header is initialized from another sales header.OnAfterInitFromBillToCustTemplate(var SalesHeader: Record "Sales Header"; BillToCustTemplate: Record "Customer Templ.")(integration): Raised after the sales header is initialized from a bill-to customer template.OnAfterInsertTempSalesLine(SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary)(integration): Raised after a sales line is inserted into temporary storage.OnAfterIsApprovedForPosting(SalesHeader: Record "Sales Header"; var Approved: Boolean)(integration): Raised after checking if the sales header is approved for posting.OnAfterIsApprovedForPostingBatch(SalesHeader: Record "Sales Header"; var Approved: Boolean)(integration): Raised after checking if the sales header is approved for batch posting.OnAfterGetNoSeriesCode(var SalesHeader: Record "Sales Header"; SalesReceivablesSetup: Record "Sales & Receivables Setup"; var NoSeriesCode: Code[20])(integration): Raised after the number series code is retrieved for the sales header.OnAfterGetPostingNoSeriesCode(SalesHeader: Record "Sales Header"; var PostingNos: Code[20])(integration): Raised after the posting number series code is retrieved.OnAfterGetPrepaymentPostingNoSeriesCode(SalesHeader: Record "Sales Header"; var PostingNos: Code[20])(integration): Raised after the prepayment posting number series code is retrieved.OnAfterGetSalesSetup(SalesHeader: Record "Sales Header"; var SalesReceivablesSetup: Record "Sales & Receivables Setup"; CalledByFieldNo: Integer)(integration): Raised after the sales and receivables setup is retrieved.OnAfterGetDocTypeText(var SalesHeader: Record "Sales Header"; var TypeText: Text[50])(integration): Raised after the document type text is retrieved.OnAfterGetStatusStyleText(SalesHeader: Record "Sales Header"; var StatusStyleText: Text)(integration): Raised after the status style text is retrieved.OnAfterOnInsert(var SalesHeader: Record "Sales Header")(integration): Raised after the sales header record is inserted.OnAfterHasDifferentSellToAddress(var SalesHeader: Record "Sales Header"; Customer: Record Customer; var Result: Boolean)(integration): Raised after checking if the sales header has a different sell-to address than the customer.OnAfterHasDifferentBillToAddress(var SalesHeader: Record "Sales Header"; Customer: Record Customer; var Result: Boolean)(integration): Raised after checking if the sales header has a different bill-to address than the customer.OnAfterHasDifferentShipToAddress(var SalesHeader: Record "Sales Header"; Customer: Record Customer; var Result: Boolean)(integration): Raised after checking if the sales header has a different ship-to address than the customer.OnAfterSalesLinesEditable(SalesHeader: Record "Sales Header"; var IsEditable: Boolean)(integration): Raised after determining if the sales lines are editable.OnAfterTestNoSeries(var SalesHeader: Record "Sales Header"; var SalesReceivablesSetup: Record "Sales & Receivables Setup")(integration): Raised after testing the number series for the sales header.OnAfterUpdateShipToAddress(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; Location: Record Location; CompanyInformation: Record "Company Information")+ BC27 − BC27 (integration): Raised after the ship-to address is updated on the sales header.OnAfterUpdateCurrencyFactor(var SalesHeader: Record "Sales Header"; HideValidationDialog: Boolean)(integration): Raised after the currency factor is updated on the sales header.OnAfterAppliesToDocNoOnLookup(var SalesHeader: Record "Sales Header"; CustLedgerEntry: Record "Cust. Ledger Entry")(integration): Raised after looking up the applies-to document number.OnUpdateSalesLineByChangedFieldName(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; ChangedFieldName: Text[100]; ChangedFieldNo: Integer; xSalesHeader: Record "Sales Header")(integration): Raised during sales line update when a field changes by name.OnUpdateSalesLinesByFieldNoOnAfterSalesLineSetFilters(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; ChangedFieldNo: Integer)(integration): Raised after filters are set on sales lines during update by field number.OnUpdateSalesLineAmountsOnAfterSalesHeaderModify(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")(integration): Raised after the sales header is modified during sales line amounts update.OnUpdateShipToContactOnBeforeValidateShipToContact(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the ship-to contact during ship-to contact update.OnUpdateOpportunityOnBeforeModify(var Opportunity: Record Opportunity; var SalesHeader: Record "Sales Header")(integration): Raised before modifying the opportunity during opportunity update.OnUpdateOpportunityLinkOnBeforeModify(var Opportunity: Record Opportunity; var SalesHeader: Record "Sales Header"; SalesDocumentType: Option; SalesHeaderNo: Code[20])(integration): Raised before modifying the opportunity during opportunity link update.OnValidateShortcutDimCodeOnBeforeUpdateAllLineDim(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; FieldNumber: Integer)+ BC24 + BC26 − BC26 (integration): Raised before updating all line dimensions during shortcut dimension code validation.OnAfterValidateShortcutDimCode(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; FieldNumber: Integer; var ShortcutDimCode: Code[20])(integration): Raised after the shortcut dimension code is validated.OnAfterCreateSalesLine(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary)(integration): Raised after a sales line is created from temporary storage.- subscribers: Codeunit 8069 “Sales Subscription Line Mgmt.” RecreateStandardSalesServiceCommitmentsOnAfterCreateSalesLine
OnAfterIsShipToAddressEqualToSellToAddress(SellToSalesHeader: Record "Sales Header"; ShipToSalesHeader: Record "Sales Header"; var Result: Boolean)(integration): Raised after checking if the ship-to address equals the sell-to address.OnAfterSalesQuoteAccepted(var SalesHeader: Record "Sales Header")(integration): Raised after a sales quote is accepted.OnAfterChangePricesIncludingVAT(var SalesHeader: Record "Sales Header")(integration): Raised after the Prices Including VAT field is changed.- subscribers: Codeunit 345 “Sales Line CaptionClass Mgmt” SalesHeaderChangedPricesIncludingVAT
OnAfterSelltoCustomerNoOnAfterValidate(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised after the sell-to customer number is validated.OnAfterSendSalesHeader(var SalesHeader: Record "Sales Header"; ShowDialog: Boolean)(integration): Raised after the sales header is sent.OnAfterSetApplyToFilters(var CustLedgerEntry: Record "Cust. Ledger Entry"; SalesHeader: Record "Sales Header")(integration): Raised after filters are set for applying customer ledger entries.OnAfterSetFieldsBilltoCustomer(var SalesHeader: Record "Sales Header"; Customer: Record Customer; xSalesHeader: Record "Sales Header"; SkipBillToContact: Boolean; CUrrentFieldNo: Integer)(integration): Raised after bill-to customer fields are set on the sales header.- subscribers: Codeunit 345 “Sales Line CaptionClass Mgmt” UpdateSalesLineFieldsCaptionOnAfterSetFieldsBilltoCustomer
OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean)+ BC28 (integration): Raised before updating the VAT registration setup on a bill-to customer change in the sales header.OnAfterTransferExtendedTextForSalesLineRecreation(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary)(integration): Raised after extended text is transferred for sales line recreation.OnAfterCopyFromNewSellToCustTemplate(var SalesHeader: Record "Sales Header"; SellToCustTemplate: Record "Customer Templ.")(integration): Raised after copying fields from a new sell-to customer template.OnAfterCopySellToAddressToShipToAddress(var SalesHeader: Record "Sales Header")(integration): Raised after the sell-to address is copied to the ship-to address.OnAfterCopySellToAddressToBillToAddress(var SalesHeader: Record "Sales Header")(integration): Raised after the sell-to address is copied to the bill-to address.OnAfterCopySellToCustomerAddressFieldsFromCustomer(var SalesHeader: Record "Sales Header"; SellToCustomer: Record Customer; CurrentFieldNo: Integer; var SkipBillToContact: Boolean; var SkipSellToContact: Boolean)(integration): Raised after sell-to customer address fields are copied from the customer.OnAfterCopyShipToCustomerAddressFieldsFromCustomer(var SalesHeader: Record "Sales Header"; SellToCustomer: Record Customer; xSalesHeader: Record "Sales Header")(integration): Raised after ship-to customer address fields are copied from the customer.OnAfterCopyShipToCustomerAddressFieldsFromShipToAddr(var SalesHeader: Record "Sales Header"; ShipToAddress: Record "Ship-to Address"; xSalesHeader: Record "Sales Header")(integration): Raised after ship-to customer address fields are copied from a ship-to address.OnAfterUpdateSalesLinesByFieldNo(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; ChangedFieldNo: Integer)(integration): Raised after sales lines are updated by field number.OnBeforeAssistEdit(var SalesHeader: Record "Sales Header"; OldSalesHeader: Record "Sales Header"; var IsHandled: Boolean; var Result: Boolean)(integration): Raised before the assist edit function is executed.OnBeforeCheckAvailableCreditLimit(var SalesHeader: Record "Sales Header"; var ReturnValue: Decimal; var IsHandled: Boolean)(integration): Raised before checking the available credit limit.OnBeforeCheckCreditLimit(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking the customer credit limit.OnBeforeCheckCreditMaxBeforeInsert(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; HideCreditCheckDialogue: Boolean; FilterCustNo: Code[20]; FilterContNo: Code[20])(integration): Raised before checking the credit maximum before inserting the sales header.OnBeforeCheckCreditLimitIfLineNotInsertedYet(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking the credit limit when no sales line is inserted yet.OnBeforeCheckCustomerContactRelation(var SalesHeader: Record "Sales Header"; Cont: Record Contact; var IsHandled: Boolean; CustomerNo: Code[20]; ContBusinessRelationNo: Code[20])(integration): Raised before checking the customer-contact relation.OnBeforeCheckNoAndShowConfirm(SalesHeader: Record "Sales Header"; var SalesShptHeader: Record "Sales Shipment Header"; var SalesInvHeader: Record "Sales Invoice Header"; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var ReturnRcptHeader: Record "Return Receipt Header"; var SalesInvHeaderPrePmt: Record "Sales Invoice Header"; var SalesCrMemoHeaderPrePmt: Record "Sales Cr.Memo Header"; SourceCode: Record "Source Code"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before checking document numbers and showing a confirmation dialog.OnBeforeCheckPrepmtInfo(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before checking prepayment information on the sales header.OnBeforeCheckReturnInfo(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; xSalesHeader: Record "Sales Header"; BillTo: Boolean)(integration): Raised before checking return information on the sales header.OnBeforeCheckShipmentInfo(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; BillTo: Boolean; var IsHandled: Boolean)(integration): Raised before checking shipment information on the sales header.OnBeforeCheckShippingAdvice(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking the shipping advice on the sales header.OnBeforeCreateDimensionsFromValidateBillToCustomerNo(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before creating dimensions from bill-to customer number validation.OnBeforeCreateDimensionsFromValidateSalesPersonCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before creating dimensions from salesperson code validation.OnBeforeCofirmClearOpportunityNo(Opportunity: Record Opportunity; var Confirmed: Boolean; var IsHandled: Boolean)(integration): Raised before confirming to clear the opportunity number.OnBeforeConfirmKeepExistingDimensions(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; FieldNo: Integer; OldDimSetID: Integer; var Confirmed: Boolean; var IsHandled: Boolean)(integration): Raised before confirming whether to keep existing dimensions.- subscribers: Codeunit 8063 “Sales Documents” HideConfirmKeepExistingDimensions, Codeunit 8074 “Document Change Management” SkipExistingConfirmationDialogAndProceed
OnBeforeConfirmUpdateAllLineDim(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; NewParentDimSetID: Integer; OldParentDimSetID: Integer; var Confirmed: Boolean; var IsHandled: Boolean)(integration): Raised before confirming to update all line dimensions.OnBeforeConfirmBillToContactNoChange(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var Confirmed: Boolean; var IsHandled: Boolean)(integration): Raised before confirming the bill-to contact number change.OnBeforeConfirmSellToContactNoChange(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var Confirmed: Boolean; var IsHandled: Boolean)(integration): Raised before confirming the sell-to contact number change.OnBeforeConfirmUpdateCurrencyFactor(var SalesHeader: Record "Sales Header"; var HideValidationDialog: Boolean; var xSalesHeader: Record "Sales Header"; var IsHandled: Boolean; var ForceConfirm: Boolean)(integration): Raised before confirming the currency factor update.OnBeforeGetContactAsCompany(Contact: Record Contact; var SearchContact: Record Contact; var IsHandled: Boolean)(integration): Raised before getting the contact as a company.OnBeforeConfirmDeletion(var SalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before confirming deletion of the sales header.OnBeforeCopyShipToCustomerAddressFieldsFromCustomer(var SalesHeader: Record "Sales Header"; Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before copying ship-to customer address fields from the customer.OnBeforeCopySellToCustomerAddressFieldsFromCustomer(var SalesHeader: Record "Sales Header"; Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before copying sell-to customer address fields from the customer.OnBeforeCopySellToAddressToBillToAddress(var SalesHeader: Record "Sales Header")(integration): Raised before copying the sell-to address to the bill-to address.OnBeforeCopyShipToCustomerAddressFieldsFromShipToAddr(var SalesHeader: Record "Sales Header"; var ShipToAddress: Record "Ship-to Address"; var IsHandled: Boolean)(integration): Raised before copying ship-to customer address fields from a ship-to address.OnBeforeCreateCustomerFromSellToCustomerTemplate(var SalesHeader: Record "Sales Header"; var Cont: Record Contact; var IsHandled: Boolean)(integration): Raised before creating a customer from the sell-to customer template.OnBeforeCreateCustomerFromBillToCustomerTemplate(var SalesHeader: Record "Sales Header"; var Cont: Record Contact; var IsHandled: Boolean)(integration): Raised before creating a customer from the bill-to customer template.OnBeforeCreateSalesLine(var TempSalesLine: Record "Sales Line" temporary; var IsHandled: Boolean; var SalesHeader: record "Sales Header"; var SalesLine: record "Sales Line")(integration): Raised before creating a sales line from temporary storage.OnBeforeCreateDim(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])(integration): Raised before creating dimensions for the sales header.OnBeforeCreateInvtPutAwayPick(var SalesHeader: Record "Sales Header")(integration): Raised before creating inventory put-away or pick documents.OnBeforeDeleteSalesLines(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; var SalesHeader: Record "Sales Header")(integration): Raised before deleting sales lines from the sales header.OnBeforeDeleteRecordInApprovalRequest(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before deleting the record in the approval request.OnBeforeEnsureDocumentTypeIsQuote(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before ensuring the document type is Quote.OnBeforeGetCust(var SalesHeader: Record "Sales Header"; var Customer: Record Customer; CustNo: Code[20])(integration): Raised before getting the customer record.OnBeforeGetCustomerVATRegistrationNumber(var SalesHeader: Record "Sales Header"; var ReturnValue: Text; var IsHandled: Boolean)(integration): Raised before getting the customer VAT registration number.OnBeforeGetCustomerVATRegistrationNumberLbl(var SalesHeader: Record "Sales Header"; var ReturnValue: Text; var IsHandled: Boolean)(integration): Raised before getting the customer VAT registration number label.OnBeforeGetNoSeriesCode(var SalesHeader: Record "Sales Header"; SalesSetup: Record "Sales & Receivables Setup"; var NoSeriesCode: Code[20]; var IsHandled: Boolean)(integration): Raised before getting the number series code for the sales header.OnBeforeGetPstdDocLinesToReverse(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before getting posted document lines to reverse.OnBeforeGetPostingNoSeriesCode(var SalesHeader: Record "Sales Header"; SalesSetup: Record "Sales & Receivables Setup"; var NoSeriesCode: Code[20]; var IsHandled: Boolean)(integration): Raised before getting the posting number series code.OnBeforeGetShippingTime(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var CalledByFieldNo: Integer; var IsHandled: Boolean; CurrentFieldNo: Integer)(integration): Raised before getting the shipping time for the sales header.OnBeforeGetShipmentMethodCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before getting the shipment method code.OnBeforeInitFromSalesHeader(var SalesHeader: Record "Sales Header"; SourceSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before initializing the sales header from another sales header.OnBeforeInitInsert(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before initializing the sales header during insert.OnBeforeInitPostingDescription(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before initializing the posting description.OnBeforeInitRecord(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; xSalesHeader: Record "Sales Header")(integration): Raised before initializing the sales header record.OnBeforeIsCreditDocType(SalesHeader: Record "Sales Header"; var CreditDocType: Boolean)(integration): Raised before checking if the document type is a credit document.OnBeforeIsApprovedForPosting(var SalesHeader: Record "Sales Header"; var Approved: Boolean; var IsHandled: Boolean)(integration): Raised before checking if the sales header is approved for posting.OnBeforeIsApprovedForPostingBatch(var SalesHeader: Record "Sales Header"; var Approved: Boolean; var IsHandled: Boolean)(integration): Raised before checking if the sales header is approved for batch posting.OnBeforeLookupAppliesToDocNo(var SalesHeader: Record "Sales Header"; var CustLedgEntry: Record "Cust. Ledger Entry"; var IsHandled: Boolean)(integration): Raised before looking up the applies-to document number.OnBeforeLookupBillToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code")(integration): Raised before looking up the bill-to post code.OnBeforeLookupBillToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code")(integration): Raised before looking up the bill-to city.OnBeforeLookupContact(CustomerNo: Code[20]; ContactNo: Code[20]; var Contact: Record Contact; var IsHandled: Boolean)(integration): Raised before looking up the contact.OnBeforeLookupSelltoContact(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before looking up the sell-to contact.OnBeforeLookupSellToContactNo(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean; var Result: Boolean)(integration): Raised before looking up the sell-to contact number.OnBeforeLookupSellToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code")(integration): Raised before looking up the sell-to city.OnBeforeLookupSellToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code")(integration): Raised before looking up the sell-to post code.OnAfterLookupShipToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; xSalesHeader: Record "Sales Header")(integration): Raised after looking up the ship-to city.OnBeforeLookupShipToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code")(integration): Raised before looking up the ship-to city.OnAfterLookupShipToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; xSalesHeader: Record "Sales Header")(integration): Raised after looking up the ship-to post code.OnAfterLookupBillToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; xSalesHeader: Record "Sales Header")(integration): Raised after looking up the bill-to post code.OnAfterLookupBillToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; xSalesHeader: Record "Sales Header")(integration): Raised after looking up the bill-to city.OnAfterLookupSellToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; xSalesHeader: Record "Sales Header")(integration): Raised after looking up the sell-to post code.OnAfterLookupSellToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; xSalesHeader: Record "Sales Header")(integration): Raised after looking up the sell-to city.OnBeforeLookupShipToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code")(integration): Raised before looking up the ship-to post code.OnBeforeLookupShippingNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before looking up the shipping number series.OnBeforeLookupReturnReceiptNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before looking up the return receipt number series.OnBeforeQtyToShipIsZero(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before checking if the quantity to ship is zero.OnBeforeShowDocDim(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before showing the document dimensions.OnBeforeShowInteractionLogEntries(var InteractionLogEntry: Record "Interaction Log Entry")(integration): Raised before showing interaction log entries.OnBeforeShouldSearchForCustomerByName(CustomerNo: Code[20]; var Result: Boolean; var IsHandled: Boolean; var CallingFieldNo: Integer; var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised before determining if the customer should be searched by name.OnBeforeTransferItemChargeAssgntSalesToTemp(var SalesHeader: Record "Sales Header"; var ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; var TempItemChargeAssgntSales: Record "Item Charge Assignment (Sales)" temporary; var IsHandled: Boolean)(integration): Raised before transferring item charge assignments to temporary storage.OnBeforeUpdateCurrencyFactor(var SalesHeader: Record "Sales Header"; var Updated: Boolean; var CurrencyExchangeRate: Record "Currency Exchange Rate"; xSalesHeader: Record "Sales Header")(integration): Raised before updating the currency factor.OnBeforeUpdateBillToCont(var SalesHeader: Record "Sales Header"; CustomerNo: Code[20]; var SkipBillToContact: Boolean; var IsHandled: Boolean)(integration): Raised before updating the bill-to contact.OnBeforeUpdateSellToEmail(var SalesHeader: Record "Sales Header"; Contact: Record Contact; var IsHandled: Boolean)(integration): Raised before updating the sell-to email from the contact.OnBeforeValidateBillToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the bill-to city.OnBeforeValidateBillToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the bill-to post code.OnBeforeValidateDocumentDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the document date.OnBeforeValidatePromisedDeliveryDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the promised delivery date.OnBeforeValidateLocationCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the location code.OnBeforeValidatePaymentTermsCode(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CallingFieldNo: Integer; UpdateDocumentDate: Boolean; var IsHandled: Boolean)(integration): Raised before validating the payment terms code.OnBeforeValidateReturnReceiptNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the return receipt number series.OnBeforeValidateSellToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the sell-to city.OnBeforeValidateSellToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean; var DoExit: Boolean)(integration): Raised before validating the sell-to post code.OnBeforeValidateShipToCity(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the ship-to city.OnBeforeValidateShipToPostCode(var SalesHeader: Record "Sales Header"; var PostCodeRec: Record "Post Code"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the ship-to post code.OnBeforeValidateVATRegistrationNo(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the VAT registration number.OnBeforeValidateRequestedDeliveryDate(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer)(integration): Raised before validating the requested delivery date.OnBeforeMessageIfSalesLinesExist(var SalesHeader: Record "Sales Header"; ChangedFieldCaption: Text; var IsHandled: Boolean)(integration): Raised before showing a message when sales lines exist and a field changes.OnBeforePriceMessageIfSalesLinesExist(SalesHeader: Record "Sales Header"; ChangedFieldCaption: Text; var IsHandled: Boolean)(integration): Raised before showing a price message when sales lines exist.OnBeforeCreateDimSetForPrepmtAccDefaultDim(SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before creating a dimension set for prepayment account default dimensions.OnBeforeRecreateSalesLines(var SalesHeader: Record "Sales Header")(integration): Raised before recreating sales lines.OnBeforeRecreateSalesLinesHandler(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; ChangedFieldName: Text[100]; var IsHandled: Boolean)(integration): Raised before handling the recreate sales lines process.- subscribers: Codeunit 8001 “Sub. Contr. Renewal Subcribers” SkipDeletingExistingSalesLines
OnBeforeRecreateSalesLinesHandleSupplementTypes(var TempSalesLine: Record "Sales Line" temporary; var IsHandled: Boolean)(integration): Raised before handling supplement types during sales line recreation.OnBeforeSalesLineByChangedFieldNo(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; ChangedFieldNo: Integer; var IsHandled: Boolean; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer)(integration): Raised before updating the sales line by changed field number.OnBeforeSalesLineInsert(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; SalesHeader: Record "Sales Header")(integration): Raised before inserting a sales line during line recreation.- subscribers: Codeunit 30166 “Shpfy Process Order” TransferShopifyValuesOnBeforeSalesLineInsert, Codeunit 8001 “Sub. Contr. Renewal Subcribers” SalesHeaderOnBeforeInsertRecreatesSalesLines
OnBeforeSetCustomerLocationCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; SellToCustomer: Record Customer)(integration): Raised before setting the customer location code.OnBeforeSetDefaultPaymentServices(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before setting the default payment services.OnBeforeSetDefaultSalesperson(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; InsertMode: Boolean)(integration): Raised before setting the default salesperson.OnBeforeStoreSalesCommentLineToTemp(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before storing sales comment lines to temporary storage.OnBeforeTestNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before testing the number series.OnBeforeSetSecurityFilterOnRespCenter(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before setting the security filter on the responsibility center.OnBeforeShowPostedDocsToPrintCreatedMsg(var ShowPostedDocsToPrint: Boolean)(integration): Raised before showing the posted documents to print created message.OnBeforeSynchronizeForReservations(var SalesHeader: Record "Sales Header"; var NewSalesLine: Record "Sales Line"; OldSalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before synchronizing for reservations.OnBeforeUpdateBillToCustContact(var SalesHeader: Record "Sales Header"; Conact: Record Contact; var IsHandled: Boolean)(integration): Raised before updating the bill-to customer contact.OnBeforeUpdateDirectDebitPmtTermsCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var PaymentMethod: Record "Payment Method")(integration): Raised before updating direct debit payment terms code.OnBeforeUpdateSellToCust(var SalesHeader: Record "Sales Header"; var Contact: Record Contact; var Customer: Record Customer; ContactNo: Code[20])(integration): Raised before updating the sell-to customer.OnBeforeUpdateAllLineDim(var SalesHeader: Record "Sales Header"; NewParentDimSetID: Integer; OldParentDimSetID: Integer; var IsHandled: Boolean; xSalesHeader: Record "Sales Header")(integration): Raised before updating all line dimensions.OnBeforeUpdateLocationCode(var SalesHeader: Record "Sales Header"; LocationCode: Code[10]; var IsHandled: Boolean)(integration): Raised before updating the location code.OnBeforeUpdateOutboundWhseHandlingTime(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before updating the outbound warehouse handling time.OnBeforeUpdateSalesLineAmounts(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before updating sales line amounts.OnBeforeUpdateSalesLinesByFieldNo(var SalesHeader: Record "Sales Header"; ChangedFieldNo: Integer; var AskQuestion: Boolean; var IsHandled: Boolean; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer)(integration): Raised before updating sales lines by field number.OnBeforeUpdateSalesLines(var SalesHeader: Record "Sales Header"; ChangedFieldName: Text[100]; var AskQuestion: Boolean)(integration): Raised before updating sales lines.OnBeforeUpdateSellToCustContact(var SalesHeader: Record "Sales Header"; Conact: Record Contact; var IsHandled: Boolean)(integration): Raised before updating the sell-to customer contact.OnBeforeUpdateShipToAddress(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; CurrFieldNo: Integer)(integration): Raised before updating the ship-to address.OnBeforeUpdateShipToCodeFromCust(var SalesHeader: Record "Sales Header"; var Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before updating the ship-to code from the customer.OnBeforeValidatePostingDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the posting date.OnCheckItemAvailabilityInLinesOnAfterSetFilters(var SalesLine: Record "Sales Line")(integration): Raised after filters are set on sales lines during item availability check.OnCollectParamsInBufferForCreateDimSetOnAfterSetTempSalesLineFilters(var TempSalesLine: Record "Sales Line" temporary; SalesLine: Record "Sales Line")(integration): Raised after filters are set on temporary sales lines during dimension set collection.OnCopySelltoCustomerAddressFieldsFromCustomerOnAfterAssignRespCenter(var SalesHeader: Record "Sales Header"; Customer: Record Customer; CallingFieldNo: Integer)(integration): Raised after assigning the responsibility center during sell-to customer address copy.OnCopySellToCustomerAddressFieldsFromCustomerOnAfterAssignSellToCustomerAddress(var SalesHeader: Record "Sales Header"; Customer: Record Customer)(integration): Raised after assigning the sell-to customer address during customer address copy.OnCreateDimOnBeforeUpdateLines(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; OldDimSetID: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])(integration): Raised before updating lines during dimension creation.OnCreateDimOnBeforeModify(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; FieldNo: Integer; OldDimSetID: Integer)(integration): Raised before modifying the sales header during dimension creation.OnCreateDimOnKeepDimensionsOnAfterUpdateGlobalDim(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; FieldNo: Integer; OldDimSetID: Integer)+ BC27 (integration): Raised after updating global dimensions when keeping dimensions during dimension creation.OnCreateSalesLineOnAfterAssignType(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary)(integration): Raised after assigning the type during sales line creation.OnCreateSalesLineOnBeforeValidateQuantity(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; var ShouldValidateQuantity: Boolean)(integration): Raised before validating the quantity during sales line creation.OnCreateSalesLineOnBeforeTransferFieldsFromTempSalesLine(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; var SalesHeader: Record "Sales Header")(integration): Raised before transferring fields from temporary sales line during sales line creation.OnDeleteSalesLinesOnBeforeDeleteLine(var SalesLine: Record "Sales Line")(integration): Raised before deleting a line during sales lines deletion.OnDeleteOnAfterPostSalesDeleteDeleteHeader(var SalesHeader: Record "Sales Header")(integration): Raised after the sales header is deleted during post-sales delete processing.OnDeleteOnBeforeArchiveSalesDocument(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised before archiving the sales document during deletion.- subscribers: Codeunit 6103 “E-Document Subscribers” OnDeleteOnBeforeArchiveSalesDocumentSalesHeader
OnInitFromContactOnAfterInitNoSeries(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised after initializing the number series during initialization from a contact.OnInitFromContactOnBeforeInitRecord(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised before initializing the record during initialization from a contact.OnInitFromTemplateOnAfterInitNoSeries(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised after initializing the number series during initialization from a template.OnInitFromTemplateOnBeforeInitRecord(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised before initializing the record during initialization from a template.OnInitInsertOnBeforeInitRecord(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised before initializing the record during insert initialization.OnInitRecordOnBeforeAssignShipmentDate(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before assigning the shipment date during record initialization.OnInitRecordOnBeforeAssignOrderDate(var SalesHeader: Record "Sales Header"; var NewOrderDate: Date)(integration): Raised before assigning the order date during record initialization.OnInsertTempSalesLineInBufferOnBeforeTempSalesLineInsert(var TempSalesLine: Record "Sales Line" temporary; SalesLine: Record "Sales Line")(integration): Raised before inserting a temporary sales line during buffer insertion.OnUpdateBillToCustOnAfterSalesQuote(var SalesHeader: Record "Sales Header"; Contact: Record Contact)(integration): Raised after updating the bill-to customer on a sales quote.OnValidateBilltoCustomerTemplCodeOnBeforeRecreateSalesLines(var SalesHeader: Record "Sales Header"; CallingFieldNo: Integer)(integration): Raised before recreating sales lines when validating the bill-to customer template code.- subscribers: Codeunit 345 “Sales Line CaptionClass Mgmt” UpdateSalesLineFieldsCaptionOnValidateBilltoCustTemplCodeBeforeRecreateSalesLines
OnValidateResponsibilityCenterOnBeforeRecreateSalesLines(var SalesHeader: Record "Sales Header"; CallingFieldNo: Integer)+ BC27 (integration): Raised before recreating sales lines when validating the responsibility center.OnValidateSellToCustomerNoAfterInit(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised after initialization when validating the sell-to customer number.OnValidateSellToCustomerNoOnAfterCalcShouldSkipConfirmSellToCustomerDialog(var SalesHeader: Record "Sales Header"; var ShouldSkipConfirmSellToCustomerDialog: Boolean; var ConfirmedShouldBeFalse: Boolean)(integration): Raised after calculating whether to skip the confirm sell-to customer dialog during sell-to customer number validation.OnValidateSelltoContactNoOnAfterCalcShouldUpdateOpportunity(var SalesHeader: Record "Sales Header"; var ShouldUpdateOpportunity: Boolean)(integration): Raised after calculating whether to update the opportunity when validating the sell-to contact number.OnAfterTestQuantityShippedField(SalesLine: Record "Sales Line")(integration): Raised after testing the quantity shipped field on a sales line.OnBeforeTestSalesLineFieldsBeforeRecreate(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var SalesLine: Record "Sales Line")(integration): Raised before testing sales line fields before recreating lines.OnBeforeTestQuantityShippedField(SalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before testing the quantity shipped field on a sales line.OnAfterPrepareOpeningDocumentStatistics(var SalesHeader: Record "Sales Header")(integration): Raised after preparing to open document statistics.OnBeforeTestStatusOpen(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CallingFieldNo: Integer)Δ BC24 (integration): Raised before testing if the status is open.OnAfterTestStatusOpen(var SalesHeader: Record "Sales Header")Δ BC24 (integration): Raised after testing if the status is open.OnAfterUpdateBillToCont(var SalesHeader: Record "Sales Header"; Customer: Record Customer; Contact: Record Contact)(integration): Raised after updating the bill-to contact from customer and contact records.OnAfterUpdateBillToCust(var SalesHeader: Record "Sales Header"; Contact: Record Contact)(integration): Raised after updating the bill-to customer from a contact.OnAfterUpdateSellToCont(var SalesHeader: Record "Sales Header"; Customer: Record Customer; Contact: Record Contact; HideValidationDialog: Boolean)(integration): Raised after updating the sell-to contact from customer and contact records.OnAfterUpdateSellToCust(var SalesHeader: Record "Sales Header"; Contact: Record Contact)(integration): Raised after updating the sell-to customer from a contact.OnAfterUpdateSalesLines(var SalesHeader: Record "Sales Header")(integration): Raised after updating sales lines.OnAfterSetCompanyBankAccount(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised after setting the company bank account.OnBeforeValidateAppliesToDocNo(var SalesHeader: Record "Sales Header"; var CustLedgEntry: Record "Cust. Ledger Entry"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the applies-to document number.OnBeforeValidateBillToCustomerName(var SalesHeader: Record "Sales Header"; var Customer: Record Customer)(integration): Raised before validating the bill-to customer name.OnBeforeValidateSellToCustomerName(var SalesHeader: Record "Sales Header"; var Customer: Record Customer; var IsHandled: Boolean)(integration): Raised before validating the sell-to customer name.OnBeforeValidateShortcutDimCode(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)(integration): Raised before validating a shortcut dimension code.OnLinkSalesDocWithOpportunityOnBeforeSalesHeaderModify(var SalesHeader: Record "Sales Header"; OldOpportunityNo: Code[20]; Opportunity: Record Opportunity)(integration): Raised before modifying the sales header when linking a sales document with an opportunity.OnRecreateSalesLinesOnAfterSetSalesLineFilters(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header")(integration): Raised after setting sales line filters during sales line recreation.OnRecreateSalesLinesOnBeforeConfirm(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; ChangedFieldName: Text[100]; HideValidationDialog: Boolean; var Confirmed: Boolean; var IsHandled: Boolean)(integration): Raised before confirming the recreation of sales lines.- subscribers: Codeunit 205 “Alt. Cust. VAT Reg. Doc. Impl.” AvoidDoubleConfirmationOnRecreateSalesLinesOnBeforeConfirm
OnRecreateSalesLinesOnBeforeSalesLineDeleteAll(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before deleting all sales lines during recreation.OnRecreateSalesLinesOnAfterProcessTempSalesLines(var TempSalesLine: Record "Sales Line" temporary; var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; ChangedFieldName: Text[100])(integration): Raised after processing temporary sales lines during recreation.OnRecreateReservEntryReqLineOnAfterLoop(var SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line")(integration): Raised after the loop during reservation entry and requisition line recreation.OnRecreateReservEntryReqLineOnAfterCalcShouldValidateLocationCode(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var ShouldValidateLocationCode: Boolean)(integration): Raised after calculating whether to validate the location code during reservation entry recreation.OnRecreateSalesLinesHandleSupplementTypesOnAfterCalcShouldCreateSalsesLine(var TempSalesLine: Record "Sales Line"; var ShouldCreateSalsesLine: Boolean; var SalesLine: Record "Sales Line")(integration): Raised after calculating whether to create a sales line when handling supplement types during recreation.OnSetBillToCustomerAddressFieldsFromCustomerOnAfterAssignBillToCustomerAddress(var SalesHeader: Record "Sales Header"; Customer: Record Customer)(integration): Raised after assigning the bill-to customer address from the customer record.OnSetShipToCustomerAddressFieldsFromShipToAddrOnAfterCalcShouldCopyLocationCode(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; ShipToAddress: Record "Ship-to Address"; var ShouldCopyLocationCode: Boolean; var ShouldCopySalespersonCode: Boolean)+ BC25 − BC25 (integration): Raised after calculating whether to copy location code and salesperson code from ship-to address.OnTestStatusIsNotPendingApproval(SalesHeader: Record "Sales Header"; var NotPending: Boolean)(integration): Raised to test if the status is not pending approval.OnTestStatusIsNotPendingPrepayment(SalesHeader: Record "Sales Header"; var NotPending: Boolean)(integration): Raised to test if the status is not pending prepayment.OnTestStatusIsNotReleased(SalesHeader: Record "Sales Header"; var NotReleased: Boolean)(integration): Raised to test if the status is not released.OnUpdateAllLineDimOnAfterSalesLineModify(var SalesLine: Record "Sales Line")(integration): Raised after modifying a sales line when updating all line dimensions.OnUpdateAllLineDimOnBeforeSalesLineModify(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line")(integration): Raised before modifying a sales line when updating all line dimensions.OnUpdateSalesLinesByFieldNoOnBeforeSalesLineModify(var SalesLine: Record "Sales Line"; ChangedFieldNo: Integer; CurrentFieldNo: Integer)(integration): Raised before modifying a sales line when updating sales lines by field number.OnUpdateSalesLinesByFieldNoOnAfterCalcShouldConfirmReservationDateConflict(var SalesHeader: Record "Sales Header"; ChangedFieldNo: Integer; var ShouldConfirmReservationDateConflict: Boolean)(integration): Raised after calculating whether to confirm a reservation date conflict when updating sales lines by field number.OnUpdateBillToCustOnBeforeContactIsNotRelatedToAnyCostomerErr(var SalesHeader: Record "Sales Header"; Contact: Record Contact; var ContactBusinessRelation: Record "Contact Business Relation"; var IsHandled: Boolean)(integration): Raised before displaying an error that the contact is not related to any customer when updating bill-to customer.OnUpdateBillToCustOnBeforeFindContactBusinessRelation(Contact: Record Contact; var ContBusinessRelation: Record "Contact Business Relation"; var ContactBusinessRelationFound: Boolean; var IsHandled: Boolean)(integration): Raised before finding the contact business relation when updating bill-to customer.OnUpdateSellToCustOnAfterSetFromSearchContact(var SalesHeader: Record "Sales Header"; var SearchContact: Record Contact)(integration): Raised after setting the sales header from a search contact when updating sell-to customer.OnUpdateSellToCustOnAfterSetShipToAddress(var SalesHeader: Record "Sales Header"; var SearchContact: Record Contact)(integration): Raised after setting the ship-to address when updating sell-to customer.OnUpdateSellToCustOnAfterSetSellToContactNo(var SalesHeader: Record "Sales Header"; var Customer: Record Customer; var Cont: Record Contact; var IsHandled: Boolean)(integration): Raised after setting the sell-to contact number when updating sell-to customer.OnUpdateSellToCustOnBeforeContactIsNotRelatedToAnyCostomerErr(var SalesHeader: Record "Sales Header"; Contact: Record Contact; var ContactBusinessRelation: Record "Contact Business Relation"; var IsHandled: Boolean)(integration): Raised before displaying an error that the contact is not related to any customer when updating sell-to customer.OnUpdateSellToCustOnBeforeFindContactBusinessRelation(Cont: Record Contact; var ContBusinessRelation: Record "Contact Business Relation"; var ContactBusinessRelationFound: Boolean; var IsHandled: Boolean)(integration): Raised before finding the contact business relation when updating sell-to customer.OnValidateBillToCustomerNoOnAfterConfirmed(var SalesHeader: Record "Sales Header")(integration): Raised after confirming the bill-to customer number change.OnValidatePaymentTermsCodeOnBeforeCalcDueDate(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CalledByFieldNo: Integer; CallingFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before calculating the due date when validating payment terms code.OnValidatePaymentTermsCodeOnBeforeCalcPmtDiscDate(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CalledByFieldNo: Integer; CallingFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before calculating the payment discount date when validating payment terms code.OnValidatePaymentTermsCodeOnBeforeValidateDueDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the due date when validating payment terms code.OnValidatePaymentTermsCodeOnBeforeValidateDueDateWhenBlank(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the due date when payment terms code is blank.OnValidatePostingDateOnBeforeAssignDocumentDate(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before assigning the document date when validating posting date.OnValidatePostingDateOnBeforeResetInvoiceDiscountValue(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised before resetting the invoice discount value when validating posting date.OnValidatePostingDateOnBeforeCheckNeedUpdateCurrencyFactor(var SalesHeader: Record "Sales Header"; var IsConfirmed: Boolean; var NeedUpdateCurrencyFactor: Boolean; xSalesHeader: Record "Sales Header")(integration): Raised before checking if the currency factor needs to be updated when validating posting date.OnValidatePaymentTermsCodeOnBeforeCalculatePrepaymentDueDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before calculating the prepayment due date when validating payment terms code.OnValidatePricesIncludingVATOnBeforeSalesLineModify(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; Currency: Record Currency; RecalculatePrice: Boolean)(integration): Raised before modifying a sales line when validating prices including VAT.- subscribers: Codeunit 8069 “Sales Subscription Line Mgmt.” RecalculateSalesSubscriptionLineAmountsOnBeforeSalesLineModify
OnValidateShippingAgentCodeOnBeforeUpdateLines(var SalesHeader: Record "Sales Header"; CallingFieldNo: Integer; HideValidationDialog: Boolean)(integration): Raised before updating lines when validating shipping agent code.OnBeforeGetFullDocTypeTxt(var SalesHeader: Record "Sales Header"; var FullDocTypeTxt: Text; var IsHandled: Boolean)(integration): Raised before getting the full document type text.OnCollectParamsInBufferForCreateDimSetOnBeforeInsertTempSalesLineInBuffer(var GenPostingSetup: Record "General Posting Setup"; var DefaultDimension: Record "Default Dimension")(integration): Raised before inserting a temporary sales line in the buffer when collecting parameters for creating a dimension set.OnBeforeCopyDocument(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before copying a document.OnBeforeUpdateBillToCust(var SalesHeader: Record "Sales Header"; ContactNo: Code[20]; var IsHandled: Boolean)(integration): Raised before updating the bill-to customer.OnRecreateSalesLinesOnBeforeTempSalesLineFindSet(var TempSalesLine: Record "Sales Line" temporary; var SalesLine: Record "Sales Line")+ BC28 − BC28 (integration): Raised before finding the temporary sales line set during recreation.OnBeforeCheckContactRelatedToCustomerCompany(SalesHeader: Record "Sales Header"; CurrFieldNo: Integer; var IsHandled: Boolean; ContactNo: Code[20]; CustomerNo: Code[20])(integration): Raised before checking if a contact is related to a customer company.OnBeforeShowModifyAddressNotification(var IsHandled: Boolean; SalesHeader: Record "Sales Header"; CustomerNumber: Code[20])(integration): Raised before showing the modify address notification.OnShowDocDimOnBeforeUpdateSalesLines(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised before updating sales lines when showing document dimensions.OnBeforeConfirmRecalculatePrice(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrFieldNo: Integer; var Result: Boolean; var HideValidationDialog: Boolean; var IsHandled: Boolean)(integration): Raised before confirming price recalculation.OnUpdateAllLineDimOnBeforeGetSalesLineNewDimSetID(var SalesLine: Record "Sales Line"; NewParentDimSetID: Integer; OldParentDimSetID: Integer)(integration): Raised before getting a new dimension set ID for a sales line when updating all line dimensions.OnUpdateAllLineDimOnAfterGetSalesLineNewDimsetID(SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; var NewDimSetID: Integer; NewParentDimSetID: Integer; OldParentDimSetID: Integer)(integration): Raised after getting a new dimension set ID for a sales line when updating all line dimensions.OnBeforeValidateShippingNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the shipping number series.OnBeforeRename(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; xSalesHeader: Record "Sales Header")(integration): Raised before renaming the sales header.OnBeforeLookupBillToContactNo(var IsHandled: Boolean; var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised before looking up the bill-to contact number.OnBeforeUpdateOpportunity(var IsHandled: Boolean; var SalesHeader: Record "Sales Header")(integration): Raised before updating the opportunity.OnBeforeCheckPromisedDeliveryDate(var IsHandled: Boolean; var SalesHeader: Record "Sales Header")(integration): Raised before checking the promised delivery date.OnBeforeUpdateShipToAddressFromSellToAddress(var SalesHeader: Record "Sales Header"; FieldNumber: Integer; var IsHandled: Boolean)(integration): Raised before updating the ship-to address from the sell-to address.OnBeforeUpdateShipToSalespersonCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC24 (integration): Raised before updating the ship-to salesperson code.OnBeforeSetSalespersonCode(var SalesHeader: Record "Sales Header"; SalesPersonCodeToCheck: Code[20]; var SalesPersonCodeToAssign: Code[20]; var IsHandled: Boolean)(integration): Raised before setting the salesperson code.OnAfterUpdateShipToAddressFromSellToAddress(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; FieldNumber: Integer)(integration): Raised after updating the ship-to address from the sell-to address.OnBeforeValidateShipToCode(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; Cust: Record Customer; ShipToAddr: Record "Ship-to Address"; var IsHandled: Boolean)(integration): Raised before validating the ship-to code.OnValidateSellToCustomerNoOnBeforeCheckBlockedCustOnDocs(var SalesHeader: Record "Sales Header"; var Cust: Record Customer; var IsHandled: Boolean)(integration): Raised before checking if the customer is blocked on documents when validating sell-to customer number.OnValidateBillToCustomerNoOnBeforeCheckBlockedCustOnDocs(var SalesHeader: Record "Sales Header"; var Cust: Record Customer; var IsHandled: Boolean)(integration): Raised before checking if the customer is blocked on documents when validating bill-to customer number.OnBeforeSetBillToCustomerAddressFieldsFromCustomer(var SalesHeader: Record "Sales Header"; var BillToCustomer: Record Customer; var SkipBillToContact: Boolean; var IsHandled: Boolean; xSalesHeader: Record "Sales Header"; var GLSetup: Record "General Ledger Setup"; CurrentFieldNo: Integer)(integration): Raised before setting bill-to customer address fields from the customer record.OnValidateBillToCustomerNoOnBeforeRecallModifyAddressNotification(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised before recalling the modify address notification when validating bill-to customer number.OnBeforeValidateBillToName(var SalesHeader: Record "Sales Header"; var Customer: Record Customer; var IsHandled: Boolean; xSalesHeader: Record "Sales Header")Δ BC27 (integration, obsolete 27.0): Raised before validating the bill-to name.OnValidateShipToCodeOnBeforeValidateTaxLiable(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised before validating tax liable when validating the ship-to code.OnValidateShipToCodeOnBeforeCopyShipToAddress(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; var CopyShipToAddress: Boolean)(integration): Raised before copying the ship-to address when validating the ship-to code.OnBeforeValidateShipmentMethodCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the shipment method code.OnBeforeValidateShippingAgentCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer)(integration): Raised before validating the shipping agent code.OnInitRecordOnBeforeAssignWorkDateToPostingDate(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before assigning the work date to the posting date during record initialization.OnBeforeSetBillToCustomerNo(var SalesHeader: Record "Sales Header"; var Cust: Record Customer; var IsHandled: Boolean; xSalesHeader: Record "Sales Header"; var CurrentFieldNo: Integer)(integration): Raised before setting the bill-to customer number.OnBeforeValidateShippingAgentServiceCode(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the shipping agent service code.OnBeforeValidatePrepmtPaymentTermsCode(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CalledByFieldNo: Integer; CallingFieldNo: Integer; UpdateDocumentDate: Boolean; var IsHandled: Boolean)(integration): Raised before validating the prepayment payment terms code.OnAfterRecreateSalesLines(var SalesHeader: Record "Sales Header"; ChangedFieldName: Text[100])(integration): Raised after recreating sales lines.- subscribers: Codeunit 205 “Alt. Cust. VAT Reg. Doc. Impl.” SetSalesLineRecreatedOnAfterRecreateSalesLines
OnAfterSetSellToCustomerFromFilter(var SalesHeader: Record "Sales Header")(integration): Raised after setting the sell-to customer from a filter.OnBeforeCalcInvDiscForHeader(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before calculating the invoice discount for the header.OnBeforeCouldDimensionsBeKept(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before determining if dimensions could be kept.OnBeforeConfirmBillToCustomerChange(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrFieldNo: Integer; var Confirmed: Boolean; var IsHandled: Boolean)(integration): Raised before confirming the bill-to customer change.OnValidateSellToCustomerNoOnBeforeRecallModifyAddressNotification(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised before recalling the modify address notification when validating sell-to customer number.OnCheckCreditMaxBeforeInsertOnCaseIfOnBeforeSalesHeaderCheckCase(var SalesHeader: Record "Sales Header"; Rec: Record "Sales Header")(integration): Raised before checking the sales header case during credit max check before insert.OnCheckCustomerCreatedOnAfterConfirmProcess(var SalesHeader: Record "Sales Header")(integration): Raised after confirming the customer creation process.OnPrepmtPaymentTermsCodeOnCaseElseOnBeforeValidatePrepaymentDueDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the prepayment due date in the else case of prepayment payment terms code.OnValidatePrepmtPaymentTermsCodeOnCaseIfOnBeforeValidatePrepaymentDueDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the prepayment due date in the if case when validating prepayment payment terms code.OnAfterRecreateSalesLinesHandleSupplementTypes(var SalesHeader: Record "Sales Header")(integration): Raised after handling supplement types during sales lines recreation.OnAfterInitPostingNoSeries(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header")(integration): Raised after initializing the posting number series.OnBeforeInitFromBillToCustTemplate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var BillToCustTemplate: Record "Customer Templ.")(integration): Raised before initializing from the bill-to customer template.OnBeforeCopyFromNewSellToCustTemplate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var SellToCustTemplate: Record "Customer Templ.")(integration): Raised before copying from a new sell-to customer template.OnBeforeModifyCustomerAddress(var Rec: Record "Sales Header"; var xRec: Record "Sales Header")(integration): Raised before modifying the customer address.OnBeforeShouldCopyAddressFromBillToCustomer(BillToCustomer: Record Customer; Rec: Record "Sales Header"; xRec: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before determining if the address should be copied from the bill-to customer.OnBeforeBillToCustomerIsReplaced(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before determining if the bill-to customer is replaced.OnRecreateSalesLinesOnAfterFindSalesLine(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; ChangedFieldName: Text[100])(integration): Raised after finding a sales line during recreation.OnCopySelltoCustomerAddressFieldsFromCustomerOnBeforeAssignRespCenter(var SalesHeader: Record "Sales Header"; var SellToCustomer: Record Customer; var IsHandled: Boolean)(integration): Raised before assigning the responsibility center when copying sell-to customer address fields.OnBeforeValidateExternalDocumentNo(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the external document number.OnValidatePostingDateOnAfterCheckNeedUpdateCurrencyFactor(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var NeedUpdateCurrencyFactor: Boolean)(integration): Raised after checking if the currency factor needs to be updated when validating posting date.OnValidateSellToCustomerNoOnBeforeGetCust(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header")(integration): Raised before getting the customer when validating sell-to customer number.OnInitRecordOnBeforeAssignResponsibilityCenter(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before assigning the responsibility center during record initialization.OnValidateSellToCustomerNoOnBeforeValidateLocationCode(var SalesHeader: Record "Sales Header"; var Cust: Record Customer; var IsHandled: Boolean; xSalesHeader: Record "Sales Header"; var LocationCode: Code[10])+ BC25 − BC25 + BC27 − BC27 (integration): Raised before validating the location code when validating sell-to customer number.OnValidateSendICDocumentOnBeforeCheckICDirection(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking the IC direction when validating send IC document.OnAfterGetPstdDocLinesToReverse(var SalesHeader: Record "Sales Header")(integration): Raised after getting posted document lines to reverse.OnCopyShipToCustomerAddressFieldsFromCustOnBeforeValidateShippingAgentFields(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; SellToCustomer: Record Customer; var IsHandled: Boolean)(integration): Raised before validating shipping agent fields when copying ship-to customer address fields from customer.OnSetShipToCustomerAddressFieldsFromShipToAddrOnBeforeValidateShippingAgentFields(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; ShipToAddr: Record "Ship-to Address"; var IsHandled: Boolean)(integration): Raised before validating shipping agent fields when setting ship-to customer address fields from ship-to address.OnInitRecordOnBeforeGetNextArchiveDocOccurrenceNo(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before getting the next archive document occurrence number during record initialization.OnRecreateSalesLinesOnBeforeCopyReservEntryFromTemp(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; ChangedFieldName: Text[100])(integration): Raised before copying reservation entries from temporary records during sales lines recreation.OnBeforeCheckCustomerPostingGroupChange(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before checking if the customer posting group has changed.OnValidatePaymentTermsCodeOnAfterValidatePaymentDiscountWhenBlank(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer)(integration): Raised after validating the payment discount when payment terms code is blank.OnUpdateSalesLineAmountsOnAfterSalesLineSetFilters(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")(integration): Raised after setting sales line filters when updating sales line amounts.OnLookupAdjmtValueEntriesCaseDocumentTypeElse(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; QtyType: Option General,Invoicing)(integration): Raised for the else case of document type when looking up adjustment value entries.OnBeforeSalesLinesExist(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var Result: Boolean)(integration): Raised before checking if sales lines exist.OnBeforeValidateVATBaseDiscountPct(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the VAT base discount percentage.OnValidatePricesIncludingVATOnBeforeSalesLineFindFirst(var SalesLine: Record "Sales Line")(integration): Raised before finding the first sales line when validating prices including VAT.OnBeforeValidatePaymentMethodCode(var SalesHeader: Record "Sales Header"; PaymentMethod: Record "Payment Method"; var IsHandled: Boolean)(integration): Raised before validating the payment method code.OnBeforeOnInsert(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var InsertMode: Boolean)+ BC24 − BC24 (integration): Raised before the OnInsert trigger.OnValidateSellToCustomerNoOnBeforeUpdateSellToCont(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; SellToCustomer: Record Customer; var SkipSellToContact: Boolean)(integration): Raised before updating the sell-to contact when validating sell-to customer number.OnDeferralHeadersExistOnAfterSetFilters(var SalesHeader: Record "Sales Header"; var DeferralHeader: Record "Deferral Header")(integration): Raised after setting filters when checking if deferral headers exist.OnCopySellToCustomerAddressFieldsFromCustomerOnBeforeUpdateLocation(var SalesHeader: Record "Sales Header"; var SellToCustomer: Record Customer; var IsHandled: Boolean)(integration): Raised before updating the location when copying sell-to customer address fields.OnValidateVATReportingDateOnBeforeInitVATDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before initializing the VAT date when validating VAT reporting date.OnShowDocDimOnBeforeSalesHeaderModify(var SalesHeader: Record "Sales Header")(integration): Raised before modifying the sales header when showing document dimensions.OnCreateDimSetForPrepmtAccDefaultDimOnBeforeTempSalesLineCreateDim(var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; SalesLine: Record "Sales Line")(integration): Raised before creating dimensions on a temporary sales line for prepayment account default dimensions.OnBeforeInitDefaultDimensionSources(var SalesHeader: Record "Sales Header"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer)(integration): Raised before initializing default dimension sources.OnValidateSelltoContactNoOnBeforeValidateSalespersonCode(var SalesHeader: Record "Sales Header"; Contact: Record Contact; var IsHandled: Boolean)(integration): Raised before validating the salesperson code when validating sell-to contact number.OnCreateInvtPutAwayPickOnBeforeTestingStatus(var SalesHeader: Record "Sales Header")(integration): Raised before testing the status when creating inventory put-away or pick.OnSendToPostingOnAfterPost(var SalesHeader: Record "Sales Header"; IsSuccess: Boolean)+ BC28 − BC28 (integration): Raised after posting when sending to posting.OnBeforeCheckItemAvailabilityInLines(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration): Raised before checking item availability in lines.OnValidateSellToCustomerNoOnAfterTestStatusOpen(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised after testing status open when validating sell-to customer number.OnValidateBillToCustomerNoOnAfterCheckBilltoCustomerNoChanged(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrFieldNo: Integer; var IsHandled: Boolean; var IsHandledDoExist: Boolean)+ BC26 − BC26 (integration): Raised after checking if bill-to customer number changed when validating bill-to customer number.OnValidateSellToContactNoOnAfterContCheckIfPrivacyBlockedGeneric(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised after checking if contact is privacy blocked when validating sell-to contact number.OnRecreateSalesLinesHandleSupplementTypesOnAfterCreateSalesLine(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary)(integration): Raised after creating a sales line when handling supplement types during recreation.OnBeforeConfirmCloseUnposted(var SalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)+ BC28 (integration): Raised before confirming close unposted.OnBeforeGetFilterCustNo(var SalesHeader: Record "Sales Header")+ BC28 (integration): Raised before getting filter customer number.OnConfirmCloseUnpostedOnSalesLinesExist(var SalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised when confirming close unposted and sales lines exist.OnBeforeResetInvoiceDiscountValue(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before resetting the invoice discount value.OnCreateSalesLineOnBeforeAssignType(var SalesLine: Record "Sales Line"; TempSalesLine: Record "Sales Line" temporary; var SalesHeader: Record "Sales Header")Δ BC24 (integration): Raised before assigning the type when creating a sales line.OnCreateSalesLineOnBeforeValidateShipmentDate(var SalesLine: Record "Sales Line"; TempSalesLine: Record "Sales Line" temporary; SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before validating the shipment date when creating a sales line.OnCreateSalesLineOnBeforeSetDropShipment(var SalesLine: Record "Sales Line"; TempSalesLine: Record "Sales Line" temporary; var IsHandled: Boolean)(integration): Raised before setting the drop shipment flag when creating a sales line.OnCreateSalesLineOnAfterValidateNo(var SalesLine: Record "Sales Line"; TempSalesLine: Record "Sales Line" temporary)(integration): Raised after validating the number field when creating a sales line.OnCheckCustomerCreatedOnBeforeConfirmProcess(SalesHeader: Record "Sales Header"; var Prompt: Boolean; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before confirming the customer creation process.OnBeforeConfirmUpdateDeferralDate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before confirming the deferral date update.OnBeforeSetCompanyBankAccount(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration): Raised before setting the company bank account.OnUpdateSellToCustOnAfterFindContactBusinessRelation(SalesHeader: Record "Sales Header"; Contact: Record Contact; var ContactBusinessRelation: Record "Contact Business Relation"; var ContactBusinessRelationFound: Boolean)(integration): Raised after finding the contact business relation when updating sell-to customer.OnUpdateBillToCustOnAfterFindContactBusinessRelation(SalesHeader: Record "Sales Header"; Contact: Record Contact; var ContactBusinessRelation: Record "Contact Business Relation"; var ContactBusinessRelationFound: Boolean)(integration): Raised after finding the contact business relation when updating bill-to customer.OnCopyShipToCustomerAddressFieldsFromCustOnAfterAssignAddressFromSellToCustomer(var SalesHeader: Record "Sales Header"; SellToCustomer: Record Customer)(integration): Raised after assigning the address from sell-to customer when copying ship-to customer address fields.OnBeforeHasSellToAddress(var SalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before checking if the sales header has a sell-to address.OnBeforeHasShipToAddress(var SalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before checking if the sales header has a ship-to address.OnBeforeHasBillToAddress(var SalesHeader: Record "Sales Header"; var Result: Boolean; var IsHandled: Boolean)(integration): Raised before checking if the sales header has a bill-to address.OnAfterSetShipToAddress(var SalesHeader: Record "Sales Header")(integration): Raised after setting the ship-to address.OnBeforeValidateShipmentDate(var SalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)(integration): Raised before validating the shipment date.OnBeforeValidatePaymentDiscount(var SalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)+ BC24 (integration): Raised before validating the payment discount.OnBeforeUpdateSalesOrderLineIfExist(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC24 (integration): Raised before updating sales order lines if they exist.OnBeforeLinkSalesDocWithOpportunity(var SalesHeader: Record "Sales Header"; OldOpportunityNo: Code[20]; var IsHandled: Boolean)+ BC24 (integration): Raised before linking a sales document with an opportunity.OnBeforeUpdateVATReportingDate(var SalesHeader: Record "Sales Header"; CalledByFieldNo: Integer; var IsHandled: Boolean)+ BC24 (integration): Raised before updating the VAT reporting date.OnBeforeSendToPosting(var SalesHeader: Record "Sales Header"; var IsSuccess: Boolean; var IsHandled: Boolean; PostingCodeunitID: Integer)+ BC24 (integration): Raised before sending the document to posting.OnUpdateSellToCustOnBeforeValidateBillToContactNo(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC24 (integration): Raised before validating the bill-to contact number when updating sell-to customer.OnBeforePerformManualRelease(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC25 (integration): Raised before performing a manual release.OnBeforeIsNotFullyCancelled(var SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var Result: Boolean; var IsHandled: Boolean)+ BC25 Δ BC27 (integration, obsolete 27.0): Raised before checking if the document is not fully cancelled.OnCheckCreditLimitOnAfterCreditLimitCheck(var SalesHeader: Record "Sales Header")+ BC25 (integration): Raised after the credit limit check.OnBeforeCreateDimFromDefaultDim(var Rec: Record "Sales Header"; FieldNo: Integer; var IsHandled: Boolean)+ BC25 (integration): Raised before creating dimensions from default dimensions.- subscribers: Codeunit 8074 “Document Change Management” PreventExistingDimensionsAfterChangingResponsibilityCenter
OnBeforeValidateCustomerDiscGroup(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CurrentFieldNo: Integer; var IsHandled: Boolean)+ BC25 (integration): Raised before validating the customer discount group.OnBeforeSetWorkDescription(var SalesHeader: Record "Sales Header"; var NewWorkDescription: Text)+ BC25 (integration): Raised before setting the work description.OnBeforeLookupPrepmtCrMemoNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC25 (integration): Raised before looking up the prepayment credit memo number series.OnBeforeValidatePrepmtCrMemoNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC25 (integration): Raised before validating the prepayment credit memo number series.OnCalcOutstandingQuantityBaseOnAfterSalesLineSetFilters(var SalesLine: Record "Sales Line")+ BC26 Δ BC27 (integration, obsolete 27.0): Raised after setting sales line filters when calculating outstanding quantity base.OnBeforeCalculateReservableOutstandingQuantityBase(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var OutstandingQtyBase: Decimal)+ BC27 (integration): Raised before calculating the reservable outstanding quantity base.OnBeforeModifyBillToCustomerAddress(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC26 (integration): Raised before modifying the bill-to customer address.OnAfterValidateAppliesToDocNo(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; CustLedgEntry: Record "Cust. Ledger Entry")+ BC27 (integration): Raised after validating the applies-to document number.OnBeforeLookupPrepmtNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC26 (integration): Raised before looking up the prepayment number series.OnBeforeValidatePrepmtNoSeries(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC26 (integration): Raised before validating the prepayment number series.OnCopySellToCustomerFilterOnAfterGetSellToCustomerFilter(var SalesHeader: Record "Sales Header"; var SellToCustomerFilter: Text)+ BC26 (integration): Raised after getting the sell-to customer filter when copying.OnBeforeSetSellToCustomerFromFilter(var SalesHeader: Record "Sales Header")+ BC26 (integration): Raised before setting the sell-to customer from a filter.OnLookupSellToCustomerNameOnBeforeSelectCustomer(SalesHeader: Record "Sales Header"; var Customer: Record Customer; var CustomerName: Text)+ BC26 (integration): Raised before selecting a customer when looking up sell-to customer name.OnCalcQuoteValidUntilDateOnBeforeAssign(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var QuoteValidityCalculation: DateFormula; UpdateDocumentDate: Boolean)+ BC28 (integration)OnBeforeResponsibilityCenterValidate(var SalesHeader: Record "Sales Header"; xSalesHeader: Record "Sales Header"; var IsHandled: Boolean)+ BC28 (integration)
Trigger event subscribers
- OnAfterDeleteEvent: Codeunit 1173 “Document Attachment Mgmt” DeleteAttachedDocumentsOnAfterDeleteSalesHeader, Codeunit 1637 “Office Document Handler” OnDeleteInvoice, Codeunit 1637 “Office Document Handler” UnlinkOfficeDocumentOnAfterDeleteSalesHeader, Codeunit 30262 “Shpfy Document Link Mgt.” OnDeleteSalesHeader, Codeunit 5341 “CRM Int. Table. Subscriber” HandleOnAfterDeleteAfterPosting, Codeunit 5477 “Sales Invoice Aggregator” OnAfterDeleteSalesHeader, Codeunit 5496 “Graph Mgt - Sales Order Buffer” OnAfterDeleteSalesHeader, Codeunit 5506 “Graph Mgt - Sales Quote Buffer” OnAfterDeleteSalesHeader, Codeunit 5508 “Graph Mgt - Sal. Cr. Memo Buf.” OnAfterDeleteSalesHeader, Codeunit 8028 “Usage Based Contr. Subscribers” RemoveDocumentNoFromUsageDataBillingOnAfterDeleteEventSalesHeader
- OnAfterInsertEvent: Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForSalesHeaderInsert, Codeunit 1508 “Notification Lifecycle Handler” OnAfterSalesHeaderInsertSetRecId, Codeunit 1637 “Office Document Handler” GenerateLinesOnAfterInsertSalesHeader, Codeunit 1637 “Office Document Handler” OnNewInvoice, Codeunit 5477 “Sales Invoice Aggregator” OnAfterInsertSalesHeader, Codeunit 5496 “Graph Mgt - Sales Order Buffer” OnAfterInsertSalesHeader, Codeunit 5506 “Graph Mgt - Sales Quote Buffer” OnAfterInsertSalesHeader, Codeunit 5508 “Graph Mgt - Sal. Cr. Memo Buf.” OnAfterInsertSalesHeader
- OnAfterModifyEvent: Codeunit 4306 “SOA Session Filter” VerifySameCustomer, Codeunit 4600 “SOA Document Events” OnChangeSalesHeader, Codeunit 5477 “Sales Invoice Aggregator” OnAfterModifySalesHeader, Codeunit 5496 “Graph Mgt - Sales Order Buffer” OnAfterModifySalesHeader, Codeunit 5506 “Graph Mgt - Sales Quote Buffer” OnAfterModifySalesHeader, Codeunit 5508 “Graph Mgt - Sal. Cr. Memo Buf.” OnAfterModifySalesHeader, Codeunit 6721 “Booking Manager” OnAfterModifySalesHeader
- OnAfterRenameEvent: Codeunit 1550 “Record Restriction Mgt.” UpdateSalesHeaderRestrictionsAfterRename
- OnAfterValidateEvent(Responsibility Center): Codeunit 8001 “Sub. Contr. Renewal Subcribers” ClearAllowChangingResponsibilityCenter
- OnAfterValidateEvent(Sell-to Customer No.): Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForSalesHeaderCustomerChg
- OnBeforeDeleteEvent: Codeunit 1550 “Record Restriction Mgt.” RemoveSalesHeaderRestrictionsBeforeDelete, Codeunit 5343 “CRM Sales Order to Sales Order” RemoveCouplingToCRMSalesOrderOnSalesHeaderDelete, Codeunit 6721 “Booking Manager” OnDeleteSalesInvoice, Codeunit 8063 “Sales Documents” SalesHeaderOnBeforeDeleteEvent, Codeunit 9003 “Team Member Action Manager” OnBeforeSalesHeaderDelete
- OnBeforeInsertEvent: Codeunit 4812 “Intrastat Report Doc. Compl.” DefaultSalesDocuments, Codeunit 9003 “Team Member Action Manager” OnBeforeSalesHeaderInsert
- OnBeforeModifyEvent: Codeunit 8074 “Document Change Management” PreventChangeSalesHeader
- OnBeforeValidateEvent(Bill-to Address 2): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoAddress2
- OnBeforeValidateEvent(Bill-to Address): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoAddress
- OnBeforeValidateEvent(Bill-to City): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoCity
- OnBeforeValidateEvent(Bill-to Contact No.): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoContactNo
- OnBeforeValidateEvent(Bill-to Contact): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoContact
- OnBeforeValidateEvent(Bill-to Country/Region Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoCountryRegionCode
- OnBeforeValidateEvent(Bill-to County): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoCounty
- OnBeforeValidateEvent(Bill-to Customer No.): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoCustomerNo
- OnBeforeValidateEvent(Bill-to Customer Templ. Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoCustomerTemplateCode
- OnBeforeValidateEvent(Bill-to Name 2): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoName2
- OnBeforeValidateEvent(Bill-to Name): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoName
- OnBeforeValidateEvent(Bill-to Post Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrBilltoPostCode
- OnBeforeValidateEvent(Currency Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrCurrencyCode
- OnBeforeValidateEvent(Customer Posting Group): Codeunit 8074 “Document Change Management” SalesHeaderOnBeforeValidateSCustomerPostingGroup
- OnBeforeValidateEvent(Dimension Set ID): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrDimensionSetD
- OnBeforeValidateEvent(EU 3-Party Trade): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrEU3PartyTrade
- OnBeforeValidateEvent(Gen. Bus. Posting Group): Codeunit 8074 “Document Change Management” SalesHeaderOnBeforeValidateGenBusPostingGroup
- OnBeforeValidateEvent(Prices Including VAT): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrPricesIncludingVAT
- OnBeforeValidateEvent(Responsibility Center): Codeunit 8001 “Sub. Contr. Renewal Subcribers” AllowChangingResponsibilityCenter
- OnBeforeValidateEvent(Sell-to Address 2): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoAddress2
- OnBeforeValidateEvent(Sell-to Address): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoAddress
- OnBeforeValidateEvent(Sell-to City): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoCity
- OnBeforeValidateEvent(Sell-to Contact No.): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoContactNo
- OnBeforeValidateEvent(Sell-to Contact): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoContact
- OnBeforeValidateEvent(Sell-to Country/Region Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoCountryRegionCode
- OnBeforeValidateEvent(Sell-to County): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoCounty
- OnBeforeValidateEvent(Sell-to Customer Name 2): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoCustomerName2
- OnBeforeValidateEvent(Sell-to Customer Name): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoCustomerName
- OnBeforeValidateEvent(Sell-to Customer No.): Codeunit 8074 “Document Change Management” PreventSelltoCustomerNo
- OnBeforeValidateEvent(Sell-to Customer Templ. Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoCustomerTemplateCode
- OnBeforeValidateEvent(Sell-to Post Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrSelltoPostCode
- OnBeforeValidateEvent(Shortcut Dimension 1 Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrShortcutDimension1Code
- OnBeforeValidateEvent(Shortcut Dimension 2 Code): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrShortcutDimension2Code
- OnBeforeValidateEvent(Transaction Type): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrTransactionType
- OnBeforeValidateEvent(Transport Method): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrTransportMethod
- OnBeforeValidateEvent(VAT Bus. Posting Group): Codeunit 8074 “Document Change Management” PreventChangeSalesHdrVATBusPostingGroup, Codeunit 8074 “Document Change Management” SalesHeaderOnBeforeValidateVATBusPostingGroup
Procedures
InitInsert(): Initializes a new sales header with a new document number from the number series.InitRecord(): Initializes a new sales header with default values.InitPostingDescription(): Initializes the posting description with formatted document type and number text for the sales header.SetStandardCodesMgt(var StandardCodesMgtNew: Codeunit "Standard Codes Mgt."): Sets global StandardCodesMgtGlobal codeunit to a new instance.AssistEdit(OldSalesHeader: Record "Sales Header"): Boolean: Opens a page to select related number series for the sales header and updates the document number with the selected number series.TestNoSeries(): Checks if the number series for different types of sales documents are filled in the sales setup.GetNoSeriesCode(): Code[20]: Returns the number series code from the sales setup based on the document type of the sales header.TestNoSeriesDate(No: Code[20]; NoSeriesCode: Code[20]; NoCapt: Text[1024]; NoSeriesCapt: Text[1024]): Checks if the number series has to be assigned chronologically after various documents are already posted.ConfirmDeletion(): Boolean: Opens a confirmation dialog to confirm the deletion of the sales header. This check is to confirm with the user that gaps will happen in the posted documents if the document is deleted.GetCust(CustNo: Code[20]): Record Customer: Updates the global Customer record. Record will not be retrieved if document type is quote and provided customer no is blank.SalesLinesExist(): Boolean: Checks if any sales lines exists for sales header.RecreateSalesLines(ChangedFieldName: Text[100]): Recreates sales lines for a sales document when the provided field in the sales header is changed.StoreSalesCommentLineToTemp(var TempSalesCommentLine: Record "Sales Comment Line" temporary): Inserts existing sales comment lines into a temporary record.RestoreSalesCommentLine(var TempSalesCommentLine: Record "Sales Comment Line" temporary; OldDocumnetLineNo: Integer; NewDocumentLineNo: Integer): Inserts sales comment lines for the sales line of the document. Lines are inserted from the provided temporary sales comment line record set.MessageIfSalesLinesExist(ChangedFieldName: Text[100]): Displays a message if sales lines exist for the sales header and the changed field was not updated on the lines.PriceMessageIfSalesLinesExist(ChangedFieldName: Text[100]): Displays a message to the user if there are existing sales lines and a provided field in the sales header has been changed, which might affect the prices and discounts on the sales lines.UpdateCurrencyFactor(): Updates currency factor on the sales header and recreates sales lines if the currency code has changed.ConfirmCurrencyFactorUpdate(): Updates currency factor on the sales header if confirmed by the user.SetHideValidationDialog(NewHideValidationDialog: Boolean): Sets the value of the global flag HideValidationDialog.GetHideValidationDialog(): Boolean: Returns the value of the global flag HideValidationDialog.SetHideCreditCheckDialogue(NewHideCreditCheckDialogue: Boolean): Sets the value of the global flag HideCreditCheckDialogue.GetHideCreditCheckDialogue(): Boolean: Returns the value of the global flag HideCreditCheckDialogue.UpdateLocationCode(LocationCode: Code[10]): Updates the location code with the specified location code. If it’s empty, it takes location code from user setup management.UpdateSalesLines(ChangedFieldName: Text[100]; AskQuestion: Boolean): Updates sales lines to reflect changes in the sales header field. Optionally the confirmation is raised, for the user to confirm the update of lines.UpdateSalesLinesByFieldNo(ChangedFieldNo: Integer; AskQuestion: Boolean): Updates sales lines based on the provided field number.ConfirmReservationDateConflict(): Raises a confirmation informing the user that reservations may be canceled if the change in the field causes a date conflict. Confirmation is only raised if reservations exist. If not confirmed, the execution stops.CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]): Creates and assigns dimensions for the sales header based on the provided default dimension sources.ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Verifies whether the provided shortcut dimension code and value are valid. If valid, assigns it to the sales document.ShippedSalesLinesExist(): Boolean: Determines if sales lines that are already shipped exist.ReturnReceiptExist(): Boolean: Determines if sales lines that are already returned exist.DeleteAllSalesLines(): Deletes all sales lines, reservation, and comment lines for the document.CheckCustomerCreated(Prompt: Boolean): Boolean: Checks if sell-to and bill-to customer numbers are filled. If not, it creates customers based on the associated contact and customer template, and assigns the new customer number to the document.RecreateReqLine(var TempReqLine: Record "Requisition Line" temporary; OldSalesLine: Record "Sales Line"; NewSourceRefNo: Integer; ToTemp: Boolean)+ BC25 Δ BC25 − BC28: Recreates requisition lines linked to a sales line, either shifting them to a temporary table or back based on the provided ToTemp flag, updating the order promising line ID in the process.TestPostingDate(BatchPost: Boolean)+ BC27: Validates that the posting date matches the work date when posting date check is enabled in sales setup.UpdateSellToCont(CustomerNo: Code[20]): Updates the sell-to contact details of a sales header based on the provided customer number.UpdateBillToCont(CustomerNo: Code[20]): Updates the bill-to contact details of a sales header based on the provided customer number.UpdateSellToCust(ContactNo: Code[20]): Updates the sell-to customer details of a sales header based on the provided contact number.GetShippingTime(CalledByFieldNo: Integer): Updates the shipping time on the sales header.GetSellToCustomerFaxNo(): Text: Gets sell-to customer fax number.CheckCreditMaxBeforeInsert(): Checks the bill to customer credit limit and if credit limit is exceeded, creates a notification.CreateInvtPutAwayPick(): Creates inventory put-away, pick, or movement documents for a released sales document.CreateTask(): Starts the create task wizard with information from the sales header.UpdateShipToAddress(): Updates the ship-to address information if the sales header has a credit document type.ShowDocDim(): Opens a page for editing dimensions for the sales header. If dimensions are changed, they’re updated on the sales lines as well.UpdateAllLineDim(NewParentDimSetID: Integer; OldParentDimSetID: Integer): Updates the dimensions of sales lines in a sales document when the dimensions of the sales header are changed.LookupAdjmtValueEntries(QtyType: Option General,Invoicing): Opens a page with adjustment value entries related to the sales header.GetCustomerVATRegistrationNumber(): Text: Returns the VAT registration number from a sales header.GetCustomerVATRegistrationNumberLbl(): Text: Returns the VAT registration number field caption from a sales header.GetStatusStyleText(): Text: Returns customer global location number. Currently defined to return an empty value.GetPstdDocLinesToReverse(): Opens a page with posted document lines that can be reversed. After the user selects the lines, they are copied to the current document.CalcInvDiscForHeader(): Calculates invoice discount for a sales header if calculate invoice discount is enabled in the sales setup.SetSecurityFilterOnRespCenter(): Filters the sales header for responsibility center set in the user setup or company information. The filter is set in filter group 2 and is hidden from the user.SynchronizeForReservations(var NewSalesLine: Record "Sales Line"; OldSalesLine: Record "Sales Line"): Updates reservations data if location or bin have changed on the sales line.InventoryPickConflict(DocType: Enum "Sales Document Type"; DocNo: Code[20]; ShippingAdvice: Enum "Sales Header Shipping Advice"): Boolean: Determines if there is a conflict between inventory pick and sales line for a given sales document.WhseShipmentConflict(DocType: Enum "Sales Document Type"; DocNo: Code[20]; ShippingAdvice: Enum "Sales Header Shipping Advice"): Boolean: Determines if there is a conflict between warehouse shipment and sales line for a given sales document.CheckItemAvailabilityInLines(): Checks if all lines of the document are in stock. If the quantity in stock is too low, a notification is shown.QtyToShipIsZero(): Boolean: Determines if the quantity to ship is zero for all sales document lines.IsApprovedForPosting(): Boolean: Checks if the sales document can be posted. It checks for status, approvals, payments and prepayments, and throws an error if conditions are not met.IsApprovedForPostingBatch(): Boolean: Determines if the sales document can be posted. It checks for status, approvals, payments, and prepayments.GetLegalStatement(): Text: Returns legal statement from sales setup. Currently defined to return an empty value.SendToPosting(PostingCodeunitID: Integer): Boolean: Posts a sales document by running the provided codeunit if the document is approved for posting.CancelBackgroundPosting(): Cancels a background posting job for a sales document.EmailRecords(ShowDialog: Boolean): Sends an email with the sales document attached.GetDocTypeTxt(): Text[50]: Retrieves the full document type name based on the sales header document type.GetFullDocTypeTxt(): Text: Retrieves the full sales document type name based on the sales header document type.LinkSalesDocWithOpportunity(OldOpportunityNo: Code[20]): Updates the link between the sales document and an opportunity.SynchronizeAsmHeader(): Updates the posting date of related assembly headers with the sales header.CheckShippingAdvice(): Checks if the sales document can be shipped completely and throws an error if it cannot.GetContactAsCompany(Contact: Record Contact; var SearchContact: Record Contact): Boolean(protected): Retrieves the company contact associated with the provided contact.InvoicedLineExists(): Boolean: Determines whether there are invoiced sales lines for the sales header.CreateDimSetForPrepmtAccDefaultDim(): Updates dimensions on lines with prepayments.PrepareOpeningDocumentStatistics(): Runs checks and prepares data needed to open the document statistics page.CheckAvailableCreditLimit(): Decimal: Determines the available credit limit for the customer associated with the sales header.SetStatus(NewStatus: Option): Sets the status of a sales document.TransferItemChargeAssgntSalesToTemp(var ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)"; var TempItemChargeAssgntSales: Record "Item Charge Assignment (Sales)" temporary): Transfers item charge assignments to the temporary record set and deletes them from the original record.CheckSalesPostRestrictions(): Triggers the OnCheckSalesPostRestrictions event that allows customized restrictions to be added to the sales document post process.CustomerCreditLimitExceeded(): Triggers the OnCustomerCreditLimitExceeded event that allows a custom solution to be added when the calculated credit limit exceeds the customer’s credit limit.CustomerCreditLimitExceeded(NotificationId: Guid): Triggers the OnCustomerCreditLimitExceeded event that allows a custom solution to be added when the calculated credit limit exceeds the customer’s credit limit.CustomerCreditLimitNotExceeded(): Triggers the OnCustomerCreditLimitNotExceeded event that allows a custom solution to be added when the calculated credit limit not exceeds the customer’s credit limit.CheckSalesReleaseRestrictions(): Checks the sales document approvals if the status is open.DeferralHeadersExist(): Boolean: Determines whether there are related deferrals.SetSellToCustomerFromFilter(): Sets the sell-to customer number from the filter applied to the sell-to customer field if the filter is not blank.GetSellToCustomerFromFilter(): Code[20]: Retrieves the sell-to customer no. of a sales header based on a single-value filter applied to the sell-to customer no. field.CopySellToCustomerFilter(): Moves the filter on sell-to customer no. from the current filter group to filter group 2.BatchConfirmUpdateDeferralDate(var BatchConfirm: Option " ",Skip,Update; ReplacePostingDate: Boolean; PostingDateReq: Date; ReplaceVATDate: Boolean; VATDateReq: Date)− BC25: Raises a confirmation to update the deferral schedules on the lines to reflect the changed dates. If user confirms the update, the sales lines are updated.BatchConfirmUpdatePostingDate(ReplacePostingDate: Boolean; PostingDateReq: Date; ReplaceVATDate: Boolean; VATDateReq: Date; ReplaceDocDate: Boolean)+ BC25: Updates the posting date, VAT reporting date, and document date on the sales header during batch posting.GetSelectedPaymentServicesText(): Text: Retrieves the name of the payment service assigned to the document.SetDefaultPaymentServices(): Updates the payment service on the document with the default payment service from the setup.ChangePaymentServiceSetting(): Opens a page to either select an existing payment service or set up a new one if none exists. The payment service is then assigned to the document.IsCreditDocType(): Boolean: Check if sales header is credit document type. Credit documents are return orders and credit memos.HasSellToAddress(): Boolean: Determines if sales header has sell-to information.HasShipToAddress(): Boolean: Determines if sales header has ship-to information.HasBillToAddress(): Boolean: Determines if sales header has bill-to information.HasItemChargeAssignment(): Boolean: Determines if the sales header has any item charge assignments.CopyShipToCustomerAddressFieldsFromCust(var SellToCustomer: Record Customer): Updates sales header with data from provided sell-to customer record.SetShipToCustomerAddressFieldsFromShipToAddr(ShipToAddr: Record "Ship-to Address"): Updates the document’s shipping address from the provided ship-to address.SetBillToCustomerAddressFieldsFromCustomer(var BillToCustomer: Record Customer): Updates the billing information on the document from the provided bill-to customer.SetShipToAddress(ShipToName: Text[100]; ShipToName2: Text[50]; ShipToAddress: Text[100]; ShipToAddress2: Text[50]; ShipToCity: Text[30]; ShipToPostCode: Code[20]; ShipToCounty: Text[30]; ShipToCountryRegionCode: Code[10]): Sets the shipping address details for a sales header.ShipToAddressEqualsSellToAddress(): Boolean: Determines if sell-to address matches the ship-to address.BillToAddressEqualsSellToAddress(): Boolean: Determines if sell-to address matches the bill-to address.CopySellToAddressToShipToAddress(): Copies the sell-to address to the ship-to address.CopySellToAddressToBillToAddress(): Copies the sell-to address to the bill-to address if bill-to and sell-to customer numbers are the same.ConfirmCloseUnposted(): Boolean: Raises a dialog to confirm closing a page if unposted lines exist.InitFromSalesHeader(SourceSalesHeader: Record "Sales Header"): Initializes a sales header from the provided sales header.SetWorkDescription(NewWorkDescription: Text): Updates current sales header work description with the provided description.GetWorkDescription(): Text: Retrieves work description from the sales header.LookupContact(CustomerNo: Code[20]; ContactNo: Code[20]; var Contact: Record Contact): Filters the contact for the company number that is associated with either the customer or contact number.SetAllowSelectNoSeries(): Sets the global flag SelectNoSeriesAllowed to true.SetDefaultSalesperson(): Sets the default salesperson code for the sales header.GetUserSetupSalespersonCode(): Code[20]: Retrieves the salesperson code of the current user from the user setup.SelltoCustomerNoOnAfterValidate(var SalesHeader: Record "Sales Header"; var xSalesHeader: Record "Sales Header"): Removes the filter on customer number if the customer number has changed.PerformManualRelease(var SalesHeader: Record "Sales Header"): Releases the sales documents that are not yet released.PerformManualRelease(): Releases the sales document if it’s not already released.PerformManualReopen(var SalesHeader: Record "Sales Header"): Reopens sales documents that are not already open.SelectSalesHeaderNewCustomerTemplate(): Code[20]: Opens a page for selecting a customer template to use for creating a new customer.RecallModifyAddressNotification(NotificationID: Guid): Recalls a sent notification for the provided notification GUID.GetModifyCustomerAddressNotificationId(): Guid: Returns a GUID for a notification that warns if the sell-to address on sales documents is different from the customer’s existing address.GetModifyBillToCustomerAddressNotificationId(): Guid: Returns a GUID for a notification that warns if the bill-to address on sales documents is different from the customer’s existing address.GetLineInvoiceDiscountResetNotificationId(): Guid: Returns a GUID for a notification that warns if the invoice discount amount for the sales line record has been reset.GetWarnWhenZeroQuantitySalesLinePosting(): Guid: Returns a GUID for a notification that warns before posting lines on sales documents where quantity is 0.SetModifyCustomerAddressNotificationDefaultState(): Inserts the default notification to warn that sell-to address on sales documents is different from the customer’s existing address.SetModifyBillToCustomerAddressNotificationDefaultState(): Inserts the default notification to warn that bill-to address on sales documents is different from the customer’s existing address.SetShowExternalDocAlreadyExistNotificationDefaultState(DefaultState: Boolean)+ BC25: Sets the default state for the external document already exists notification in My Notifications.DontNotifyCurrentUserAgain(NotificationID: Guid): Disables a specified notification for the current user.HasDifferentSellToAddress(Customer: Record Customer): Boolean: Determines if the sell-to address matches the provided customer’s address.HasDifferentBillToAddress(Customer: Record Customer): Boolean: Determines if the bill-to address matches the provided customer’s address.HasDifferentShipToAddress(Customer: Record Customer): Boolean: Determines if the ship-to address matches the provided customer’s address.ShowInteractionLogEntries(): Opens the interaction log entries page where entries related to the sales document are displayed.GetBillToNo(): Code[20]: Retrieves the bill-to (customer or contact) number for a sales document.GetCurrencySymbol(): Text[10]: Gets the currency symbol for sales document. If currency symbol is not specified returns the currency code.UpdateShipToSalespersonCode(FieldNo: Integer)+ BC24 + BC25 Δ BC26 − BC29: Updates the salesperson code from either the ship-to addresses or bill-to customer’s salesperson.SetSalespersonCode(SalesPersonCodeToCheck: Code[20]; var SalesPersonCodeToAssign: Code[20]): Updates salesperson code. If the provided salesperson code privacy is not blocked, returns provided salesperson code, otherwise returns empty value to assign.ValidateSalesPersonOnSalesHeader(SalesHeader2: Record "Sales Header"; IsTransaction: Boolean; IsPostAction: Boolean): Checks if the document can be created/posted depending on the privacy blocked of the salesperson.ShouldSearchForCustomerByName(CustomerNo: Code[20]): Boolean: Determines whether a search for a customer should be performed by name for the provided customer number.CanCalculateTax(): Boolean: Returns the value of the global variable SkipTaxCalculation.SetSkipTaxCalulation(Skip: Boolean): Sets the value of the global variable SkipTaxCalculation.TestQuantityShippedField(SalesLine: Record "Sales Line"): Checks if the sales line quantity shipped is zero. If it is not, an error is raised.TestStatusIsNotPendingApproval(): Boolean: Determines if sales document status is not pending approval.TestStatusIsNotPendingPrepayment(): Boolean: Determines if sales document status is not pending prepayment.TestStatusIsNotReleased(): Boolean: Determines if sales document status is not released.TestStatusOpen()+ BC26: Checks if sales document status is open. If it is not, an error is raised.TestStatusOpen(ThrowErrorIfNot: Boolean): Boolean+ BC26: Checks if sales document status is open. If it is not, an error is raised.SuspendStatusCheck(Suspend: Boolean): Sets the value of the global flag StatusCheckSuspended.CheckForBlockedLines(): Checks if there are any blocked items or resources in the sales lines of the sales header.CopyDocument(): Runs the copy sales document report for the sales header.LookupSellToCustomerName(var CustomerName: Text): Boolean: Opens customer lookup page to select a customer.SetBillToCustomerNo(var Cust: Record Customer)Δ BC26: Sets the bill-to customer number based on the provided customer record.GetStatusCheckSuspended(): Boolean: Returns the value of the global flag StatusCheckSuspended.GetCalledFromWhseDoc(): Boolean: Returns the value of the global flag CalledFromWhseDoc.SetCalledFromWhseDoc(NewCalledFromWhseDoc: Boolean): Sets the value of the global flag CalledFromWhseDoc.GetUseDate(): Date: Returns the date to use for the sales document.InitPostingNoSeries(): Initializes the number series for sales document posting based on the document type.CreateDimFromDefaultDim(FieldNo: Integer): Initializes the dimensions for the document from default dimensions for the related entry specified in the field.SelltoContactLookup(): Boolean: Opens a contact lookup page and validates the sell-to contact number with the selected contact.SetWarnZeroQuantitySalesPosting(): Inserts the default notification to warn before posting lines on sales documents where quantity is 0.SalesLinesEditable(): Boolean: Determines if the sales lines are editable based on whether sell-to information is in the sales header.GetShowExternalDocAlreadyExistNotificationId(): Guid+ BC25: Returns the GUID for the external document already exists notification.UpdateSalesOrderLineIfExist()Δ BC24 Δ BC26: Updates the related sales order line if a posted credit memo exists for this document.GetQtyReservedFromStockState(): Enum "Reservation From Stock"(internal)CalculateReservableOutstandingQuantityBase(): Decimal+ BC27 (internal)SendICSalesDoc(var SalesHeader: Record "Sales Header")+ BC25: Sends filtered sales documents to intercompany partners through the IC inbox/outbox.
Plus 102 local procedures.
Triggers
OnDelete, OnInsert, OnRename
Relations
- lookup page Page 45 “Sales List”
- Shipment Method Code: TableRelation Table 10 “Shipment Method”
- Last Shipment Date: CalcFormula Table 110 “Sales Shipment Header”
- Last Shipping No.: TableRelation Table 110 “Sales Shipment Header”
- Last Posting No.: TableRelation Table 112 “Sales Invoice Header”
- Last Prepayment No.: TableRelation Table 112 “Sales Invoice Header”
- Last Prepmt. Cr. Memo No.: TableRelation Table 114 “Sales Cr.Memo Header”
- Direct Debit Mandate ID: TableRelation Table 1230 “SEPA Direct Debit Mandate”
- Salesperson Code: TableRelation Table 13 “Salesperson/Purchaser”
- Incoming Document Entry No.: TableRelation Table 130 “Incoming Document”
- Bill-to Customer Templ. Code: TableRelation Table 1381 “Customer Templ.”
- Sell-to Customer Templ. Code: TableRelation Table 1381 “Customer Templ.”
- Location Code: TableRelation Table 14 “Location”
- Location Filter: TableRelation Table 14 “Location”
- Bal. Account No.: TableRelation Table 15 “G/L Account” (conditional)
- Bill-to Customer No.: TableRelation Table 18 “Customer”
- Sell-to Customer No.: TableRelation Table 18 “Customer”
- Ship-to Code: TableRelation Table 222 “Ship-to Address”
- Bill-to City: TableRelation Table 225 “Post Code” (conditional)
- Bill-to Post Code: TableRelation Table 225 “Post Code”
- Sell-to City: TableRelation Table 225 “Post Code” (conditional)
- Sell-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Ship-to City: TableRelation Table 225 “Post Code” (conditional)
- Ship-to Post Code: TableRelation Table 225 “Post Code” (conditional)
- Reason Code: TableRelation Table 231 “Reason Code”
- Gen. Bus. Posting Group: TableRelation Table 250 “Gen. Business Posting Group”
- Transaction Type: TableRelation Table 258 “Transaction Type”
- Transport Method: TableRelation Table 259 “Transport Method”
- Bal. Account No.: TableRelation Table 270 “Bank Account” (conditional)
- Company Bank Account Code: TableRelation Table 270 “Bank Account”
- Exit Point: TableRelation Table 282 “Entry/Exit Point”
- Area: TableRelation Table 284 “Area”
- Transaction Specification: TableRelation Table 285 “Transaction Specification”
- Payment Method Code: TableRelation Table 289 “Payment Method”
- Shipping Agent Code: TableRelation Table 291 “Shipping Agent”
- Payment Terms Code: TableRelation Table 3 “Payment Terms”
- Prepmt. Payment Terms Code: TableRelation Table 3 “Payment Terms”
- No. Series: TableRelation Table 308 “No. Series”
- Posting No. Series: TableRelation Table 308 “No. Series”
- Prepayment No. Series: TableRelation Table 308 “No. Series”
- Prepmt. Cr. Memo No. Series: TableRelation Table 308 “No. Series”
- Return Receipt No. Series: TableRelation Table 308 “No. Series”
- Shipping No. Series: TableRelation Table 308 “No. Series”
- Tax Area Code: TableRelation Table 318 “Tax Area”
- VAT Bus. Posting Group: TableRelation Table 323 “VAT Business Posting Group”
- Customer Disc. Group: TableRelation Table 340 “Customer Discount Group”
- Shortcut Dimension 1 Code: TableRelation Table 349 “Dimension Value”
- Shortcut Dimension 2 Code: TableRelation Table 349 “Dimension Value”
- Amount: CalcFormula Table 37 “Sales Line”
- Amount Including VAT: CalcFormula Table 37 “Sales Line”
- Amt. Ship. Not Inv. (LCY): CalcFormula Table 37 “Sales Line”
- Amt. Ship. Not Inv. (LCY) Base: CalcFormula Table 37 “Sales Line”
- Completely Shipped: CalcFormula Table 37 “Sales Line”
- Invoice Discount Amount: CalcFormula Table 37 “Sales Line”
- Late Order Shipping: CalcFormula Table 37 “Sales Line”
- Recalculate Invoice Disc.: CalcFormula Table 37 “Sales Line”
- Shipped: CalcFormula Table 37 “Sales Line”
- Shipped Not Invoiced: CalcFormula Table 37 “Sales Line”
- Currency Code: TableRelation Table 4 “Currency”
- Bill-to IC Partner Code: TableRelation Table 413 “IC Partner”
- Sell-to IC Partner Code: TableRelation Table 413 “IC Partner”
- Comment: CalcFormula Table 44 “Sales Comment Line”
- Dimension Set ID: TableRelation Table 480 “Dimension Set Entry”
- Bill-to Contact No.: TableRelation Table 5050 “Contact”
- Sell-to Contact No.: TableRelation Table 5050 “Contact”
- Campaign No.: TableRelation Table 5071 “Campaign”
- No. of Archived Versions: CalcFormula Table 5107 “Sales Header Archive”
- Coupled to Dataverse: CalcFormula Table 5331 “CRM Integration Record”
- Responsibility Center: TableRelation Table 5714 “Responsibility Center”
- Shipping Agent Service Code: TableRelation Table 5790 “Shipping Agent Services”
- Customer Price Group: TableRelation Table 6 “Customer Price Group”
- Last Return Receipt No.: TableRelation Table 6660 “Return Receipt Header”
- Language Code: TableRelation Table 8 “Language”
- Journal Templ. Name: TableRelation Table 80 “Gen. Journal Template”
- Last Email Sent Message Id: CalcFormula Table 8909 “Email Related Record”
- Last Email Sent Time: CalcFormula Table 8909 “Email Related Record”
- Bill-to Country/Region Code: TableRelation Table 9 “Country/Region”
- Rcvd.-from Count./Region Code: TableRelation Table 9 “Country/Region”
- Sell-to Country/Region Code: TableRelation Table 9 “Country/Region”
- Ship-to Country/Region Code: TableRelation Table 9 “Country/Region”
- VAT Country/Region Code: TableRelation Table 9 “Country/Region”
- Assigned User ID: TableRelation Table 91 “User Setup”
- Customer Posting Group: TableRelation Table 92 “Customer Posting Group”
Referenced by
82 fields in 44 objects relate to this table (TableRelation or CalcFormula).
- Table 18 “Customer”: Bill-To No. of Blanket Orders, Bill-To No. of Credit Memos, Bill-To No. of Invoices, Bill-To No. of Orders, Bill-To No. of Quotes, Bill-To No. of Return Orders, No. of Blanket Orders, No. of Credit Memos, No. of Invoices, No. of Orders, No. of Quotes, No. of Return Orders
- Table 9053 “Sales Cue”: Delayed, Partially Shipped, Ready to Ship, Sales Credit Memos - Open, Sales Orders - Open, Sales Quotes - Open, Sales Return Orders - Open
- Table 9060 “SB Owner Cue”: Open Sales Orders, Released Sales Orders, Released Sales Quotes, Sales Invoices, Sales Quotes
- Table 1313 “Activities Cue”: Ongoing Sales Invoices, Ongoing Sales Orders, Ongoing Sales Quotes
- Table 37 “Sales Line”: Posting Date, Blanket Order No., Document No.
- Table 9054 “Finance Cue”: Approved Sales Orders, Sales Return Orders - All, SOs Pending Approval
- Table 30118 “Shpfy Order Header”: Sales Invoice No., Sales Order No.
- Table 39 “Purchase Line”: Sales Order No., Special Order Sales No.
- Table 5107 “Sales Header Archive”: Source Doc. Exists, Sales Quote No.
- Table 5110 “Purchase Line Archive”: Sales Order No., Special Order Sales No.
- Table 5765 “Warehouse Request”: Destination No., Source No.
- Table 5809 “Item Charge Assignment (Sales)”: Applies-to Doc. No., Document No.
- Table 6220 “Sustainability Cue”: Ongoing Sales Invoices, Ongoing Sales Orders
- Table 8002 “Planned Subscription Line”: Sales Order No., Sales Quote No.
- Table 8068 “Sales Subscription Line”: Currency Code, Document No.
- Table 8070 “Subscription Billing Cue”: Cust. Sub. Contr. Credit Memos, Cust. Sub. Contr. Invoices
- Table 9063 “Relationship Mgmt. Cue”: Open Sales Orders, Open Sales Quotes
- Table 111 “Sales Shipment Line”: Blanket Order No.
- Table 113 “Sales Invoice Line”: Blanket Order No.
- Table 115 “Sales Cr.Memo Line”: Blanket Order No.
- Table 246 “Requisition Line”: Sales Order No.
- Table 30133 “Shpfy Order Transaction”: Sales Document No.
- Table 458 “Overdue Approval Entry”: Document No.
- Table 5092 “Opportunity”: Sales Document No.
- Table 5108 “Sales Line Archive”: Blanket Order No.
- Table 5405 “Production Order”: Source No.
- Table 5766 “Warehouse Activity Header”: Destination No.
- Table 5767 “Warehouse Activity Line”: Destination No.
- Table 5773 “Registered Whse. Activity Line”: Destination No.
- Table 6651 “Return Shipment Line”: Blanket Order No.
- Table 6661 “Return Receipt Line”: Blanket Order No.
- Table 7340 “Posted Invt. Put-away Header”: Destination No.
- Table 7341 “Posted Invt. Put-away Line”: Destination No.
- Table 7342 “Posted Invt. Pick Header”: Destination No.
- Table 7343 “Posted Invt. Pick Line”: Destination No.
- Table 7344 “Registered Invt. Movement Hdr.”: Destination No.
- Table 7345 “Registered Invt. Movement Line”: Destination No.
- Table 760 “Trailing Sales Orders Setup”: Latest Order Document Date
- Table 8006 “Usage Data Billing”: Document No.
- Table 8061 “Billing Line”: Document No.
- Table 9050 “Warehouse Basic Cue”: Rlsd. Sales Orders Until Today
- Table 9051 “Warehouse WMS Cue”: Released Sales Orders - Today
- Table 9070 “Accounting Services Cue”: Ongoing Sales Invoices
- Table 99000800 “Sales Planning Line”: Sales Order No.
Pages and codeunits on this table
- Page 160 “Sales Statistics” (source table)
- Page 30058 “APIV2 - Bl. Sales Orders” (source table)
- Page 30251 “APIV2 - Sales Ret. Orders” (source table)
- Page 402 “Sales Order Statistics” (source table)
- Page 41 “Sales Quote” (source table)
- Page 42 “Sales Order” (source table)
- Page 43 “Sales Invoice” (source table)
- Page 44 “Sales Credit Memo” (source table)
- Page 45 “Sales List” (source table)
- Page 507 “Blanket Sales Order” (source table)
- Page 6402 “Sales Document Entity” (source table)
- Page 6630 “Sales Return Order” (source table)
- Page 9119 “Sales Doc. Check Factbox” (source table)
- Page 9300 “Sales Quotes” (source table)
- Page 9301 “Sales Invoice List” (source table)
- Page 9302 “Sales Credit Memos” (source table)
- Page 9303 “Blanket Sales Orders” (source table)
- Page 9304 “Sales Return Order List” (source table)
- Page 9305 “Sales Order List” (source table)
- Codeunit 1304 “Sales-Quote to Invoice Yes/No” (codeunit runs on it)
- Codeunit 1305 “Sales-Quote to Invoice” (codeunit runs on it)
- Codeunit 1371 “Sales Batch Post Mgt.” (codeunit runs on it)
- Codeunit 1620 “PEPPOL Validation” (codeunit runs on it)
- Codeunit 313 “Sales-Printed” (codeunit runs on it)
- Codeunit 37216 “PEPPOL30 Sales Validation” (codeunit runs on it)
- Codeunit 401 “Sales Header Apply” (codeunit runs on it)
- Codeunit 414 “Release Sales Document” (codeunit runs on it)
- Codeunit 4140 “Sales Manual Release” (codeunit runs on it)
- Codeunit 4141 “Sales Manual Reopen” (codeunit runs on it)
- Codeunit 442 “Sales-Post Prepayments” (codeunit runs on it)
- Codeunit 79 “Sales-Post and Send” (codeunit runs on it)
- Codeunit 80 “Sales-Post” (codeunit runs on it)
- Codeunit 8004 “Post Sub. Contract Renewal” (codeunit runs on it)
- Codeunit 81 “Sales-Post (Yes/No)” (codeunit runs on it)
- Codeunit 82 “Sales-Post + Print” (codeunit runs on it)
- Codeunit 83 “Sales-Quote to Order (Yes/No)” (codeunit runs on it)
- Codeunit 84 “Blnkt Sales Ord. to Ord. (Y/N)” (codeunit runs on it)
- Codeunit 86 “Sales-Quote to Order” (codeunit runs on it)
- Codeunit 87 “Blanket Sales Order to Order” (codeunit runs on it)
- Codeunit 89 “Sales-Post + Email” (codeunit runs on it)
- Codeunit 9071 “Check Sales Document” (codeunit runs on it)
Extended by
- Table extension 1959 “LPP Sales Header”
- Table extension 30101 “Shpfy Sales Header”
- Table extension 4815 “Intrastat Report Sales Head.”
- Table extension 5019 “Serv. Decl. Sales Header”
- Table extension 6172 “E-Doc. Sales Header”
- Table extension 6234 “Sustainability Sales Header”
- Table extension 8053 “Sales Header”
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” (8 calls:
CreateDim → GetRecDefaultDimID,CreateDim → UpdateGlobalDimFromDimSetID,InitDefaultDimensionSources → AddDimSource, …) - Codeunit 27 “Confirm Management” (6 calls:
CheckCustomerCreated → GetResponseOrDefault,CheckNoAndShowConfirm → GetResponseOrDefault,CofirmClearOpportunityNo → GetResponseOrDefault, …) - Codeunit 5700 “User Setup Management” (6 calls:
CopySellToCustomerAddressFieldsFromCustomer → GetRespCenter,InitRecord → GetRespCenter,OnDelete → CheckRespCenter, …) - Codeunit 1330 “Instruction Mgt.” (5 calls:
ConfirmCloseUnposted → IsUnpostedEnabledForRecord,ConfirmCloseUnposted → QueryPostOnCloseCode,ConfirmCloseUnposted → ShowConfirm, …) - Codeunit 1535 “Approvals Mgmt.” (5 calls:
ApprovedForPostingBatch → PrePostApprovalCheckSales,CheckSalesReleaseRestrictions → PrePostApprovalCheckSales,DeleteRecordInApprovalRequest → OnDeleteRecordInApprovalRequest, …) - Codeunit 441 “Prepayment Mgt.” (4 calls:
ApprovedForPostingBatch → TestSalesPayment,ApprovedForPostingBatch → TestSalesPrepayment,IsApprovedForPosting → TestSalesPayment, …) - Codeunit 99000832 “Sales Line-Reserve” (4 calls:
GetQtyReservedFromStockState → GetReservedQtyFromInventory,RecreateReservEntryReqLine → CopyReservEntryToTemp,RecreateSalesLines → CopyReservEntryFromTemp, …) - Page 456 “No. Series” (4 calls:
AssistEdit → (object),GetNoSeriesCode → (object),InitInsert → (object), …) - Codeunit 1511 “Notification Lifecycle Mgt.” (3 calls:
RecallExternalDocAlreadyExistsNotification → RecallNotificationsForRecordWithAdditionalContext,ShowExternalDocAlreadyExistNotification → SendNotificationWithAdditionalContext,ShowModifyAddressNotification → SendNotification) - Codeunit 5532 “Disable Aggregate Table Update” (3 calls:
SetupDisableAggregateTableUpdate → GetAggregateTableIDFromSalesHeader,SetupDisableAggregateTableUpdate → SetAggregateTableIDDisabled,SetupDisableAggregateTableUpdate → SetTableSystemIDDisabled) - Codeunit 10 “Type Helper” (2 calls:
GetWorkDescription → LFSeparator,GetWorkDescription → TryReadAsTextWithSepAndFieldErrMsg) - Codeunit 1281 “Update Currency Exchange Rates” (2 calls:
UpdateCurrencyFactor → ExchangeRatesForCurrencyExist,UpdateCurrencyFactor → ShowMissingExchangeRatesNotification) - Codeunit 1380 “Batch Processing Mgt.” (2 calls:
PerformManualRelease → BatchProcess,PerformManualReopen → BatchProcess) - Codeunit 200 “Alt. Cust. VAT. Reg. Facade” (2 calls:
InitRecord → Init,SetBillToCustomerAddressFieldsFromCustomer → UpdateSetupOnBillToCustomerChangeInSalesHeader) - Codeunit 28 “Error Message Management” (2 calls:
SendToPosting → Activate,SendToPosting → PushContext) - Codeunit 311 “Item-Check Avail.” (2 calls:
CheckItemAvailabilityInLines → RaiseUpdateInterruptedError,CheckItemAvailabilityInLines → SalesLineCheck) - Codeunit 312 “Cust-Check Cr. Limit” (2 calls:
CheckCreditLimit → SalesHeaderCheck,CheckCreditMaxBeforeInsert → SalesHeaderCheck) - Codeunit 363 “PostSales-Delete” (2 calls:
ConfirmDeletion → InitDeleteHeader,OnDelete → DeleteHeader) - Codeunit 378 “Transfer Extended Text” (2 calls:
RecreateSalesLinesHandleSupplementTypes → InsertSalesExtText,RecreateSalesLinesHandleSupplementTypes → SalesCheckIfAnyExtText) - Codeunit 5063 “ArchiveManagement” (2 calls:
InitRecord → GetNextOccurrenceNo,OnDelete → AutoArchiveSalesDocument) - Codeunit 1001 “Job Post-Line” (1 call:
UpdateSalesLinesByFieldNo → TestSalesLine) - Codeunit 1004 “Job Transfer Line” (1 call:
UpdateSalesLinesByFieldNo → FromSalesHeaderToPlanningLine) - Codeunit 109 “Lookup State Manager” (1 call:
LookupSellToCustomerName → SaveRecord) - Codeunit 1302 “Customer Mgt.” (1 call:
FindDocumentWithSameExternalDocNo → SearchForExternalDocNo) - Codeunit 1303 “Correct Posted Sales Invoice” (1 call:
UpdateSalesOrderLineIfExist → UpdateSalesOrderLineIfExist) - Codeunit 1630 “Office Management” (1 call:
UpdateSellToCont → GetContact) - Codeunit 170 “Standard Codes Mgt.” (1 call:
OnInsert → CheckCreateSalesRecurringLines) - Codeunit 29 “Error Message Handler” (1 call:
SendToPosting → ShowErrors) - Codeunit 427 “ICInboxOutboxMgt” (1 call:
SendICSalesDoc → SendSalesDoc) - Codeunit 452 “Report Distribution Management” (1 call:
GetDocTypeTxt → GetFullDocumentTypeText) - Codeunit 5341 “CRM Int. Table. Subscriber” (1 call:
OnDelete → MarkArchivedSalesOrder) - Codeunit 60 “Sales-Calc. Discount” (1 call:
CalcInvDiscForHeader → CalculateIncDiscForHeader) - Codeunit 88 “Sales Post via Job Queue” (1 call:
CancelBackgroundPosting → CancelQueueEntry) - Codeunit 9178 “Application Area Mgmt.” (1 call:
CopyFromNewSellToCustTemplate → IsSalesTaxEnabled) - Codeunit 99000831 “Reservation Engine Mgt.” (1 call:
ConfirmReservationDateConflict → ResvExistsForSalesHeader) - Codeunit 99000845 “Reservation Management” (1 call:
DeleteSalesLines → DeleteDocumentReservation) - Page 5076 “Interaction Log Entries” (1 call:
ShowInteractionLogEntries → (object)) - Report 7323 “Create Invt Put-away/Pick/Mvmt” (1 call:
CreateInvtPutAwayPick → (object))
Recent changes
- 2026-09-09 #11160 Ruleset hardening: promote three mechanical rules to Error (main, BC30, refactor)
- 2026-07-24 #9461 [Extensibility Request] issue 30335: add OnBeforeRecreateSalesLine IsHandled event (main, BC30, feature)
- 2026-07-24 #9450 [Extensibility Request] issue 30290: Add OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader event (main, BC30, feature)
- 2026-07-15 #9374 [master] Contact No. Lookup on Sales Quote returns All Customers instead of related Contacts after Updating to v28.2 - regression. (main, BC30, fix)
Countries that replace it
AU, BE, CA, CH, ES, FR, IT, MX, NL, NO, NZ, RU, SE, US
Deprecations
- field Coupled to CRM: Removed 26.0 (#if not CLEANSCHEMA26), “Replaced by flow field Coupled to Dataverse”
- procedure OnBeforeIsNotFullyCancelled: Pending 27.0 (#if not CLEAN27), “Removed Not used anymore.”
- procedure OnBeforeValidateBillToName: Pending 27.0 (#if not CLEAN27), “This event is never raised.”
- procedure OnCalcOutstandingQuantityBaseOnAfterSalesLineSetFilters: Pending 27.0 (#if not CLEAN27), “Not used anymore due to new implementation that uses Query. Replaced by OnBeforeCalculateReservableOutstandingQuantityBase.”
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: "Sales Header"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.