| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateCost ( | 
|   structured[Account_MP] accounts, | 
|   LaneLeg laneleg | 
| ) id:Method_DialogCreateEditLaneLeg_CreateCost | 
| { | 
|   #keys: '[110880.4.1540402728]' | 
|   Body: | 
|   [* | 
|     // Create shadow lane leg cost | 
|      | 
|     traverse( accounts, Elements.AccountAssignment.astype( UnitAccount ), ua, | 
|               AccountAssignment::IsForProcess( ua.CostDriver() ) and ua.Unit() = laneleg.Lane().Unit() ) | 
|     { | 
|       if( not exists( Dialog.Data(), LaneLegCost, cost, cost.UnitAccount() = ua ) ) | 
|       { | 
|         account := ua.Account_MP(); | 
|         Dialog.Data().LaneLegCost( relnew, | 
|                                    ID := MacroPlan.IDHolder().GetLaneLegCostID(), | 
|                                    Start := MacroPlan.Start().Date(), | 
|                                    TimeUnit := account.DefaultTimeUnit(), | 
|                                    LengthOfTime := account.DefaultLengthOfTime(), | 
|                                    Cost := account.DefaultCost(), | 
|                                    UnitAccount := ua,             // Need when deleting shadow cost | 
|                                    AccountAssignment := ua );     // Need when editing cost | 
|       } | 
|     } | 
|   *] | 
| } |