Table of Contents

Crm.Sales.SalesOrderLines Entity

Namespace: Crm.Sales

Sales Orders detail records. Entity: Crm_Sales_Order_Lines

Default Visualization

Default Display Text Format:
{LineNo}. {SalesOrder.DocumentNo} {SalesOrder.DocumentType.TypeName:T}
Default Search Members:
SalesOrder.DocumentNo
Category: Definitions
Show in UI: ShownByDefault

Track Changes

Min level: 0 - Do not track changes
Max level: 4 - Track object attribute and blob changes

Aggregate

An aggregate is a cluster of domain objects that can be treated as a single unit.

Aggregate Parent:
Crm.Sales.SalesOrders
Aggregate Root:
Crm.Sales.SalesOrders

Attributes

Name Type Description
CurrentBalanceBase Quantity The current balance of the product in the selected store and enterprise company. If lot, serial number or product variant are specified the quantity is calculated accordingly.
DeliveryTermsCode DeliveryTerms nullable Mode of delivery, like CIF, FOB, etc. Used also in Intrastat reporting.
DisplayText string Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.
GuaranteePeriodDays int32 nullable Guarantee period in days for the offered product. null for non-serviced products.
HistoricalDataJson string (max) nullable Used only for lines, which are returns. It is a JSON-formatted string, containing data from the original sale. Introduced in version 19.1
HistoricalUnitCost Amount (14, 5) nullable Used for returning of goods that are sold before the exploitation of the system. Currency: SalesOrder.DocumentCurrency Filter(eq;ge;le)
Id guid
IntrastatApplyDate datetime nullable Specifies in which period for Intrastat declaration must be included the current operation. Used only when the invoice is issued in different period than the one, that the operation must be included. If not set the document date is used. Filter(ge;le) Introduced in version 21.1.3.83
IntrastatTransaction
NatureCode
TransactionNature nullable Transaction nature; used for Intrastat reporting.
IntrastatTransportModeCode TransportMode nullable Transport mode; used for Intrastat reporting.
Level1DiscountAmount Amount The amount of the level 1 discount.
Level1DiscountPercent decimal (7, 6) nullable The percent of the level 1 discount. ReadOnly Introduced in version 23.1.2.56
Level2DiscountAmount Amount The cumulative amount of the level 2 discount.
Level2DiscountPercent decimal (7, 6) nullable The percent of the level 2 discount. ReadOnly Introduced in version 23.1.2.8
Level3DiscountAmount Amount The cumulative amount of the level 3 discount.
Level3DiscountPercent decimal (7, 6) nullable The percent of the level 3 discount. ReadOnly Introduced in version 23.1.2.8
LineAmount Amount (14, 2) The total amount for the line. Equals to Quantity * Unit_Price, less the discounts. Currency: SalesOrder.DocumentCurrency Required Default(0)
LineCustomDiscountPercent decimal (7, 6) User-defined discount for the line. Required Default(0) Filter(ge;le)
LineFromDate date nullable When selling a service valid only for a period, denotes the beginning of the period. null means that it is unknown or N/A. Filter(ge;le) Introduced in version 20.1
LineNo int32 Consecutive number of the line within the sales order. Required Filter(eq) ORD
LineStandardDiscount
Percent
decimal (7, 6) Standard discount percent for the line. It is calculated by accumulating in cascade the line discounts at all levels. Required Default(0) ReadOnly
LineToDate date nullable When selling a service valid only for a period, denotes the end of the period. null means that it is unknown or N/A. Filter(ge;le) Introduced in version 20.1
Notes string (max) nullable Notes for this SalesOrderLine.
ObjectVersion int32 The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking.
ParentLineNo int32 nullable The number of the line within the parent document, which the current line executes. null when the current line does not execute parent line. Filter(eq)
PersistLot boolean If checked specifies that the lot in the line cannot be changed in the sub-documents created by the current document. Required Default(false) Filter(eq)
ProductDescription MultilanguageString (254) The name of the sold product at the time the sale was made. Required Filter(like)
Quantity Quantity (12, 3) The quantity sold. Unit: QuantityUnit Required Default(1) Filter(ge;le)
QuantityBase Quantity (12, 3) The equivalent of Quantity in the base measurement category of the product. Unit: Product.BaseMeasurementCategory.BaseUnit Required
RequestedQuantity Quantity (12, 3) nullable Quantity requested by customer. Unit: QuantityUnit
RequiredDeliveryDate date nullable The required (contracted) delivery date for the line. Filter(ge;le)
StandardQuantityBase Quantity (12, 3) The theoretical quantity in base measurement unit according to the current measurement dimensions for the product. Used to measure the execution. Unit: Product.BaseMeasurementCategory.BaseUnit Required ReadOnly Introduced in version 18.2
StandardUnitPrice Amount (14, 5) nullable Standard unit price of the product during the creation of the sales order line. Currency: SalesOrder.DocumentCurrency ReadOnly
UnitPrice Amount (14, 5) Unit price of the product in the currency of the sales order and in the unit of measure, as specified by QuantityUnitId. Currency: SalesOrder.DocumentCurrency Required Default(0)

References

Name Type Description
BonusProgram BonusPrograms (nullable) The bonus program, based on which the line was automatically added. null when the line was not added for bonus program. Filter(multi eq)
Document SalesOrders The to which this SalesOrderLine belongs. Required Filter(multi eq)
IntrastatTransportCountry Countries (nullable) Country of origin of the transport company; used for Intrastat reporting. Filter(multi eq)
Level1Discount LineDiscounts (nullable) Indicates the level 1 discount. Filter(multi eq) Introduced in version 23.1.2.56
Level2Discount LineDiscounts (nullable) Indicates the level 2 discount. Filter(multi eq) Introduced in version 23.1.2.8
Level3Discount LineDiscounts (nullable) Indicates the level 3 discount. Filter(multi eq) Introduced in version 23.1.2.8
LineDealType DealTypes (nullable) Deal type to be passed to the invoice line. If deal type in entered then the invoice creates VAT entry for this deal type. Filter(multi eq)
LineDiscount LineDiscounts (nullable) OBSOLETE! Do not use! The line discount type used to form the Line_Standard_
Discount_Percent. Obsolete Filter(multi eq) ReadOnly Obsoleted in version 25.1.1.38 Obsolete
LineEndCustomerParty Parties (nullable) The end customer is the customer of the dealer. It is stored for information purposes only. The end customer may not have customer definition, just party. Filter(multi eq) Introduced in version 20.1
LineStore Stores (nullable) The store which should be used to issue the goods for the line. null means to use the store from the header. Filter(multi eq;like)
Lot Lots (nullable) Specifies the lot from which the goods should be issued. null means that the lot will be specified at a later stage (store order, etc.). Filter(multi eq)
ParentDocument Documents (nullable) The document, which the current line executes. null when the current line does not execute another line. Filter(multi eq)
Product Products The product sold. Required Filter(multi eq)
ProductCode ProductCodes (nullable) Used to set the Product_Id thru the coding systems. Filter(multi eq)
ProductPrice ProductPrices (nullable) Not null when the price has been selected from the list of valid standard prices. Filter(multi eq)
ProductVariant ProductVariants (nullable) If specified determines which product variant of the current product in this line is used. Filter(multi eq)
PromotionalPackage PromotionalPackages (nullable) The promotional package, based on which the line was added. null when the line was not added as part of a promotional package. Filter(multi eq) ReadOnly
QuantityUnit MeasurementUnits The measurement unit of Quantity. Required Filter(multi eq)
ReturnForInvoiceLine InvoiceLines (nullable) When specified, indicates that the current line is a return for products, invoiced with the specified invoice line. Filter(multi eq)
ReturnForSalesOrderLine SalesOrderLines (nullable) When specified indicates that the goods sold in Return_For_Sales_
Order_Line_Id are returned with the current line. Filter(multi eq)
SalesOrder SalesOrders The to which this SalesOrderLine belongs. Required Filter(multi eq) Owner
SerialNumber SerialNumbers (nullable) Which serial number to receive/issue. null means that serial number is unknown or not applicable. Filter(multi eq)
StoreBin StoreBins (nullable) The bin from which the goods should be withdrawn. null means that the bin will be specified at a later stage (store order, etc.). Filter(multi eq)

Attribute Details

CurrentBalanceBase

The current balance of the product in the selected store and enterprise company. If lot, serial number or product variant are specified the quantity is calculated accordingly.

Type: Quantity
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

DeliveryTermsCode

Mode of delivery, like CIF, FOB, etc. Used also in Intrastat reporting.

Type: DeliveryTerms nullable
Category: System
Generic enum type for DeliveryTerms properties
Allowed Values (Finance.Intrastat.DeliveryTerms Enum Members)

