Quintiq file version 2.0
#parent: #root
Method Postpone (
  structured[BaseSalesDemandInPeriod] selection,
  structured[Period_MP] postponementperiods,
  internal[GUIComponent] parent
) as BaseSalesDemandInPeriod id:Method_DialogPostponeSalesDemandInPeriod_Postpone
{
  #keys: '[11660.1.243550068]'
  Body:
  [*
    // Postpone the planning sales demands in period
    data := shadow( selection.Element( 0 ) );
    Dialog.Data( data );
    
    DataHolderBaseSalesDemandInPeriods.Data( selection.Copy() );
    DataHolderPostponementPeriodsInForm.Data( postponementperiods.Copy() );
    
    result := this.DoModal( parent );
    
    postponedSDIP := null( BaseSalesDemandInPeriod );
    
    if ( result > 0 )
    {
      postponedSDIP := SalesDemandInPeriod::ManualPostponeToPeriod( selection,
                                                                    SelectionPostponeToPeriod.Data(),
                                                                    ApplicationLibMacroPlanner.FormatStringToReal( EditorPostponeQuantity.Text() ) );
    }
    return postponedSDIP;
  *]
}
