Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method SetAttributesBeforeOnApplyData () id:Method_DialogCreateEditProduct_SetAttributesBeforeOnApplyData 
 | 
{ 
 | 
  #keys: '[124808.1.1739232597]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Set attributes on apply data 
 | 
    data := Dialog.Data(); 
 | 
     
 | 
    // Since we use commit, we need to identiy whether the parent of this product has changed 
 | 
    // This cannot be done if we commit data.Parent() from SelectionParentProduct(), so we need to disable it 
 | 
    // and set the attribute ParentID. Propagation will relate this child-parent relation. 
 | 
    SelectionParentProduct.Enabled( false ); 
 | 
     
 | 
    // Parent ID should be empty when the checkbox is not checked / checked but selection is empty 
 | 
    parentproductid := ifexpr( CheckBoxHasParentProduct.Checked(), 
 | 
                               guard( SelectionParentProduct.Data().ID(), '' ), 
 | 
                               '' ); 
 | 
     
 | 
    data.ParentID( parentproductid ); 
 | 
     
 | 
    // Set the icon name 
 | 
    data.IconName( LabelImageString.Text() ); 
 | 
     
 | 
    // Set IsExcludedFromFulfillmentKPI 
 | 
    isexcludedfromfulfillmentkpi := ifexpr( CheckBoxIsExcludedFromFulfillmentKPI.Enabled(),  
 | 
                                            CheckBoxIsExcludedFromFulfillmentKPI.Checked(),  
 | 
                                            data.IsExcludedFromFulfillmentKPI() ) 
 | 
     
 | 
    data.IsExcludedFromFulfillmentKPI( isexcludedfromfulfillmentkpi ); 
 | 
     
 | 
    // ADSO-47827 Set IsExcludedFromOptimization because  
 | 
    // When the checkbox is disabled (with check) it wont register in ApplyChanges. 
 | 
    // Manually set the boolean value here 
 | 
    data.IsExcludedFromOptimization( CheckBoxIsExcludedFromOptimization.Checked() ); 
 | 
  *] 
 | 
} 
 |