Value Description
ExWorks ExWorks value. Stored as 'EXW'.
Database Value: 'EXW'
Model Value: 0
Domain API Value: 'ExWorks'
FrancoCarrier FrancoCarrier value. Stored as 'FCA'.
Database Value: 'FCA'
Model Value: 1
Domain API Value: 'FrancoCarrier'
FreeAlongsideShip FreeAlongsideShip value. Stored as 'FAS'.
Database Value: 'FAS'
Model Value: 2
Domain API Value: 'FreeAlongsideShip'
FreeOnBoard FreeOnBoard value. Stored as 'FOB'.
Database Value: 'FOB'
Model Value: 3
Domain API Value: 'FreeOnBoard'
CostAndFreightCF CostAndFreightCF value. Stored as 'CFR'.
Database Value: 'CFR'
Model Value: 4
Domain API Value: 'CostAndFreightCF'
CostInsuranceAndFreight CostInsuranceAndFreight value. Stored as 'CIF'.
Database Value: 'CIF'
Model Value: 5
Domain API Value: 'CostInsuranceAndFreight'
CarriagePaidTo CarriagePaidTo value. Stored as 'CPT'.
Database Value: 'CPT'
Model Value: 6
Domain API Value: 'CarriagePaidTo'
CarriageAndInsurancePaidTo CarriageAndInsurancePaidTo value. Stored as 'CIP'.
Database Value: 'CIP'
Model Value: 7
Domain API Value: 'CarriageAndInsurancePaidTo'
DeliveredAtPlace DeliveredAtPlace value. Stored as 'DAP'.
Database Value: 'DAP'
Model Value: 8
Domain API Value: 'DeliveredAtPlace'
DeliveredAtTerminal DeliveredAtTerminal value. Stored as 'DAT'.
Database Value: 'DAT'
Model Value: 9
Domain API Value: 'DeliveredAtTerminal'
DeliveredDutyPaid DeliveredDutyPaid value. Stored as 'DDP'.
Database Value: 'DDP'
Model Value: 10
Domain API Value: 'DeliveredDutyPaid'
DeliveredAtPlaceUnloaded DeliveredAtPlaceUnloaded value. Stored as 'DPU'.
Database Value: 'DPU'
Model Value: 11
Domain API Value: 'DeliveredAtPlaceUnloaded'

Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.DeliveryTermsCode

Front-End Recalc Expressions:
obj.SalesOrder.DeliveryTermsCode

DisplayText

Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.

Type: string
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

GuaranteePeriodDays

Guarantee period in days for the offered product. null for non-serviced products.

Type: int32 nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

Front-End Recalc Expressions:
IIF( ( obj.Product != null), obj.Product.GuaranteePeriodDays, obj.GuaranteePeriodDays)

HistoricalDataJson

Used only for lines, which are returns. It is a JSON-formatted string, containing data from the original sale. Introduced in version 19.1

Type: string (max) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 2147483647
Show in UI: HiddenByDefault

HistoricalUnitCost

Used for returning of goods that are sold before the exploitation of the system. Currency: SalesOrder.DocumentCurrency Filter(eq;ge;le)

Type: Amount (14, 5) nullable
Category: System
Supported Filters: Equals, GreaterThanOrLessThan
Supports Order By: False
Show in UI: HiddenByDefault

Id

Type: guid
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Default Value: NewGuid
Show in UI: CannotBeShown

IntrastatApplyDate

Specifies in which period for Intrastat declaration must be included the current operation. Used only when the invoice is issued in different period than the one, that the operation must be included. If not set the document date is used. Filter(ge;le) Introduced in version 21.1.3.83

Type: datetime nullable
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Show in UI: HiddenByDefault

IntrastatTransactionNatureCode

Transaction nature; used for Intrastat reporting.

Type: TransactionNature nullable
Category: System
Generic enum type for TransactionNature properties
Allowed Values (Finance.Intrastat.TransactionNature Enum Members)

Value Description
OutrightPurchaseOrSale OutrightPurchaseOrSale value. Stored as '11'.
Database Value: '11'
Model Value: 0
Domain API Value: 'OutrightPurchaseOrSale'
SupplyForSale SupplyForSale value. Stored as '12'.
Database Value: '12'
Model Value: 1
Domain API Value: 'SupplyForSale'
BarterTrade BarterTrade value. Stored as '13'.
Database Value: '13'
Model Value: 2
Domain API Value: 'BarterTrade'
FinancialLeasing FinancialLeasing value. Stored as '14'.
Database Value: '14'
Model Value: 3
Domain API Value: 'FinancialLeasing'
OtherTransactions OtherTransactions value. Stored as '19'.
Database Value: '19'
Model Value: 4
Domain API Value: 'OtherTransactions'
ReturnStokilizing ReturnStokilizing value. Stored as '21'.
Database Value: '21'
Model Value: 5
Domain API Value: 'ReturnStokilizing'
ReplacementFor
ReturnedGoods
ReplacementFor
ReturnedGoods value. Stored as '22'.
Database Value: '22'
Model Value: 6
Domain API Value: 'ReplacementFor
ReturnedGoods'
ReplacementOfGoods
NotBeingReturned
ReplacementOfGoods
NotBeingReturned value. Stored as '23'.
Database Value: '23'
Model Value: 7
Domain API Value: 'ReplacementOfGoods
NotBeingReturned'
ReturnOrExchange
OfOtherGoods
ReturnOrExchange
OfOtherGoods value. Stored as '29'.
Database Value: '29'
Model Value: 8
Domain API Value: 'ReturnOrExchange
OfOtherGoods'
SpecificTransactions SpecificTransactions value. Stored as '60'.
Database Value: '60'
Model Value: 9
Domain API Value: 'SpecificTransactions'
OperationsOnJointProjects OperationsOnJointProjects value. Stored as '70'.
Database Value: '70'
Model Value: 10
Domain API Value: 'OperationsOnJointProjects'
TransactionsOf
ConstructionMaterials
AndEquipment
TransactionsOf
ConstructionMaterials
AndEquipment value. Stored as '80'.
Database Value: '80'
Model Value: 11
Domain API Value: 'TransactionsOf
ConstructionMaterials
AndEquipment'
OtherTransactionsLeasing OtherTransactionsLeasing value. Stored as '91'.
Database Value: '91'
Model Value: 12
Domain API Value: 'OtherTransactionsLeasing'
OtherTransactionsOther OtherTransactionsOther value. Stored as '99'.
Database Value: '99'
Model Value: 13
Domain API Value: 'OtherTransactionsOther'
DealsThatInclude
PropertyTransfers
WithoutFinancial
CompensationOr
CompensationIn
Kind
DealsThatInclude
PropertyTransfers
WithoutFinancial
CompensationOr
CompensationIn
Kind value. Stored as '30'.
Database Value: '30'
Model Value: 14
Domain API Value: 'DealsThatInclude
PropertyTransfers
WithoutFinancial
CompensationOr
CompensationIn
Kind'
GoodsThatAreExpected
ToBeReturnedTo
Sender
GoodsThatAreExpected
ToBeReturnedTo
Sender value. Stored as '41'.
Database Value: '41'
Model Value: 15
Domain API Value: 'GoodsThatAreExpected
ToBeReturnedTo
Sender'
GoodsThatAreNot
ExpectedToBeReturned
ToSender
GoodsThatAreNot
ExpectedToBeReturned
ToSender value. Stored as '42'.
Database Value: '42'
Model Value: 16
Domain API Value: 'GoodsThatAreNot
ExpectedToBeReturned
ToSender'
GoodsThatAreReturned
ToSender
GoodsThatAreReturned
ToSender value. Stored as '51'.
Database Value: '51'
Model Value: 17
Domain API Value: 'GoodsThatAreReturned
ToSender'
GoodsThatAreNot
ReturnedToSender
GoodsThatAreNot
ReturnedToSender value. Stored as '52'.
Database Value: '52'
Model Value: 18
Domain API Value: 'GoodsThatAreNot
ReturnedToSender'

Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.IntrastatTransactionNatureCode

Front-End Recalc Expressions:
obj.SalesOrder.IntrastatTransactionNatureCode

IntrastatTransportModeCode

Transport mode; used for Intrastat reporting.

Type: TransportMode nullable
Category: System
Generic enum type for TransportMode properties
Allowed Values (Finance.Intrastat.TransportMode Enum Members)

Value Description
Shipping Shipping value. Stored as '1'.
Database Value: '1'
Model Value: 0
Domain API Value: 'Shipping'
RailwayTransport RailwayTransport value. Stored as '2'.
Database Value: '2'
Model Value: 1
Domain API Value: 'RailwayTransport'
RoadTransport RoadTransport value. Stored as '3'.
Database Value: '3'
Model Value: 2
Domain API Value: 'RoadTransport'
AirTransport AirTransport value. Stored as '4'.
Database Value: '4'
Model Value: 3
Domain API Value: 'AirTransport'
Mail Mail value. Stored as '5'.
Database Value: '5'
Model Value: 4
Domain API Value: 'Mail'
FixedTransport
Installations
FixedTransport
Installations value. Stored as '7'.
Database Value: '7'
Model Value: 5
Domain API Value: 'FixedTransport
Installations'
RiverTransport RiverTransport value. Stored as '8'.
Database Value: '8'
Model Value: 6
Domain API Value: 'RiverTransport'
SelfPropelled SelfPropelled value. Stored as '9'.
Database Value: '9'
Model Value: 7
Domain API Value: 'SelfPropelled'

Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.IntrastatTransportModeCode

Front-End Recalc Expressions:
obj.SalesOrder.IntrastatTransportModeCode

Level1DiscountAmount

The amount of the level 1 discount.

Type: Amount
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

Level1DiscountPercent

The percent of the level 1 discount. ReadOnly Introduced in version 23.1.2.56

Type: decimal (7, 6) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

Front-End Recalc Expressions:
IIF( ( obj.Level1Discount != null), Convert( obj.Level1Discount.DiscountPercent, Object), null)

Level2DiscountAmount

The cumulative amount of the level 2 discount.

Type: Amount
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

Level2DiscountPercent

The percent of the level 2 discount. ReadOnly Introduced in version 23.1.2.8

Type: decimal (7, 6) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

Front-End Recalc Expressions:
IIF( ( obj.Level2Discount != null), Convert( obj.Level2Discount.DiscountPercent, Object), null)

Level3DiscountAmount

The cumulative amount of the level 3 discount.

Type: Amount
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

Level3DiscountPercent

The percent of the level 3 discount. ReadOnly Introduced in version 23.1.2.8

Type: decimal (7, 6) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

Front-End Recalc Expressions:
IIF( ( obj.Level3Discount != null), Convert( obj.Level3Discount.DiscountPercent, Object), null)

LineAmount

The total amount for the line. Equals to Quantity * Unit_Price, less the discounts. Currency: SalesOrder.DocumentCurrency Required Default(0)

Type: Amount (14, 2)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: Constant
Show in UI: ShownByDefault

Back-End Default Expression:
IIF( ( ( ( obj.Quantity == null) OrElse ( obj.UnitPrice == null)) OrElse ( ( obj.Quantity.Value == 0) AndAlso ( obj.UnitPrice.Value == 0))), obj.LineAmount, obj.CalculateLineAmount( obj.Quantity, obj.UnitPrice, obj.LineStandardDiscountPercent, obj.LineCustomDiscountPercent))

Front-End Recalc Expressions:
IIF( ( ( ( obj.Quantity == null) OrElse ( obj.UnitPrice == null)) OrElse ( ( obj.Quantity.Value == 0) AndAlso ( obj.UnitPrice.Value == 0))), obj.LineAmount, obj.CalculateLineAmount( obj.Quantity, obj.UnitPrice, obj.LineStandardDiscountPercent, obj.LineCustomDiscountPercent))

LineCustomDiscountPercent

User-defined discount for the line. Required Default(0) Filter(ge;le)

Type: decimal (7, 6)
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Default Value: 0
Show in UI: ShownByDefault

LineFromDate

When selling a service valid only for a period, denotes the beginning of the period. null means that it is unknown or N/A. Filter(ge;le) Introduced in version 20.1

Type: date nullable
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.FromDate

Front-End Recalc Expressions:
obj.SalesOrder.FromDate

LineNo

Consecutive number of the line within the sales order. Required Filter(eq) ORD

Type: int32
Category: System
Supported Filters: Equals
Supports Order By: True
Show in UI: ShownByDefault

Back-End Default Expression:
( obj.SalesOrder.Lines.Select( c => c.LineNo).DefaultIfEmpty( 0).Max( ) + 10)

Front-End Recalc Expressions:
( obj.SalesOrder.Lines.Select( c => c.LineNo).DefaultIfEmpty( 0).Max( ) + 10)

LineStandardDiscountPercent

Standard discount percent for the line. It is calculated by accumulating in cascade the line discounts at all levels. Required Default(0) ReadOnly

Type: decimal (7, 6)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: 0
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.DetermineLineStandardDiscountPercent( obj.Product, obj.LineDiscount, obj.BonusProgram, obj.PromotionalPackage, obj.ReturnForSalesOrderLine, obj.Level1Discount, obj.Level2Discount, obj.Level3Discount)

Front-End Recalc Expressions:
obj.DetermineLineStandardDiscountPercent( obj.Product, obj.LineDiscount, obj.BonusProgram, obj.PromotionalPackage, obj.ReturnForSalesOrderLine, obj.Level1Discount, obj.Level2Discount, obj.Level3Discount)

LineToDate

When selling a service valid only for a period, denotes the end of the period. null means that it is unknown or N/A. Filter(ge;le) Introduced in version 20.1

Type: date nullable
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.ToDate

Front-End Recalc Expressions:
obj.SalesOrder.ToDate

Notes

Notes for this SalesOrderLine.

Type: string (max) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 2147483647
Show in UI: HiddenByDefault

ObjectVersion

The latest version of the extensible data object for the aggregate root for the time the object is loaded from the database. Can be used for optimistic locking.

Type: int32
Category: Extensible Data Object
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

ParentLineNo

The number of the line within the parent document, which the current line executes. null when the current line does not execute parent line. Filter(eq)

Type: int32 nullable
Category: System
Supported Filters: Equals
Supports Order By: False
Show in UI: HiddenByDefault

PersistLot

