Products

The Product Instantiable Model (users.%.models.product) is part of Iotellect Monitoring MES Core and defines all products managed in the system. Product instances appear at the root of the System Tree.
This model contains several variables: Product Properties, Measurement Units, and Unit Conversion.

Variables

Product Properties Variable

The Product Properties variable (productProperties) defines the basic attributes of a product.

Field

Type

Description

description

String

Detailed description of the product.

productType

String

Product type — drop-down list. The default configuration includes several predefined product types:

  • end — finished products manufactured for customers. End products can be produced using various internal recipes.

  • detail — components manufactured internally but not distributed externally. Details are used to assemble finished products.

  • material — raw materials not produced within the enterprise but supplied externally. Materials have no production recipes but serve as input products in manufacturing processes.

  • by — by-products — planned production waste inevitably generated during specific technological operations. By-products have no dedicated recipes but can occupy storage space and be reused as input materials for other processes.

  • co — intermediate products — blanks or semi-finished components of end products or details. An intermediate product is created and consumed within the same production segment and has no standalone recipe.

  • other — other products (see Materials).

productForm

String

Product form — drop-down list. The default configuration includes:

  • simple — used for discrete products measurable in units.

  • solid — used for non-discrete products in solid state (e.g., bulk unpackaged coal).

  • liquid — used for liquid-state non-discrete products.

  • gas — used for gaseous-state non-discrete products.

  • other — see simple form.

isPerishableProduct

Boolean

Indicates whether the product has a limited shelf life.

shelfLifeTime

Long

Storage time of the perishable product in milliseconds.

storageUnitValidityExpression

String

Validity expression determining whether a product can be stored in a specific storage cell.

  • Default context — storage cell

  • Default table:

    • {product} — product context

    • {quantity} — product quantity

    • {measurementUnit} — measurement unit of the quantity

    • {storage} — current storage content.

minBatchSize

Double

Minimum producible batch size for the product.

minBatchMeasurementUnit

String

Measurement unit for the minimum batch quantity.

maxBatchSize

Double

Maximum producible batch size for the product.

maxBatchMeasurementUnit

String

Measurement unit for the maximum batch quantity.

Measurement Units Variable

The Measurement Units variable (measurementUnits) defines the units in which a product can be measured.

Field

Type

Description

measurementUnit

String

Unit of measurement (see Unit of measurement model).

Unit Conversion Variable

The Unit Conversion (unitConversion) variable defines rules for converting one product unit of measurement into another. It supports both standard conversions within the same type of measurement (for example, 1000 g = 1 kg) and conversions between different types of measurement (for example, 1 pc = 2 kg or 1 L = 500 g).

Field

Type

Description

measurementUnit

String

Source unit of measurement.

equalMeasurementUnit

String

Target unit of measurement.

forwardConversionRule

String

Custom expression that defines the forward conversion rule (from the source unit to the target unit). Environment variable: {value} — the value in the source unit of measurement.

reverseConversionRule

String

Custom expression that defines the reverse conversion rule (from the target unit to the source unit). Environment variable: {value} — the value in the target unit of measurement.

Core Functions

Function: Conversion of units of measurement

Converts a specified product quantity from one measurement unit to another.

Function:

getUnitConversion

Permissions:

Available at the Observer permission level

Input Records:

1

Input Format:

Field

Type

Description

quantity

Double

Product quantity.

fromUnit

String

Source measurement unit.

toUnit

String

Target measurement unit.

Output Records:

1

Output Format:

Double

Function: Get Product Recipe

Retrieves the product recipe.

Function:

getProductRecipe

Permissions:

Available at the Observer permission level

Input Records:

1

Input Format:

Field

Type

Description

quantity

Double

Product quantity.

measurementUnit

String

Measurement unit of the product.

storageStatus

Data Table

List of storage units and their contents.

rootProductionEntity

String

Root production entity.

commercialOrder

Data Table

Commercial order data.

Output Records:

1

Output Format:

String

Function: Get Available Storage Units

Returns a list of storage units suitable for storing a given product based on their current status.

Function:

getAvailableStorageUnits

Permissions:

Available at the Observer permission level

Input Records:

1

Input Format:

Field

Type

Description

rootProductionEntity

String

Root production entity.

Output Records:

0...unlimited

Output Format:

Field

Type

Description

storageUnit

String

Storage unit context.

storageType

String

Storage unit type.

storage

Data Table

List of lots stored in the unit.

Function: Get Storage Suitability

Returns the suitability of a storage unit for storing a product batch based on the storageUnitValidityExpression.

Function:

getStorageSuitability

Permissions:

Available at the Observer permission level

Input Records:

1

Input Format:

Field

Type

Description

storage

String

Storage unit.

dtStorage

Data Table

Storage contents.

quantity

Double

Product quantity.

measurementUnit

String

Product measurement unit.

Output Records:

1

Output Format:

Boolean

Was this page helpful?