Table of Contents

General.Products.ProductGroups Entity

Namespace: General.Products

Hierarchical categorization of the products. Entity: Gen_Product_Groups

Default Visualization

Default Display Text Format:
{Name:T}
Default Search Members:
Code; Name
Code Data Member:
Code
Name Data Member:
Name
Category: Definitions
Show in UI: ShownByDefault

Aggregate

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

Aggregate Tree

Attributes

Name Type Description
Active boolean True if the product group is active, false - not to list in combo boxes for choosing in new documents. Required Default(true) Filter(eq)
Code string (16) The unique code of the ProductGroup. Required Filter(eq;like) ORD
ConfiguratorCreatesRecipe boolean Whether the product configurator should create one default recipe. true=yes;false=no. Required Default(false)
ConfiguratorStatus ConfiguratorStatus Usage of product configurator for new products. 0=Product configurator cannot be used to create products in this group;1=The configurator can be used;2=The configurator should be used and products cannot be created directly. Required Default(0)
DisplayText string Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.
FullPath string (254) Full tree path in the form /parent/.../leaf/. Contains the group codes. Required Default("") Filter(eq;like) ORD
Id guid
Name MultilanguageString (180) Group name should be unique among the other groups within the same parent. Required Filter(eq;like)
NextPartNumber string (16) nullable Contains the next part number to be auto-assigned to parts, created in the group or sub-groups.
NextSerialNumber string (40) nullable When not null, specifies the next serial number, that should be assigned to new produced items. Filter(eq;like)
Notes string (254) nullable User notes for the item group.
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.
Parent string (254) OBSOLETE! Do not use! Full tree path of the parent group in the form /parent/.../leaf/. Contains the group codes. Obsolete Required Default("/") Filter(eq) Obsoleted in version 22.1.6.92
Picture byte[] nullable The picture of the product group.
PictureLastUpdateTime datetime nullable Last update time of the Picture. Filter(ge;le) ReadOnly
ProductDescriptionMask MultilanguageString (1000) nullable When not null specifies mask for new product descriptions for this group and its sub-groups. The mask substitutes {0}..{n} with the appropriate custom attributes.
ProductNameMask MultilanguageString (1000) nullable When not null specifies mask for new product names for this group and its sub-groups. The mask substitutes {0}..{n} with the appropriate custom attributes.
UseLots UseLots nullable Specifies whether for the products from this group and its sub-groups the use of lots in store documents is required or is unallowed or is allowed while not required.

References

Name Type Description
DefaultMeasurementUnit MeasurementUnits (nullable) When not null, specifies default measurement unit, which should be assigned to new products in the group. Filter(multi eq)
DefaultProductType ProductTypes (nullable) When not null, specifies default product type, which should be assigned to new products in the group. Filter(multi eq)
EnterpriseCompany EnterpriseCompanies (nullable) When not null, specifies that the product group, its sub-groups and products are specific to a given enterprise company and may be used only in documents from this enterprise company. Filter(multi eq)
ParentGroup ProductGroups (nullable) Parent product group. null if this is root group. Filter(multi eq) Introduced in version 22.1.5.98
PricingModel PricingModels (nullable) When not null, specifies the pricing model, for the products in this product group. The model is by default valid also for sub-groups, unless they have other models. Filter(multi eq)

Child Collections

