Table of Contents

Systems.Bpm.CustomEntityTypes

Stores the definitions of user-defined entity types in the system. A type can be either an aggregate root or a child type of another custom entity type. The definition specifies the technical code, display names, activation status, and access-control settings.

General

Namespace: Systems.Bpm
Repository: Systems.Bpm.CustomEntityTypes
Base Table: Sys_Custom_Entity_Types
Introduced In Version: 27.1.1.41
API access: ReadWrite

Visualization

Display Format: {Name:T}
Search Members: Code; Name
Code Member: Code
Name Member: Name
Category: Settings
Show in UI: ShownByDefault

Track Changes

Min level: 1 - Track last changes only
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 Defaults to true. Specifies whether this type is active. Only active, valid types (and subtypes with an active, valid root type) are registered in the Domain Model. Inactive types cannot be used to create new records; existing records are not deleted.Required Default(true) Filter(eq)
Code string (64) Required, stable technical code for the type. Use the plural form (for example, Workspaces). It must start with an ASCII letter and contain only ASCII letters and digits; spaces and punctuation are not allowed. Maximum length: 64 characters. The (Code, RepositoryNamespace) pair must be unique. This code is used to derive RepositoryName, EntityName, and the Domain API entity set.Required Filter(eq;like) ORD
Description MultilanguageString (254) Required, localized explanation of the type's purpose and intended use. Maximum length: 254 characters.Required
EntityName string Gets the entity/table name of this custom entity type.
Name MultilanguageString (254) Required, localized singular display name of the entity type, for example, Workspace. It does not affect technical names. Maximum length: 254 characters.Required Filter(like)
PluralName MultilanguageString (254) Required, localized plural display or collection name, for example, Workspaces. It does not affect technical names. Maximum length: 254 characters.Required Filter(like)
RepositoryName string Gets the repository name of this custom entity type.
RepositoryNamespace string (128) Required namespace for the generated repository, for example, Crm.Sales. It must exactly match a namespace registered in the current Domain Model and is used to derive RepositoryName and the Domain API entity set. Maximum length: 128 characters.Required Filter(eq) Introduced in version 27.1.1.42

References

Name Type Description
ParentEntityType CustomEntityTypes (nullable) Optional parent type. Leave empty for an aggregate root. When specified, the type defines a sub-entity collection belonging directly to a root type; sub-entities cannot have child types.

System Attributes

Name Type Description
Id guid
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.
ExternalId string The id of the object, when it is imported/synchronized with external system. Used by sync apps to identify the object in external systems. [Filter(multi eq)] [ORD] [Introduced in version 24.1.0.89]
ExternalSystem string The name of the external system from which the object is imported/synchronized. [Filter(multi eq)] [Introduced in version 24.1.0.89]
AggregateLastUpdateTimeUtc datetime The exact server time (in UTC) of the last modification of the object represented by this system object. null means that it is unknown. [Filter(ge;le)] [ORD] [Introduced in version 19.1]
AdditionalDataJson string Extensible JSON object for storing this entity's custom or optional attributes. Each application or service must store its data in a separate top-level object identified by the owning application, service, or functional domain. Applications must preserve top-level objects owned by other applications or services. Maximum length: 32,000 characters. [Introduced in version 26.3.100.4]
DisplayText string Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.

Attribute Details

Active

Defaults to true. Specifies whether this type is active. Only active, valid types (and subtypes with an active, valid root type) are registered in the Domain Model. Inactive types cannot be used to create new records; existing records are not deleted.Required Default(true) Filter(eq)

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

Code

Required, stable technical code for the type. Use the plural form (for example, Workspaces). It must start with an ASCII letter and contain only ASCII letters and digits; spaces and punctuation are not allowed. Maximum length: 64 characters. The (Code, RepositoryNamespace) pair must be unique. This code is used to derive RepositoryName, EntityName, and the Domain API entity set.Required Filter(eq;like) ORD

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

Description

Required, localized explanation of the type's purpose and intended use. Maximum length: 254 characters.Required

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

EntityName

Gets the entity/table name of this custom entity type.

Type: string
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

Name

Required, localized singular display name of the entity type, for example, Workspace. It does not affect technical names. Maximum length: 254 characters.Required Filter(like)

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

PluralName

Required, localized plural display or collection name, for example, Workspaces. It does not affect technical names. Maximum length: 254 characters.Required Filter(like)

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

RepositoryName

Gets the repository name of this custom entity type.

Type: string
Category: Calculated Attributes
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

RepositoryNamespace

Required namespace for the generated repository, for example, Crm.Sales. It must exactly match a namespace registered in the current Domain Model and is used to derive RepositoryName and the Domain API entity set. Maximum length: 128 characters.Required Filter(eq) Introduced in version 27.1.1.42

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

Id

Type: guid
Indexed: True
Category: System
Supported Filters: Equals, GreaterThanOrLessThan, EqualsIn
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

ExternalId

The id of the object, when it is imported/synchronized with external system. Used by sync apps to identify the object in external systems. [Filter(multi eq)] [ORD] [Introduced in version 24.1.0.89]

Type: string
Category: Extensible Data Object
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

ExternalSystem

The name of the external system from which the object is imported/synchronized. [Filter(multi eq)] [Introduced in version 24.1.0.89]

Type: string
Category: Extensible Data Object
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

AggregateLastUpdateTimeUtc

The exact server time (in UTC) of the last modification of the object represented by this system object. null means that it is unknown. [Filter(ge;le)] [ORD] [Introduced in version 19.1]

Type: datetime
Category: Extensible Data Object
Supported Filters: NotFilterable
Supports Order By: ****
Show in UI: HiddenByDefault

AdditionalDataJson

Extensible JSON object for storing this entity's custom or optional attributes. Each application or service must store its data in a separate top-level object identified by the owning application, service, or functional domain. Applications must preserve top-level objects owned by other applications or services. Maximum length: 32,000 characters. [Introduced in version 26.3.100.4]

Type: string
Category: Extensible Data Object
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

Reference Details

ParentEntityType

Optional parent type. Leave empty for an aggregate root. When specified, the type defines a sub-entity collection belonging directly to a root type; sub-entities cannot have child types.

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

API Methods

Methods that can be invoked in public APIs.

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

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

  • priority
    The notification priority.
    Type: Systems.Core.NotificationsRepository.Priority
    Allowed values for the Priority(Systems.Core.Notifications.md#priority) data attribute
    Allowed Values (Systems.Core.NotificationsRepository.Priority Enum Members)

    Value Description
    Background Background value. Stored as 1.
    Model Value: 1
    Domain API Value: 'Background'
    Low Low value. Stored as 2.
    Model Value: 2
    Domain API Value: 'Low'
    Normal Normal value. Stored as 3.
    Model Value: 3
    Domain API Value: 'Normal'
    High High value. Stored as 4.
    Model Value: 4
    Domain API Value: 'High'
    Urgent Urgent value. Stored as 5.
    Model Value: 5
    Domain API Value: 'Urgent'

    Optional: True
    Default Value: Normal

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

GetOrCreateExtensibleDataObject

Gets an existing extensible data object associated with the specified entity, or creates a new one if none exists. The newly created extensible data object is immediately commited to the database.
Return Type: ExtensibleDataObjects
Declaring Type: EntityObject
Domain API Request: GET

GetPropertyAllowedValues

Gets the allowed values for the specified property for this entity object.
Return Type: Collection Of ErpNet.Model.OData.ValueTextPair
Declaring Type: EntityObject
Domain API Request: GET

Parameters

  • propertyName
    The name of the attribute or reference
    Type: string

  • search
    The search text - searches by display text. Can contain wildcard character %.
    Type: string
    Optional: True
    Default Value: null

  • 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

Business Rules

None

Front-End Business Rules

None

API

Domain API Entity Set: Systems_Bpm_CustomEntityTypes

Domain API Entity Type: Systems_Bpm_CustomEntityType

Domain API Query: https://testdb.my.erp.net/api/domain/odata/Systems_Bpm_CustomEntityTypes?$top=10

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