Show / Hide 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

    • General.Products.ProductGroups
      • General.Products.ProductGroupRangeProperties
      • General.Products.ProductGroupRequiredProperties
      • Production.Technologies.PrincipalRecipes
        • Production.Technologies.PrincipalRecipeIngredients
        • Production.Technologies.PrincipalRecipeOperations

    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.Transaction.Query( ).Where( pg => ( ( ( pg.ParentGroup == obj.ParentGroup) AndAlso pg.Code.Like( "%[0-9]")) AndAlso ( pg.Active == True))).ToList( ).Max( p => p.Code).IncrementNumberInString( ( IIF( ( obj.ParentGroup == null), "A", 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

    • 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

    • Improve this Doc
    Back to top Generated by DocFX