tableSales & Receivablesofficial - Microsoftderived - from the source, no model text

Table 37 "Sales Line"

Base Application · Microsoft.Sales.Document

Across versions

  1. BC23present
  2. BC249 events added, 5 fields changed
  3. BC2511 events added, 7 procedures added
  4. BC2613 procedures added, 10 events added
  5. BC2724 fields changed, 13 events added
  6. BC28108 fields changed, 7 events added
  7. BC292 procedures added, 1 procedures changed
  8. BC30unchanged

Neighbourhood 182 connected objects and pages

Table 7321 "Warehouse Shipment Line" (relates to, 4 links)Warehouse Shipment LineTable 18 "Customer" (relates to, 3 links)Table 36 "Sales Header" (relates to, 3 links)Table 5809 "Item Charge Assignment (Sales)" (relates to, 3 links)Item Charge Assignment (Sales)Page 516 "Sales Lines" (pages and codeunits on it, 3 links)Sales LinesCodeunit 1033 "Job-Process Plan. Lines" (pages and codeunits on it)Table extension 30104 "Shpfy Sales Line" (extended by)Table extension 4863 "AutoAcc Sales Line" (extended by)Codeunit 8074 "Document Change Management" (event subscribers, 14 links)Document Change ManagementCodeunit 6253 "Sust. Sales Subscriber" (event subscribers, 6 links)Codeunit 1508 "Notification Lifecycle Handler" (event subscribers, 5 links)Notification Lifecycle HandlerCodeunit 8001 "Sub. Contr. Renewal Subcribers" (event subscribers, 4 links)Codeunit 8063 "Sales Documents" (event subscribers, 4 links)Sales DocumentsCodeunit 1173 "Document Attachment Mgmt" (event subscribers, 3 links)Codeunit 2678 "Sales Alloc. Acc. Mgt." (event subscribers, 3 links)Codeunit 5012 "Service Declaration Mgt." (event subscribers, 3 links)Codeunit 5477 "Sales Invoice Aggregator" (event subscribers, 3 links)Codeunit 5496 "Graph Mgt - Sales Order Buffer" (event subscribers, 3 links)Codeunit 5506 "Graph Mgt - Sales Quote Buffer" (event subscribers, 3 links)Codeunit 5508 "Graph Mgt - Sal. Cr. Memo Buf." (event subscribers, 3 links)Codeunit 2674 "Alloc. Acc. Handle Doc. Post" (event subscribers, 2 links)Codeunit 408 "DimensionManagement" (calls, 11 links)DimensionManagementCodeunit 7600 "Calendar Management" (calls, 6 links)Calendar ManagementCodeunit 99000832 "Sales Line-Reserve" (calls, 6 links)Sales Line-ReserveCodeunit 109 "Lookup State Manager" (calls, 4 links)Lookup State ManagerCodeunit 378 "Transfer Extended Text" (calls, 4 links)Codeunit 7302 "WMS Management" (calls, 4 links)WMS ManagementCodeunit 1511 "Notification Lifecycle Mgt." (calls, 3 links)Codeunit 1720 "Deferral Utilities" (calls, 3 links)Codeunit 5402 "Unit of Measure Management" (calls, 3 links)Page 516 "Sales Lines" (calls, 3 links)Codeunit 28 "Error Message Management" (calls, 2 links)Codeunit 311 "Item-Check Avail." (calls, 2 links)Codeunit 398 "Sales Tax Calculate" (calls, 2 links)Table 36 "Sales Header" (referenced by, 10 links)Sales HeaderTable 18 "Customer" (referenced by, 6 links)CustomerTable extension 6234 "Sustainability Sales Header" (referenced by, 5 links)Sustainability Sales HeaderTable 27 "Item" (referenced by, 3 links)Ad-hoc analysis of finance data (Learn pages)Ad-hoc analysis of inventory data (Learn pages)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29

Learn documents this table through its pages: Page 48 “Sales Orders” (4 Learn pages), Page 516 “Sales Lines” (4), Page 6633 “Sales Return Orders” (2), Page 499 “Available - Sales Lines” (1).

Properties

