Quintiq file version 2.0
#parent: #root
Method SmartPlan (
  structured[ProductInStockingPointInPeriodPlanning] selection,
  internal[GUIComponent] parent,
  Boolean isviableonestepupstream
) id:Method_DialogSmartPlan_SmartPlan
{
  #keys: '[122872.1.833976373]'
  Body:
  [*
    // Smart plan PISPIPs
    isbatchedit := selection.Size() > 1;
    
    data := shadow( selection.Element( 0 ) );
    
    Dialog.Data( data );
    Dialog.SetDefaultValues();
    
    Dialog.ShowHideComponents( isviableonestepupstream );
    Dialog.EnableDisableComponentsForBatchEdit( isbatchedit );
    
    if ( not isviableonestepupstream )
    {
      CheckBoxOnlyPlanOneStepUpstream.Checked( false );
    }
    
    result := this.DoModal( parent );
    
    if( result > 0 )
    {
      hastotalsupplyuser := CheckBoxSpecifyTotalSupply.Checked();
      overridemanual := CheckBoxOverrideManual.Checked(); 
      isonlyplanonestepupstream := CheckBoxOnlyPlanOneStepUpstream.Checked();
      Dialog.RunOptimizer( selection, hastotalsupplyuser, 
                           isonlyplanonestepupstream, 
                           overridemanual );
    }
  *]
}