Name Type Description
PrincipalRecipes PrincipalRecipes List of PrincipalRecipe(Production.Technologies.PrincipalRecipes.md) child objects, based on the Production.Technologies.PrincipalRecipe.ProductGroup(Production.Technologies.PrincipalRecipes.md#productgroup) back reference
RangeProperties ProductGroupRangeProperties List of ProductGroupRange<br />Property(General.Products.ProductGroupRange
Properties.md) child objects, based on the General.Products.ProductGroupRangeProperty.ProductGroup(General.Products.ProductGroupRange
Properties.md#productgroup) back reference
RequiredProperties ProductGroupRequiredProperties List of ProductGroupRequired<br />Property(General.Products.ProductGroupRequired
Properties.md) child objects, based on the General.Products.ProductGroupRequired<br />Property.ProductGroup(General.Products.ProductGroupRequired
Properties.md#productgroup) back reference

Attribute Details

Active

True if the product group is active, false - not to list in combo boxes for choosing in new documents. Required Default(true) Filter(eq)

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

Code

The unique code of the ProductGroup. Required Filter(eq;like) ORD

Type: string (16)
Indexed: True
Category: System
Supported Filters: Equals, Like
Supports Order By: True
Maximum Length: 16
Show in UI: ShownByDefault

Back-End Default Expression:
obj.IncMax( o => o.Code, o => ( o.ParentGroup == obj.ParentGroup), IIF( ( obj.ParentGroup == null), "000", ( obj.ParentGroup.Code + "00")))

ConfiguratorCreatesRecipe

Whether the product configurator should create one default recipe. true=yes;false=no. Required Default(false)

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

ConfiguratorStatus

Usage of product configurator for new products. 0=Product configurator cannot be used to create products in this group;1=The configurator can be used;2=The configurator should be used and products cannot be created directly. Required Default(0)

Type: ConfiguratorStatus
Category: System
Allowed values for the ConfiguratorStatus(General.Products.ProductGroups.md#configuratorstatus) data attribute
Allowed Values (General.Products.ProductGroupsRepository.ConfiguratorStatus Enum Members)

Value Description
NotAllowed NotAllowed value. Stored as 0.
Database Value: 0
Model Value: 0
Domain API Value: 'NotAllowed'
Allowed Allowed value. Stored as 1.
Database Value: 1
Model Value: 1
Domain API Value: 'Allowed'
Obligatory Obligatory value. Stored as 2.
Database Value: 2
Model Value: 2
Domain API Value: 'Obligatory'

Supported Filters: NotFilterable
Supports Order By: False
Default Value: 0
Show in UI: ShownByDefault

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

FullPath

Full tree path in the form /parent/.../leaf/. Contains the group codes. Required Default("") Filter(eq;like) ORD

Type: string (254)
Indexed: True
Category: System
Supported Filters: Equals, Like
Supports Order By: True
Maximum Length: 254
Default Value: ****
Show in UI: CannotBeShown

Front-End Recalc Expressions:
Format( "{0}{1}/", IIF( ( obj.ParentGroup != null), obj.ParentGroup.FullPath, "/"), obj.Code)

Id

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

Name

Group name should be unique among the other groups within the same parent. Required Filter(eq;like)

Type: MultilanguageString (180)
Category: System
Supported Filters: Equals, Like
Supports Order By: False
Show in UI: ShownByDefault

NextPartNumber

Contains the next part number to be auto-assigned to parts, created in the group or sub-groups.

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

NextSerialNumber

When not null, specifies the next serial number, that should be assigned to new produced items. Filter(eq;like)

Type: string (40) nullable
Category: System
Supported Filters: Equals, Like
Supports Order By: False
Maximum Length: 40
Show in UI: ShownByDefault

Notes

User notes for the item group.

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

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

Parent

OBSOLETE! Do not use! Full tree path of the parent group in the form /parent/.../leaf/. Contains the group codes. Obsolete Required Default("/") Filter(eq) Obsoleted in version 22.1.6.92

Type: string (254)
Category: System
Supported Filters: Equals
Supports Order By: False
Maximum Length: 254
Default Value: /
Show in UI: CannotBeShown

Back-End Default Expression:
IIF( ( obj.ParentGroup != null), obj.ParentGroup.FullPath, "/")

Front-End Recalc Expressions:
IIF( ( obj.ParentGroup != null), obj.ParentGroup.FullPath, "/")

Picture

The picture of the product group.

Type: byte[] nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

PictureLastUpdateTime

Last update time of the Picture. Filter(ge;le) ReadOnly

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

ProductDescriptionMask

When not null specifies mask for new product descriptions for this group and its sub-groups. The mask substitutes {0}..{n} with the appropriate custom attributes.

Type: MultilanguageString (1000) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

ProductNameMask

When not null specifies mask for new product names for this group and its sub-groups. The mask substitutes {0}..{n} with the appropriate custom attributes.

Type: MultilanguageString (1000) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

UseLots

Specifies whether for the products from this group and its sub-groups the use of lots in store documents is required or is unallowed or is allowed while not required.

Type: UseLots nullable
Category: System
Allowed values for the UseLots(General.Products.ProductGroups.md#uselots) data attribute
Allowed Values (General.Products.ProductGroupsRepository.UseLots Enum Members)

Value Description
Allowed Allowed value. Stored as 'A'.
Database Value: 'A'
Model Value: 0
Domain API Value: 'Allowed'
NotAllowed NotAllowed value. Stored as 'N'.
Database Value: 'N'
Model Value: 1
Domain API Value: 'NotAllowed'
Required Required value. Stored as 'R'.
Database Value: 'R'
Model Value: 2
Domain API Value: 'Required'

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

Reference Details

DefaultMeasurementUnit

When not null, specifies default measurement unit, which should be assigned to new products in the group. Filter(multi eq)

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

DefaultProductType

When not null, specifies default product type, which should be assigned to new products in the group. Filter(multi eq)

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

EnterpriseCompany

When not null, specifies that the product group, its sub-groups and products are specific to a given enterprise company and may be used only in documents from this enterprise company. Filter(multi eq)

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

ParentGroup

Parent product group. null if this is root group. Filter(multi eq) Introduced in version 22.1.5.98

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

Back-End Default Expression:
obj.Transaction.Query( ).Where( pg => ( pg.FullPath == obj.Parent)).FirstOrDefault( )

PricingModel

When not null, specifies the pricing model, for the products in this product group. The model is by default valid also for sub-groups, unless they have other models. Filter(multi eq)

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

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

Creates a notification and sends 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 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/General_Products_ProductGroups?$top=10

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