Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method NewOperation ( 
 | 
  internal[GUIComponent] parent, 
 | 
  Unit owner, 
 | 
  RoutingStep routingstep 
 | 
) as Operation id:Method_DialogCreateEditOperation_NewOperation 
 | 
{ 
 | 
  #keys: '[109478.0.546849391]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Create operation 
 | 
    operationinrs := routingstep.Operation( relsize ); 
 | 
    units := MacroPlan.Unit( relsize ); 
 | 
     
 | 
    // Select any unit if the selected unit is null 
 | 
    if( isnull( owner ) ) 
 | 
    { 
 | 
      owner := Operation::GetDefaultOwner( MacroPlan, routingstep ); 
 | 
    } 
 | 
     
 | 
    operationid := Operation::GetConcatenatedID( routingstep.RoutingID(), 
 | 
                                                 routingstep.Name(), 
 | 
                                                 ifexpr( operationinrs < units, guard( owner.ID(), '' ), '' ) ); 
 | 
     
 | 
     
 | 
    data := owner.Operation( relshadow, 
 | 
                             Operation, 
 | 
                             ID := operationid, 
 | 
                             RoutingStepName := routingstep.Name(), 
 | 
                             RoutingID := routingstep.Routing().ID() ); 
 | 
     
 | 
    Dialog.Data( data ); 
 | 
     
 | 
    //moved here, dialog.data is referenced in this method 
 | 
    Dialog.ShowHideComponentForBatchEdit( false ); 
 | 
    Dialog.SetTooltips(); 
 | 
     
 | 
    result := this.DoModal( parent ); 
 | 
     
 | 
    if ( result > 0 ) 
 | 
    { 
 | 
      data.Commit(); 
 | 
    } 
 | 
     
 | 
    return data.WrappedInstance(); 
 | 
  *] 
 | 
} 
 |