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