If checked specifies that the lot in the line cannot be changed in the sub-documents created by the current document. Required Default(false) Filter(eq)

Type: boolean
Category: System
Supported Filters: Equals
Supports Order By: False
Default Value: False
Show in UI: HiddenByDefault

Back-End Default Expression:
( ( obj.Lot != null) AndAlso obj.SalesOrder.Customer.PersistSalesOrdersLots)

Front-End Recalc Expressions:
( ( obj.Lot != null) AndAlso obj.SalesOrder.Customer.PersistSalesOrdersLots)

ProductDescription

The name of the sold product at the time the sale was made. Required Filter(like)

Type: MultilanguageString (254)
Category: System
Supported Filters: Like
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.Product.Name

Front-End Recalc Expressions:
obj.Product.Name

Quantity

The quantity sold. Unit: QuantityUnit Required Default(1) Filter(ge;le)

Type: Quantity (12, 3)
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Default Value: Constant
Show in UI: ShownByDefault

QuantityBase

The equivalent of Quantity in the base measurement category of the product. Unit: Product.BaseMeasurementCategory.BaseUnit Required

Type: Quantity (12, 3)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
IIF( ( ( ( obj.Quantity == null) OrElse ( obj.QuantityUnit == null)) OrElse ( obj.Product == null)), obj.QuantityBase, obj.Quantity.ConvertTo( obj.Product.BaseUnit, obj.Product))

Front-End Recalc Expressions:
IIF( ( ( ( obj.Quantity == null) OrElse ( obj.QuantityUnit == null)) OrElse ( obj.Product == null)), obj.QuantityBase, obj.Quantity.ConvertTo( obj.Product.BaseUnit, obj.Product))

RequestedQuantity

Quantity requested by customer. Unit: QuantityUnit

Type: Quantity (12, 3) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

RequiredDeliveryDate

The required (contracted) delivery date for the line. Filter(ge;le)

Type: date nullable
Category: System
Supported Filters: GreaterThanOrLessThan
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.RequiredDeliveryDate

Front-End Recalc Expressions:
obj.SalesOrder.RequiredDeliveryDate

StandardQuantityBase

The theoretical quantity in base measurement unit according to the current measurement dimensions for the product. Used to measure the execution. Unit: Product.BaseMeasurementCategory.BaseUnit Required ReadOnly Introduced in version 18.2

Type: Quantity (12, 3)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
IIF( ( ( ( obj.Quantity == null) OrElse ( obj.QuantityUnit == null)) OrElse ( obj.Product == null)), obj.StandardQuantityBase, obj.Quantity.ConvertTo( obj.Product.BaseUnit, obj.Product))

Front-End Recalc Expressions:
IIF( ( ( ( obj.Quantity == null) OrElse ( obj.QuantityUnit == null)) OrElse ( obj.Product == null)), obj.StandardQuantityBase, obj.Quantity.ConvertTo( obj.Product.BaseUnit, obj.Product))

StandardUnitPrice

Standard unit price of the product during the creation of the sales order line. Currency: SalesOrder.DocumentCurrency ReadOnly

Type: Amount (14, 5) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.Product.GetStandardUnitPrice( obj.QuantityUnit, obj.SalesOrder.DocumentCurrency, obj.SalesOrder.CurrencyDirectory)

Front-End Recalc Expressions:
obj.Product.GetStandardUnitPrice( obj.QuantityUnit, obj.SalesOrder.DocumentCurrency, obj.SalesOrder.CurrencyDirectory)

UnitPrice

Unit price of the product in the currency of the sales order and in the unit of measure, as specified by QuantityUnitId. Currency: SalesOrder.DocumentCurrency Required Default(0)

Type: Amount (14, 5)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: Constant
Show in UI: ShownByDefault

Back-End Default Expression:
( CalculateUnitPriceFromLineAmount( obj.LineAmount, obj.Quantity, obj.LineStandardDiscountPercent, obj.LineCustomDiscountPercent) ?? obj.UnitPrice)

Front-End Recalc Expressions:
obj.CalculateUnitPrice( obj.SalesOrder, obj.QuantityUnit, obj.Product, obj.ProductPrice)

Reference Details

BonusProgram

The bonus program, based on which the line was automatically added. null when the line was not added for bonus program. Filter(multi eq)

