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
37
38
39
40
41
42
43
44
45
46
47
48
49
| Quintiq file version 2.0
| #parent: #root
| StaticMethod Create (
| String id,
| Product_MP owner,
| StockingPoint_MP stockingpoint,
| Account_MP account,
| String costdriver,
| Date start,
| Real cost,
| Boolean isfromdb
| ) as AccountCost
| {
| Description: 'Create static method'
| TextBody:
| [*
| // soh yee Dec-19-2013 (created)
|
| pisp := owner.AddToStockingPoint( stockingpoint );
| /*
| Based on the account, unit, and cost driver, find or create a PISP account.
| This PISP account will then link to the newly created inventory supply cost.
| */
| pispaccount := PISPAccount::Assign( account,
| owner,
| stockingpoint,
| costdriver );
|
| accountcost := owner.InventoryValueAndCost( relnew,
| PISPAccount := pispaccount,
| ProductInStockingPoint_MP := pisp,
| ID := id,
| ProductID := owner.ID(),
| StockingPointID := stockingpoint.ID() );
|
|
| // Update foreign keys and other attributes
| accountcost.Update( pispaccount.Account_MP(),
| costdriver,
| start,
| // Time unit and length of time is irrelevant InventoryValueAndCost
| account.DefaultTimeUnit(),
| account.DefaultLengthOfTime(),
| cost,
| isfromdb );
|
| return accountcost;
| *]
| }
|
|