Verwerking van de metadefinitie van een doos. De metadefinitie definieert de BoxSelect van de Optimizer en geeft defaults voor de BoxData BL.Sys.Proxy 1 %RegisteredObject 0 DS.Prod.OptiBox.BoxMeta Kan het boxmeta-object niet verwijderen Kan het boxmeta-object niet bewaren de UI geeft ALLE boxselects terug bij aanmaak van een nieuwe Meta PV - 12/02/2011 D ##class(BL.Prod.OptiBox.BoxMeta).CleanBoxSelect() 1 MetaID 1 { Set sc=bl.oMeta.BoxSelect.RemoveAt(2) } Set sc=bl.oMeta.%Save() ]]> MetaID:%String="" BL.Sys.Proxy.pxStatus 1 ProductGroep:%String,Name:%String BL.Sys.Proxy.pxStatus Controleren of het object mag verwijderd worden BL.Sys.Proxy.pxStatus Geopend meta object verwijderen. Indien parmeter Forced=true wordt er niet gecontroleerd ! MetaID:%String,Forced=0 BL.Sys.Proxy.pxStatus BL.Sys.Proxy.pxStatus BL.Sys.Proxy.pxStatus geef ID terug Quit:(IsNew) $$$pxSmartStatusOK(..oMeta.%Id()) ;Geen fout, obj is reeds eerder gesaved -> gewoon positief sluiten Quit $$$pxStatusOK ]]> =================================================================================== DATA TO PROXY . =================================================================================== BL.Sys.Proxy.pxStatus PROXY") d WLIP^vhDBG(96,"=============") d WXIP^vhDBG(96,varBoxMeta) d WLIP^vhDBG(96,"=============") Quit $$$pxStatusOK ]]> oParam:DS.Prod.OptiBox.sub.emMetaParam,ID:%String BL.Prod.OptiBox.sub.pxemMetaParam oBoxSelect BL.Prod.OptiBox.sub.pxemBoxSelect =================================================================================== PROXY TO DATA . =================================================================================== pxMeta:BL.Prod.OptiBox.sub.pxBoxMeta BL.Sys.Proxy.pxStatus DATA") ;d WLIP^vhDBG(15,"=============") ;d WXIP^vhDBG(15,pxMeta) ;d WLIP^vhDBG(15,"=============") Set ..oMeta.Name=pxMeta.Name Set ..oMeta.ProductGroep=pxMeta.ProductGroep Set ..oMeta.OptiType=pxMeta.OptiType Set ..oMeta.Positie=pxMeta.Positie Set ..oMeta.Plaatsing=pxMeta.Plaatsing Set ..oMeta.Rotatie=pxMeta.Rotatie Set ..oMeta.Hoogte=pxMeta.Hoogte Set ..oMeta.Breedte=pxMeta.Breedte Set ..oMeta.Diepte=pxMeta.Diepte Do pxMeta.PPSPrioriteitToArray(..oMeta.PPSPrioriteit) Set ..oMeta.PPSGroep=pxMeta.PPSGroep Set ..oMeta.PPSSubgroep=pxMeta.PPSSubgroep Set ..oMeta.PPSOutput=pxMeta.PPSOutput ; BoxSelect list Do ..oMeta.BoxSelect.Clear() Set Key="" Set Cnt=0 For Set pxBoxSelect=pxMeta.BoxSelect.GetNext(.Key) Quit:Key="" Do Quit:Cnt>4 . Set oBoxSelect=..CreateBoxSelectFromProxy(pxBoxSelect) . Set Cnt=Cnt+1 ; om een fout in de UI op te lossen . Quit:'$isObject(oBoxSelect) . Do ..oMeta.BoxSelect.Insert(oBoxSelect) ; Param list Do ..oMeta.Params.Clear() Set Key="" Set Count=0 For Set pxParam=pxMeta.Params.GetNext(.Key) Quit:Key="" Do . Set oParam=..CreateParamFromProxy(pxParam,$I(Count)) . Do ..oMeta.Params.SetAt(oParam,pxParam.ID) Quit $$$pxStatusOK ]]> pxParam:BL.Prod.OptiBox.sub.pxemMetaParam,VolgNr:%Integer DS.Prod.OptiBox.sub.emMetaParam pxBoxSelect:BL.Prod.OptiBox.sub.pxemBoxSelect DS.Prod.OptiBox.sub.emBoxSelect =================================================================================== QUERIES . =================================================================================== %SQLQuery paProductGroep:%String SELECT %ID, Name, OptiType FROM Prod.OptiBox_BoxMeta WHERE ProductGroep=:paProductGroep %SQLQuery SELECT DISTINCT ProductGroep FROM Prod.OptiBox_BoxMeta %SQLQuery SELECT * FROM Prod.OptiBox_btBoxSelect