R30505-13 ReceivingOrderLine - Set Price Per Unit From Line Amount
| Code | 30505-13 |
| Entity | Logistics.Procurement.ReceivingOrderLines Entity |
| Name | SetPricePerUnitFromLineAmount |
| Attribute | PricePerUnit |
| Layer | Front-End |
| Events | AttributeChanged(LineAmount) |
| Priority | Normal |
| Modify | YES |
| Action | if (ReceivingOrder.AdjustedDocument == null) , then check: if ((ConfirmedQuantity ?? Quantity) != 0) PricePerUnit = (LineAmount.Round() / (ConfirmedQuantity ?? Quantity)).RoundUnitPrice() ELSE PricePerUnit = null *ConfirmedQuantity ?? Quantity - means the following: - if (ConfirmedQuantity != null), then get the value from ConfirmedQuantity - if (ConfirmedQuantity == null), then get the value from Quantity *RoundUnitPrice() is rounding with precision 5 - this is for Unit Prices and Price Per Unit *Round() is rounding with precision depending on the currency precision which is 2 - this is for Line Amounts |
| Description | When Line Amount is changed, Price Per Unit should be calculated as the result of dividing
Line Amount: - by Quantity (if Confirmed Quantity is null) or - by Confirmed Quantity (if Confirmed Quantity is not null) If Quantity is 0 and Confirmed Quantity is null, Price Per Unit is null. If Confirmed Quantity is 0, Price Per Unit is null. |
| Message | |
| Version | Introduced: 2020.1 Updated: v.24 |
| Revocable | YES |
* For more information about the Business Rules Documentation Template and a short explanation of each column, see topic System Business Rules.