Quintiq file version 2.0
|
#parent: TabPageGeneral/DataHolderProduct
|
Response OnCreated () id:Response_TabPageGeneral_DataHolderProduct_OnCreated
|
{
|
#keys: '[106810.1.80242690]'
|
Body:
|
[*
|
// Extract the parent product by filtering out the descendents of the selected products in order to prevent circularity
|
data := Dialog.Data().WrappedInstance();
|
isNew := isnull( data );
|
products := null( Product_MPs, owning );
|
|
if( isNew
|
or data.IsLeaf() ) // Is leaf
|
{
|
products := selectset( MacroPlan, Product_MP, p, true );
|
currentScope := DataHolderEditingProduct.Data();
|
|
products := products.Difference( currentScope );
|
}
|
else if( not data.HasParent() ) // Is root level
|
{
|
products := selectset( MacroPlan, RootProduct, p, p <> data );
|
}
|
else // Has Parent and Child
|
{
|
allProducts := selectset( MacroPlan, Product_MP, p, p <> data );
|
myChildren := selectset( data, AllChildren.AsChildren, c, true );
|
|
products := allProducts.Difference( myChildren );
|
}
|
|
this.Data( products.Copy() );
|
*]
|
DefinitionID: 'Responsedef_GUIComponent_OnCreated'
|
Precondition:
|
[*
|
return not isnull( MacroPlan );
|
*]
|
}
|