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 ); *] }