Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method OnOK () derived id:Method_DialogCreateEditForecast_OnOK #extension 
 | 
{ 
 | 
  BaseType => //DialogCreateEditSalesDemand/Method_DialogCreateEditSalesDemand_OnOK 
 | 
  Body: 
 | 
  [* 
 | 
    Form.ApplyChanges(); 
 | 
    this.SetAttributeAfterApplyData(); 
 | 
     
 | 
    data := DataHolderDialogData.Data(); 
 | 
    selection := DataHolderSalesDemands.Data().Copy(); 
 | 
    isbatchedit := selection.Size() >1;  
 | 
     
 | 
     
 | 
    if( isnull( data.WrappedInstance() ) ) 
 | 
    { 
 | 
      data.ID( MacroPlan.IDHolder().GetSalesDemandID( "User_", "" ) ); 
 | 
      forecast := Forecast::Create( data.ID(), 
 | 
                           DropDownListProduct.Data(), 
 | 
                           DropDownListStockingPoint.Data(), 
 | 
                           data.StartDate(), 
 | 
                           data.EndDate(), 
 | 
                           data.Quantity(), 
 | 
                           data.Price(), 
 | 
                           data.Priority(), 
 | 
                           data.SalesSegment_MP(), 
 | 
                           data.Currency_MP(), 
 | 
                           data.UnitOfMeasure_MP(), 
 | 
                           false, 
 | 
                           true, 
 | 
                           data.DemandUncertaintyPercentage(), 
 | 
                           data.IsExcludedFromFulfillmentKPI(), 
 | 
                           false  
 | 
                           ); 
 | 
      forecast.Origin( DropDownStringListOrigin.Text() ); 
 | 
                    
 | 
    } 
 | 
     
 | 
    else 
 | 
    { 
 | 
      quantity := ApplicationMacroPlanner.FormatStringToReal( EditFieldQuantityUom.Text(), 0.0 ); 
 | 
      forecasts := selectset( selection, Elements.astype( Forecast ), forecast, true ); 
 | 
      Forecast::Update( forecasts, 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListProduct ), 
 | 
                         DropDownListProduct.Data(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListStockingPoint ), 
 | 
                         DropDownListStockingPoint.Data(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DateSelectorStart ), 
 | 
                         data.StartDate(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DateSelectorEnd ), 
 | 
                         data.EndDate(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( EditFieldQuantityUom ), 
 | 
                         quantity, 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( EditFieldPrice ), 
 | 
                         data.Price(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListPriority ) or ApplicationMacroPlanner.IsActionLinkEnabledEdit( CheckBoxIsExcludedFromFulfillmentKPI ), 
 | 
                         data.Priority(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( EditFieldDemandUncertaintyPercentage ), 
 | 
                         data.DemandUncertaintyPercentage(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListSalesSegment ), 
 | 
                         data.SalesSegment_MP(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListCurrency ), 
 | 
                         data.Currency_MP(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( DropDownListUnitOfMeasurement ), 
 | 
                         data.UnitOfMeasure_MP(), 
 | 
                         not isbatchedit or ApplicationMacroPlanner.IsActionLinkEnabledEdit( CheckBoxIsExcludedFromFulfillmentKPI ), 
 | 
                         ifexpr( CheckBoxIsExcludedFromFulfillmentKPI.Enabled(),  
 | 
                                 CheckBoxIsExcludedFromFulfillmentKPI.Checked(), 
 | 
                                 data.IsExcludedFromFulfillmentKPIUser() ), 
 | 
                         true ); 
 | 
      traverse( forecasts,Elements,forecast ){ 
 | 
        forecast.Origin( DropDownStringListOrigin.Text() ); 
 | 
      } 
 | 
     
 | 
    } 
 | 
    Form.Close(); 
 | 
  *] 
 | 
} 
 |