persistent PRGACNTs,vhLib.Macro %Library.Persistent,%XML.Adaptor 0 Overruling van de Auto-Exec van de Meta-Parameter. Deze array moet dus synchroon lopen met de array Parameters, echter NIET wat aantal elementen betreft, maar WEL wat de elementkeys (PKey) betreft (d.i. een sparse array). De bedoeling is om deze array alleen te vullen/bewaren, wanneer het Product (parent van het Item) het product van een Template is. Dwz. niet voor producten die afgeleid zijn van een Template. %Library.String 0 0 array 0 0 0 0 0 0 %Library.String 0 0 0 0 0 0 0 0 Bepaalt of een Item getoond moete worden, of dat het enkel dient voor berekeningen. Mogelijke waarden: "S" , "H" %Library.String 0 0 0 0 0 0 0 0 Prod.GAMeta.EM.KostTijd 0 0 array 0 0 0 0 0 0 Prod.GAMeta.EM.KostTijd 0 0 array 0 0 0 0 0 0 %Library.String 0 0 0 0 0 0 0 0 Verwijzing naar het MetaItem, waar ook de LijstDefinitie van dit item te vinden is. Prod.GAMeta.Item 0 0 0 0 0 0 0 0 %Library.String 0 0 array 0 0 0 0 0 0 Prod.GAData.Product 0 0 parent DataItems 0 0 1 0 0 0 Bevat de lijst met ParameterKeys waarvan de waarde niet meer mag veranderen %List %Library.String 0 0 0 0 0 0 0 0 %Library.Integer 0 0 0 0 0 0 0 0 0 1 1 Code 1 IsNew:%Library.Boolean=1 %Library.Status > #define IsTemplateProduct $IsObject(..Product.TemplateGetObject()) #define BfSave 2 If '$$$IsTemplateProduct Do . Do ..Autos.Clear() . Do ..ClearDataParams($$$BfSave) . Do ..Parameters.RemoveAt("lbMatKost") Quit ]]> de single quote (') in het tweede vorm wordt automatisch weggeknipt.]]> 0 0 code sExec:%Library.String,PKey:%Library.String 0 0 See PRod.GAMeta.EM.Param.AddExecAuto() method ]]> ParamKey:%String %Library.Boolean 0) ; () ]]> 0 0 code 0 0 0 Set $LI(lbSort,MParam.KolomNr)=PKey . Else Set lbSort2=lbSort2_$LB(PKey) ;d WL^vhDBG("lbSort "_$$$LCVT(lbSort_lbSort2)) Quit lbSort_lbSort2 ]]> Berekent de code voor een nieuw DataItem, als volgt: MetaItem.Code + (001, 002, 003, etc.) 0 0 code 0 %Library.String 0 NoSa wordt doorgegeven via de Globale variable %NoSa. 0 0 code 0 %Library.Float 0 0 0 code 0 %Library.Float 0 Geeft de Tijd terug. Komt overeen met "TijdWerk" in de method CalcTijdMulti() 0 0 code 0 %Library.Float 0 Geeft een ListBuild terug waarvan het eerste item de "TijdWerk" bevat en het tweede item de "TijdKost". De "TijdKost" is de som van alle afzonderlijke tijden met een staffelcorrectie. 0 0 code 0 %Library.List 0 1 kan er verschil optreden tussen beide waarden : zie method emKost.StaffelCorr() Quit ..KostLoop("T2") ]]> Geeft de TijdKost (%Float) terug als KostType="T"
Geeft $LB(TijdWerk,TijdKost) (%List) terug als KostType="T2"]]>
0 0 code KostType:%Library.String 0 %Library.String 0
Berekent het volgende VolgNr voor een nieuw DataItem binnen de SubGroep. 0 0 code 0 %Library.Integer 0 0 0 code ClearMode:%Library.String 0 0 0) ..Parameters.RemoveAt(PKey) ; Do:(MParam)&&(ModeClr[MParam.Mode) Else Do . Do ..Parameters.Clear() Quit ]]> 0 0 code CopyMode:%Library.String="" 0 Prod.GAData.Item 0 0 New NewItem,lbCopyPropt Do cpoGetProptList Set NewItem=##class(Prod.GAData.Item).%New() Set:($$$InList("C")) NewItem.Code=..Code Do:($$$InList("M")) NewItem.MetaItemSetObjectId(..MetaItemGetObjectId()) Do:($$$InList("P")) NewItem.ProductSetObjectId(..ProductGetObjectId()) Set:($$$InList("S")) NewItem.SubGroepCode=..SubGroepCode Set:($$$InList("D")) NewItem.Display=..Display Set:($$$InList("L")) NewItem.Label=..Label Set:($$$InList("V")) NewItem.VolgNr=..VolgNr If $$$InList("PA") Do ; array property Parameters . New PKey,PrmVal . Set PKey="" . For Set PrmVal=..Parameters.GetNext(.PKey) Quit:(PKey="") Do NewItem.Parameters.SetAt(PrmVal,PKey) If $$$InList("A") Do ; array property Autos . New PKey,AutoVal . Set PKey="" . For Set AutoVal=..Autos.GetNext(.PKey) Quit:(PKey="") Do NewItem.Autos.SetAt(AutoVal,PKey) If $$$InList("KT") Do cpoCopyEMKostArray(..KostTijd,NewItem.KostTijd) If $$$InList("KM") Do cpoCopyEMKostArray(..KostMat, NewItem.KostMat) Quit NewItem cpoCopyEMKostArray(ArrayKostOrig,ArrayKostNew) New PKey,emKost,NewKost Set PKey="" For Set emKost=ArrayKostOrig.GetNext(.PKey) Quit:(PKey="") Do . Set NewKost=emKost.CopyObject("FullCopy") . Do ArrayKostNew.SetAt(NewKost,PKey) . Do NewKost.%Close() cpoGetProptList ; CopyProptList bevat alle properties (per propt. één Char.), die moeten gekopieerd worden: ; volledige lijst is: "C;D;L;M;P;S;V;PA;KT;KM;A" New CopyProptList,i If CopyMode="FullCopy" Do ; Copy alle properties . Set CopyProptList="C;D;L;M;P;S;V;PA;KT;KM;A" Else If CopyMode="NotProd" Do ; Parent (Product) niet kopiëren . Set CopyProptList="C;D;L;M;S;V;PA;KT;KM;A" Else If CopyMode="NotProd&Kost" Do ; Parent (Product) en Kost-arrays (KostTijd+KostMat) niet kopiëren . Set CopyProptList="C;D;L;M;S;V;PA;A" Else If CopyMode="Empty" Do ; Geen properties invullen . Set CopyProptList="" Else Do ; CopyMode is onbekend. . Set CopyProptList="" Set lbCopyPropt="" For i=1:1:$L(CopyProptList,";") Set lbCopyPropt=lbCopyPropt_$LB($P(CopyProptList,";",i)) Quit ]]> Evaluatie van een expressie, op het niveau van DItem (Prod.GAData.Item) ErrorMsg als .Local doorgeven, is enkel ingevuld in geval van error 0 %String Self.Val(""LD"")="_Self.Val("LD")_", Self.Val(""DS"")="_Self.Val("DS"),"I") Quit evaTRAP Set $ZTRAP="" New msg Set ErrorMsg="EXECUTE FOUT: "_sTyp_"`"_sExecTxt_"`"_$G(sParList) Set msg=ErrorMsg_$$$CRLF_"FOUTMELDING: "_$ECODE Do WLFMT^vhDBG(msg,"A") Do WLFMT^vhDBG("Bij Key :"_Key_" van DItem:"_..Code_" Label:"_..Label_" Meta:"_..MetaItem.Code,"A") Do WL^vhDBG("ErrorMsg bij EXECUTE : "_$$$CRLF_$ZE) ; _$$$CRLF_$ECODE) Do evaDebugDItem Do:($D(MApplication)) MApplication.MessageBox(msg) ; Foutmelding voor Makova Set RetVal="" ; 0.001 Quit 1 ; Doorgeven errormelding evaDebugDItem New tmpLB,PKey,MParam Set tmpLB="" Set PKey="" For Set MParam=..MetaItem.Parameters.GetNext(.PKey) Quit:(PKey="") Do:(MParam.KolomNr>0) . Set $LI(tmpLB,MParam.KolomNr)=$LB(PKey,..Parameters.GetAt(PKey)) Do WL^vhDBG("DItem params: "_$$LCVT^vhLib(tmpLB)) Quit ]]> Evalueert de waarde van een parameter 0 0 code Key:%Library.String,ItemLabel:%Library.String,Forced:%Library.Integer,SkipActief:%Boolean=0 0 %Library.String 0 Evalueert de waarde van een parameter aan de hand van TemplAuto of anders Meta-AutoExec 0 0 code Key:%Library.String 0 %Library.String 0 Voor de evaluatie van een parameter van de DItems waarvan MParam.Mode="E". Defaulting via Template-Data of Template-Autos. Geen Meta-Exec autos. 0 0 code Key:%Library.String 0 %Library.String 0 Evalueert de waarde van een parameter aan de hand van MetaAuto (Exec) 0 0 code Key:%Library.String 0 %Library.String 0 Evalueert de waarde van een parameter aan de hand van TemplAuto 0 0 code Key:%Library.String 0 %Library.String 0 Geeft de tijdelijke/permantente waarde van een DATA-parameter. Als dit een formule/expressie is, geeft Get() de formule/expressie zelf en NIET de evaluatie ervan terug. 0 0 code Key:%Library.String 0 %Library.String 0 Get voor Key "_Key_" : autos="_..Autos.GetAt(Key)) New MParam Set MParam=..MetaItem.Parameters.GetAt(Key) Quit:('MParam) "" If MParam.Mode?1(1"L",1"E") Quit ..Autos.GetAt(Key) Else If MParam.Mode?1(1"M",1"C") Quit ..Eval(Key) Quit "" ]]> 0 0 code ForceRecalc:%Library.Boolean 0 0 0) ]]> Geeft de waarde van een proglabel 0 0 code ProgLabel:%Library.String 0 %Library.String 0 Geeft de waarde van een proglabel %Library.String + - + - + - + - + - + - + | | + MetaItem = ItemOBJ + | | + - + - + - + - + - + - + Vult de "ObjectID" parameter in, en verwijdert de "Object" parameter (indien blnClearObj=1) Als blnSwizzleObj=1, dan wordt ook het bijhorende Object geswizzled (Obj als .local doorgeven) %Library.Status Vult de "Object" parameter in met de ORef van het object. Obj:%RegisteredObject %Library.Status Ophalen van het objectID via de "ObjectID" parameter. Deze method zal het object niet swizzlen %String Ophalen van het object gebeurt als volgt: - als de "Object" parameter bestaat, geeft de waarde (= oref) terug, - als de "Object" parameter NIET bestaat, wordt het object geopend via het ID (indien dit ingevuld is) %RegisteredObject Valideert het product van het DataItem, als het MetaItem van de klasse "ItemPR*" is. 0 0 code 0 %Library.Integer 0 Opties :
  • GAF : Full XML-beschrijving; i.e. met tag < PRODUCTEN >
  • GA0 : met Omschrijving van de data in de XML-tags


  • XSLURL : Toevoegen van de reference naar de XSL. Indien Leeg (""), tags worden weggelaten.]]> 0 0 code DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String 0 0 %Library.CacheStorage {%%PARENT}("I") ItemDefaultData {%%PARENT}("I") ^Prod.GAD.ItemI ^Prod.GAD.ItemS Autos subnode "AU" %%CLASSNAME node 0 listnode Label MetaItem SubGroepCode VolgNr Display FixedKeys KostMat subnode "KM" KostTijd subnode "KT" Parameters subnode "P"