R30383-29 InvoiceLine - Calculate Sales Order Amount
Code | 30383-29 |
Entity | Crm.Invoicing.InvoiceLines Entity |
Name | CalculateSalesOrderAmount |
Attribute | SalesOrderAmount |
Layer | Front-End |
Events | AttributeChanged(Quantity, QuantityUnit) |
Priority | Normal |
Modify | YES |
Applicable Legislations | ALL // no condition needed |
Action | if (InvoiceLine.SalesOrderAmount != null)
{
IF( InvoiceLine.Product is not NULL AND oldQuantity != newQuantity - considering its Value and QuantityUnit) {oldQuantity = oldQuantity .ConvertTo(newQuantity .Unit, InvoiceLine.Product); - old Quantity is converted to newQuantity's Unit var divisor => IF(oldQuantity == 0 ) then divisor =1 else divisor = oldQuantity ; InvoiceLine.SalesOrderAmount = (InvoiceLine.SalesOrderAmount * newQuantity ) / divisor;} } |
Description | When the value in Product, SalesOrder or ParentSalesOrderLine is changed to a different than the previous value in the same field, SalesOrder Amount should become null. |
Message | |
Version | Introduced: 2020 |
Revocable | YES |
* For more information about the Business Rules Documentation Template and a short explanation of each column, see topic System Business Rules.