Skip to content

Latest commit

 

History

History
305 lines (221 loc) · 13.9 KB

Crm.Sales.DefaultSalesOrderPaymentPlans.md

File metadata and controls

305 lines (221 loc) · 13.9 KB
uid
Crm.Sales.DefaultSalesOrderPaymentPlans

Crm.Sales.DefaultSalesOrderPaymentPlans Entity

Namespace: Crm.Sales

Default payment plan for new documents of the specified document type. Entity: Crm_Default_Sales_Order_Payment_Plans

Default Visualization

Default Display Text Format:
{DocumentType.EntityName}
Default Search Members:
DocumentType.EntityName
Name Data Member:
DocumentType.EntityName
Category: Definitions
Show in UI: ShownByDefault

Aggregate

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

Aggregate Parent:
Systems.Documents.DocumentTypes
Aggregate Root:
Systems.Documents.DocumentTypes

Attributes

Name Type Description
AmountPercent decimal (7, 6) nullable Percent of the sales order amount to be payed.
DisplayText string Uses the repository DisplayTextFormat to build the display text from the attributes and references of current object.
DueDateFormMethod PaymentPlanDueDateSource Method to determine the payment due date. SLS = Use sales order date, INV = Use invoice date, EXP = Specify the date explicitly, SDD = Sales order due date, IDD = Invoice due date. Required
Id guid
InstallmentNumber int32 Consequtive installment number. Used for identifying different payments generated according this payment plan. Required
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.
PaymentTermDays int32 Payment term in days, which are to be added to form the payment due date. 0 means that the date determined by Due_Date_Form_Method and Explicit_Payment_Due_Date is taken as due date. Required Default(0)
Remainder boolean Indicates wheather this amount is the remainder of the document. Amount = Total amount of the sales order - explicitly specified amounts in the plan (by Amount_Percent). Required Default(false)

References

Name Type Description
DocumentType DocumentTypes The to which this DefaultSalesOrder
PaymentPlan belongs. Required Filter(multi eq) Owner
EnterpriseCompany EnterpriseCompanies (nullable) Enterprise company for which the current default installment template is valid. If enterprise company is not set then the installment template is valid for all enterprise companies. Filter(multi eq)
EnterpriseCompanyLocation CompanyLocations (nullable) Enterprise company location (within the chosen enterprise company) for which the current default installment template is valid. If enterprise company location is not set then the installment template is valid for all enterprise company locations. Filter(multi eq)
PaymentAccount PaymentAccounts (nullable) Default payment account for the current installment. null means that there is no default account. Filter(multi eq)
PaymentType PaymentTypes (nullable) Default payment type for the current installment. null means that there is no default payment type. Filter(multi eq)

Attribute Details

AmountPercent

Percent of the sales order amount to be payed.

Type: decimal (7, 6) nullable
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

Front-End Recalc Expressions:
IIF( obj.Remainder, null, obj.AmountPercent)

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

DueDateFormMethod

Method to determine the payment due date. SLS = Use sales order date, INV = Use invoice date, EXP = Specify the date explicitly, SDD = Sales order due date, IDD = Invoice due date. Required

Type: PaymentPlanDueDateSource
Category: System
Generic enum type for PaymentPlanDueDateSource properties
Allowed Values (Crm.PaymentPlanDueDateSource Enum Members)

Value Description
SpecifyTheDateExplicitly SpecifyTheDateExplicitly value. Stored as 'EXP'.
Database Value: 'EXP'
Model Value: 0
Domain API Value: 'SpecifyTheDateExplicitly'
UseInvoiceDate UseInvoiceDate value. Stored as 'INV'.
Database Value: 'INV'
Model Value: 1
Domain API Value: 'UseInvoiceDate'
UseSalesOrderDate UseSalesOrderDate value. Stored as 'SLS'.
Database Value: 'SLS'
Model Value: 2
Domain API Value: 'UseSalesOrderDate'
UseSalesOrderDueDate UseSalesOrderDueDate value. Stored as 'SDD'.
Database Value: 'SDD'
Model Value: 3
Domain API Value: 'UseSalesOrderDueDate'
UseInvoiceDueDate UseInvoiceDueDate value. Stored as 'IDD'.
Database Value: 'IDD'
Model Value: 4
Domain API Value: 'UseInvoiceDueDate'

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

Id

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

InstallmentNumber

Consequtive installment number. Used for identifying different payments generated according this payment plan. Required

Type: int32
Category: System
Supported Filters: NotFilterable
Supports Order By: False
Show in UI: ShownByDefault

Back-End Default Expression:
( obj.DocumentType.DefaultSalesOrderPaymentPlans.Select( c => c.InstallmentNumber).DefaultIfEmpty( 0).Max( ) + 1)

Front-End Recalc Expressions:
( obj.DocumentType.DefaultSalesOrderPaymentPlans.Select( c => c.InstallmentNumber).DefaultIfEmpty( 0).Max( ) + 1)

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

PaymentTermDays

Payment term in days, which are to be added to form the payment due date. 0 means that the date determined by Due_Date_Form_Method and Explicit_Payment_Due_Date is taken as due date. Required Default(0)

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

Back-End Default Expression:
IIF( ( ( Convert( obj.DueDateFormMethod, Int32) == 3) OrElse ( Convert( obj.DueDateFormMethod, Int32) == 4)), 0, obj.PaymentTermDays)

Front-End Recalc Expressions:
IIF( ( ( Convert( obj.DueDateFormMethod, Int32) == 3) OrElse ( Convert( obj.DueDateFormMethod, Int32) == 4)), 0, obj.PaymentTermDays)

Remainder

Indicates wheather this amount is the remainder of the document. Amount = Total amount of the sales order - explicitly specified amounts in the plan (by Amount_Percent). Required Default(false)

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

Front-End Recalc Expressions:
IIF( ( obj.AmountPercent != null), False, obj.Remainder)

Reference Details

DocumentType

The to which this DefaultSalesOrderPaymentPlan belongs. Required Filter(multi eq) Owner

Type: DocumentTypes
Category: System
Supported Filters: Equals, EqualsIn
Filterable Reference: True
Show in UI: ShownByDefault

EnterpriseCompany

Enterprise company for which the current default installment template is valid. If enterprise company is not set then the installment template is valid for all enterprise companies. Filter(multi eq)

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

EnterpriseCompanyLocation

Enterprise company location (within the chosen enterprise company) for which the current default installment template is valid. If enterprise company location is not set then the installment template is valid for all enterprise company locations. Filter(multi eq)

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

Front-End Recalc Expressions:
IIF( ( obj.EnterpriseCompany.Company != obj.EnterpriseCompanyLocation.Company), null, obj.EnterpriseCompanyLocation)

PaymentAccount

Default payment account for the current installment. null means that there is no default account. Filter(multi eq)

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

Front-End Recalc Expressions:
obj.PaymentType.GetDefaultPaymentAccount( ).IfNullThen( obj.PaymentAccount)

PaymentType

Default payment type for the current installment. null means that there is no default payment type. Filter(multi eq)

Type: PaymentTypes (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

[!list limit=1000 erp.entity=Crm.Sales.DefaultSalesOrderPaymentPlans erp.type=business-rule default-text="None"]

Front-End Business Rules

[!list limit=1000 erp.entity=Crm.Sales.DefaultSalesOrderPaymentPlans erp.type=front-end-business-rule default-text="None"]

API

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

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