BL.Sys.Proxy,BL.Prod.OptiBox 1 %RegisteredObject DS.Prod.OptiBox.BoxData Kan boxdata-object niet creëren Kan het boxdata-object niet verwijderen Kan het boxdata-object niet bewaren Parameter(s) niet synchroon Meta is niet gedefinieerd 139 =================================================================================== DataID:%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 ! BoxDataID:%String,Forced:%Boolean=0 BL.Sys.Proxy.pxStatus ObjType:%String,ObjRef:%String,Forced:%Boolean =================================================================================== BL.Sys.Proxy.pxStatus =================================================================================== BL.Sys.Proxy.pxStatus geef ID terug Quit:(IsNew) $$$pxSmartStatusOK(..oData.%Id()) ;Geen fout, obj is reeds eerder gesaved -> gewoon positief sluiten Quit $$$pxStatusOK ]]> Copieren van D ##class(BL.Prod.OptiBox.BoxData).%New().Copy("PR",108353,"PR",3551) FromObjType:%String,FromObjRef:%String,ToObjType:%String,ToObjRef:%String FromObjType:%String,FromObjRef:%String,ToObjType:%String,ToObjRef:%String 1 FromObjType:%String,FromObjRef:%String,ToObjType:%String,ToObjRef:%String 1 =================================================================================== CalcParams achterhalen adhv een boxdata object Op deze BoxData wordt géén defaulting toegepast!! maw als breedte leeg is dan wordt deze niet vervangen door breedte uit defaultdata!! BL.Sys.Proxy.pxStatus BL.Sys.Proxy.pxStatus pxBoxData:BL.Prod.OptiBox.sub.pxBoxData,CalcParams:BL.Prod.OptiBox.sub.pxemSnijParamList BL.Sys.Proxy.pxStatus =================================================================================== DATA TO PROXY . =================================================================================== BL.Sys.Proxy.pxStatus CompleteProxyViaMeta . BL.Sys.Proxy.pxStatus pxBoxData:BL.Prod.OptiBox.sub.pxBoxData BL.Sys.Proxy.pxStatus TEST : D ##class(BL.Prod.OptiBox.BoxData).%New().UpdateDefaultsFromMeta("OL||Afval los groep||1") ID:%String 1 ObjType:%String,ObjRef:%String BL.Sys.Proxy.pxStatus =================================================================================== PROXY TO DATA . =================================================================================== pxData:BL.Prod.OptiBox.sub.pxBoxData BL.Sys.Proxy.pxStatus DATA") ;d WLIP^vhDBG(15,"=============") ;d WXIP^vhDBG(15,pxData) ;d WLIP^vhDBG(15,"=============") Set %blProdOptiBoxOptimize=##class(Optimize).%New() Set ..oData.ObjType=pxData.ObjType Set ..oData.ObjRef=pxData.ObjRef Set ..oData.CutOrder=pxData.CutOrder Do ..oData.DeelVanSetObjectId(pxData.DeelVanID) Do ..oData.VolumeVanSetObjectId(pxData.VolumeVanID) Set OldMetaID=..oData.MetaGetObjectId() Do ..oData.MetaSetObjectId(pxData.MetaID) Set ..oData.Positie=pxData.Positie Set ..oData.Rotatie=pxData.Rotatie Set ..oData.Plaatsing=pxData.Plaatsing Set ..oData.OptiType=pxData.OptiType Set ..oData.BoxSelect=pxData.BoxSelect Set ..oData.Hoogte=pxData.Hoogte Set ..oData.HoogteExec=%blProdOptiBoxOptimize.Parser($S(pxData.Hoogte="":pxData.DefaultData.Hoogte,1:pxData.Hoogte)) ;indien veld leeg default nemen voor Exec in te vullen Set ..oData.Breedte=pxData.Breedte Set ..oData.BreedteExec=%blProdOptiBoxOptimize.Parser($S(pxData.Breedte="":pxData.DefaultData.Breedte,1:pxData.Breedte)) Set ..oData.Diepte=pxData.Diepte Set ..oData.DiepteExec=%blProdOptiBoxOptimize.Parser($S(pxData.Diepte="":pxData.DefaultData.Diepte,1:pxData.Diepte)) Set ..oData.Aantal=pxData.Aantal Set ..oData.AantalExec=%blProdOptiBoxOptimize.Parser($S(pxData.Aantal="":pxData.DefaultData.Aantal,1:pxData.Aantal)) Set ..oData.MaxCombinAantal=pxData.MaxCombinAantal Do pxData.PPSPrioriteitToArray(..oData.PPSPrioriteit) Set ..oData.PPSGroep=pxData.PPSGroep Set ..oData.PPSSubgroep=pxData.PPSSubgroep Set ..oData.PPSOutput=pxData.PPSOutput ;Param list Do ..oData.Params.Clear() Set oMeta=..oData.Meta Quit:'$isObject(oMeta) $$$pxStatusErrorEx(..#errNoMeta,ObjRef) Set MetaKey="" For Set oMetaParam=oMeta.Params.GetNext(.MetaKey) Quit:MetaKey="" Do . Set Key="" . Set pxDataParam="" . For Set pxParam=pxData.Params.GetNext(.Key) Quit:Key="" Do . . Set:pxParam.ID=MetaKey pxDataParam=pxParam . Set oDataParam=##class(DS.Prod.OptiBox.sub.emDataParam).%New() . Set oDataParam.Waarde=$S($isObject(pxDataParam):pxDataParam.Waarde,1:"") . Set oDataParam.WaardeExec=%blProdOptiBoxOptimize.Parser($S(oDataParam.Waarde="":oMetaParam.Default,1:oDataParam.Waarde)) . Do ..oData.Params.SetAt(oDataParam,MetaKey) Quit $$$pxStatusOK ]]> pxParam:BL.Prod.OptiBox.sub.pxemDataParam,pxDefaultParam:BL.Prod.OptiBox.sub.pxemDataParam DS.Prod.OptiBox.sub.emDataParam =================================================================================== QUERIES . =================================================================================== %SQLQuery paObjType:%String,paObjRef:%Integer Name As BoxMetaName,ISNULL(Breedte,Meta->Breedte) As Breedte,ISNULL(Hoogte,Meta->Hoogte) As Hoogte,ISNULL(Diepte,Meta->Diepte) As Diepte,Plaatsing,Rotatie,DeelVan->CutOrder || ': ' || DeelVan->Meta->Name As DeelVan FROM Prod.OptiBox_BoxData WHERE (ObjType=:paObjType) AND (ObjRef=:paObjRef) ORDER BY CutOrder]]> %SQLQuery palbExcludeGroep:%String=$LB() SELECT DISTINCT(ObjType) AS Groep FROM Prod.OptiBox_BoxData WHERE $LISTFIND(:palbExcludeGroep,ObjType)=0 %SQLQuery paObjType:%String SELECT DISTINCT(ObjRef) FROM Prod.OptiBox_BoxData WHERE ObjType=:paObjType =================================================================================== %SQLQuery paMetaID:%String %Id=:paMetaID ORDER BY ObjType,ObjRef]]> %Query paMetaID:%String 1 0 %Status "_##class(Prod.Product).GetPropViaNr(ObjRef,"KortTekst")_"" .. If ObjType'=LastObjType Do ... Set AsHTMLStr="Product
"_AsHTMLStr ... Set LastObjType=ObjType . Else Do .. Set AsHTMLStr="
  • "_ObjRef_"
  • " .. If ObjType'=LastObjType Do ... Set AsHTMLStr=""_ObjType_"
    "_AsHTMLStr ... Set LastObjType=ObjType . Set aRow($I(Loop))=$LB(RS.Data("ID"),ObjType,ObjRef,AsHTMLStr) /* oude school New ObjType,ObjRef,AsHTMLStr Kill aRow Set Loop=0 For Quit:('RS.Next()) Do . Set ObjType=RS.Data("ObjType") . Set ObjRef=RS.Data("ObjRef") . If ObjType=$$$bdgProduct Do .. Set AsHTMLStr="Product
    "_##class(Prod.Product).GetPropViaNr(ObjRef,"KortTekst") . Else Do .. Set AsHTMLStr=""_ObjType_"
    "_ObjRef . Set aRow($I(Loop))=$LB(RS.Data("ID"),ObjType,ObjRef,AsHTMLStr) */ Set Loop="" Quit $$$OK ]]>
    1 QGetBoxDatasViaMetaExecute 0 %Status 1 QGetBoxDatasViaMetaExecute 0 %Status