| Quintiq file version 2.0 | 
| #parent: #root | 
| Method OnOK () id:Method_DialogCreateEditProduct_OnOK #extension | 
| { | 
|   Body: | 
|   [* | 
|     // onOK for ProductDialog | 
|     // When the user clicks ok,        | 
|     // we either create or edit the data | 
|     this.ApplyChanges(); | 
|     this.SetAttributeAfterApplyData(); | 
|      | 
|     data := DataHolderDialogData.Data(); | 
|      | 
|     if( isnull( data.WrappedInstance() ) ) // New | 
|     { | 
|       // When create product, parent relation must be null (as server method has logic to detect parent change using this relation) | 
|       data.Parent( relflush ); | 
|       data.Commit(); | 
|       DataHolderForm.Data().ListProduct().SelectByKey( data.WrappedInstance().Key() ); | 
|     }  | 
|     else | 
|     {  | 
|       supplyChainView := select( MacroPlan, ViewBase.astype( SupplyChainView ), scv, true );  //TODO!! handling of current SupplyChainView | 
|        | 
|       Product_MP::Update(  DataHolderDialogDatas.Data() | 
|                           ,CheckBoxBatchEditParent.Checked() | 
|                           ,CheckBoxBatchEditUOM.Checked() | 
|                           ,CheckBoxBatchEditShelfLife.Checked() | 
|                           ,CheckBoxBatchEditMaturation.Checked()  | 
|                           ,CheckBoxBatchEditByProduct.Checked() | 
|                           ,CheckBoxBatchEditExcludeFromOptimizer.Checked() | 
|                           ,CheckboxBatchEditExcludeFromFulfillmentKPI.Checked() | 
|                           ,CheckBoxBatchEditNote.Checked() | 
|                           ,EditFieldID.Text() | 
|                           ,EditFieldName.Text() | 
|                           ,guard( selParentProduct.Data(), null(  Product_MP ) ) | 
|                           ,guard( DropDownListUOM.Data(), null( UnitOfMeasure_MP ) ) | 
|                           ,EditFieldGeneration.Text() | 
|                           ,EditFieldMQBMLB.Text() | 
|                           ,EditFieldPower.Text() | 
|                           ,data.HasShelfLife() | 
|                           ,data.ShelfLife() | 
|                           ,data.HasMaturation() | 
|                           ,data.MaturationDays()   | 
|                           ,data.IsByProduct() | 
|                           ,data.IsExcludedFromOptimization() | 
|                           ,data.IsPlannedAfterOptimization() | 
|                           ,ifexpr( CheckboxIsExcludedFromFulfillmentKPI.Enabled(),  | 
|                                    data.IsDerivedExcludeFromFulfillmentKPI(),  | 
|                                    data.IsExcludedFromFulfillmentKPI() ) | 
|                           ,data.Notes() | 
|                           ,supplyChainView ); | 
|     } | 
|      | 
|     this.Close(); | 
|   *] | 
| } |