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
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 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. |
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.ProductGroupRangeProperties.md) child objects, based on the General.Products.ProductGroupRangeProperty.ProductGroup (General.Products.ProductGroupRangeProperties.md#productgroup) back reference |
RequiredProperties | ProductGroupRequiredProperties | List of ProductGroupRequired<br />Property (General.Products.ProductGroupRequiredProperties.md) child objects, based on the General.Products.ProductGroupRequired<br />Property.ProductGroup (General.Products.ProductGroupRequiredProperties.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: stringsearch
The search text - searches by value or description. Can contain wildcard character %.
Type: string
Optional: True
Default Value: nullexactMatch
If true the search text should be equal to the property value
Type: boolean
Optional: True
Default Value: FalseorderByDescription
If true the result is ordered by Description instead of Value. Note that ordering is not always possible.
Type: boolean
Optional: True
Default Value: Falsetop
The top clause - default is 10
Type: int32
Optional: True
Default Value: 10skip
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: UsersnotificationClass
The notification class.
Type: stringsubject
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
- R17342-1 ProductGroup - Product Group And Parent Group Enterprise Company Are Different
- R17342-2 ProductGroup - Product Group And Child Groups Enterprise Company Are Different
- R17342-3 ProductGroup - Product Group And Products Enterprise Company Are Different
- R17393-1-1 ProductGroup - Product Group And Parent Group Use Lots Are Different
- R17393-1-2 ProductGroup - Product Group And Child Groups Use Lots Are Different
- R17393-1-3 ProductGroup - Product Group And Products Use Lots Are Different
- R20400-1 ProductGroup - Check Hierarchy For Active
- R20400-2 ProductGroup - Check Hierarchy For Deactivation
Front-End Business Rules
- R31948 Product Group - Set Parent (Recalc)
- R31948-1 Product Group - Set Parent (Recalc)
- R31948-2 Product Group - Set Full Path (Recalc)
- R32393 ProductGroup - Valid Code
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