| 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
 | | Quintiq file version 2.0 |  | #parent: #root |  | MethodOverride GetCost ( |  |   const AccountAssignment accountassignment, |  |   const UnitPeriod unitperiod |  | ) const declarative remote as const AccountCost |  | { |  |   TextBody: |  |   [* |  |     accountcost := constnull( AccountCost );  |  |     lane := this.Lane(); |  |      |  |     // Refer to lane leg costs when boolean is true, if it does not have cost, then return null account cost |  |     accountcost := maxselect( this, |  |                               LaneLegCost, |  |                               cost, |  |                               cost.AccountAssignment() = accountassignment |  |                               and cost.Start() <= unitperiod.StartDate(), |  |                               cost.Start() ); |  |      |  |     // If boolean is false, use lane's cost. |  |     if( isnull( accountcost ) ) |  |     { |  |       accountcost := maxselect( lane, |  |                                 LaneCost, |  |                                 cost, |  |                                 cost.AccountAssignment() = accountassignment |  |                                 and cost.Start() <= unitperiod.StartDate(), |  |                                 cost.Start() ); |  |     } |  |      |  |     return accountcost; |  |   *] |  | } | 
 |