1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| Quintiq file version 2.0
| #parent: #root
| StaticMethod Update (
| ProductInStockingPoint_MPs owners,
| output owning InventoryValueAndCosts inventoryCosts,
| Account_MP account,
| String costDriver,
| Date start,
| String timeUnit,
| Number lengthOfTime,
| Boolean isBatchEditCost,
| Real cost,
| Boolean isFromDB
| )
| {
| TextBody:
| [*
| // Batch update
| singleEdit := inventoryCosts.Size() = 1;
| if( singleEdit )
| { // Only allowed change of owner during single edit, safe to check element(0)
| inventoryCosts.First().ChangeOwnerPISP( owners.First() );
| }
| traverse( inventoryCosts, Elements, inventoryCost )
| {
| // Single edit will update all fields. Cost is dependent on isBatchEditCost boolean input // Note: TimeUnit & LengthOfTime will always remain unchanged
| inventoryCost.Update( ifexpr( singleEdit, account, inventoryCost.Account_MP() ),
| ifexpr( singleEdit, costDriver, inventoryCost.CostDriver() ),
| ifexpr( singleEdit, start, inventoryCost.Start() ),
| inventoryCost.TimeUnit(),
| inventoryCost.LengthOfTime(),
| ifexpr( isBatchEditCost or singleEdit, cost, inventoryCost.Cost() ),
| isFromDB );
| }
| *]
| }
|
|