Property Value
Caption Sales Line
DataClassification CustomerContent
Permissions TableData “Sales Line” = 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 Δ BC27 Enum “Sales Document Type” Specifies the type of document that you are about to create. enum Enum 36 “Sales Document Type”
2 Sell-to Customer No. Δ BC27 Code[20] Specifies the number of the customer. TableRelation Table 18 “Customer”; not editable
3 Document No. Δ BC27 Code[20] Specifies the document number. TableRelation Table 36 “Sales Header” (“Sales Header”.“No.” where(“Document Type” = field(“Document Type”)))
4 Line No. Δ BC27 Integer Specifies the line number.
5 Type Δ BC27 Enum “Sales Line Type” Specifies the type of entity that will be posted for this sales line, such as Item, Resource, or G/L Account. The type that you enter in this field determines what you can select in the No. field. enum Enum 37 “Sales Line Type”
6 No. Δ BC27 Code[20] Specifies the number of the involved entry or record, according to the specified number series. TableRelation Table 15 “G/L Account”, Table 7 “Standard Text” (if (Type = const(” “)) “Standard Text” else if (Type = const(“G/L Account”), “System-Created Entry” = const(false)) “G/L Account” where(“Direct Posting” = const(true), “Account Type” = const(Posting), Blocked = const(false)) else if (Type = const(“G/L Account”), “System-Created Entry” = const(true))…)
7 Location Code Δ BC27 Code[10] Specifies the inventory location from which the items sold should be picked and where the inventory decrease is registered. TableRelation Table 14 “Location” (Location where(“Use As In-Transit” = const(false)))
8 Posting Group Code[20] — TableRelation Table 5606 “FA Posting Group”, Table 94 “Inventory Posting Group” (if (Type = const(Item)) “Inventory Posting Group” else if (Type = const(“Fixed Asset”)) “FA Posting Group”); not editable
10 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.
11 Description Δ BC27 Text[100] Specifies a description of the entry of the product to be sold. To add a non-transactional text line, fill in the Description field only. TableRelation Table 15 “G/L Account” (if (Type = const(“G/L Account”), “System-Created Entry” = const(false)) “G/L Account”.Name where(“Direct Posting” = const(true), “Account Type” = const(Posting), Blocked = const(false)) else if (Type = const(“G/L Account”), “System-Created Entry” = const(true)) “G/L Account”.Name else if (Type = con…)
12 Description 2 Δ BC27 Text[50] Specifies information in addition to the description.
13 Unit of Measure Δ BC28 Text[50] Specifies the unit of measure for the item or resource on the sales line. TableRelation Table 204 “Unit of Measure” (if (Type = filter(<> “ “)) “Unit of Measure”.Description)
15 Quantity Δ BC27 Δ BC28 Decimal Specifies how many units are being sold.
16 Outstanding Quantity Δ BC27 Δ BC28 Decimal Specifies how many units on the order line have not yet been shipped. not editable
17 Qty. to Invoice Δ BC28 Decimal Specifies the quantity that remains to be invoiced. It is calculated as Quantity - Qty. Invoiced.
18 Qty. to Ship Δ BC27 Δ BC28 Decimal Specifies the quantity of items that remain to be shipped.
22 Unit Price Δ BC28 Decimal Specifies the price for one unit on the sales line.
23 Unit Cost (LCY) Δ BC28 Decimal Specifies the unit cost of the item on the line. via Page 46 “Sales Order Subform”
25 VAT % Δ BC28 Decimal — not editable
27 Line Discount % Δ BC28 Decimal Specifies the discount percentage that is granted for the item on the line.
28 Line Discount Amount Δ BC28 Decimal Specifies the discount amount that is granted for the item on the line.
29 Amount Δ BC28 Decimal Specifies the sum of amounts in the Line Amount field on the sales return order lines. not editable
30 Amount Including VAT Decimal — not editable
32 Allow Invoice Disc. Δ BC28 Boolean Specifies if the invoice line is included when the invoice discount is calculated.
34 Gross Weight Δ BC28 Decimal Specifies the gross weight of one unit of the item. In the sales statistics window, the gross weight on the line is included in the total gross weight of all the lines for the particular sales document.
35 Net Weight Δ BC28 Decimal Specifies the net weight of one unit of the item. In the sales statistics window, the net weight on the line is included in the total net weight of all the lines for the particular sales document.
36 Units per Parcel Δ BC28 Decimal Specifies the number of units per parcel of the item. In the sales statistics window, the number of units per parcel on the line helps to determine the total number of units for all the lines for the particular sales document.
37 Unit Volume Δ BC28 Decimal Specifies the volume of one unit of the item. In the sales statistics window, the volume of one unit of the item on the line is included in the total volume of all the lines for the particular sales document.
38 Appl.-to Item Entry Δ BC28 Integer Specifies the number of the item ledger entry that the document or journal line is applied -to.
40 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)))
41 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)))
42 Customer Price Group Code[10] — TableRelation Table 6 “Customer Price Group” (Customer Price Group); not editable
45 Job No. Δ BC24 Δ BC27 Code[20] Specifies the number of the related project. If you fill in this field and the Project Task No. field, then a project ledger entry will be posted together with the sales line. TableRelation Table 167 “Job”; not editable
52 Work Type Code Δ BC27 Code[10] Specifies which work type the resource applies to when the sale is related to a project. TableRelation Table 200 “Work Type” (Work Type)
56 Recalculate Invoice Disc. Boolean — not editable
57 Outstanding Amount Decimal — not editable
58 Qty. Shipped Not Invoiced Δ BC28 Decimal — not editable
59 Shipped Not Invoiced Decimal — not editable
60 Quantity Shipped Δ BC28 Decimal Specifies how many units of the item on the line have been posted as shipped. not editable
61 Quantity Invoiced Δ BC28 Decimal Specifies how many units of the item on the line have been posted as invoiced. not editable
63 Shipment No. Code[20] — not editable
64 Shipment Line No. Integer — not editable
67 Profit % Δ BC28 Decimal — not editable
68 Bill-to Customer No. Code[20] — TableRelation Table 18 “Customer”; not editable
69 Inv. Discount Amount Δ BC28 Decimal Specifies the invoice discount amount for the line. not editable
71 Purchase Order No. Code[20] — TableRelation Table 38 “Purchase Header” (if (“Drop Shipment” = const(true)) “Purchase Header”.“No.” where(“Document Type” = const(Order))); not editable
72 Purch. Order Line No. Integer — TableRelation Table 39 “Purchase Line” (if (“Drop Shipment” = const(true)) “Purchase Line”.“Line No.” where(“Document Type” = const(Order), “Document No.” = field(“Purchase Order No.”))); not editable
73 Drop Shipment Δ BC28 Boolean Specifies if your vendor ships the items directly to your customer.
74 Gen. Bus. Posting Group Δ BC28 Code[20] Specifies the vendor’s or customer’s trade type to link transactions made for this business partner with the appropriate general ledger account according to the general posting setup. TableRelation Table 250 “Gen. Business Posting Group” (Gen. Business Posting Group)
75 Gen. Prod. Posting Group Δ BC28 Code[20] Specifies the item’s product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. TableRelation Table 251 “Gen. Product Posting Group” (Gen. Product Posting Group)
77 VAT Calculation Type Enum “Tax Calculation Type” — enum Enum 254 “Tax Calculation Type”; not editable
78 Transaction Type Code[10] — TableRelation Table 258 “Transaction Type” (Transaction Type)
79 Transport Method Code[10] — TableRelation Table 259 “Transport Method” (Transport Method)
80 Attached to Line No. Δ BC28 Integer Specifies the line number to which this sales line is attached. TableRelation Table 37 “Sales Line” (“Sales Line”.“Line No.” where(“Document Type” = field(“Document Type”), “Document No.” = field(“Document No.”))); not editable
81 Exit Point Code[10] — TableRelation Table 282 “Entry/Exit Point” (Entry/Exit Point)
82 Area Code[10] — TableRelation Table 284 “Area”
83 Transaction Specification Code[10] — TableRelation Table 285 “Transaction Specification” (Transaction Specification)
84 Tax Category Δ BC28 Code[10] Specifies the VAT category in connection with electronic document sending. For example, when you send sales documents through the PEPPOL service, the value in this field is used to populate several fields, such as the ClassifiedTaxCategory element in the Item group. It is also used to populate the T…
85 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)
86 Tax Liable Δ BC28 Boolean Specifies if the customer or vendor is liable for sales tax.
87 Tax Group Code Δ BC28 Code[20] Specifies the tax group that is used to calculate and post sales tax. TableRelation Table 321 “Tax Group” (Tax Group)
88 VAT Clause Code Code[20] — TableRelation Table 560 “VAT Clause” (VAT Clause)
89 VAT Bus. Posting Group Δ BC28 Code[20] Specifies the vendor’s VAT specification to link transactions made for this vendor with the appropriate general ledger account according to the VAT posting setup. TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group)
90 VAT Prod. Posting Group Δ BC28 Code[20] Specifies the VAT product posting group. Links business transactions made for the item, resource, or G/L account with the general ledger, to account for VAT amounts resulting from trade with that record. TableRelation Table 324 “VAT Product Posting Group” (VAT Product Posting Group)
91 Currency Code Δ BC28 Code[10] Specifies the currency that is used on the entry. TableRelation Table 4 “Currency”; not editable
92 Outstanding Amount (LCY) Δ BC28 Decimal — not editable
93 Shipped Not Invoiced (LCY) Δ BC28 Decimal Shipped Not Invoiced (LCY) Incl. VAT caption not editable
94 Shipped Not Inv. (LCY) No VAT Δ BC28 Decimal Shipped Not Invoiced (LCY) caption not editable
95 Reserved Quantity Δ BC28 Decimal Specifies how many units of the item on the line have been reserved. FlowField: - sum(“Reservation Entry”.Quantity where(“Source ID” = field(“Document No.”), “Source Ref. No.” = field(“Line No.”), “Source Type” = const(37), #pragma warning disable AL0603 “Source Subtype” = field(“Document Type”), #pragma warning restore “Reservation Status” = const(Reservation))); not editable
96 Reserve Δ BC27 Enum “Reserve Method” Specifies whether a reservation can be made for items on this line. enum Enum 100 “Reserve Method”
97 Blanket Order No. Δ BC28 Code[20] Specifies the number of the blanket order that the record originates from. TableRelation Table 36 “Sales Header” (“Sales Header”.“No.” where(“Document Type” = const(“Blanket Order”)))
98 Blanket Order Line No. Δ BC28 Integer Specifies the number of the blanket order line that the record originates from. TableRelation Table 37 “Sales Line” (“Sales Line”.“Line No.” where(“Document Type” = const(“Blanket Order”), “Document No.” = field(“Blanket Order No.”)))
99 VAT Base Amount Decimal — not editable
100 Unit Cost Decimal — not editable
101 System-Created Entry Boolean — not editable
103 Line Amount Δ BC27 Decimal Specifies the net amount, excluding any invoice discount amount, that must be paid for products on the line.
104 VAT Difference Decimal — not editable
105 Inv. Disc. Amount to Invoice Δ BC28 Decimal Specifies the actual invoice discount amount that will be posted for the line in next invoice. not editable
106 VAT Identifier Code[20] — not editable
107 IC Partner Ref. Type Δ BC28 Enum “IC Partner Reference Type” Specifies the item or account in your IC partner’s company that corresponds to the item or account on the line. enum Enum 107 “IC Partner Reference Type”
108 IC Partner Reference Δ BC28 Code[20] Specifies the IC partner. If the line is being sent to one of your intercompany partners, this field is used together with the IC Partner Ref. Type field to indicate the item or account in your partner’s company that corresponds to the line.
109 Prepayment % Δ BC28 Decimal Specifies the prepayment percentage to use to calculate the prepayment for sales.
110 Prepmt. Line Amount Δ BC28 Decimal Specifies the prepayment amount of the line in the currency of the sales document if a prepayment percentage is specified for the sales line.
111 Prepmt. Amt. Inv. Δ BC28 Decimal Specifies the prepayment amount that has already been invoiced to the customer for this sales line. not editable
112 Prepmt. Amt. Incl. VAT Decimal — not editable
113 Prepayment Amount Decimal — not editable
114 Prepmt. VAT Base Amt. Decimal — not editable
115 Prepayment VAT % Δ BC28 Decimal — not editable
116 Prepmt. VAT Calc. Type Enum “Tax Calculation Type” — enum Enum 254 “Tax Calculation Type”; not editable
117 Prepayment VAT Identifier Code[20] — not editable
118 Prepayment Tax Area Code Code[20] — TableRelation Table 318 “Tax Area” (Tax Area)
119 Prepayment Tax Liable Boolean —
120 Prepayment Tax Group Code Code[20] — TableRelation Table 321 “Tax Group” (Tax Group)
121 Prepmt Amt to Deduct Δ BC28 Decimal Specifies the prepayment amount that has already been deducted from ordinary invoices posted for this sales order line.
122 Prepmt Amt Deducted Δ BC28 Decimal Specifies the prepayment amount that has already been deducted from ordinary invoices posted for this sales order line. not editable
123 Prepayment Line Boolean — not editable
124 Prepmt. Amount Inv. Incl. VAT Decimal — not editable
129 Prepmt. Amount Inv. (LCY) Δ BC28 Decimal — not editable
130 IC Partner Code Δ BC28 Code[20] Specifies the code of the intercompany partner that the transaction is related to if the entry was created from an intercompany transaction. TableRelation Table 413 “IC Partner” (IC Partner)
132 Prepmt. VAT Amount Inv. (LCY) Δ BC27 Δ BC28 Decimal — not editable
135 Prepayment VAT Difference Decimal — not editable
136 Prepmt VAT Diff. to Deduct Decimal — not editable
137 Prepmt VAT Diff. Deducted Decimal — not editable
138 IC Item Reference No. Δ BC28 Code[50] Specifies the IC item reference. If the line is being sent to one of your intercompany partners, this field is used together with the IC Partner Ref. Type field to indicate the item or account in your partner’s company that corresponds to the line.
145 Pmt. Discount Amount Decimal —
146 Prepmt. Pmt. Discount Amount Decimal — not editable
180 Line Discount Calculation Option — OptionCaption: None,%,Amount
480 Dimension Set ID Integer — TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable
900 Qty. to Assemble to Order Δ BC28 Decimal Specifies how many units of the sales line quantity that you want to supply by assembly.
901 Qty. to Asm. to Order (Base) Δ BC28 Decimal —
902 ATO Whse. Outstanding Qty. Δ BC28 Decimal Specifies how many assemble-to-order units on the sales order line need to be assembled and handled in warehouse documents. FlowField: sum(“Warehouse Shipment Line”.“Qty. Outstanding” where(“Source Type” = const(37), #pragma warning disable AL0603 “Source Subtype” = field(“Document Type”), #pragma warning restore “Source No.” = field(“Document No.”), “Source Line No.” = field(“Line No.”), “Assemble to Order” = filter(true))); not editable
903 ATO Whse. Outstd. Qty. (Base) Δ BC28 Decimal Specifies how many assemble-to-order units on the sales order line remain to be assembled and handled in warehouse documents. via Page 46 “Sales Order Subform” FlowField: sum(“Warehouse Shipment Line”.“Qty. Outstanding (Base)” where(“Source Type” = const(37), #pragma warning disable AL0603 “Source Subtype” = field(“Document Type”), #pragma warning restore “Source No.” = field(“Document No.”), “Source Line No.” = field(“Line No.”), “Assemble to Order” = filter(true))); not editable
1001 Job Task No. Δ BC24 Δ BC28 Code[20] Specifies the number of the related project task. TableRelation Table 1001 “Job Task” (“Job Task”.“Job Task No.” where(“Job No.” = field(“Job No.”))); not editable
1002 Job Contract Entry No. Δ BC24 Δ BC28 Integer Specifies the entry number of the project planning line that the sales line is linked to. not editable
1300 Posting Date Δ BC24 Date — FlowField: lookup(“Sales Header”.“Posting Date” where(“Document Type” = field(“Document Type”), “No.” = field(“Document No.”)))
1700 Deferral Code Δ BC28 Code[10] Specifies the deferral template that governs how revenue earned with this sales document is deferred to the different accounting periods when the good or service was delivered. TableRelation Table 1700 “Deferral Template” (“Deferral Template”.“Deferral Code”)
1702 Returns Deferral Start Date Δ BC28 Date Specifies the starting date of the returns deferral period.
2675 Selected Alloc. Account No. Δ BC27 Code[20] Specifies the allocation account number that will be used to distribute the amounts during the posting process. TableRelation Table 2670 “Allocation Account” (Allocation Account)
2677 Alloc. Acc. Modified by User Boolean Allocation Account Distributions Modified caption FlowField: exist(“Alloc. Acc. Manual Override” where(“Parent System Id” = field(SystemId), “Parent Table Id” = const(Database::“Sales Line”)))
2678 Allocation Account No. Code[20] Posting Allocation Account No. caption TableRelation Table 2670 “Allocation Account” (Allocation Account)
2679 Alloc. Sales Line SystemId + BC27 Guid Allocation Sales Line SystemId caption DataClassification SystemMetadata
5402 Variant Code Δ BC24 Δ BC27 Code[10] Specifies the variant of the item on the line. TableRelation Table 5401 “Item Variant” (if (Type = const(Item), “Document Type” = filter(<> “Credit Memo” & <> “Return Order”)) “Item Variant”.Code where(“Item No.” = field(“No.”), Blocked = const(false), “Sales Blocked” = const(false)) else if (Type = const(Item), “Document Type” = filter(“Credit Memo” | “Return Order”)) “Item Variant”.C…)
5403 Bin Code Δ BC28 Code[20] Specifies the bin where the items are picked or put away. TableRelation Table 7302 “Bin Content” (if (“Document Type” = filter(Order | Invoice), Quantity = filter(>= 0), “Qty. to Asm. to Order (Base)” = const(0)) “Bin Content”.“Bin Code” where(“Location Code” = field(“Location Code”), “Item No.” = field(“No.”), “Variant Code” = field(“Variant Code”)) else if (“Document Type” = filter(“Return Ord…)
5404 Qty. per Unit of Measure Δ BC28 Decimal Specifies an auto-filled number if you have included Sales Unit of Measure on the item card and a quantity in the Qty. per Unit of Measure field. not editable
5405 Planned Boolean — not editable
5406 Qty. Rounding Precision Δ BC28 Decimal — not editable
5408 Qty. Rounding Precision (Base) Δ BC28 Decimal — not editable
5407 Unit of Measure Code Δ BC27 Code[10] Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. TableRelation Table 205 “Resource Unit of Measure”, Table 5404 “Item Unit of Measure” (if (Type = const(Item), “No.” = filter(<> ‘’)) “Item Unit of Measure”.Code where(“Item No.” = field(“No.”)) else if (Type = const(Resource), “No.” = filter(<> ‘’)) “Resource Unit of Measure”.Code where(“Resource No.” = field(“No.”)) else if (Type = filter(“Charge (Item)” | “Fixed Asset” | “G/L Accou…)
5415 Quantity (Base) Δ BC28 Decimal —
5416 Outstanding Qty. (Base) Δ BC28 Decimal Specifies the outstanding quantity expressed in the base units of measure. via Page 499 “Available - Sales Lines” not editable
5417 Qty. to Invoice (Base) Δ BC28 Decimal —
5418 Qty. to Ship (Base) Δ BC28 Decimal —
5458 Qty. Shipped Not Invd. (Base) Δ BC28 Decimal — not editable
5460 Qty. Shipped (Base) Δ BC28 Decimal — not editable
5461 Qty. Invoiced (Base) Δ BC28 Decimal — not editable
5495 Reserved Qty. (Base) Δ BC27 Δ BC28 Decimal Specifies the value in the Reserved Quantity field, expressed in the base unit of measure. FlowField: - sum(“Reservation Entry”.“Quantity (Base)” where(“Source ID” = field(“Document No.”), “Source Ref. No.” = field(“Line No.”), “Source Type” = const(37), #pragma warning disable AL0603 “Source Subtype” = field(“Document Type”), #pragma warning restore “Reservation Status” = const(Reservation))); not editable
5600 FA Posting Date Δ BC28 Date Specifies the date that will be used on related fixed asset ledger entries.
5602 Depreciation Book Code Δ BC28 Code[10] Specifies the code for the depreciation book to which the line will be posted if you have selected Fixed Asset in the Type field for this line. TableRelation Table 5611 “Depreciation Book” (Depreciation Book)
5605 Depr. until FA Posting Date Δ BC28 Boolean Specifies if depreciation was calculated until the FA posting date of the line.
5612 Duplicate in Depreciation Book Δ BC28 Code[10] Specifies a depreciation book code if you want the journal line to be posted to that depreciation book, as well as to the depreciation book in the Depreciation Book Code field. TableRelation Table 5611 “Depreciation Book” (Depreciation Book)
5613 Use Duplication List Δ BC28 Boolean Specifies, if the type is Fixed Asset, that information on the line is to be posted to all the assets defined depreciation books.
5700 Responsibility Center Code[10] — TableRelation Table 5714 “Responsibility Center” (Responsibility Center); not editable
5701 Out-of-Stock Substitution Boolean — not editable
5702 Substitution Available Δ BC28 Boolean Specifies that a substitute is available for the item on the sales line. FlowField: exist(“Item Substitution” where(Type = const(Item), “No.” = field(“No.”), “Substitute Type” = const(Item))); not editable
5703 Originally Ordered No. Code[20] — TableRelation Table 27 “Item” (if (Type = const(Item)) Item)
5704 Originally Ordered Var. Code Code[10] — TableRelation Table 5401 “Item Variant” (if (Type = const(Item)) “Item Variant”.Code where(“Item No.” = field(“Originally Ordered No.”)))
5709 Item Category Code Code[20] — TableRelation Table 5722 “Item Category” (Item Category)
5710 Nonstock Δ BC28 Boolean Specifies that this item is a catalog item. not editable
5711 Purchasing Code Δ BC28 Code[10] Specifies the code for a special procurement method, such as drop shipment. TableRelation Table 5721 “Purchasing”
5713 Special Order Δ BC28 Boolean Specifies that the item on the sales line is a special-order item. not editable
5714 Special Order Purchase No. Code[20] — TableRelation Table 38 “Purchase Header” (if (“Special Order” = const(true)) “Purchase Header”.“No.” where(“Document Type” = const(Order)))
5715 Special Order Purch. Line No. Integer — TableRelation Table 39 “Purchase Line” (if (“Special Order” = const(true)) “Purchase Line”.“Line No.” where(“Document Type” = const(Order), “Document No.” = field(“Special Order Purchase No.”)))
5725 Item Reference No. Δ BC28 Code[50] Specifies the referenced item number.
5726 Item Reference Unit of Measure Code[10] Specifies item reference unit of measure code. via Page 6403 “Sales Document Line Entity” TableRelation Table 5404 “Item Unit of Measure” (if (Type = const(Item)) “Item Unit of Measure”.Code where(“Item No.” = field(“No.”)))
5727 Item Reference Type Enum “Item Reference Type” Specifies item reference type. via Page 6403 “Sales Document Line Entity” enum Enum 5726 “Item Reference Type”
5728 Item Reference Type No. Code[30] Specifies item reference type number. via Page 6403 “Sales Document Line Entity”
5749 Whse. Outstanding Qty. Δ BC28 Decimal Specifies how many units on the sales order line remain to be handled in warehouse documents. FlowField: sum(“Warehouse Shipment Line”.“Qty. Outstanding” where(“Source Type” = const(37), #pragma warning disable AL0603 “Source Subtype” = field(“Document Type”), #pragma warning restore “Source No.” = field(“Document No.”), “Source Line No.” = field(“Line No.”))); not editable
5750 Whse. Outstanding Qty. (Base) Δ BC28 Decimal Specifies how many units on the sales order line remain to be handled in warehouse documents. via Page 46 “Sales Order Subform” FlowField: sum(“Warehouse Shipment Line”.“Qty. Outstanding (Base)” where(“Source Type” = const(37), #pragma warning disable AL0603 “Source Subtype” = field(“Document Type”), #pragma warning restore “Source No.” = field(“Document No.”), “Source Line No.” = field(“Line No.”))); not editable
5752 Completely Shipped Boolean — not editable
5790 Requested Delivery Date Δ BC28 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 Planned Delivery Date Δ BC28 Date Specifies the planned date that the shipment will be delivered at the customer’s address. If the customer requests a delivery date, the program calculates whether the items will be available for delivery on this date. If the items are available, the planned delivery date will be the same as the requ…
5795 Planned Shipment Date Δ BC28 Date Specifies the date that the shipment should ship from the warehouse. If the customer requests a delivery date, the program calculates the planned shipment date by subtracting the shipping time from the requested delivery date. If the customer does not request a delivery date or the requested deliver…
5796 Shipping Agent Code Δ BC28 Code[10] Specifies the code for the shipping agent who is transporting the items. TableRelation Table 291 “Shipping Agent” (Shipping Agent)
5797 Shipping Agent Service Code Δ BC28 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”)))
5800 Allow Item Charge Assignment Δ BC28 Boolean Specifies that you can assign item charges to this line.
5801 Qty. to Assign Δ BC28 Decimal Specifies how many units of the item charge will be assigned to the line. FlowField: sum(“Item Charge Assignment (Sales)”.“Qty. to Assign” where(“Document Type” = field(“Document Type”), “Document No.” = field(“Document No.”), “Document Line No.” = field(“Line No.”))); not editable
5802 Qty. Assigned Δ BC28 Decimal Specifies the quantity of the item charge that was assigned to a specified item when you posted this sales line. FlowField: sum(“Item Charge Assignment (Sales)”.“Qty. Assigned” where(“Document Type” = field(“Document Type”), “Document No.” = field(“Document No.”), “Document Line No.” = field(“Line No.”))); not editable
5803 Return Qty. to Receive Δ BC28 Decimal Specifies the quantity of items that remain to be shipped.
5804 Return Qty. to Receive (Base) Δ BC28 Decimal —
5805 Return Qty. Rcd. Not Invd. Δ BC28 Decimal — not editable
5806 Ret. Qty. Rcd. Not Invd.(Base) Δ BC28 Decimal — not editable
5807 Return Rcd. Not Invd. Decimal — not editable
5808 Return Rcd. Not Invd. (LCY) Δ BC28 Decimal — not editable
5809 Return Qty. Received Δ BC28 Decimal Specifies how many units of the item on the line have been posted as shipped. not editable
5810 Return Qty. Received (Base) Δ BC28 Decimal — not editable
5811 Appl.-from Item Entry Δ BC28 Integer Specifies the number of the item ledger entry that the document or journal line is applied from.
5812 Item Charge Qty. to Handle Δ BC28 Decimal Specifies how many items the item charge will be assigned to on the line. It can be either equal to Qty. to Assign or to zero. If it is zero, the item charge will not be assigned to the line. FlowField: sum(“Item Charge Assignment (Sales)”.“Qty. to Handle” where(“Document Type” = field(“Document Type”), “Document No.” = field(“Document No.”), “Document Line No.” = field(“Line No.”))); not editable
5909 BOM Item No. Code[20] — TableRelation Table 27 “Item”
6600 Return Receipt No. Code[20] — not editable
6601 Return Receipt Line No. Integer — not editable
6608 Return Reason Code Δ BC28 Code[10] Specifies the code explaining why the item was returned. TableRelation Table 6635 “Return Reason” (Return Reason)
6610 Copied From Posted Doc. Boolean — DataClassification SystemMetadata
7000 Price Calculation Method Enum “Price Calculation Method” — enum Enum 7000 “Price Calculation Method”
7001 Allow Line Disc. Boolean —
7002 Customer Disc. Group Code[20] — TableRelation Table 340 “Customer Discount Group” (Customer Discount Group)
7003 Subtype Option — OptionCaption: ,Item - Inventory,Item - Service,Comment
7004 Price description Text[80] —
7010 Attached Doc Count Δ BC28 Integer Specifies the number of attachments. FlowField: count(“Document Attachment” where(“Table ID” = const(37), “No.” = field(“Document No.”), “Document Type” = field(“Document Type”), “Line No.” = field(“Line No.”)))
7011 Attached Lines Count Δ BC28 Integer Specifies the number of non-inventory product lines attached to the sales line. FlowField: count(“Sales Line” where(“Document Type” = field(“Document Type”), “Document No.” = field(“Document No.”), “Attached to Line No.” = field(“Line No.”), Quantity = filter(<> 0))); not editable
7012 Sell-to Customer Name + BC26 Δ BC28 Text[100] Specifies the name of the customer. FlowField: lookup(Customer.Name where(“No.” = field(“Sell-to Customer No.”))); not editable

Keys

  • Key1: Document Type, Document No., Line No. (clustered)
  • Key3: Document Type, Type, No., Variant Code, Drop Shipment, Location Code, Shipment Date
  • Key4: Document Type, Bill-to Customer No., Currency Code, Document No.
  • Key7: Document Type, Blanket Order No., Blanket Order Line No.
  • Key8: Document Type, Document No., Location Code
  • Key9: Document Type, Shipment No., Shipment Line No.
  • Key10: Type, No., Variant Code, Drop Shipment, Location Code, Document Type, Shipment Date
  • Key11: Document Type, Sell-to Customer No., Shipment No., Document No.
  • Key12: Job Contract Entry No.
  • Key15: Recalculate Invoice Disc.
  • Key16: Qty. Shipped Not Invoiced
  • Key17: Qty. Shipped (Base)
  • Key18: Shipment Date, Outstanding Quantity
  • Key19: SystemModifiedAt
  • Key20: Completely Shipped
  • Key21: Document Type, Document No., Type, No., System-Created Entry
  • Key22: Document No., Type, No.

Events published

  • OnAfterInitDefaultDimensionSources(var SalesLine: Record "Sales Line"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer) (integration): Raised after initializing default dimension sources on the sales line.
  • OnAfterAssignFieldsForNo(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised after assigning fields for the No. field on the sales line.
  • OnAfterApplyPrice(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CallFieldNo: Integer; CurrentFieldNo: Integer) (integration): Raised after applying price to the sales line.
  • OnAfterAssignHeaderValues(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised after assigning header values to the sales line.
  • OnAfterAssignStdTxtValues(var SalesLine: Record "Sales Line"; StandardText: Record "Standard Text"; SalesHeader: Record "Sales Header") (integration): Raised after assigning standard text values to the sales line.
  • OnAfterAssignGLAccountValues(var SalesLine: Record "Sales Line"; GLAccount: Record "G/L Account"; SalesHeader: Record "Sales Header"; var TempSalesLine: Record "Sales Line" temporary) (integration): Raised after assigning G/L account values to the sales line.
  • OnCopyFromGLAccountOnAfterAssignValues(var SalesLine: Record "Sales Line"; GLAccount: Record "G/L Account"; SalesHeader: Record "Sales Header"; var TempSalesLine: Record "Sales Line" temporary; CurrentFieldNo: Integer) + BC28 (integration)
  • OnAfterAssignItemValues(var SalesLine: Record "Sales Line"; Item: Record Item; SalesHeader: Record "Sales Header"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after assigning item values to the sales line.
  • OnAfterAssignItemChargeValues(var SalesLine: Record "Sales Line"; ItemCharge: Record "Item Charge"; SalesHeader: Record "Sales Header") (integration): Raised after assigning item charge values to the sales line.
  • OnAfterAssignResourceValues(var SalesLine: Record "Sales Line"; Resource: Record Resource; SalesHeader: Record "Sales Header") (integration): Raised after assigning resource values to the sales line.
  • OnAfterAssignFixedAssetValues(var SalesLine: Record "Sales Line"; FixedAsset: Record "Fixed Asset"; SalesHeader: Record "Sales Header") (integration): Raised after assigning fixed asset values to the sales line.
  • OnAfterAssignItemUOM(var SalesLine: Record "Sales Line"; Item: Record Item; CurrentFieldNo: Integer; xSalesLine: Record "Sales Line") (integration): Raised after assigning item unit of measure to the sales line.
  • OnAfterAssignResourceUOM(var SalesLine: Record "Sales Line"; Resource: Record Resource; ResourceUOM: Record "Resource Unit of Measure") (integration): Raised after assigning resource unit of measure to the sales line.
  • OnAfterAutoReserve(var SalesLine: Record "Sales Line") (integration): Raised after auto-reserving inventory for the sales line.
  • OnAfterCheckItemAvailable(var SalesLine: Record "Sales Line"; CalledByFieldNo: Integer; HideValidationDialog: Boolean) (integration): Raised after checking item availability for the sales line.
  • OnAfterCheckShipmentRelation(SalesLine: Record "Sales Line"; SalesShipmentLine: Record "Sales Shipment Line") (integration): Raised after checking the shipment relation for the sales line.
  • OnAfterCheckRetRcptRelation(SalesLine: Record "Sales Line"; ReturnReceiptLine: Record "Return Receipt Line") (integration): Raised after checking the return receipt relation for the sales line.
  • OnAfterCreateDimFromDefaultDim(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; CurrFieldNo: Integer; CallingFieldNo: Integer) (integration): Raised after creating dimensions from default dimensions on the sales line.
  • OnAfterCopyFromItem(var SalesLine: Record "Sales Line"; Item: Record Item; CurrentFieldNo: Integer; xSalesLine: Record "Sales Line") (integration): Raised after copying values from an item to the sales line.
  • OnAfterCopyFromSalesLine(var SalesLine: Record "Sales Line"; FromSalesLine: Record "Sales Line") (integration): Raised after copying values from another sales line.
  • OnAfterCopyFromSalesShptLine(var SalesLine: Record "Sales Line"; FromSalesShipmentLine: Record "Sales Shipment Line") (integration): Raised after copying values from a sales shipment line.
  • OnAfterCopyUnitPriceAndLineDiscountPct(var SalesLine: Record "Sales Line"; BlanketOrderSalesLine: Record "Sales Line"; CalledByFieldNo: Integer; SalesHeader: Record "Sales Header") (integration): Raised after copying unit price and line discount percentage from a blanket order.
  • OnAfterDeleteChargeChargeAssgnt(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after deleting item charge assignments from the sales line.
  • OnAfterDeleteItemChargeAssignment(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; DocType: Enum "Sales Document Type"; DocNo: Code[20]; DocLineNo: Integer) (integration): Raised after deleting an item charge assignment.
  • OnAfterFilterLinesWithItemToPlan(var SalesLine: Record "Sales Line"; var Item: Record Item; DocumentType: Option) (integration): Raised after filtering sales lines with items to plan.
  • OnAfterFilterLinesForReservation(var SalesLine: Record "Sales Line"; ReservationEntry: Record "Reservation Entry"; DocumentType: Enum "Sales Document Type"; AvailabilityFilter: Text; Positive: Boolean) (integration): Raised after filtering sales lines for reservation.
  • OnAfterFindResUnitCost(var SalesLine: Record "Sales Line"; var ResourceCost: Record "Resource Cost") Δ BC28 (integration): Raised after finding the resource unit cost.
  • OnAfterGetFAPostingGroup(var SalesLine: Record "Sales Line"; GLAccount: Record "G/L Account") (integration): Raised after getting the fixed asset posting group.
  • OnAfterGetVatBaseDiscountPct(SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var Result: Decimal) (integration): Raised after getting the VAT base discount percentage.
  • OnAfterGetItemTranslation(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; ItemTranslation: Record "Item Translation") (integration): Raised after getting the item translation for the sales line.
  • OnAfterGetSalesHeader(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Currency: Record Currency) (integration): Raised after getting the sales header for the sales line.
  • OnAfterGetUnitCost(var SalesLine: Record "Sales Line"; Item: Record Item) (integration): Raised after getting the unit cost for an item on the sales line.
  • OnAfterGetDefaultBin(var SalesLine: Record "Sales Line") (integration): Raised after getting the default bin for the sales line.
  • OnAfterHasTypeToFillMandatoryFields(var SalesLine: Record "Sales Line"; var ReturnValue: Boolean) (integration): Raised after determining if the sales line has a type that requires filling mandatory fields.
  • OnAfterInitQtyToAsm(var SalesLine: Record "Sales Line"; CallingFieldNo: Integer; xSalesLine: Record "Sales Line"; ShouldUpdateQtyToAsm: Boolean) (integration): Raised after initializing the quantity to assemble on the sales line.
  • OnAfterGetSalesSetup(var SalesLine: Record "Sales Line"; var SalesSetup: Record "Sales & Receivables Setup") (integration): Raised after getting the sales and receivables setup.
  • OnAfterIsAsmToOrderAllowed(SalesLine: Record "Sales Line"; var Result: Boolean) (integration): Raised after determining if assemble-to-order is allowed for the sales line.
  • OnAfterIsCreditDocType(SalesLine: Record "Sales Line"; var CreditDocType: Boolean) (integration): Raised after determining if the sales line is a credit document type.
  • OnAfterOpenItemTrackingLines(SalesLine: Record "Sales Line") (integration): Raised after opening item tracking lines for the sales line.
  • OnAfterPickDiscount(var SalesLine: Record "Sales Line"; var PriceCalculation: Interface "Price Calculation") (integration): Raised after picking the discount during price calculation.
  • OnAfterPickPrice(var SalesLine: Record "Sales Line"; var PriceCalculation: Interface "Price Calculation") (integration): Raised after picking the price during price calculation.
  • OnAfterSetSalesHeader(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Currency: Record Currency) (integration): Raised after setting the sales header on the sales line.
  • OnAfterShowNonStock(var SalesLine: Record "Sales Line"; NonstockItem: Record "Nonstock Item") (integration): Raised after showing a nonstock item on the sales line.
  • OnAfterShowItemChargeAssgnt(var SalesLine: Record "Sales Line"; var ItemChargeAssignmentSales: Record "Item Charge Assignment (Sales)") (integration): Raised after showing item charge assignment for the sales line.
  • OnAfterUpdateLineDiscPct(var SalesLine: Record "Sales Line") (integration): Raised after updating the line discount percentage on the sales line.
  • OnAfterUpdatePrePaymentAmounts(var SalesLine: Record "Sales Line") (integration): Raised after updating prepayment amounts on the sales line.
  • OnAfterUpdateVATPercent(var SalesLine: Record "Sales Line") + BC24 (integration): Raised after updating the VAT percent on the sales line.
  • OnUpdateUnitPriceByFieldOnBeforeValidateUnitPrice(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; var Handled: Boolean) (integration): Raised before validating the unit price when updating by field.
  • OnAfterUpdateUnitPrice(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer) (integration): Raised after updating the unit price on the sales line.
  • OnAfterAddItem(var SalesLine: Record "Sales Line"; LastSalesLine: Record "Sales Line") (integration): Raised after adding an item to the sales line.
  • OnBeforeAddItems(var SalesLine: Record "Sales Line"; SelectionFilter: Text; var IsHandled: Boolean) (integration): Raised before adding items to the sales line.
  • OnBeforeAutoReserve(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; xSalesLine: Record "Sales Line"; FullAutoReservation: Boolean; var ReserveSalesLine: Codeunit "Sales Line-Reserve") (integration): Raised before auto-reserving inventory for the sales line.
  • OnBeforeCalcBaseQty(var SalesLine: Record "Sales Line"; Qty: Decimal; FromFieldName: Text; ToFieldName: Text) (integration): Raised before calculating the base quantity.
  • OnCalcBaseQtyOnBeforeUOMMgtCalcBaseQty(var SalesLine: Record "Sales Line"; Qty: Decimal; FromFieldName: Text; ToFieldName: Text; var Result: Decimal; var IsHandled: Boolean) + BC28 (integration)
  • OnBeforeCalcInvDiscToInvoice(var SalesLine: Record "Sales Line"; CallingFieldNo: Integer) (integration): Raised before calculating the invoice discount to invoice.
  • OnBeforeCalcPlannedShptDate(var SalesLine: Record "Sales Line"; var PlannedShipmentDate: Date; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before calculating the planned shipment date.
  • OnBeforeCalcPrepmtToDeduct(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before calculating the prepayment to deduct.
  • OnBeforeCalcVATAmountLines(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; var IsHandled: Boolean; QtyType: Option General,Invoicing,Shipping; IncludePrepayments: Boolean) (integration): Raised before calculating VAT amount lines.
  • OnBeforeCallItemTracking(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before calling item tracking for the sales line.
  • OnBeforeCheckAssocPurchOrder(var SalesLine: Record "Sales Line"; TheFieldCaption: Text[250]; var IsHandled: Boolean; xSalesLine: Record "Sales Line") (integration): Raised before checking the associated purchase order.
  • OnBeforeCheckAsmToOrder(var SalesLine: Record "Sales Line"; AsmHeader: Record "Assembly Header"; var IsHandled: Boolean) (integration): Raised before checking the assemble-to-order configuration.
  • OnBeforeCheckPrepmtAmounts(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; xSalesLine: Record "Sales Line"; CurrFieldNo: Integer; SalesHeader: Record "Sales Header") (integration): Raised before checking prepayment amounts on the sales line.
  • OnBeforeCheckApplFromItemLedgEntry(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var ItemLedgerEntry: Record "Item Ledger Entry"; var IsHandled: Boolean; CurrentFieldNo: Integer) + BC27 − BC27 (integration): Raised before checking the application from item ledger entry.
  • OnBeforeCheckBinCodeRelation(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking the bin code relation.
  • OnBeforeCheckItemAvailable(var SalesLine: Record "Sales Line"; CalledByFieldNo: Integer; var IsHandled: Boolean; CurrentFieldNo: Integer; xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised before checking item availability for the sales line.
  • OnBeforeCheckLinkedBlanketOrderLineOnDelete(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking linked blanket order line on delete.
  • OnBeforeCleanSpecialOrderFieldsAndCheckAssocPurchOrder(var SalesLine: Record "Sales Line") (integration): Raised before cleaning special order fields and checking the associated purchase order.
  • OnBeforeCleanPurchaseLineSpecialOrderFields(SalesLine: Record "Sales Line"; var Result: Boolean; var IsHandled: Boolean) (integration): Raised before cleaning purchase line special order fields.
  • OnBeforeCopyFromItem(var SalesLine: Record "Sales Line"; Item: Record Item; var IsHandled: Boolean) (integration): Raised before copying values from an item to the sales line.
  • OnBeforeFindNoByDescription(SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before finding a record by description.
  • OnBeforeFindOrCreateRecordByNo(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before finding or creating a record by number.
  • OnBeforeFormatType(SalesLine: Record "Sales Line"; var FormattedType: Text[20]; var IsHandled: Boolean) Δ BC29 (integration, obsolete 29.0): Raised before formatting the line type.
  • OnBeforeFormatTypeAsText(SalesLine: Record "Sales Line"; var FormattedType: Text[30]; var IsHandled: Boolean) + BC29 (integration): Raised before the sales line type is formatted as text.
  • OnBeforeGetCPGInvRoundAcc(SalesHeader: Record "Sales Header"; Customer: Record Customer; var AccountNo: Code[20]; var IsHandled: Boolean) (integration): Raised before getting the customer posting group invoice rounding account.
  • OnBeforeGetAbsMin(SalesLine: Record "Sales Line"; QtyToHandle: Decimal; QtyHandled: Decimal; var Result: Decimal; var IsHandled: Boolean) (integration): Raised before getting the absolute minimum quantity.
  • OnBeforeGetFAPostingGroup(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before getting the fixed asset posting group.
  • OnBeforeGetDefaultBin(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrentFieldNo: Integer) + BC27 − BC27 (integration): Raised before getting the default bin for the sales line.
  • OnBeforeGetItemTranslation(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before getting the item translation for the sales line.
  • OnBeforeGetSalesHeader(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var IsHanded: Boolean; var Currency: Record Currency; var HasSalesHeader: Boolean) + BC28 − BC28 (integration): Raised before getting the sales header for the sales line.
  • OnBeforeGetUnitCost(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrFieldNo: Integer) (integration): Raised before getting the unit cost for the sales line.
  • OnBeforeGetDeferralAmount(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; var DeferralAmount: Decimal) (integration): Raised before getting the deferral amount.
  • OnBeforeGetReservationQty(var SalesLine: Record "Sales Line"; var QtyReserved: Decimal; var QtyReservedBase: Decimal; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal; var Result: Decimal; var IsHandled: Boolean) (integration): Raised before getting the reservation quantity.
  • OnBeforeInitHeaderLocactionCode(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before initializing the header location code.
  • OnBeforeInitOutstandingAmount(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before initializing the outstanding amount on the sales line.
  • OnBeforeInitQty(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; IsAsmToOrderAlwd: Boolean; IsAsmToOrderRqd: Boolean; var IsHandled: Boolean; var ShouldInitQty: Boolean) (integration): Raised before initializing the quantity on the sales line.
  • OnBeforeInitQtyToAsm(var SalesLine: Record "Sales Line"; CallingFieldNo: Integer) (integration): Raised before initializing the quantity to assemble.
  • OnBeforeInitQtyToReceive(var SalesLine: Record "Sales Line"; FieldNo: Integer; var IsHandled: Boolean) (integration): Raised before initializing the quantity to receive.
  • OnBeforeInitQtyToShip(var SalesLine: Record "Sales Line"; FieldNo: Integer; var IsHandled: Boolean) (integration): Raised before initializing the quantity to ship.
  • OnBeforeInitType(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean; var SalesHeader: Record "Sales Header") (integration): Raised before initializing the type on the sales line.
  • OnBeforeIsAsmToOrderRequired(SalesLine: Record "Sales Line"; var Result: Boolean; var IsHandled: Boolean) (integration): Raised before determining if assemble-to-order is required.
  • OnBeforeLookupShortcutDimCode(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean) (integration): Raised before looking up a shortcut dimension code.
  • OnBeforeMaxQtyToInvoice(SalesLine: Record "Sales Line"; var MaxQty: Decimal; var IsHandled: Boolean) (integration): Raised before calculating the maximum quantity to invoice.
  • OnBeforeMaxQtyToInvoiceBase(SalesLine: Record "Sales Line"; var MaxQty: Decimal; var IsHandled: Boolean) (integration): Raised before calculating the maximum quantity to invoice in base unit.
  • OnBeforeSelectMultipleItems(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) + BC24 − BC24 (integration): Raised before selecting multiple items.
  • OnBeforeSetDefaultGLAccountQuantity(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) + BC25 (integration): Raised before setting the default G/L account quantity.
  • OnBeforeSetDefaultItemQuantity(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before setting the default item quantity.
  • OnBeforeSetDefaultQuantity(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before setting the default quantity.
  • OnBeforeSetICPartnerRefType(var SalesLine: Record "Sales Line"; NewType: Enum "IC Partner Reference Type"; FieldNo: Integer; var IsHandled: Boolean) (integration): Raised before setting the IC partner reference type.
  • OnBeforeSetSalesHeader(SalesHeader: record "Sales Header") (integration): Raised before setting the sales header.
  • OnBeforeShowDimensions(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean; var IsChanged: Boolean) (integration): Raised before showing dimensions for the sales line.
  • OnBeforeSignedXX(var SalesLine: Record "Sales Line"; var Value: Decimal; var IsHandled: Boolean) (integration): Raised before applying the signed value calculation.
  • OnBeforeShowItemSub(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before showing item substitution.
  • OnBeforeShowReservation(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before showing reservation for the sales line.
  • OnBeforeShowReservationEntries(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before showing reservation entries for the sales line.
  • OnBeforeTestJobPlanningLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CallingFieldNo: Integer) (integration): Raised before testing the job planning line.
  • OnBeforeTestStatusOpen(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var StatusCheckSuspended: Boolean) (integration): Raised before testing if the status is open.
  • OnBeforeTestQtyFromLindDiscountAmount(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before testing the quantity from line discount amount.
  • OnBeforeThrowWrongAmountError(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before throwing a wrong amount error.
  • OnBeforeUpdateDates(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; var PlannedShipmentDateCalculated: Boolean; var PlannedDeliveryDateCalculated: Boolean) (integration): Raised before updating dates on the sales line.
  • OnBeforeUpdatePrepmtAmounts(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var IsHandled: Boolean; xSalesLine: Record "Sales Line"; FieldNo: Integer) (integration): Raised before updating prepayment amounts on the sales line.
  • OnBeforeUpdatePrepmtSetupFields(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrentFieldNo: Integer) (integration): Raised before updating prepayment setup fields.
  • OnUpdatePrepmtSetupFieldsOnBeforeGetVATPostingSetup(var SalesLine: Record "Sales Line"; GLAccount: Record "G/L Account"; var VATPostingSetup: Record "VAT Posting Setup"; var VATPostingSetupRetrieved: Boolean) + BC28 (integration)
  • OnUpdatePrepmtSetupFieldsOnBeforeClearVATPostingSetup(var SalesLine: Record "Sales Line"; var VATPostingSetup: Record "VAT Posting Setup"; var SkipClear: Boolean) + BC28 (integration)
  • OnBeforeUpdateLineDiscPct(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; Currency: Record Currency) (integration): Raised before updating the line discount percentage.
  • OnBeforeUpdateUnitPrice(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; var Handled: Boolean) (integration): Raised before updating the unit price.
  • OnBeforeUpdateUnitPriceByField(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CalledByFieldNo: Integer; CurrFieldNo: Integer; var IsHandled: Boolean) + BC28 (integration)
  • OnBeforeUpdateUnitPriceProcedure(var SalesLine: Record "Sales Line"; CalledByFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before the update unit price procedure.
  • OnBeforeUpdateAmounts(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before updating amounts on the sales line.
  • OnBeforeUpdateVATAmounts(var SalesLine: Record "Sales Line") (integration): Raised before updating VAT amounts on the sales line.
  • OnBeforeUpdateVATOnLines(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; var IsHandled: Boolean; QtyType: Integer; var LineWasModified: Boolean; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var PrepaymentLineAmountEntered: Boolean) (integration): Raised before updating VAT on lines.
  • OnBeforeUpdateWithWarehouseShip(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before updating with warehouse ship information.
  • OnBeforeUpdateQuantityFromUOMCode(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before updating quantity from unit of measure code.
  • OnBeforeUpdateQtyToAsmFromSalesLineQtyToShip(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before updating quantity to assemble from quantity to ship.
  • OnBeforeValidateDropShipment(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the drop shipment field.
  • OnBeforeValidateReturnReasonCode(var SalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the return reason code.
  • OnBeforeValidatePurchasingCode(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before validating the purchasing code.
  • OnBeforeValidateUnitOfMeasureCodeFromNo(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrentFieldNo: Integer) (integration): Raised before validating the unit of measure code from the No. field.
  • OnBeforeValidateLineAmount(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean; Currency: Record Currency) (integration): Raised before validating the line amount.
  • OnBeforeValidatePrepmtAmttoDeduct(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before validating the prepayment amount to deduct.
  • OnBeforeValidatePrepmtLineAmount(var SalesLine: Record "Sales Line"; PrePaymentLineAmountEntered: Boolean; var IsHandled: Boolean; FieldNo: Integer) (integration): Raised before validating the prepayment line amount.
  • OnBeforeValidateBlanketOrderNo(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the blanket order number.
  • OnBeforeValidateType(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the type field.
  • OnBeforeValidateQtytoAsmtoOrderBase(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the quantity to assemble to order base.
  • OnBeforeValidateQtyToInvoiceBase(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the quantity to invoice base.
  • OnBeforeValidateQtyToShipBase(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the quantity to ship base.
  • OnBeforeValidateReturnQtyToReceiveBase(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the return quantity to receive base.
  • OnBeforeVerifyReservedQty(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CalledByFieldNo: Integer) (integration): Raised before verifying the reserved quantity.
  • OnBeforeZeroAmountLine(var SalesLine: Record "Sales Line"; QtyType: Option General,Invoicing,Shipping; var Result: Boolean; var IsHandled: Boolean) (integration): Raised before determining if the line has zero amount.
  • OnBlanketOrderIsRelatedOnAfterSetLoadFields(var BlanketOrderSalesLine: Record "Sales Line") (integration): Raised after setting load fields when checking if a blanket order is related.
  • OnCalcVATAmountLinesOnBeforeAssignAmtToHandle(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; IncludePrepayments: Boolean; QtyType: Option; var QtyToHandle: Decimal; var AmtToHandle: Decimal) (integration): Raised before assigning amount to handle when calculating VAT amount lines.
  • OnCalcVATAmountLinesOnBeforeQtyTypeGeneralCase(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; IncludePrepayments: Boolean; QtyType: Option; var QtyToHandle: Decimal; var AmtToHandle: Decimal) (integration): Raised before the general case when calculating VAT amount lines by quantity type.
  • OnCalcVATAmountLinesOnBeforeAssignQuantities(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: record "VAT Amount Line"; var QtyToHandle: Decimal; var IsHandled: Boolean) (integration): Raised before assigning quantities when calculating VAT amount lines.
  • OnCalcVATAmountLinesOnBeforeQtyTypeCase(var VATAmountLine: Record "VAT Amount Line"; var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised before the quantity type case when calculating VAT amount lines.
  • OnAfterInitHeaderDefaults(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; xSalesLine: Record "Sales Line") (integration): Raised after initializing header defaults on the sales line.
  • OnAfterInitOutstanding(var SalesLine: Record "Sales Line") (integration): Raised after initializing outstanding values on the sales line.
  • OnAfterInitOutstandingQty(var SalesLine: Record "Sales Line") (integration): Raised after initializing outstanding quantity on the sales line.
  • OnAfterInitOutstandingAmount(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; Currency: Record Currency) (integration): Raised after initializing outstanding amount on the sales line.
  • OnAfterInitQtyToInvoice(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) (integration): Raised after initializing the quantity to invoice.
  • OnAfterInitQtyToShip(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) (integration): Raised after initializing the quantity to ship.
  • OnAfterInitQtyToShip2(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) (integration): Raised after the second initialization of quantity to ship.
  • OnAfterInitQtyToReceive(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) (integration): Raised after initializing the quantity to receive.
  • OnAfterInitType(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised after initializing the type on the sales line.
  • OnAfterCalcLineAmount(var SalesLine: Record "Sales Line"; var LineAmount: Decimal) (integration): Raised after calculating the line amount.
  • OnAfterCalcInvDiscToInvoice(var SalesLine: Record "Sales Line"; OldInvDiscAmtToInv: Decimal) (integration): Raised after calculating the invoice discount to invoice.
  • OnAfterCalcVATAmountLines(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; QtyType: Option General,Invoicing,Shipping) (integration): Raised after calculating VAT amount lines.
  • OnAfterGetLineAmountToHandle(SalesLine: Record "Sales Line"; QtyToHandle: Decimal; var LineAmount: Decimal; var LineDiscAmount: Decimal) (integration): Raised after getting the line amount to handle.
  • OnAfterGetLineWithPrice(var LineWithPrice: Interface "Line With Price") (integration): Raised after getting the line with price interface.
  • OnAfterGetSKU(SalesLine: Record "Sales Line"; var Result: Boolean; var StockkeepingUnit: Record "Stockkeeping Unit") (integration): Raised after getting the stockkeeping unit.
  • OnAfterSalesTaxCalculate(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; Currency: Record Currency) (integration): Raised after calculating sales tax.
  • OnAfterSalesTaxCalculateReverse(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; Currency: Record Currency) (integration): Raised after calculating sales tax in reverse.
  • OnAfterSetReserveWithoutPurchasingCode(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; Item: Record Item) (integration): Raised after setting the reserve field without a purchasing code.
  • OnAfterShowDimensions(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised after showing dimensions for the sales line.
  • OnAfterUpdateAmounts(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after updating amounts on the sales line.
  • OnAfterUpdateAmountsDone(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after completing the update amounts process.
  • OnAfterUpdateBaseAmounts(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after updating base amounts on the sales line.
  • OnAfterUpdateDates(var SalesLine: Record "Sales Line") (integration): Raised after updating dates on the sales line.
  • OnBeforeUpdateItemReference(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CalledByFieldNo: Integer; var IsHandled: Boolean) + BC27 (integration): Raised before updating item reference on the sales line.
  • OnAfterUpdateItemReference(var SalesLine: Record "Sales Line") (integration): Raised after updating item reference on the sales line.
  • OnAfterUpdateVATAmounts(var SalesLine: Record "Sales Line"; Currency: Record Currency) (integration): Raised after updating VAT amounts on the sales line.
  • OnAfterUpdateVATOnLines(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; QtyType: Option General,Invoicing,Shipping) (integration): Raised after updating VAT on lines.
  • OnAfterUpdateWithWarehouseShip(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line") (integration): Raised after updating with warehouse ship information.
  • OnAfterCreateDim(var SalesLine: Record "Sales Line"; CallingFieldNo: Integer; xSalesLine: Record "Sales Line"; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]) (integration): Raised after creating dimensions on the sales line.
  • OnAfterSetReservationFilters(var ReservEntry: Record "Reservation Entry"; SalesLine: Record "Sales Line") (integration): Raised after setting reservation filters.
  • OnAfterShowItemSub(var SalesLine: Record "Sales Line") (integration): Raised after showing item substitution.
  • OnAfterUpdateICPartner(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised after updating the IC partner on the sales line.
  • OnAfterValidateReturnReasonCode(var SalesLine: Record "Sales Line"; CallingFieldNo: Integer) (integration): Raised after validating the return reason code.
  • OnInsertOnAfterCheckInventoryConflict(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var SalesLine2: Record "Sales Line") (integration): Raised after checking for inventory conflict during insert.
  • OnInsertFreightLineOnAfterCheckDocumentNo(var SalesLine: Record "Sales Line"; var SalesLineRec: Record "Sales Line") (integration): Raised after checking the document number when inserting a freight line.
  • OnInitQtyToShip2OnBeforeCalcInvDiscToInvoice(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line") (integration): Raised before calculating the invoice discount to invoice during the second quantity to ship initialization.
  • OnInitQtyToAsmOnAfterCalcShouldUpdateQtyToAsm(var SalesLine: Record "Sales Line"; CallingFieldNo: Integer; xSalesLine: Record "Sales Line"; var ShouldUpdateQtyToAsm: Boolean) (integration): Raised after calculating whether to update quantity to assemble during initialization.
  • OnShowLineCommentsOnAfterSetFilters(var SalesCommentLine: Record "Sales Comment Line") (integration): Raised after setting filters when showing line comments.
  • OnShowItemChargeAssgntOnBeforeCalcItemCharge(var SalesLine: Record "Sales Line"; var ItemChargeAssgntLineAmt: Decimal; Currency: Record Currency; var IsHandled: Boolean; var ItemChargeAssgntSales: Record "Item Charge Assignment (Sales)") (integration): Raised before calculating item charge when showing item charge assignment.
  • OnShowItemChargeAssgntOnAfterCurrencyInitialize(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Currency: Record Currency) (integration): Raised after initializing the currency when showing item charge assignment.
  • OnValidateTypeOnAfterVerifyChange(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised after verifying the type change during type validation.
  • OnUpdateLineDiscPctOnAfterCalcIsOutOfStandardDiscPctRange(var SalesLine: Record "Sales Line"; var IsOutOfStandardDiscPctRange: Boolean) (integration): Raised after calculating whether the discount percentage is out of standard range.
  • OnUpdateUnitPriceByFieldOnAfterFindPrice(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; CalledByFieldNo: Integer; CallingFieldNo: Integer) (integration): Raised after finding the price when updating unit price by field.
  • OnUpdateUnitPriceOnBeforeFindPrice(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; CalledByFieldNo: Integer; CallingFieldNo: Integer; var IsHandled: Boolean; xSalesLine: Record "Sales Line") (integration): Raised before finding the price when updating unit price.
  • OnValidateLocationCodeOnBeforeSetShipmentDate(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before setting the shipment date when validating location code.
  • OnValidateTypeOnAfterCheckItem(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised after checking the item during type validation.
  • OnValidateTypeOnCopyFromTempSalesLine(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary) (integration): Raised when copying from a temporary sales line during type validation.
  • OnValidateNoOnAfterInitHeaderDefaults(var SalesHeader: Record "Sales Header"; var TempSalesLine: Record "Sales Line" temporary; var SalesLine: Record "Sales Line") (integration): Raised after initializing header defaults when validating the No. field.
  • OnValidateNoOnAfterCalcShouldStopValidation(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var ShouldStopValidation: Boolean) (integration): Raised after calculating whether to stop validation when validating the No. field.
  • OnValidateNoOnAfterUpdateUnitPrice(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary) (integration): Raised after updating the unit price when validating the No. field.
  • OnValidateNoOnAfterVerifyChange(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised after verifying the change when validating the No. field.
  • OnValidateNoOnCopyFromTempSalesLine(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised when copying from a temporary sales line during No. field validation.
  • OnValidateNoOnBeforeInitHeaderDefaults(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary) (integration): Raised before initializing header defaults when validating the No. field.
  • OnValidateNoOnBeforeInitRec(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer) (integration): Raised before initializing the record when validating the No. field.
  • OnValidateNoOnBeforeInit(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) + BC28 (integration)
  • OnValidateNoOnBeforeCalcShipmentDateForLocation(var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before calculating the shipment date for location when validating the No. field.
  • OnValidateNoOnBeforeUpdateDates(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; CallingFieldNo: Integer; var IsHandled: Boolean; var TempSalesLine: Record "Sales Line" temporary) (integration): Raised before updating dates when validating the No. field.
  • OnValidateQuantityOnAfterCalcBaseQty(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised after calculating the base quantity when validating the Quantity field.
  • OnValidateQuantityOnBeforeCheckQuantityChangeForPriceCalc(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised before checking quantity change for price calculation when validating the Quantity field.
  • OnValidateQuantityOnBeforeGetUnitCost(var SalesLine: Record "Sales Line"; Item: Record Item) (integration): Raised before getting the unit cost when validating the Quantity field.
  • OnValidateQuantityOnBeforeResetAmounts(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before resetting amounts when validating the Quantity field.
  • OnValidateQtyToShipAfterInitQty(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised after initializing quantity when validating quantity to ship.
  • OnValidateQtyToShipOnAfterCheck(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after checking the quantity to ship validation.
  • OnValidateQtyToReturnAfterInitQty(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised after initializing quantity when validating quantity to return.
  • OnValidateReturnQtyToReceiveOnAfterCheck(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after checking the return quantity to receive validation.
  • OnValidateShipmentDateOnAfterSalesLineVerifyChange(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var DoCheckReceiptOrderStatus: Boolean; var HasBeenShown: Boolean) + BC25 − BC25 + BC27 − BC27 (integration): Raised after verifying the change when validating the shipment date.
  • OnValidateVariantCodeOnAfterChecks(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer) (integration): Raised after performing checks when validating the variant code.
  • OnValidateVATProdPostingGroupOnBeforeCheckVATCalcType(var SalesLine: Record "Sales Line"; VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean) (integration): Raised before checking the VAT calculation type when validating the VAT product posting group.
  • OnValidateVATProdPostingGroupOnBeforeUpdateUnitPrice(var SalesLine: Record "Sales Line"; VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean; xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; Currency: Record Currency) + BC24 − BC24 + BC27 − BC27 (integration): Raised before updating the unit price when validating the VAT product posting group.
  • OnAfterTestStatusOpen(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header") (integration): Raised after testing if the status is open.
  • OnAfterSelectMultipleItems(var SalesLine: Record "Sales Line") (integration): Raised after selecting multiple items.
  • OnAfterSetDefaultQuantity(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line") (integration): Raised after setting the default quantity.
  • OnAfterUpdateTotalAmounts(var SalesLine: Record "Sales Line"; SalesLine2: Record "Sales Line"; var TotalAmount: Decimal; var TotalAmountInclVAT: Decimal; var TotalLineAmount: Decimal; var TotalInvDiscAmount: Decimal) (integration): Raised after updating total amounts.
  • OnCheckWarehouseOnAfterSetLocation2(var SalesLine: Record "Sales Line"; var Location2: Record Location) (integration): Raised after setting the location when checking warehouse.
  • OnCheckWarehouseOnBeforeShowDialog(var SalesLine: Record "Sales Line"; Location: Record Location; var ShowDialog: Option " ",Message,Error; var DialogText: Text[50]) (integration): Raised before showing the dialog when checking warehouse.
  • OnCalcShipmentDateOnPlannedShipmentDate(SalesLine: Record "Sales Line"; var ShipmentDate: Date; var IsHandled: Boolean) (integration): Raised when calculating shipment date from planned shipment date.
  • OnCopyFromItemOnAfterCheck(var SalesLine: Record "Sales Line"; Item: Record Item) (integration): Raised after checking when copying from an item.
  • OnCopyFromItemOnAfterCheckInvtPostingSetupInventoryAccount(var SalesLine: Record "Sales Line"; Item: Record Item) (integration): Raised after checking the inventory posting setup inventory account when copying from an item.
  • OnCopyFromResourceOnBeforeTestBlocked(var Resoiurce: Record Resource; var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before testing if a resource is blocked when copying from a resource.
  • OnCopyFromResourceOnBeforeApplyResUnitCost(var SalesLine: Record "Sales Line"; Resource: Record Resource; SalesHeader: Record "Sales Header") (integration): Raised before applying resource unit cost when copying from a resource.
  • OnCreateDimOnBeforeUpdateGlobalDimFromDimSetID(var SalesLine: Record "Sales Line") (integration): Raised before updating global dimensions from dimension set ID when creating dimensions.
  • OnGetDeferralPostDate(SalesHeader: Record "Sales Header"; var DeferralPostingDate: Date; SalesLine: Record "Sales Line") (integration): Raised when getting the deferral posting date.
  • OnAfterAutoAsmToOrder(var SalesLine: Record "Sales Line") (integration): Raised after auto assemble-to-order processing.
  • OnBeforeAutoAsmToOrder(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrentFieldNo: Integer; var ATOLink: Record "Assemble-to-Order Link") (integration): Raised before auto assemble-to-order processing.
  • OnAfterBlanketOrderLookup(var SalesLine: Record "Sales Line") (integration): Raised after looking up the blanket order.
  • OnBeforeBlanketOrderLookup(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before looking up the blanket order.
  • OnBeforeCalcPlannedDeliveryDate(var SalesLine: Record "Sales Line"; var PlannedDeliveryDate: Date; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before calculating the planned delivery date.
  • OnGetGetFAPostingGroupOnBeforeExit(var SalesLine: Record "Sales Line"; var ShouldExit: Boolean) (integration): Raised before exiting when getting the fixed asset posting group.
  • OnBeforeOpenItemTrackingLines(SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before opening item tracking lines.
  • OnAfterCheckCreditLimitCondition(SalesLine: Record "Sales Line"; var RunCheck: Boolean) (integration): Raised after checking the credit limit condition.
  • OnAfterValidateShortcutDimCode(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]) (integration): Raised after validating a shortcut dimension code.
  • OnBeforeUpdateItemChargeAssgnt(var SalesLine: Record "Sales Line"; var InHandled: Boolean) (integration): Raised before updating item charge assignment.
  • OnBeforeUpdateUnitPriceFromNonstockItem(var SalesLine: Record "Sales Line"; NonstockItem: Record "Nonstock Item"; var InHandled: Boolean) (integration): Raised before updating the unit price from a nonstock item.
  • OnBeforeValidateDescription(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var InHandled: Boolean) (integration): Raised before validating the description field.
  • OnBeforeValidatePlannedDeliveryDate(var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before validating the planned delivery date.
  • OnBeforeValidatePlannedShipmentDate(var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before validating the planned shipment date.
  • OnBeforeValidateQuantityBase(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the quantity base.
  • OnBeforeValidateShortcutDimCode(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean) (integration): Raised before validating a shortcut dimension code.
  • OnBeforeVerifyItemLineDim(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before verifying the item line dimension.
  • OnUpdateAmountsOnAfterCalcLineAmount(var SalesLine: Record "Sales Line"; var LineAmount: Decimal) (integration): Raised after calculating the line amount when updating amounts.
  • OnUpdateAmountOnBeforeCheckCreditLimit(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrentFieldNo: Integer) (integration): Raised before checking the credit limit when updating amounts.
  • OnUpdateAmountsOnBeforeCheckLineAmount(var IsHandled: Boolean; var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised before checking the line amount when updating amounts.
  • OnUpdateVATOnLinesOnBeforeCalculateNewAmount(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; VATAmountLine: Record "VAT Amount Line"; VATAmountLineReminder: Record "VAT Amount Line"; var NewAmount: Decimal; var VATAmount: Decimal) (integration): Raised before calculating the new amount when updating VAT on lines.
  • OnUpdateVATOnLinesOnAfterCalculateAmounts(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header") (integration): Raised after calculating amounts when updating VAT on lines.
  • OnUpdateVATOnLinesOnAfterCalculateNewAmount(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; VATAmountLine: Record "VAT Amount Line"; VATAmountLineReminder: Record "VAT Amount Line"; var NewAmountIncludingVAT: Decimal; VATAmount: Decimal; var NewAmount: Decimal; var NewVATBaseAmount: Decimal) (integration): Raised after calculating the new amount when updating VAT on lines.
  • OnUpdateVATOnLinesOnAfterSalesLineSetFilter(var SalesLine: Record "Sales Line") (integration): Raised after setting the filter on sales lines when updating VAT on lines.
  • OnUpdateVATOnLinesOnBeforeModifySalesLine(var SalesLine: Record "Sales Line"; VATAmount: Decimal) (integration): Raised before modifying the sales line when updating VAT on lines.
  • OnUpdateVATOnLinesOnBeforeCalculateAmounts(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header") (integration): Raised before calculating amounts when updating VAT on lines.
  • OnUpdateVATOnLinesOnBeforeTempVATAmountLineRemainderModify(SalesLine: Record "Sales Line"; var TempVATAmountLineRemainder: Record "VAT Amount Line"; VATAmount: Decimal; NewVATBaseAmount: Decimal) (integration): Raised before modifying the temporary VAT amount line remainder when updating VAT on lines.
  • OnUpdateVATOnLinesOnAfterCurrencyInitialize(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Currency: Record Currency) (integration): Raised after initializing the currency when updating VAT on lines.
  • OnValidateDescriptionOnBeforeCannotFindDescrError(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before throwing a cannot find description error when validating description.
  • OnValidateLocationCodeOnAfterSetOutboundWhseHandlingTime(var SalesLine: Record "Sales Line") (integration): Raised after setting the outbound warehouse handling time when validating location code.
  • OnCalcVATAmountLinesOnAfterCalcLineTotals(var VATAmountLine: Record "VAT Amount Line"; SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; Currency: Record Currency; QtyType: Option General,Invoicing,Shipping; var TotalVATAmount: Decimal; QtyToHandle: Decimal) (integration): Raised after calculating line totals when calculating VAT amount lines.
  • OnCalcVATAmountLinesOnAfterSetFilters(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised after setting filters when calculating VAT amount lines.
  • OnCalcVATAmountLinesOnAfterCalcShouldProcessRounding(var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency; var IsHandled: Boolean; var SalesLine: Record "Sales Line"; var TotalVATAmount: Decimal) (integration): Raised after calculating whether to process rounding when calculating VAT amount lines.
  • OnCalcVATAmountLinesOnBeforeVATAmountLineUpdateLines(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; var VATAmountLine: Record "VAT Amount Line"; var TotalVATAmount: Decimal) (integration): Raised before updating VAT amount lines when calculating VAT amount lines.
  • OnCalcVATAmountLinesOnAfterCurrencyInitialize(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Currency: Record Currency) (integration): Raised after initializing the currency when calculating VAT amount lines.
  • OnDeleteOnAfterSetSalesLineFilters(var SalesLine: Record "Sales Line") (integration): Raised after setting sales line filters during delete.
  • OnDeleteOnBeforeTestStatusOpen(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before testing status open during delete.
  • OnFindResUnitCostOnAfterInitResCost(var SalesLine: Record "Sales Line"; var ResourceCost: Record "Resource Cost") Δ BC28 (integration): Raised after initializing resource cost when finding resource unit cost.
  • OnLookUpICPartnerReferenceTypeCaseElse() (integration): Raised for the else case when looking up IC partner reference type.
  • OnModifyOnAfterSetFilters(var SalesLine: Record "Sales Line"; var SalesLine2: Record "Sales Line") (integration): Raised after setting filters during modify.
  • OnUpdateVATAmountsOnAfterSetSalesLineFilters(var SalesLine: Record "Sales Line"; var SalesLine2: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised after setting sales line filters when updating VAT amounts.
  • OnUpdateVATAmountsOnBeforeValidateLineDiscountPercent(var SalesLine: Record "Sales Line"; var StatusCheckSuspended: boolean) (integration): Raised before validating line discount percent when updating VAT amounts.
  • OnUpdateVATAmountsOnBeforeCalcAmounts(var SalesLine: Record "Sales Line"; var SalesLine2: Record "Sales Line"; var TotalAmount: Decimal; TotalAmountInclVAT: Decimal; var TotalLineAmount: Decimal; var TotalInvDiscAmount: Decimal; var TotalVATBaseAmount: Decimal; var TotalQuantityBase: Decimal; var IsHandled: Boolean; TotalVATDifference: Decimal) (integration): Raised before calculating amounts when updating VAT amounts.
  • OnSelectItemEntryOnAfterSetFilters(var ItemLedgEntry: Record "Item Ledger Entry"; SalesLine: Record "Sales Line"; CurrFieldNo: Integer) (integration): Raised after setting filters when selecting an item entry.
  • OnValidateAmountIncludingVATOnAfterAssignAmounts(var SalesLine: Record "Sales Line"; Currency: Record Currency) (integration): Raised after assigning amounts when validating the amount including VAT.
  • OnValidateLineAmountOnbeforeTestUnitPrice(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrentFieldNo: Integer) (integration): Raised before testing unit price when validating line amount.
  • OnValidatePrepaymentPercentageOnBeforeUpdatePrepmtSetupFields(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before updating prepayment setup fields when validating prepayment percentage.
  • OnValidateQuantityOnBeforeCheckAssocPurchOrder(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised before checking the associated purchase order when validating quantity.
  • OnValidateQuantityOnBeforeCheckReceiptOrderStatus(var SalesLine: Record "Sales Line"; StatusCheckSuspended: Boolean; var IsHandled: Boolean) (integration): Raised before checking receipt order status when validating quantity.
  • OnValidateQuantityOnBeforeSalesLineVerifyChange(var SalesLine: Record "Sales Line"; StatusCheckSuspended: Boolean; var IsHandled: Boolean) (integration): Raised before verifying sales line change when validating quantity.
  • OnValidateQuantityOnBeforeValidateQtyToAssembleToOrder(var SalesLine: Record "Sales Line"; StatusCheckSuspended: Boolean; var IsHandled: Boolean) (integration): Raised before validating quantity to assemble to order when validating quantity.
  • OnValidatePurchasingCodeOnAfterAssignPurchasingFields(var SalesLine: Record "Sales Line"; PurchasingCode: Record Purchasing; var IsHandled: Boolean) (integration): Raised after assigning purchasing fields when validating the purchasing code.
  • OnValidatePurchasingCodeOnAfterSetReserveWithoutPurchasingCode(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; xSalesLine: Record "Sales Line") (integration): Raised after setting the reserve field without purchasing code when validating the purchasing code.
  • OnValidatePurchasingCodeOnAfterResetPurchasingFields(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised after resetting purchasing fields when validating the purchasing code.
  • OnValidateVATProdPostingGroupOnBeforeUpdateAmounts(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; Currency: Record Currency) (integration): Raised before updating amounts when validating the VAT product posting group.
  • OnBeforeShowDeferrals(SalesLine: Record "Sales Line"; var ReturnValue: Boolean; var IsHandled: Boolean) (integration): Raised before showing deferrals.
  • OnBeforeCheckWarehouse(SalesLine: Record "Sales Line"; var IsHandled: Boolean; var ShowDialogMessage: Boolean) (integration): Raised before checking the warehouse.
  • OnBeforeCheckWarehouseForQtyToShip(SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean; xSalesLine: Record "Sales Line") (integration): Raised before checking warehouse for quantity to ship.
  • OnBeforeCreateDim(var IsHandled: Boolean; var SalesLine: Record "Sales Line"; FieldNo: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]) (integration): Raised before creating dimensions.
  • OnBeforeShowUnitPriceChangedMsg(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before showing the unit price changed message.
  • OnBeforeValidateUnitCostLCYOnGetUnitCost(var IsHandled: Boolean; var SalesLine: Record "Sales Line"; Item: Record Item) + BC25 − BC25 (integration): Raised before validating unit cost LCY when getting unit cost.
  • OnBeforeValidateWorkTypeCode(var xSalesLine: Record "Sales Line"; var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before validating the work type code.
  • OnBeforeValidateJobContractEntryNo(xSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before validating the job contract entry number.
  • OnBeforeValidateNo(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the No. field.
  • OnBeforeValidateShipmentDate(var IsHandled: Boolean; var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) + BC25 − BC25 (integration): Raised before validating the shipment date.
  • OnBeforeValidateVATProdPostingGroup(var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before validating the VAT product posting group.
  • OnBeforeValidateVATProdPostingGroupTrigger(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before the VAT product posting group trigger validation.
  • OnBeforeAssignResourceUoM(var ResUnitofMeasure: Record "Resource Unit of Measure"; var IsHandled: Boolean) (integration): Raised before assigning the resource unit of measure.
  • OnBeforeCheckPromisedDeliveryDate(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean; var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised before checking the promised delivery date.
  • OnBeforeCheckPrepmtAmtInvEmpty(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking if prepayment amount invoiced is empty.
  • OnBeforeValidateBlanketOrderLineNo(var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before validating the blanket order line number.
  • OnBeforeCheckShipmentRelation(var IsHandled: Boolean; var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised before checking the shipment relation.
  • OnBeforeCheckShipmentDateBeforeWorkDate(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var HasBeenShown: Boolean; var IsHandled: Boolean) (integration): Raised before checking if the shipment date is before the work date.
  • OnBeforeCheckRetRcptRelation(var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before checking the return receipt relation.
  • OnInitQtyToShipOnBeforeCheckServItemCreation(var SalesLine: Record "Sales Line") (integration): Raised before checking service item creation when initializing quantity to ship.
  • OnBeforeVerifyChangeForSalesLineReserve(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before verifying change for sales line reserve.
  • OnBeforeCheckInventoryPickConflict(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking for inventory pick conflict.
  • OnCheckApplFromItemLedgEntryOnBeforeTestFieldType(var SalesLine: Record "Sales Line") (integration): Raised before testing the field type when checking application from item ledger entry.
  • OnBeforeCheckQuantitySign(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking the quantity sign.
  • OnBeforeCheckQuantitySignOnApplicationFrom(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking the quantity sign on application from.
  • OnBeforeCheckReservedQtyBase(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking the reserved quantity base.
  • OnBeforeCheckNotInvoicedQty(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking the not invoiced quantity.
  • OnBeforeShowReturnedUnitsError(var SalesLine: Record "Sales Line"; var ItemLedgEntry: Record "Item Ledger Entry"; var IsHandled: Boolean) (integration): Raised before showing the returned units error.
  • OnBeforeTestDirectPosting(var SalesLine: Record "Sales Line"; var GLAccount: Record "G/L Account"; var SalesHeader: Record "Sales Header"; var IsHandled: Boolean) (integration): Raised before testing direct posting.
  • OnAfterValidateLineDiscountPercent(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) (integration): Raised after validating the line discount percent.
  • OnValidateLineDiscountPercentOnBeforeUpdateAmounts(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) (integration): Raised before updating amounts when validating line discount percent.
  • OnValidateLineDiscountPercentOnAfterTestStatusOpen(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after testing status open when validating line discount percent.
  • OnBeforeShowNonStock(var SalesLine: Record "Sales Line"; var NonstockItem: Record "Nonstock Item"; var IsHandled: Boolean) (integration): Raised before showing a nonstock item.
  • OnShowNonstockOnBeforeOpenCatalogItemList(var SalesLine: Record "Sales Line"; var NonstockItem: Record "Nonstock Item") (integration): Raised before opening the catalog item list when showing nonstock items.
  • OnValidateLocationCodeOnAfterCheckAssocPurchOrder(var SalesLine: Record "Sales Line") (integration): Raised after checking the associated purchase order when validating location code.
  • OnValidateTypeOnBeforeInitRec(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised before initializing the record when validating type.
  • OnAfterSetReservationEntry(var ReservEntry: Record "Reservation Entry"; var SalesLine: Record "Sales Line") (integration): Raised after setting the reservation entry.
  • OnValidateDropShipmentOnBeforeTestJobNo(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; CurrFieldNo: Integer) (integration): Raised before testing the job number when validating drop shipment.
  • OnAfterGetReservationQty(var SalesLine: Record "Sales Line"; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal; var Result: Decimal) (integration): Raised after getting the reservation quantity.
  • OnBeforeValidateUnitCostLCY(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the unit cost LCY.
  • OnBeforeUpdateICPartner(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var ShouldUpdateICPartner: Boolean) (integration): Raised before updating the IC partner.
  • OnAfterValidateBlanketOrderLineNo(var SalesLine: Record "Sales Line"; BlanketOrderSalesLine: Record "Sales Line") (integration): Raised after validating the blanket order line number.
  • OnAfterValidateLocationCode(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised after validating the location code.
  • OnBeforeGetLocation(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var Location: Record "Location"; LocationCode: Code[10]; var IsHandled: Boolean) (integration): Raised before getting the location.
  • OnCheckItemAvailableOnBeforeSalesLineCheck(var SalesLine: Record "Sales Line"; CalledByFieldNo: Integer; CurrentFieldNo: Integer; xSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before the sales line check when checking item availability.
  • OnBeforeValidateRequestedDeliveryDate(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before validating the requested delivery date.
  • OnBeforeValidatePromisedDeliveryDate(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before validating the promised delivery date.
  • OnValidateAmountOnAfterCalculateNormalVAT(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Currency: Record Currency) (integration): Raised after calculating normal VAT when validating the amount.
  • OnValidateAmountIncludingVATOnAfterCalculateNormalVAT(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var Currency: Record Currency) (integration): Raised after calculating normal VAT when validating the amount including VAT.
  • OnInitHeaderDefaultsOnBeforeTestSellToCustomerNo(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var IsHandled: Boolean) (integration): Raised before testing the sell-to customer number when initializing header defaults.
  • OnUpdatePrePaymentAmountsOnBeforeTestFieldPriceIncludingVAT(SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; SalesOrderHeader: Record "Sales Header"; var IsHandled: Boolean) (integration): Raised before testing the price including VAT field when updating prepayment amounts.
  • OnValidateNoOnBeforeInitOutstanding(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line") (integration): Raised before initializing outstanding values when validating the No. field.
  • OnUpdateVATAmountOnAfterSetZeroAmointIfLineIsInvDiscountAmount(var SalesLine: Record "Sales Line") (integration): Raised after setting zero amount if the line is an invoice discount amount when updating VAT amount.
  • OnValidateVATProdPostingGroupOnBeforeVATPostingSetupGet(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean; var VATPostingSetup: Record "VAT Posting Setup") (integration): Raised before getting the VAT posting setup when validating the VAT product posting group.
  • OnValidateNoOnBeforeCreateDimFromDefaultDim(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; var TempSalesLine: Record "Sales Line" temporary) (integration): Raised before creating dimensions from default dimensions when validating the No. field.
  • OnGenProdPostingGroupOnBeforeValidate(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var GenProdPostingGroup: Record "Gen. Product Posting Group"; var IsHandled: Boolean) Δ BC24 (integration)
  • OnValidateAmountOnAfterAssignAmount(var SalesLine: Record "Sales Line"; Currency: Record Currency) (integration): Raised after assigning the amount when validating the amount field.
  • OnBeforeCheckLineAmount(var SalesLine: Record "Sales Line"; MaxLineAmount: Decimal; var IsHandled: Boolean) (integration): Raised before checking the line amount.
  • OnValidateQtyToAssembleToOrderOnBeforeAutoAsmToOrder(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before auto assemble-to-order when validating quantity to assemble to order.
  • OnValidateUnitOfMeasureCodeOnBeforeGetUnitOfMeasure(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; CurrentFieldNo: Integer) (integration): Raised before getting the unit of measure when validating unit of measure code.
  • OnValidateUnitOfMeasureCodeOnAfterGetItemData(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; Item: Record Item) (integration): Raised after getting item data when validating unit of measure code.
  • OnDeleteOnAfterSalesLine2DeleteAll(var SalesLine: Record "Sales Line"; var SalesLine2: Record "Sales Line") (integration): Raised after deleting all secondary sales lines during delete.
  • OnValidateQuantityOnAfterInitQty(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised after initializing quantity when validating the Quantity field.
  • OnValidateUnitOfMeasureCodeOnAfterGetUnitOfMeasure(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header") (integration): Raised after getting the unit of measure when validating unit of measure code.
  • OnValidateUnitOfMeasureCodeOnAfterEnterSalesItemReference(var SalesLine: Record "Sales Line") (integration): Raised after entering sales item reference when validating unit of measure code.
  • OnValidateUnitOfMeasureCodeOnAfterCalcShouldPlanPriceCalc(var SalesLine: Record "Sales Line"; var ShouldPlanPriceCalc: Boolean) (integration): Raised after calculating whether to plan price calculation when validating unit of measure code.
  • OnValidateQtyToAssembleToOrderOnOtherDocTypeBeforeTestField(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before testing field for other document types when validating quantity to assemble to order.
  • OnValidateQtyToShipOnAfterCheckQuantity(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised after checking quantity when validating quantity to ship.
  • OnValidateQtyToInvoiceOnBeforeCalcInvDiscToInvoice(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer) (integration): Raised before calculating invoice discount to invoice when validating quantity to invoice.
  • OnValidateQuantityOnAfterCalcShouldCalcWithReturnQtyReceived(var SalesLine: Record "Sales Line"; var ShouldCalcWithReturnQtyReceived: Boolean) (integration): Raised after calculating whether to use return quantity received when validating quantity.
  • OnValidateQuantityOnAfterCalcShouldVerifyQtyForItem(var SalesLine: Record "Sales Line"; var ShouldVerifyQtyForItem: Boolean; xSalesLine: Record "Sales Line") (integration): Raised after calculating whether to verify quantity for item when validating quantity.
  • OnValidatePurchasingCodeOnAfterCalcShouldAssignValuesFromPurchasingCode(var SalesLine: Record "Sales Line"; var ShouldAssignValuesFromPurchasingCode: Boolean) (integration): Raised after calculating whether to assign values from purchasing code when validating the purchasing code.
  • OnValidateQuantityOnBeforeCalcWithQuantityShipped(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before calculating with quantity shipped when validating quantity.
  • OnUpdateVATAmountsOnBeforeIfLineIsInvDiscountAmount(var SalesLine: Record "Sales Line"; var LineIsInvDiscountAmount: Boolean) (integration): Raised before determining if the line is an invoice discount amount when updating VAT amounts.
  • OnBeforeInitTableValuePair(var TableValuePair: Dictionary of [Integer, Code[20]]; FieldNo: Integer; var IsHandled: Boolean; var SalesLine: Record "Sales Line") (integration): Raised before initializing a table value pair for dimensions.
  • OnAfterInitTableValuePair(var TableValuePair: Dictionary of [Integer, Code[20]]; FieldNo: Integer; var SalesLine: Record "Sales Line") (integration): Raised after initializing a table value pair for dimensions.
  • OnGetDefaultBinOnAfterWMSGetDefaultBin(var SalesLine: Record "Sales Line") (integration): Raised after getting the default bin from WMS.
  • OnBeforeInitDeferralCode(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before initializing the deferral code on the sales line.
  • OnBeforeGetDate(var SalesLine: Record "Sales Line"; var ResultDate: Date; var IsHandled: Boolean) + BC27 − BC27 (integration): Raised before getting the date for the sales line.
  • OnBeforeValidateQuantity(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; CallingFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the quantity on the sales line.
  • OnBeforeUpdatePrePaymentAmounts(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before updating prepayment amounts on the sales line.
  • OnValidateNoOnAfterCreateDimFromDefaultDim(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; CallingFieldNo: Integer) (integration): Raised after creating dimensions from default dimensions when validating the No. field.
  • OnAfterIsInbound(SalesLine: Record "Sales Line"; var IsInboundDocument: Boolean) (integration): Raised after determining if the sales line represents an inbound document.
  • OnBeforeBlanketOrderIsRelated(var CurrentSalesLine: Record "Sales Line"; var BlanketOrderSalesLine: Record "Sales Line"; var IsHandled: Boolean; var Result: Boolean) (integration): Raised before checking if a blanket order is related to the current sales line.
  • OnCheckIfSalesLineMeetsReservedFromStockSetting(QtyToPost: Decimal; ReservedFromStock: Enum "Reservation From Stock"; var Result: Boolean) (integration): Raised when checking if the sales line meets the reserved from stock setting.
  • OnBeforeGetATOBin(SalesLine: record "Sales Line"; Location: Record Location; var BinCode: Code[20]; var BinCodeNotEmpty: Boolean; var IsHandled: Boolean) (integration): Raised before getting the assemble-to-order bin code.
  • OnCreateDimFromDefaultDimOnBeforeCreateDim(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var ShouldCreateDim: Boolean) (integration): Raised before creating dimensions when creating dimensions from default dimensions.
  • OnBeforeAttachToInventoryItemLine(var SelectedSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before attaching to an inventory item line.
  • OnUpdatePricesIncludingVATAmountsOnAfterCalculateNormalVAT(var SalesLine: Record "Sales Line"; var Currency: Record Currency) (integration): Raised after calculating normal VAT when updating prices including VAT amounts.
  • OnUpdateVATAmountsOnAfterCalculateNormalVAT(var SalesLine: Record "Sales Line"; var Currency: Record Currency) (integration): Raised after calculating normal VAT when updating VAT amounts.
  • OnOutstandingInvoiceAmountFromShipmentOnAfterSetFilter(var SalesLineCopy: Record "Sales Line") (integration): Raised after setting filters when calculating outstanding invoice amount from shipment.
  • OnAfterSetHideValidationDialog(var SalesLine: Record "Sales Line"; NewHideValidationDialog: Boolean) (integration): Raised after setting the hide validation dialog flag on the sales line.
  • OnBeforeGetLineAmountToHandle(var QtyToHandle: Decimal; var SalesLine: Record "Sales Line"; Currency: Record Currency; var IsHandled: Boolean) (integration): Raised before getting the line amount to handle.
  • OnValidateNoOnBeforeCheckPostingSetups(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking posting setups when validating the No. field.
  • OnBeforeReduceInvoiceDiscValueOnHeader(var SalesHeader: Record "Sales Header"; InvDiscountAmount: Decimal; var IsHandled: Boolean) (integration): Raised before reducing the invoice discount value on the header.
  • OnBeforeDeleteChargeChargeAssgnt(SalesDocumentType: Enum "Sales Document Type"; DocNo: Code[20]; DocLineNo: Integer; var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before deleting item charge assignments.
  • OnValidateVariantCodeBeforeCheckBlocked(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before checking if the item variant is blocked when validating the variant code.
  • OnValidateQuantityOnAfterInitializeAmounts(var SalesLine: Record "Sales Line") (integration): Raised after initializing amounts when validating quantity.
  • OnValidateBinCodeOnBeforeTestFields(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before testing fields when validating the bin code.
  • OnApplToItemEntryValidateOnBeforeMessage(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before displaying a message when validating the Appl.-to Item Entry field.
  • OnBeforeProcessSalesLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before processing the sales line.
  • OnBeforeUpdatePlanned(var SalesLine: Record "Sales Line"; var Result: Boolean; var IsHandled: Boolean) (integration): Raised before updating the planned flag on the sales line.
  • OnBeforeDeleteItemChargeAssignment(DocType: Enum "Sales Document Type"; DocNo: Code[20]; DocLineNo: Integer; var IsHandled: Boolean; CurrentFieldNo: Integer) + BC27 − BC27 (integration): Raised before deleting an item charge assignment.
  • OnShowItemChargeAssgntOnBeforeCreateDocChargeAssgn(SalesLine: Record "Sales Line"; var DoCreateDocChargeAssgnForReturnReceiptNo: Boolean) + BC24 (integration): Raised before creating document charge assignment when showing item charge assignment.
  • OnBeforeUpdateDeferralAmounts(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before updating deferral amounts on the sales line.
  • OnShowDimensionsOnAfterEditDimensionSet(var SalesLine: Record "Sales Line"; OldDimensionSet: Integer) (integration): Raised after editing the dimension set when showing dimensions.
  • OnBeforeDoUpdateICPartner(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var IsHandled: Boolean) (integration): Raised before updating the IC partner on the sales line.
  • OnBeforeValidateShippingAgentServiceCode(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before validating the shipping agent service code on the sales line.
  • OnValidateLocationCodeOnBeforeTestReservedQtyBase(SalesLine: Record "Sales Line"; var IsHanlded: Boolean) (integration): Raised before testing reserved quantity base when validating the location code.
  • OnBeforeValidateUnitPrice(var SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean) (integration): Raised before validating the unit price on the sales line.
  • OnCheckLocationOnWMSOnBeforeCaseDocumentType(var SalesLine: Record "Sales Line"; DialogText: Text; var IsHandled: Boolean) + BC24 (integration): Raised before processing document type case when checking location on WMS.
  • OnCheckServItemCreation(var SalesLine: Record "Sales Line") + BC25 (integration): Raised when checking service item creation for the sales line.
  • OnBeforeGetShippingTime(var SalesLine: Record "Sales Line"; var xSalesLine: Record "Sales Line"; var IsHandled: Boolean) + BC25 (integration): Raised before getting the shipping time for the sales line.
  • OnCalcVATAmountLinesOnBeforeProcessSalesLine(var SalesLine: Record "Sales Line") + BC24 (integration): Raised before processing the sales line when calculating VAT amount lines.
  • OnCalcVATAmountLinesOnAfterInsertNewVATAmountLine(var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line") + BC24 (integration): Raised after inserting a new VAT amount line when calculating VAT amount lines.
  • OnUpdateVATOnLinesOnAfterUpdateBaseAmounts(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var VATAmountLine: Record "VAT Amount Line"; Currency: Record Currency) + BC24 (integration): Raised after updating base amounts when updating VAT on lines.
  • OnBeforeSumVATAmountLine(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; QtyType: Option General,Invoicing,Shipping; AmtToHandle: Decimal; QtyToHandle: Decimal; var IsHandled: Boolean) + BC27 (integration): Raised before summing the VAT amount line.
  • OnSumVATAmountLineOnBeforeModify(var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line") + BC25 (integration): Raised before modifying the sales line when summing VAT amount lines.
  • OnInsertVATAmountOnBeforeInsert(var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line") + BC26 (integration): Raised before inserting when inserting a VAT amount.
  • OnFindVATAmountLineOnAfterSetFilters(var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line") + BC26 (integration): Raised after setting filters when finding a VAT amount line.
  • OnBeforeCalcShipmentDateForLocation(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean) + BC24 (integration): Raised before calculating the shipment date for a location.
  • OnBeforeTestQuantityFieldsOnValidateUnitOfMeasure(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) + BC25 (integration): Raised before testing quantity fields when validating the unit of measure.
  • OnAfterClearVATPct(var SalesLine: Record "Sales Line") + BC26 (integration): Raised after clearing the VAT percentage on the sales line.
  • OnAfterClearPrepaymentVATPct(var SalesLine: Record "Sales Line") + BC26 (integration): Raised after clearing the prepayment VAT percentage on the sales line.
  • OnAfterClearVATDifference(var SalesLine: Record "Sales Line") + BC26 (integration): Raised after clearing the VAT difference on the sales line.
  • OnAfterGetVATPct(var SalesLine: Record "Sales Line"; var VATPct: Decimal) + BC26 (integration): Raised after getting the VAT percentage from the sales line.
  • OnAfterGetPrepaymentVATPct(var SalesLine: Record "Sales Line"; var PrepaymentVATPct: Decimal) + BC26 (integration): Raised after getting the prepayment VAT percentage from the sales line.
  • OnAfterCopyFromVATPostingSetup(var SalesLine: Record "Sales Line"; var VATPostingSetupFrom: Record "VAT Posting Setup") + BC26 (integration): Raised after copying values from the VAT posting setup.
  • OnAfterCopyPrepaymentFromVATPostingSetup(var SalesLine: Record "Sales Line"; var VATPostingSetupFrom: Record "VAT Posting Setup") + BC26 (integration): Raised after copying prepayment values from the VAT posting setup.
  • OnValidateLineDiscountPercentOnBeforeValidateLineDiscountPercent(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var DropInvoiceDiscountAmount: Boolean) + BC25 (integration): Raised before validating the line discount percentage.
  • OnAfterCalcUnitPriceUsingUOMCoef(var SalesLine: Record "Sales Line"; SalesInvoiceLine: Record "Sales Invoice Line") + BC25 (integration): Raised after calculating the unit price using the unit of measure coefficient.
  • OnInitDeferralCodeOnBeforeUpdateDeferralCode(var SalesLine: Record "Sales Line"; var ShouldUpdateDeferralCode: Boolean) + BC25 (integration): Raised before updating the deferral code when initializing the deferral code.
  • OnValidateLineDiscountPercentOnBeforeTestJobPlanningLine(var SalesLine: Record "Sales Line"; xSalesLine: Record "Sales Line"; var IsHandled: Boolean) + BC26 (integration): Raised before testing the job planning line when validating line discount percentage.
  • OnCheckReceiptOrderStatus(var SalesLine: Record "Sales Line") + BC27 (integration): Raised when checking the receipt order status for the sales line.
  • OnAfterInsertOnAfterUpdateDeferralAmounts(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) + BC27 (integration): Raised after updating deferral amounts during the insert trigger.
  • OnAfterModifyOnAfterVerifyChangeForSalesLineReserve(var SalesLine: Record "Sales Line"; CurrFieldNo: Integer) + BC27 (integration): Raised after verifying changes for sales line reservation during the modify trigger.
  • OnCalcVATAmountLinesOnBeforeGetDeferralAmount(var SalesLine: Record "Sales Line") + BC27 (integration): Raised before getting the deferral amount when calculating VAT amount lines.
  • OnBeforeVATRoundingAdjustment(var SalesLine: Record "Sales Line"; StatusCheckSuspended: Boolean; var RequiresVATRoundingAdjustment: Boolean) + BC27 (integration): Raised before VAT rounding adjustment to determine if adjustment is required.

Trigger event subscribers

Procedures

  • SetSkipEnsurePositiveLineNo(NewSkipEnsurePositiveLineNo: Boolean) + BC27 (obsolete 28.0: Not used anymore)
  • InitOutstanding(): Updates outstanding quantities and amounts to reflect changes in posted quantities and amounts.
  • InitOutstandingAmount(): Updates outstanding amounts to reflect changes in quantity.
  • InitQtyToShip(): Updates quantity to ship and quantity to invoice based on the outstanding quantities
  • InitQtyToReceive(): Updates quantity to receive and quantity to invoice based on the outstanding quantity and document type.
  • InitQtyToInvoice(): Prepares the sales line for the next invoice posting by setting the quantities and amounts to be invoiced.
  • MaxQtyToInvoice(): Decimal: Determines the maximum quantity that can be invoiced for the current sales line.
  • MaxQtyToInvoiceBase(): Decimal: Determines the maximum quantity (base) that can be invoiced for the current sales line.
  • MaxQtyToShipBase(QtyToShipBase: Decimal): Decimal: Ensures that the quantity to ship does not exceed the outstanding quantity.
  • CalcLineAmount(): Decimal: Calculates the net line amount after applying the invoice discount.
  • CalcShipmentDateForLocation(): Updates the shipment date based on the location’s customized calendar.
  • CopyFromSalesLine(FromSalesLine: Record "Sales Line"): Copies values from a specified sales line to the current sales line.
  • CopyFromSalesShptLine(FromSalesShptLine: Record "Sales Shipment Line"): Copies values from a specified sales shipment line to the current sales line.
  • CopyFromSalesInvLine(FromSalesInvLine: Record "Sales Invoice Line"): Copies values from a specified sales invoice line to the current sales line.
  • CopyFromReturnRcptLine(FromReturnRcptLine: Record "Return Receipt Line"): Copies values from a specified return receipt line to the current sales line.
  • CopyFromSalesCrMemoLine(FromSalesCrMemoLine: Record "Sales Cr.Memo Line"): Copies values from a specified sales cr. memo line to the current sales line.
  • GetSkipTaxCalculation(): Boolean: Returns the value of global SkipTaxCalculation flag. The flag is unused in the object.
  • SetSkipTaxCalulation(Skip: Boolean): Sets the value of global SkipTaxCalculation flag. The flag is unused in the object.
  • SetSalesHeader(NewSalesHeader: Record "Sales Header"): Updates the global SalesHeader variable and initializes the currency based on the new sales header.
  • SetSuppressSalesHeaderExistsVerification(NewSuppressSalesHeaderExistsVerification: Boolean) + BC28: Sets the value of the SuppressSalesHeaderExistsVerification variable.
  • GetSalesHeader(): Record "Sales Header": Gets the sales header associated with the sales line. Ensures the global SalesHeader variable is correctly set.
  • GetSalesHeader(var OutSalesHeader: Record "Sales Header"; var OutCurrency: Record Currency): Gets the sales header and the currency associated with the sales line. Ensures that the global SalesHeader variable and the currency are correctly set.
  • GetItem(): Record Item: Gets the item record from the item number on the sales line.
  • GetItem(var Item: Record Item): Gets the item record from the the item number on the sales line.
  • GetResource(): Record Resource: Gets the resource record from the resource number on the sales line. The global Resource variable is updated with the retrieved resource.
  • GetRemainingQty(var RemainingQty: Decimal; var RemainingQtyBase: Decimal): Calculates the quantity and quantity (base) that remain unreserved on the sales line.
  • GetReservationQty(var QtyReserved: Decimal; var QtyReservedBase: Decimal; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal): Decimal: Gets the quantities related to reservations for the sales line.
  • GetSourceCaption(): Text: Returns a caption containing the document type, document number and line number separated by spaces for the sales line.
  • SetReservationEntry(var ReservEntry: Record "Reservation Entry"): Initializes the reservation entry with information from the sales line.
  • SetReservationFilters(var ReservEntry: Record "Reservation Entry"): Filters the reservation entries for the sales line.
  • ReservEntryExist(): Boolean: Checks if a reservation entry exists for the sales line.
  • IsPriceCalcCalledByField(CurrPriceFieldNo: Integer): Boolean: Checks if the price calculation was triggered by a specific field.
  • PlanPriceCalcByField(CurrPriceFieldNo: Integer): Plans for a price calculation triggered by a specific field, ensuring that the calculation is performed only once.
  • ClearFieldCausedPriceCalculation(): Resets the tracking of the field that is planned to trigger a price calculation.
  • UpdateUnitPrice(CalledByFieldNo: Integer): Updates the unit price on the sales line.
  • UpdateUnitPriceByField(CalledByFieldNo: Integer): Updates the unit price on the sales line. The calculation is only performed if the field number of the field that triggered the price calculation is the same as the planned field no.
  • BlanketOrderIsRelated(var BlanketOrderSalesLine: Record "Sales Line"): Boolean Δ BC26 (internal)
  • CopyUnitPriceAndLineDiscountPct(BlanketOrderSalesLine: Record "Sales Line"; CalledByFieldNo: Integer) Δ BC26: Copies the unit price and line discount percentage from a blanket order sales line to this line.
  • ShowUnitPriceChangedMsg() Δ BC26: Displays a message when the unit price has changed for a credit document line copied from a posted document.
  • GetPriceCalculationHandler(PriceType: Enum "Price Type"; SalesHeader: Record "Sales Header"; var PriceCalculation: Interface "Price Calculation"): Gets the “Price Calculation” implementation for the sales line.
  • GetLineWithPrice(var LineWithPrice: Interface "Line With Price"): Returns a default “Line With Price” implementation if not overridden.
  • ApplyDiscount(var PriceCalculation: Interface "Price Calculation"): Applies the discount and assigns the calculated amount to the sales line.
  • ApplyPrice(CalledByFieldNo: Integer; var PriceCalculation: Interface "Price Calculation"): Applies the price and assigns the calculated amount to the sales line.
  • CountDiscount(ShowAll: Boolean): Integer: Wrapper for price calculation method CountDiscount. Returns the number of price list lines with discounts that fit the sales line.
  • CountPrice(ShowAll: Boolean): Integer: Wrapper for price calculation method CountPrice. Returns the number of price list lines with prices that fit the sales line.
  • DiscountExists(ShowAll: Boolean): Boolean: Wrapper for price calculation method DiscountExists. Returns true if any price list line with discount that fit the sales line exist.
  • PriceExists(ShowAll: Boolean): Boolean: Wrapper for price calculation method PriceExists. Returns true if any price list line with price or cost that fit the sales line exist.
  • PickDiscount(): Wrapper for price calculation method PickDiscount. Opens a price list selection to pick from lines with discount that fit the sales line. After the selection the amounts are assigned to the sales line.
  • PickPrice(): Wrapper for price calculation method PickPrice. Opens a price list selection to pick from lines with price or cost that fit the sales line. After the selection the amounts are assigned to the sales line.
  • UpdateReferencePriceAndDiscount(): Applies the discount and price for “Item Reference No.” field and assigns the calculated amount to the sales line.
  • FindResUnitCost() Δ BC28: Finds and applies the unit cost for a resource line based on the resource cost setup.
  • FindResUnitCostOnAfterInitResCost(var ResourceCost: Record "Resource Cost") Δ BC28: Raises the OnFindResUnitCostOnAfterInitResCost event after the resource cost record is initialized.
  • AfterFindResUnitCost(var ResourceCost: Record "Resource Cost") Δ BC28: Raises the OnAfterFindResUnitCost event after the resource unit cost is found.
  • UpdatePrepmtSetupFields(): Updates the prepayment VAT fields on the sales line based on the VAT posting setup to account for updates on the prepayment sales line.
  • UpdatePrepmtAmounts() (protected): Updates the prepayment amounts on the sales line to reflect changes in the outstanding amount.
  • CalculateOutstandingAmountExclTax(): Decimal Δ BC25: Calculates the outstanding amount excluding tax for the sales line.
  • CheckPrepmtAmounts() Δ BC25: Validates that the prepayment amounts are consistent with the line amounts and invoiced amounts.
  • ThrowWrongAmountError() Δ BC25: Raises an error when the prepayment line amount is less than the prepayment amount invoiced.
  • UpdateAmounts(): Updates line, prepayment, deferral, and VAT amounts for the sales line to account for any changes of the sales line that affect the amounts.
  • UpdateVATAmounts(): Updates the VAT amounts on the sales line based on the VAT calculation type and other line details to reflect changes in fields that affect them, like line amount, VAT %, and others.
  • CheckItemAvailable(CalledByFieldNo: Integer): Verifies the availability of the item on the shipment date. If the item is not available, a notification is shown and an error is raised to stop the update.
  • ShowOrderTracking() + BC25: Opens a Order Tracking summary page for the current sales line.
  • ShowReservation(): Opens a reservation summary page for the current sales line. After the page closes, updates the planned status of the line.
  • ShowReservationEntries(Modal: Boolean): Opens a reservation entries page for the current sales line.
  • AutoReserve() + BC26: Attempts to automatically reserve the quantity of the current sales line based on the item availability. If the quantity cannot be reserved automatically, a message is shown and the user is prompted to reserve manually.
  • AutoReserve(ShowReservationForm: Boolean) + BC26: Attempts to automatically reserve the quantity of the current sales line based on the item availability.
  • AutoAsmToOrder(): Creates or updates the assembly order associated with the sales line to reflect the current line details.
  • GetDate(): Date: Retrieves the date to be used for operations on the sales line, which is the associated sales header’s posting date or the work date if the posting date is not set.
  • CalcPlannedDeliveryDate(CurrFieldNo: Integer): Date: Calculates the planned delivery date based on the shipping agent, planned shipment date and the field that initiated the calculation.
  • CheckCustomerBaseCalendarCodeExist(): Boolean + BC25 Δ BC28: Checks whether the sell-to customer has a base calendar code assigned.
  • CalcPlannedShptDate(CurrFieldNo: Integer): Date: Calculates the planned shipment date based on the shipping agent and the field that initiated the calculation.
  • CalcShipmentDate(): Date: Calculates the shipment date based on the shipping agent, location and planned shipment date.
  • SignedXX(Value: Decimal): Decimal: Adjusts the sign of the provided value based on the document type of the sales line.
  • ShowDimensions(): Boolean: Opens a page for editing dimensions for the sale line. After the page closes, updates the dimensions on the sales line and assembly orders.
  • OpenItemTrackingLines(): Opens a page for editing item tracking lines for the sale line.
  • CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]): Initializes dimensions on the sales line for the provided list of default dimension sources.
  • ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Checks if the provided shortcut dimension code and value are valid.
  • LookupShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Opens a page for looking up a shortcut dimension code value.
  • ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20]): Gets an array of shortcut dimension values from the dimensions of the sales line.
  • SelectMultipleItems(): Opens a page for selecting multiple items to add to the document. Selected items are added to the document.
  • AddItems(SelectionFilter: Text) Δ BC24: Adds items to the document based on the provided selection filter.
  • AddItem(var SalesLine: Record "Sales Line"; ItemNo: Code[20]): Adds an item to the document.
  • ProcessSalesLine(var SalesLine: Record "Sales Line"): Creates or updates assembly orders if assemble-to-order is required. Creates extended text lines applicable to the provided sales line.
  • InitNewLine(var NewSalesLine: Record "Sales Line"): Initializes a new sales line based on the current sales line.
  • ShowItemSub(): Opens a page for looking up item substitutions for the current item on the sales line. If substitution is selected, the item is replaced with the selected item.
  • ShowNonstock(): Opens a page for selecting a nonstock item to add to the document. If a nonstock item is selected, it is added to the document and the unit price is updated.
  • GetFAPostingGroup() Δ BC24: Sets tax and posting groups codes for a fixed asset sales line.
  • GetCaptionClass(FieldNumber: Integer): Text[80]: Gets a caption class for a field.
  • GetSKU(): Boolean: Gets a stockkeeping unit for the current sales line and saves it in a global variable SKU.
  • GetSKU(var StockkeepingUnit: Record "Stockkeeping Unit"): Boolean: Gets a stockkeeping unit for the current sales line.
  • GetUnitCost(): Finds and assigns the unit cost for the item specified on the sales line.
  • ShowItemChargeAssgnt(): Opens a page for editing item charge assignment for the item charge sales line. If assignments don’t exist for the item charge, new assignments are created and committed before opening the page.
  • UpdateItemChargeAssgnt(): Updates amounts on item charge assignments for the current sales line.
  • DeleteItemChargeAssignment(DocType: Enum "Sales Document Type"; DocNo: Code[20]; DocLineNo: Integer): Deletes item charge assignments applied to a sales document line.
  • DeleteChargeChargeAssgnt(DocType: Enum "Sales Document Type"; DocNo: Code[20]; DocLineNo: Integer) (protected): Deletes item charge assignments associated with a sales line.
  • TestStatusOpen(): Tests if sales header of the line is open.
  • GetSuspendedStatusCheck(): Boolean: Returns the value of the global variable StatusCheckSuspended.
  • SuspendStatusCheck(Suspend: Boolean): Sets the value of the global variable StatusCheckSuspended.
  • SwitchLinesWithErrorsFilter(var ShowAllLinesEnabled: Boolean): Toggles the filter for lines with errors between displaying all lines and only lines with errors.
  • UpdateVATOnLines(QtyType: Option General,Invoicing,Shipping; var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"): Boolean: Recalculates and updates line and VAT amounts on all lines of the document.
  • CalcVATAmountLines(QtyType: Option General,Invoicing,Shipping; var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"): Creates VAT amount lines for all applicable sales lines in the document. An overload that sets IncludePrepayments to true.
  • CalcVATAmountLines(QtyType: Option General,Invoicing,Shipping; var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var VATAmountLine: Record "VAT Amount Line"; IncludePrepayments: Boolean): Creates VAT amount lines for all applicable sales lines in the document.
  • GetCPGInvRoundAcc(var SalesHeader: Record "Sales Header"): Code[20]: Gets the account number to use for invoice rounding from the customer posting group. If invoice rounding is disabled, returns blank
  • GetVATAmountLineOfMaxAmt(var VATAmountLine: Record "VAT Amount Line"; SalesLine: Record "Sales Line"): Boolean: Gets the VAT amount line for the sales line with the maximum absolute amount from the VAT amount line set.
  • GetVatBaseDiscountPct(SalesHeader: Record "Sales Header"): Decimal (internal)
  • CalcInvDiscToInvoice(): Updates the invoice discount amount to invoice based on the current quantity and quantity to invoice.
  • UpdateWithWarehouseShip(): Updates the quantities to ship or receive based on the document type, quantity, and location/warehouse requirements.
  • CheckWarehouse(ShowDialogMessage: Boolean): Checks that the warehouse requirements for the sales line, such as shipment, pick, receive, and put-away are met based on the location and document type.
  • CheckWarehouseForQtyToShip(): Checks the warehouse requirements for the quantity to be shipped.
  • UpdateDates(): Updates the shipment and delivery dates for the sales line.
  • GetItemTranslation(): Retrieves the item translation for the language of the document and updates the descriptions on the sales line.
  • PriceExists(): Boolean: Returns true if any price list line with price or cost that fit the sales line exist. This is an overload that sets ShowAll to true.
  • LineDiscExists(): Boolean: Returns true if any price list line with discount that fit the sales line exist. This is an overload that sets ShowAll to true.
  • RowID1(): Text[250]: Creates a unique row identifier for the sales line used for item tracking.
  • GetDefaultBin(): Gets the default bin for the sales line item based on the requriments of the location.
  • GetATOBin(Location: Record Location; var BinCode: Code[20]): Boolean: Retrieves the Assembly-to-Order (ATO) bin for a given location.
  • IsInbound(): Boolean: Determines if the sales document this line belongs to is an inbound document.
  • CheckAssocPurchOrder(TheFieldCaption: Text[250]): Raises an error if the sales line is associated with a purchase order to ensure no changes are made to the line.
  • CheckServItemCreation(): Ensures that items that create a service item are not shipped in fractional quantities.
  • ItemExists(ItemNo: Code[20]): Boolean: Determines if the provided item number exists.
  • FindOrCreateRecordByNo(SourceNo: Code[20]): Code[20]: Finds or creates a record by a given number and returns the number of the found
  • IsShipment(): Boolean: Determines if the sales line represents a shipment.
  • GetAbsMin(QtyToHandle: Decimal; QtyHandled: Decimal): Decimal: Retrieves the absolute minimum between the quantity to handle and the quantity handled.
  • SetHideValidationDialog(NewHideValidationDialog: Boolean): Sets the global HideValidationDialog flag.
  • GetHideValidationDialog(): Boolean: Gets the global HideValidationDialog flag.
  • CalcPrepaymentToDeduct(): Updates the prepayment amount to deduct with the next posting.
  • IsFinalInvoice(): Boolean: Determines if the line will be fully invoiced after posting.
  • GetLineAmountToHandle(QtyToHandle: Decimal): Decimal: Calculates the net line amount for the specified quantity to handle.
  • GetLineAmountToHandleInclPrepmt(QtyToHandle: Decimal): Decimal: Calculates the net line amount for the specified quantity to handle. If line must be fully prepaid then the line amount is calculated with the prepayment amount to deduct.
  • GetLineAmountExclVAT(): Decimal: Calculates the line amount excluding VAT.
  • GetLineAmountInclVAT(): Decimal: Calculates the line amount including VAT.
  • SetHasBeenShown(): Sets a flag to prevent showing a message if shipment date is before work date.
  • TestJobPlanningLine(): Ensures that a sales line that is associated with a job task has not been changed.
  • BlockDynamicTracking(SetBlock: Boolean): Sets the blocking state for dynamic tracking of reservations on quantity change.
  • InitQtyToShip2(): Initializes the quantity to ship and invoice to reflect changes after the sales line has been (partially) posted. Additionally, reclaculates the proportional invoice discount and prepayment amounts for next posting.
  • SetSkipUpdateQtyToAsm(NewSkipUpdateQtyToAsm: Boolean) + BC29 (internal)
  • ShowLineComments(): Opens a page to show comments for the sales line.
  • SetDefaultQuantity(): Resets quantities to ship/return and invoice to zero based on the sales setup setting for default shipping quantity.
  • SetReserveWithoutPurchasingCode() (protected): Sets the reservation method for the sales line from the item. If item’s reservation method is optional, the sales header’s reservation method is used.
  • SetReserveToOptional() + BC25: Changes the reservation setting from Never to Optional and saves the record.
  • UpdatePrePaymentAmounts(): Recalculates prepayment amounts to reflect changes in quantity.
  • ZeroAmountLine(QtyType: Option General,Invoicing,Shipping): Boolean: Determines if the line has a zero amount. It always returns true for a line with a blank type.
  • FilterLinesWithItemToPlan(var Item: Record Item; DocumentType: Enum "Sales Document Type"): Sets filters on the sales line for item lines, a specified document type, and various flow filters set in the provided item record.
  • FindLinesWithItemToPlan(var Item: Record Item; DocumentType: Enum "Sales Document Type"): Boolean: Retrieves a record set of item sales lines that match the provided document type and various filters set on the item.
  • LinesWithItemToPlanExist(var Item: Record Item; DocumentType: Enum "Sales Document Type"): Boolean: Determines if any sales lines exist that match the provided document type and various flow filters set on the item.
  • FilterLinesForReservation(ReservationEntry: Record "Reservation Entry"; DocumentType: Enum "Sales Document Type"; AvailabilityFilter: Text; Positive: Boolean): Sets filters on the sales line for item lines that match the provided reservation entry.
  • InitQtyToAsm() Δ BC25: Initializes quantities to assemble to order for the sales line.
  • AsmToOrderExists(var AsmHeader: Record "Assembly Header"): Boolean: Determines if assembly order exists for the sales line and retrieves the assembly header.
  • FullQtyIsForAsmToOrder(): Boolean: Determines if the full quantity is for assembly to order.
  • QtyBaseOnATO(): Decimal: Returns the quantity (base) from the associated assembly order, if it doesn’t exist, returns zero.
  • QtyAsmRemainingBaseOnATO(): Decimal: Returns the remaining quantity (base) from the associated assembly order, if it doesn’t exist, returns zero.
  • QtyToAsmBaseOnATO(): Decimal: Returns the quantity to assemble (base) from the associated assembly order, if it doesn’t exist, returns zero.
  • IsAsmToOrderAllowed(): Boolean: Determines if the sales line is allowed to be assembled to order.
  • IsAsmToOrderRequired(): Boolean: Determines if the sales line is required to be assembled to order.
  • CheckAsmToOrder(AsmHeader: Record "Assembly Header"): Checks that sales line fields match the provided assembly order.
  • ShowAsmToOrderLines(): Opens a page with assembly lines for the document of the sales line. The page is only opened if any lines exist.
  • FindOpenATOEntry(ItemTrackingSetup: Record "Item Tracking Setup"): Integer − BC25: Finds the first open item ledger entry number for posted assembly that matches the sales line and the provided item tracking setup.
  • RollUpAsmCost(): Sums up costs from assembly components and updates the unit cost on the sales line.
  • RollupAsmPrice(): Sums up prices from assembly components and updates the unit price on the sales line.
  • UpdateICPartner(): Updates the intercompany partner information on the sales line for outgoing intercompany documents.
  • OutstandingInvoiceAmountFromShipment(SellToCustomerNo: Code[20]): Decimal: Calculates the outstanding invoice amount from shipments for a specified customer.
  • CheckShipmentDateBeforeWorkDate() Δ BC25: Checks if the shipment date is before the work date and shows a warning message if applicable.
  • VerifyItemLineDim(): Checks if dimensions have changed on an already shipped or received item line and prompts the user to confirm the change.
  • IsShippedReceivedItemDimChanged(): Boolean: Determines if the dimensions have changed on an already shipped or received item line.
  • IsServiceChargeLine(): Boolean: Determines if the line is a service charge line.
  • ConfirmShippedReceivedItemDimChange(): Boolean: Raises a confirmation dialog to confirm the change of dimensions on an already shipped or received item line.
  • InitType(): Initializes the type of a new sales line.
  • GetDefaultLineType(): Enum "Sales Line Type": Gets the default line type from the sales setup if it is set.
  • CheckLocationOnWMS(): Checks if shipment or receipt is required for item sales line and throws an error if it’s missing.
  • IsNonInventoriableItem(): Boolean: Determines if the line is a non-inventoriable item line.
  • IsInventoriableItem(): Boolean: Determines if the line is an inventoriable item line.
  • IsExtendedText(): Boolean: Determines if the line is an extended text line.
  • GetJnlTemplateName(): Code[10]: Gets the journal template name to use when posting the document if the template name is mandatory for posting.
  • ValidateReturnReasonCode(CallingFieldNo: Integer): Updates the cost, price and location for return order line.
  • ValidateLineDiscountPercent(DropInvoiceDiscountAmount: Boolean): Recalculates line discount amount and updates other line amounts. Additionally, if specified, removes the invoice discount amount from the line and reduces the invoice discount on the header for the same amount.
  • ExcludeDefaultItemQuantity(DefaultItemQuantity: Boolean) + BC27
  • HasTypeToFillMandatoryFields(): Boolean: Determines if mandatory fields have to be filled in for the line based on the line type. By default, only empty type is not considered mandatory, but can be overridden by the event.
  • GetDeferralAmount(): Decimal: Gets the defferal amount for the sales line to be used in deferral schedules.
  • UpdateDeferralAmounts(): Removes or updates the deferral schedule for the sales line to reflect changes in the deferral amount and posting date.
  • UpdatePriceDescription(): Formats the price description for the sales line based on the line type and line discount.
  • ShowDeferrals(PostingDate: Date; CurrencyCode: Code[10]): Boolean: Opens a page with deferral schedule for the sales line.
  • InitHeaderDefaults(SalesHeader: Record "Sales Header"): Initializes the default values for the sales line based on the sales header.
  • DefaultDeferralCode(): Updates the deferral code to the default deferral template code specified on the associated item, resource or g/l account.
  • IsCreditDocType(): Boolean: Determines if the document type of the line is a credit document type.
  • CanEditUnitOfMeasureCode(): Boolean: Determines if item unit of measure code can be edited.
  • InsertFreightLine(var FreightAmount: Decimal): Creates or updates a sales line for freight for a specified freight amount.
  • IsLookupRequested(): Boolean: Determines if additional lookup for item description is required. Used for integration purposes when the default item description lookup is not sufficient.
  • TestItemFields(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]): Verifies that item related fields on the item sales line match the provided values. If the values do not match, an error is thrown.
  • CalculateNotShippedInvExlcVatLCY(): Calculates and sets the shipped not invoiced amount excluding VAT in LCY.
  • ClearSalesHeader(): Resets the global SalesHeader variable.
  • SendBlockedItemNotification() Δ BC27: Sends a notification to the user that the item on this line is blocked.
  • SendLineInvoiceDiscountResetNotification(): Sends a notification if the line invoice discount amount is reset.
  • GetDocumentTypeDescription(): Text: Gets the text representation of the document type for the sales line.
  • FormatType(): Text[20] Δ BC29 (obsolete 29.0: Use FormatTypeAsText() instead.): Gets the text representation of the line type for the sales line.
  • FormatTypeAsText(): Text[30] + BC29: Gets the text representation of the line type for the sales line.
  • RenameNo(LineType: Enum "Sales Line Type"; OldNo: Code[20]; NewNo: Code[20]): Renames all sales lines for the specified line type and number to a new number. Used when related entities are renamed.
  • UpdatePlanned(): Boolean: Updates the ‘planned’ status of a sales line, depending if all the outstanding quantity is reserved or not.
  • AssignedItemCharge(): Boolean: Determines if the line is a charge item line that has been at least partially assigned.
  • UpdateBaseAmounts(NewAmount: Decimal; NewAmountIncludingVAT: Decimal; NewVATBaseAmount: Decimal) Δ BC25: Updates the base amount fields on the sales line.
  • CalcPlannedDate(): Date: Calculates the planned delivery if shippment time is specified, otherwise the planned shipment date.
  • ValidateUnitCostLCYOnGetUnitCost(Item: Record Item): Updates the unit cost in LCY based on the quantity per unit of measure and unit cost from either the item or it’s SKU.
  • CheckPromisedDeliveryDate(): Throws an error if requested delivery date was changed after the promised delivery date is set.
  • VerifyChangeForSalesLineReserve(CallingFieldNo: Integer) (protected): Checks the changes to the sales line and adjusts the reservation for the line accordingly.
  • ShowBlanketOrderSalesLines(DocumentType: Enum "Sales Document Type"): Open a page with the sales lines related to the blanket order line.
  • ShowBlanketOrderPostedShipmentLines(): Open a page with the posted sales shipment lines related to the blanket order line.
  • ShowBlanketOrderPostedInvoiceLines(): Open a page with the posted sales invoice lines related to the blanket order line.
  • ShowBlanketOrderPostedReturnReceiptLines(): Open a page with the posted return receipt lines related to the blanket order line.
  • ShowBlanketOrderPostedCreditMemoLines(): Open a page with the posted sales credit memo lines related to the blanket order line.
  • ShowDeferralSchedule(): Opens a page with deferral schedule for the sales line.
  • CalcBaseQty(Qty: Decimal; FromFieldName: Text; ToFieldName: Text): Decimal: Converts the specified quantity to the quantity in the base unit of measure.
  • CreateDimFromDefaultDim(FieldNo: Integer): Initializes the dimensions for the sales line if default dimensions are defined for the specified field.
  • InitDefaultDimensionSources(var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer) Δ BC24: Collects default dimension sources for the sales line with the dimension source for the specified field added in the first place.
  • InitDefaultDimensionSources(var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; JobNo: Code[20]; FieldNo: Integer) Δ BC24: Collects default dimension sources for the sales line.
  • SaveLookupSelection(SelectedRecordRef: RecordRef): Saves the selected record from the lookup to the lookup state manager.
  • AttachToInventoryItemLine(var SelectedSalesLine: Record "Sales Line"): Opens a page with inventory item lines and attaches the selected line to all non-inventoriable sales lines in the passed SelectedSalesLine record set.
  • RestoreLookupSelection()
  • RestoreLookupSelectionWithResult(): Boolean + BC28: Restores the selected record from the lookup state manager to the sales line.
  • GetDateForCalculations(): Date: Gets the date to use in calculations for the sales line. Used in finding item references and price calculations.
  • GetDateForCalculations(FromSalesHeader: Record "Sales Header"): Date: Gets the date to use in calculations for the sales line. Used in finding item references and price calculations.
  • GetShippingTime() + BC25: Updates the shipping time on the sales line.
  • CheckIfSalesLineMeetsReservedFromStockSetting(QtyToPost: Decimal; ReservedFromStock: Enum "Reservation From Stock"): Boolean: Determines if the reserved quantity on sales line meets the reserved from stock setting based on the quantity to post.
  • CalcUnitPriceUsingUOMCoef() Δ BC26: Calculates the unit price using the unit of measure coefficient from the related sales invoice line.
  • ClearVATPct() + BC26 (internal)
  • ClearPrepaymentVATPct() + BC26 (internal)
  • ClearVATDifference() + BC26 (internal)
  • GetVATPct(): Decimal + BC26 Δ BC28: Gets the VAT percentage for this sales line.
  • ReserveFromInventory(var SalesLine: Record "Sales Line") + BC28
  • GetPrepaymentVATPct(): Decimal + BC26 (internal)
  • CopyFromVATPostingSetup(var VATPostingSetupFrom: Record "VAT Posting Setup") + BC26 (internal)
  • CopyPrepaymentFromVATPostingSetup(var VATPostingSetupFrom: Record "VAT Posting Setup") + BC26 (internal)

Plus 88 local procedures.

Triggers

OnDelete, OnInsert, OnModify, OnRename

Relations

Referenced by

53 fields in 26 objects relate to this table (TableRelation or CalcFormula).

Pages and codeunits on this table

Extended by

Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.

Recent changes

Countries that replace it

AU, CA, CH, ES, FI, GB, IT, MX, NO, NZ, RU, SE, US

Deprecations

  • procedure SetSkipEnsurePositiveLineNo: Pending 28.0 (#if not CLEAN28), “Not used anymore”
  • procedure FormatType: Pending 29.0 (#if not CLEAN29), “Use FormatTypeAsText() instead.”
  • procedure OnBeforeFormatType: Pending 29.0 (#if not CLEAN29), “Use OnBeforeFormatTypeAsText instead.”

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "table", object_name: "Sales Line"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources