Table of Contents

Logistics.Procurement.PurchaseOrderLines Entity

Namespace: Logistics.Procurement

Contains detail lines of purchase orders. Entity: Scm_Purchase_Order_Lines

Default Visualization

Default Display Text Format:
{LineNo}. {PurchaseOrder.DocumentNo} {PurchaseOrder.DocumentType.TypeName:T}
Default Search Members:
PurchaseOrder.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:
Logistics.Procurement.PurchaseOrders
Aggregate Root:
Logistics.Procurement.PurchaseOrders

Attributes

Name Type Description
ConfirmedPricePerUnit Amount (14, 5) nullable The unit price that is confirmed by the supplier. null if there was no order confirmation. Currency: PurchaseOrder.DocumentCurrency
ConfirmedQuantity Quantity (18, 3) nullable The quantity that is confirmed by the supplier. null if there was no order confirmation. Unit: QuantityUnit Filter(ge;le)
ConfirmedQuantityBase Quantity (18, 3) nullable The theoretical equivalence of Confirmed Quantity in base measurement unit according to the current measurement dimensions of the product. Unit: Product.BaseMeasurementCategory.BaseUnit ReadOnly
ConfirmedStandard
QuantityBase
Quantity (18, 3) nullable The theoretical quantity in base measurement unit according to the current measurement dimensions for the product. Used to measure the execution. null means to convert the value from Confirmed Quantity using the measurement ratios. Unit: Product.BaseMeasurementCategory.BaseUnit ReadOnly Introduced in version 18.2
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.
DisplayText string Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.
Id guid
LineNo int32 Line number, unique within the PurchaseOrder. Usually is increasing number like 10, 20, 30, ... when initially entering the PurchaseOrder (in order to allow insertions with adjustment documents). Required
Notes string (254) nullable Notes for this PurchaseOrderLine.
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 line. Filter(eq) Introduced in version 18.2
PlannedDeliveryDate datetime The planned delivery date for this line. Required Filter(ge;le)
PricePerUnit Amount (14, 5) nullable The expected unit price of the ordered products, in the document currency. Currency: PurchaseOrder.DocumentCurrency
ProductDescription MultilanguageString (254) The name of the ordered product, initially copied from the name in the product definition. The field can be edited by the user. Required Filter(like)
Quantity Quantity (18, 3) The quantity ordered. Unit: QuantityUnit Required Default(0) Filter(ge;le)
QuantityBase Quantity (18, 3) The equivalence of Quantity, in the base measurement category of the product. Unit: Product.BaseMeasurementCategory.BaseUnit Required Default(0) ReadOnly
StandardQuantityBase Quantity (18, 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

References

Name Type Description
Document PurchaseOrders The to which this PurchaseOrderLine belongs. Required Filter(multi eq)
Lot Lots (nullable) When not null, indicates that a specific lot is required to be delivered. 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) Introduced in version 18.2
Product Products The ordered product. Required Filter(multi eq)
ProductCode ProductCodes (nullable) When not null, specifies that the product was selected using the specified product code record. Filter(multi eq)
ProductVariant ProductVariants (nullable) If specified determines which product variant of the current product in this line is used. Filter(multi eq)
PurchaseOrder PurchaseOrders The to which this PurchaseOrderLine belongs. Required Filter(multi eq) Owner
PurchaseProductPrice PurchaseProductPrices (nullable) When not null, specifies that the purchase unit price is loaded automatically from the specified purchase price record. Filter(multi eq)
QuantityUnit MeasurementUnits The measurement unit of Quantity. Required Filter(multi eq)
RequisitionLine RequisitionLines (nullable) When not null, specifies that the current line is based on the specified requisition line. Filter(multi eq)

Attribute Details

ConfirmedPricePerUnit

The unit price that is confirmed by the supplier. null if there was no order confirmation. Currency: PurchaseOrder.DocumentCurrency

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

ConfirmedQuantity

The quantity that is confirmed by the supplier. null if there was no order confirmation. Unit: QuantityUnit Filter(ge;le)

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

ConfirmedQuantityBase

The theoretical equivalence of Confirmed Quantity in base measurement unit according to the current measurement dimensions of the product. Unit: Product.BaseMeasurementCategory.BaseUnit ReadOnly

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

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

ConfirmedStandardQuantityBase

The theoretical quantity in base measurement unit according to the current measurement dimensions for the product. Used to measure the execution. null means to convert the value from Confirmed Quantity using the measurement ratios. Unit: Product.BaseMeasurementCategory.BaseUnit ReadOnly Introduced in version 18.2

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

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

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

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

Id

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

LineNo

Line number, unique within the PurchaseOrder. Usually is increasing number like 10, 20, 30, ... when initially entering the PurchaseOrder (in order to allow insertions with adjustment documents). Required

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

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

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

Notes

Notes for this PurchaseOrderLine.

Type: string (254) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Maximum Length: 254
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 line. Filter(eq) Introduced in version 18.2

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

PlannedDeliveryDate

The planned delivery date for this line. Required Filter(ge;le)

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

Back-End Default Expression:
obj.PurchaseOrder.PlannedDeliveryDate

Front-End Recalc Expressions:
obj.PurchaseOrder.PlannedDeliveryDate

PricePerUnit

The expected unit price of the ordered products, in the document currency. Currency: PurchaseOrder.DocumentCurrency

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

Front-End Recalc Expressions:
obj.GetPurchasePriceForProductPriceUnit( obj.PurchaseProductPrice, obj.QuantityUnit)

ProductDescription

The name of the ordered product, initially copied from the name in the product definition. The field can be edited by the user. 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 ordered. Unit: QuantityUnit Required Default(0) Filter(ge;le)

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

QuantityBase

The equivalence of Quantity, in the base measurement category of the product. Unit: Product.BaseMeasurementCategory.BaseUnit Required Default(0) ReadOnly

Type: Quantity (18, 3)
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Default Value: Constant
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))

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 (18, 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))

Reference Details

Document

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

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

Lot

When not null, indicates that a specific lot is required to be delivered. 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) Introduced in version 18.2

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

Product

The ordered product. Required Filter(multi eq)

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

Front-End Recalc Expressions:
obj.ProductCode.Product

ProductCode

When not null, specifies that the product was selected using the specified product code record. Filter(multi eq)

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

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

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

PurchaseOrder

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

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

PurchaseProductPrice

When not null, specifies that the purchase unit price is loaded automatically from the specified purchase price record. Filter(multi eq)

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

Front-End Recalc Expressions:
obj.DeterminePurchaseProductPrice( Convert( obj.Document.DocumentDate, Nullable1), obj.PurchaseOrder.Supplier, obj.Product, obj.Quantity, obj.Document.EnterpriseCompany, obj.PurchaseOrder.PurchasePriceList)`

QuantityUnit

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

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

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

RequisitionLine

When not null, specifies that the current line is based on the specified requisition line. Filter(multi eq)

Type: RequisitionLines (nullable)
Indexed: True
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/Logistics_Procurement_PurchaseOrderLines?$top=10

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