Type: BonusPrograms (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

Front-End Recalc Expressions:
IIF( ( obj.ReturnForSalesOrderLine != null), null, obj.BonusProgram)

Document

The to which this SalesOrderLine belongs. Required Filter(multi eq)

Type: SalesOrders
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault

IntrastatTransportCountry

Country of origin of the transport company; used for Intrastat reporting. Filter(multi eq)

Type: Countries (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.IntrastatTransportCountry

Front-End Recalc Expressions:
obj.SalesOrder.IntrastatTransportCountry

Level1Discount

Indicates the level 1 discount. Filter(multi eq) Introduced in version 23.1.2.56

Type: LineDiscounts (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault

Front-End Recalc Expressions:
obj.DetermineLineDiscount( obj.SalesOrder.EnterpriseCompany, obj.SalesOrder.EnterpriseCompanyLocation, obj.RequiredDeliveryDate, obj.SalesOrder.Customer, obj.SalesOrder.ShipToCustomer, obj.SalesOrder.DistributionChannel, obj.SalesOrder.PriceList, obj.Product, obj.Quantity, obj.QuantityUnit, obj.ReturnForSalesOrderLine, null, obj.PromotionalPackage, obj.Level1Discount, 0)

Level2Discount

Indicates the level 2 discount. Filter(multi eq) Introduced in version 23.1.2.8

Type: LineDiscounts (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault

Front-End Recalc Expressions:
obj.DetermineLineDiscount( obj.SalesOrder.EnterpriseCompany, obj.SalesOrder.EnterpriseCompanyLocation, obj.RequiredDeliveryDate, obj.SalesOrder.Customer, obj.SalesOrder.ShipToCustomer, obj.SalesOrder.DistributionChannel, obj.SalesOrder.PriceList, obj.Product, obj.Quantity, obj.QuantityUnit, obj.ReturnForSalesOrderLine, null, obj.PromotionalPackage, obj.Level2Discount, 1)

Level3Discount

Indicates the level 3 discount. Filter(multi eq) Introduced in version 23.1.2.8

Type: LineDiscounts (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault

Front-End Recalc Expressions:
obj.DetermineLineDiscount( obj.SalesOrder.EnterpriseCompany, obj.SalesOrder.EnterpriseCompanyLocation, obj.RequiredDeliveryDate, obj.SalesOrder.Customer, obj.SalesOrder.ShipToCustomer, obj.SalesOrder.DistributionChannel, obj.SalesOrder.PriceList, obj.Product, obj.Quantity, obj.QuantityUnit, obj.ReturnForSalesOrderLine, null, obj.PromotionalPackage, obj.Level3Discount, 2)

LineDealType

Deal type to be passed to the invoice line. If deal type in entered then the invoice creates VAT entry for this deal type. Filter(multi eq)

Type: DealTypes (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.DealType

Front-End Recalc Expressions:
obj.SalesOrder.DealType

LineDiscount

OBSOLETE! Do not use! The line discount type used to form the Line_Standard_Discount_Percent. Obsolete Filter(multi eq) ReadOnly Obsoleted in version 25.1.1.38 Obsolete

Type: LineDiscounts (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: CannotBeShown

LineEndCustomerParty

The end customer is the customer of the dealer. It is stored for information purposes only. The end customer may not have customer definition, just party. Filter(multi eq) Introduced in version 20.1

Type: Parties (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.EndCustomerParty

Front-End Recalc Expressions:
obj.SalesOrder.EndCustomerParty

LineStore

The store which should be used to issue the goods for the line. null means to use the store from the header. Filter(multi eq;like)

Type: Stores (nullable)
Category: System
Supported Filters: Equals, Like, EqualsIn
Show in UI: HiddenByDefault

Back-End Default Expression:
obj.SalesOrder.Store

Front-End Recalc Expressions:
obj.SalesOrder.Store

Lot

Specifies the lot from which the goods should be issued. null means that the lot will be specified at a later stage (store order, etc.). Filter(multi eq)

Type: Lots (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

ParentDocument

The document, which the current line executes. null when the current line does not execute another line. Filter(multi eq)

Type: Documents (nullable)
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

Product

The product sold. Required Filter(multi eq)

Type: Products
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault

Back-End Default Expression:
IIF( ( ( obj.BonusProgram != null) AndAlso ( Convert( obj.BonusProgram.BonusAction, Int32) == 0)), obj.BonusProgram.BonusProduct, IIF( ( ( obj.ProductCode.Product != null) AndAlso ( obj.ProductCode.Product.Active == True)), obj.ProductCode.Product, obj.Product))

Front-End Recalc Expressions:
IIF( ( ( obj.BonusProgram != null) AndAlso ( Convert( obj.BonusProgram.BonusAction, Int32) == 0)), obj.BonusProgram.BonusProduct, IIF( ( ( obj.ProductCode.Product != null) AndAlso ( obj.ProductCode.Product.Active == True)), obj.ProductCode.Product, obj.Product))

ProductCode

Used to set the Product_Id thru the coding systems. Filter(multi eq)

Type: ProductCodes (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

ProductPrice

Not null when the price has been selected from the list of valid standard prices. Filter(multi eq)

Type: ProductPrices (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

Front-End Recalc Expressions:
IIF( ( ( ( obj.BonusProgram != null) AndAlso ( Convert( obj.BonusProgram.BonusAction, Int32) == 0)) OrElse ( obj.ReturnForSalesOrderLine != null)), null, DetermineProductPrice( obj.Product, obj.Quantity, obj.QuantityUnit, obj.RequiredDeliveryDate, obj.SalesOrder.Customer, obj.SalesOrder.ShipToCustomer, obj.SalesOrder.EnterpriseCompany, obj.SalesOrder.EnterpriseCompanyLocation, obj.SalesOrder.DistributionChannel, obj.SalesOrder.PriceList, obj.ProductPrice))

ProductVariant

If specified determines which product variant of the current product in this line is used. Filter(multi eq)

Type: ProductVariants (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

PromotionalPackage

The promotional package, based on which the line was added. null when the line was not added as part of a promotional package. Filter(multi eq) ReadOnly

Type: PromotionalPackages (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

Front-End Recalc Expressions:
IIF( ( obj.ReturnForSalesOrderLine != null), null, obj.PromotionalPackage)

QuantityUnit

The measurement unit of Quantity. Required Filter(multi eq)

Type: MeasurementUnits
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: ShownByDefault

Back-End Default Expression:
obj.ProductCode.CodingSystem.DefaultMeasurementUnit.IfNullThen( obj.Product.MeasurementUnit.IfNullThen( obj.QuantityUnit))

Front-End Recalc Expressions:
obj.ProductCode.CodingSystem.DefaultMeasurementUnit.IfNullThen( obj.Product.MeasurementUnit.IfNullThen( obj.QuantityUnit))

ReturnForInvoiceLine

When specified, indicates that the current line is a return for products, invoiced with the specified invoice line. Filter(multi eq)

Type: InvoiceLines (nullable)
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

ReturnForSalesOrderLine

When specified indicates that the goods sold in Return_For_Sales_Order_Line_Id are returned with the current line. Filter(multi eq)

Type: SalesOrderLines (nullable)
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

SalesOrder

The to which this SalesOrderLine belongs. Required Filter(multi eq) Owner

Type: SalesOrders
Indexed: True
Category: System
Supported Filters: Equals, EqualsIn
Filterable Reference: True
Show in UI: ShownByDefault

SerialNumber

Which serial number to receive/issue. null means that serial number is unknown or not applicable. Filter(multi eq)

Type: SerialNumbers (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

StoreBin

The bin from which the goods should be withdrawn. null means that the bin will be specified at a later stage (store order, etc.). Filter(multi eq)

Type: StoreBins (nullable)
Category: System
Supported Filters: Equals, EqualsIn
Show in UI: HiddenByDefault

API Methods

Methods that can be invoked in public APIs.

GetAllowedCustomPropertyValues

Gets the allowed values for the specified custom property for this entity object. If supported the result is ordered by property value. Some property value sources do not support ordering - in that case the result is not ordered.
Return Type: Collection Of CustomPropertyValue
Declaring Type: EntityObject
Domain API Request: GET

Parameters

  • customPropertyCode
    The code of the custom property
    Type: string

  • search
    The search text - searches by value or description. Can contain wildcard character %.
    Type: string
    Optional: True
    Default Value: null

  • exactMatch
    If true the search text should be equal to the property value
    Type: boolean
    Optional: True
    Default Value: False

  • orderByDescription
    If true the result is ordered by Description instead of Value. Note that ordering is not always possible.
    Type: boolean
    Optional: True
    Default Value: False

  • top
    The top clause - default is 10
    Type: int32
    Optional: True
    Default Value: 10

  • skip
    The skip clause - default is 0
    Type: int32
    Optional: True
    Default Value: 0

CreateNotification

Create a notification immediately in a separate transaction, and send a real-time event to the user.
Return Type: void
Declaring Type: EntityObject
Domain API Request: POST

Parameters

  • user
    The user.
    Type: Users

  • notificationClass
    The notification class.
    Type: string

  • subject
    The notification subject.
    Type: string

CreateCopy

Duplicates the object and its child objects belonging to the same aggregate. The duplicated objects are not saved to the data source but remain in the same transaction as the original object.
Return Type: EntityObject
Declaring Type: EntityObject
Domain API Request: POST

Business Rules

Front-End Business Rules

API

Domain API Query: https://demodb.my.erp.net/api/domain/odata/Crm_Sales_SalesOrderLines?$top=10

Domain API Query Builder: https://demodb.my.erp.net/api/domain/querybuilder#Crm_Sales_SalesOrderLines?$top=10