Quintiq file version 2.0
|
#parent: #root
|
Method EditProduct (
|
structured[Product_MP] selection,
|
internal[GUIComponent] parent
|
) as Number id:Method_DialogCreateEditProduct_EditProduct
|
{
|
#keys: '[11660.0.54834891]'
|
Body:
|
[*
|
// Edit product
|
isbatchedit := selection.Size() > 1;
|
data := shadow( selection.Element( 0 ) );
|
Dialog.Data( data );
|
|
this.SetCheckBoxVisibility( isbatchedit );
|
|
// Enable/disable components
|
this.EnableDisableComponents( isbatchedit );
|
|
// Set default values
|
DataHolderParentProduct.Data( data.Parent() );
|
|
DataHolderEditingProduct.Data( selection.Copy() );
|
|
if ( not isnull( data.Parent() ) )
|
{
|
CheckBoxHasParentProduct.Checked( true );
|
}
|
|
result := this.DoModal( parent );
|
|
if ( result > 0 )
|
{
|
//In case the checkbox was checked but was diabled because of checking plan after optimization
|
Dialog.Data().IsExcludedFromOptimization( CheckBoxIsExcludedFromOptimization.Checked() );
|
Dialog.Data().IsPlannedAfterOptimization( CheckBoxIsPlannedAfterOptimization.Checked() );
|
|
if( not isbatchedit )
|
{
|
selection.Element( 0 ).UpdateTypeIndex( EditorID.Text() ); // Read-only, apply changes to shadow is not taking place for read-only attribute when editing.
|
data.Commit();
|
}
|
|
else //for batch edit, use Update method instead
|
{
|
parentproduct := ifexpr( CheckBoxHasParentProduct.Checked(), SelectionParentProduct.Data(), null( Product_MP ) );
|
|
Product_MP::Update( selection,
|
parentproduct,
|
SelectionUnitOfMeasurement.BoundValue(),
|
CheckBoxIsByProduct.Checked(),
|
DataHolderView.Data(),
|
CheckBoxBatchEditUnitOfMeasurement.Checked(),
|
CheckBoxBatchEditParent.Checked(),
|
CheckBoxBatchEditByProduct.Checked(),
|
CheckBoxBatchEditNotes.Checked(),
|
EditorNotes.Text(),
|
CheckBoxBatchEditHasShelfLife.Checked(),
|
CheckBoxHasShelfLife.Checked(),
|
ApplicationLibMacroPlanner.FormatStringToReal( EditorShelfLife.Text() ),
|
CheckBoxBatchEditHasMaturationDays.Checked(),
|
CheckBoxHasMaturationDays.Checked(),
|
ApplicationLibMacroPlanner.FormatStringToReal( EditorMaturationDays.Text() ),
|
CheckBoxBatchEditIsExcludedFromOptimization.Checked(),
|
CheckBoxIsExcludedFromOptimization.Checked(),
|
CheckBoxIsPlannedAfterOptimization.Checked(),
|
CheckBoxBatchEditIsExcludedFromFulfillmentKPI.Checked(),
|
ifexpr( CheckBoxIsExcludedFromFulfillmentKPI.Enabled(),
|
CheckBoxIsExcludedFromFulfillmentKPI.Checked(),
|
data.IsExcludedFromFulfillmentKPI() ) );
|
}
|
}
|
|
return result;
|
*]
|
}
|