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
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 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 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 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: 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
- R27162 DefaultSalesOrderPaymentPlan - Check Document Type
- R27164 DefaultSalesOrderPaymentPlan - Check Enterprise Company Location
- R27343 DefaultSalesOrderPaymentPlan - Remainder Is Checked At Most Once
- R27380 DefaultSalesOrderPaymentPlan - Amount Percent Is Less Than Or Equal To 100
Front-End Business Rules
- R31498-1 Default Sales Order Payment Plan - Set Payment Term Days (Recalc)
- R31498-2 Default Sales Order Payment Plan - Set Remainder (Recalc)
- R31498-3 Default Sales Order Payment Plan - Set Amount Percent (Recalc)
- R31498-4 Default Sales Order Payment Plan - Set Enterprise Company Location (Recalc)
- R31498-5 Default Sales Order Payment Plan - Set Payment Account (Recalc)
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