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 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |