Index: Prod/GADef/emKadBeslagPos.cls.xml =================================================================== diff -u --- Prod/GADef/emKadBeslagPos.cls.xml (revision 0) +++ Prod/GADef/emKadBeslagPos.cls.xml (revision 2) @@ -0,0 +1,116 @@ + + + + +Positie van beslag op de profielen van een kaderdeur. +De postie wordt relatief gedefinieerd voor het bepaald beslag. +De absolute positie wordt door het omvattend object bepaald. +serial +%Library.SerialObject + + + +Dit type wordt aangegeven in de array-property "AfstandBoorMaat" van Res.PI.Beslag.
+De array-index is "TYP", mogelijke waarden worden in de vernoemde property beschreven.]]>
+%Library.Float +
+ + +%Library.Float + + + +%Library.String + + + +sCode:%Library.String="L",KadObj:Prod.GADef.KaderDeur,blnAbsOnly:%Library.Integer=0 +%Library.Float +0 Do + . Set AbsPos=RelIPos + Else If (RelIPos'="") Do + . Set AbsPos=KadObj.AbsPosCalc("S",RelIPos) + . Set:(AbsPos=RelIPos) AbsPos="" + Set:($G(AbsPos)="") AbsPos=IPos + + Quit AbsPos + + + +]]> + + + + +Copy maken van een beslagPosite in een nieuw object. +Verschillende CopyModes: "FullCopy" (=Default), "Empty" +CopyMode:%Library.String="FullCopy" +Prod.GADef.emKadBeslagPos + + + + +%Library.CacheSerialState +emKadBeslagPosState +^Prod.GAD.emKadBeslagPosS + +list + +AfstandRand + + +LengtePos + + +RelatievePos + + +RelLengtePos + + + +
+
Index: WS/TBX/Calc/WSOrdToAdmin.cls.xml =================================================================== diff -u --- WS/TBX/Calc/WSOrdToAdmin.cls.xml (revision 0) +++ WS/TBX/Calc/WSOrdToAdmin.cls.xml (revision 2) @@ -0,0 +1,58 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.Calc + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.List + + + + + +WS.TBX.Order + + + + +%Library.String + + + + +%Library.String + + + + Index: Prod/GAMeta/BT/TBLadeKleur.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBLadeKleur.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBLadeKleur.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBKLD") +TBLadeKleurDefaultData +^Res.PI.Items("PR;GA;TBKLD") +^Res.PI.Items("index","PR;GA;TBKL") +^Res.PI.Items("stream","PR;GA;TBKL") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: EH/Makova/EventQueue.cls.xml =================================================================== diff -u --- EH/Makova/EventQueue.cls.xml (revision 0) +++ EH/Makova/EventQueue.cls.xml (revision 2) @@ -0,0 +1,141 @@ + + + +serial +%Const +EH.Lib.BaseEventQueue + + +EH.Makova.EventCtrlr +0 + + + +1 +eqID:%Library.String,MsgType:%Library.String,SubType:%Library.String,Params:%Library.String,SendType:%Library.String,IsPost:%Library.String +0 + + + + + EventQueueObj.TriggerDispatch + +Msgs in Makova worden direct ge-dispatched (enkel deze behorende tot eqID van EventQueueObj)!]]> +1 +MsgAsList:%Library.List,EventQueueObj:%Library.Integer=0 +0 + + + + +0 + + + + +eqID:%Library.String +0 +%Library.Status + + + + +%Library.CacheSerialState + + +Msg + + +Job + + +eqType + + +eqID + + +ID + + +TrapMode + + +HoldMsgs + + +EventController + + + + + Index: WS/EC/WebShopClient/GoedVoorOrder.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/GoedVoorOrder.cls.xml (revision 0) +++ WS/EC/WebShopClient/GoedVoorOrder.cls.xml (revision 2) @@ -0,0 +1,65 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionKey:%String +BL.EC.pxStatus +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxStatus + + + + + +%Library.String + + + + Index: Prod/Klas/SubGroep.cls.xml =================================================================== diff -u --- Prod/Klas/SubGroep.cls.xml (revision 0) +++ Prod/Klas/SubGroep.cls.xml (revision 2) @@ -0,0 +1,64 @@ + + + +persistent +1 +VHOpslag +%Persistent + + +1 +1 +SortSleutel +1 + + + +Prod.Klas.Klas + +0 + + + +%String + +0 + + + +%String + +0 + + + +%String + +0 + + + +%CacheSQLStorage +^WS.EC.ContractOrdersS + +data +^KPSG1 + +{SortSleutel} + + +"\" +6 + + +"\" +2 + + +"\" +1 + + + + + Index: TECH/StringUtils.cls.xml =================================================================== diff -u --- TECH/StringUtils.cls.xml (revision 0) +++ TECH/StringUtils.cls.xml (revision 2) @@ -0,0 +1,34 @@ + + + +1 +%RegisteredObject +0 + + +1 +String,F,T,From,Cnt,Continue=0 + + + + +1 +String,StartsWith + + + + Index: DW/WWW/HTTPLogTBXSfs.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBXSfs.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBXSfs.cls.xml (revision 2) @@ -0,0 +1,163 @@ + + + + +Logging van txb.sfsunimarket.biz +persistent +1 +%Persistent +0 + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXSfsD +HTTPLogTBXSfsDefaultData +^DW.WWW.HTTPLogTBXSfsD +^DW.WWW.HTTPLogTBXSfsI +^DW.WWW.HTTPLogTBXSfsS + +listnode + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +Flag + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + + + + Index: Prod/GAMeta/Item/tmpDev.mac.rou =================================================================== diff -u --- Prod/GAMeta/Item/tmpDev.mac.rou (revision 0) +++ Prod/GAMeta/Item/tmpDev.mac.rou (revision 2) @@ -0,0 +1,425 @@ +#include %VHMacro +PRValidatePR() ; Parameters: DItem,ParamCheck="CheckPR" + New okPR + If ..Parameters.IsDefined(ParamCheck) Do + . Set okPR=(''DItem.Eval(ParamCheck)) + Else Do + . ;Set okPR=(DItem.Get("PRNr")?2.6N) Quit + . New PRNr + . Set PRNr=DItem.Get("PRNr") + . Set okPR=(PRNr?2.6N)&&(##class(Prod.Product).%ExistsId(PRNr)) + Quit:('okPR) okPR + ; Else + If ..Code="PR1DIM" Do ; Check DimHF < PRLen + . Set okPR=(DItem.Get("DimHF")'>DItem.Get("PRLen")) + Quit okPR + +GetKenmVal() ; Parameters: KenmNaam,PRNr,KenmGrp + ; Storage: ^Prod.Ken.DataDefinitieD(PRNr, "Groep||Kenm")=$LB($LB(KMWaarden)) + Quit:($G(KenmNaam)="") "" + New DItem + Set DItem=Self + Set:('$D(PRNr)) PRNr=DItem.Get("PRNr") + Set:('$D(KenmGrp)) KenmGrp=DItem.Get("KenmGrp") + Quit:(PRNr="") "" + ; via Global value: (is afhankelijk van de Storage van het object) + Quit $LG($LG($G(^Prod.Ken.DataDefinitieD(PRNr, KenmGrp_"||"_KenmNaam)),1),1) ; Geeft de eerste waarde (indien Multiple Values, dan mogelijk probleem!) + // OF : + ; via Object property: + New DataDef,KMVal + Set DataDef=##class(Prod.Kenmerk.DataDefinitie).%OpenId(PRNr_"||"_KenmGrp_"||"_KenmNaam) + Quit:('DataDef) "" + Set KMVal=DataDef.Waarden.GetNext("") ; Geeft de eerste waarde (indien Multiple Values, dan mogelijk probleem!) + Do:(DataDef) DataDef.%Close() + Quit KMVal + +PRGetPRLen() ; Parameters: PRNr,DItem + Set:('$D(DItem)) DItem=Self + Set:('$D(PRNr)) PRNr=DItem.Get("PRNr") + Quit:('$IsValidNum(PRNr)) "" + Quit ##class(Prod.Product).GetPropViaNr(PRNr,"HFNettoLengte") + +PRGetCifPPL() ; Parameters: PRNr,DItem + Set:('$D(DItem)) DItem=Self + Set:('$D(PRNr)) PRNr=DItem.Get("PRNr") + Quit:('$IsValidNum(PRNr)) "" + Quit ##class(Prod.Product).GetPropViaNr(PRNr,"CifPPL") ; +##class(Prod.Product).GetPropViaNr(PRNr,"CorFaktor") + ; in commentaar gezet op 22/10/04 door WimV. + +PRGetGewicht() ; Parameters: Type,PRNr,DItem + ;Waarde Type = {N;T;B} ; Netto;Tarra;Bruto + Set:('$D(DItem)) DItem=Self + Set:('$D(PRNr)) PRNr=DItem.Get("PRNr") + Quit:('$IsValidNum(PRNr)) "" + Quit ##class(Prod.Product).GetPropViaNr(PRNr,$P("NettoGewicht;TarraGewicht;BrutoGewicht",";",$F("NTB",Type)-1)) + +PRGetKortTekst() ; Parameters: PRNr,DItem + Set:('$D(DItem)) DItem=Self + Set:('$D(PRNr)) PRNr=DItem.Get("PRNr") + Quit:(PRNr="") "" + ;Quit ##class(Prod.Product).GetPropViaNr(PRNr,"KortTekst") + New list,i + For i=1:1:$L(PRNr,"\") Do ; multiple PRNr + . Set $P(list,"\",i)=##class(Prod.Product).GetPropViaNr($P(PRNr,"\",i),"KortTekst") ; _" ["_$P(PRNr,"\",i)_"]" + Quit list + +PRGetLangTekst() ; Parameters: PRNr,DItem,Verkort + Set:('$D(DItem)) DItem=Self + Set:('$D(PRNr)) PRNr=DItem.Get("PRNr") + Quit:(PRNr="") "" + New Prod,txt + Set Prod=##class(Prod.Product).%OpenId(PRNr) + Quit:('Prod) "" + Set txt=Prod.OmschrijvingN1_" "_Prod.OmschrijvingN2 + Do Prod.%Close() + Do:(Verkort) gltOmsAfkort(.txt) + Quit txt +gltOmsAfkort(txt) +#define TReplace(%f,%r) Set txt=$$REPLACE^vhRtn1(txt,%f,%r) +#define TReplaceIF(%c,%f,%r) Set:(%c) txt=$$REPLACE^vhRtn1(txt,%f,%r) + $$$TReplace(" "," ") ; DUBBELE Spaties verwijderen + $$$TReplace("rugwandhouder voor houten rugwand","houder vr houten rug") + $$$TReplace("Verhoogde houder","Hoge houder") + $$$TReplace("boxside","Boxside") + $$$TReplace("Stabilisator voor dubbelw. Boxside","Stabilisator") + $$$TReplace("bij gebruik dubbele","bij dubbele") + $$$TReplace("Verstelbare reling","reling") + $$$TReplace("Intraboxkap","Afdekkap") + $$$TReplace("Intra-tandembox","I/T-box") + $$$TReplace("Intra/Tandembox","I/T-box") + $$$TReplace("Tandem/Intrabox","T/I-box") + $$$TReplace("Tandembox","T-box") + $$$TReplace(" tandembox"," T-box") + $$$TReplace("Intrabox","I-box") + $$$TReplace(" intrabox"," I-box") + $$$TReplace("Blumotion","BM") + $$$TReplace(" voor "," vr ") + $$$TReplace(" links"," LI") + $$$TReplace(" rechts"," RE") + $$$TReplace("+rechts","+RE") + $$$TReplace("Verpakking","") + $$$TReplace("symmetrisch","symm.") + $$$TReplace("bedrukt","") + $$$TReplace("PLUS","") + Quit + +PRGetOmsViaKenm() ; Parameters: lbKMArgs,Delim,DItem,KenmGrp + ; De variabele "MetaArray" niet declareren !!! + Set:('$D(DItem)) DItem=Self + Set:('$D(KenmGrp)) KenmGrp=DItem.Get("KenmGrp") + Quit:($LL($G(lbKMArgs))=0) "" ; $LL() geeft een ERROR als lbKMArgs geen ListBuild is ! + New arKenmEval,KenmLijst,txt,i,Kenm,KMVal,VTL + Set KenmLijst=DItem.Eval("Kenm") + Do gvkLBKenmToArray + Set txt="" + For i=1:1:$LL(lbKMArgs) Do + . Set VTL=$$gvkVertaalKenm($LI(lbKMArgs,i)) + . Quit:(VTL="") + . Set txt=txt_$S(i>1:Delim,1:"")_VTL + Quit txt +gvkVertaalKenm(lbKMArg) +#define MarkInvers(%v) ""_%v_"" +#define DItemGetKenmVal DItem.MetaItem.GetKenmVal(Kenm,DItem.Get("PRNr"),DItem.Get("KenmGrp")) + Set Kenm=$LG(lbKMArg,1) + Quit:(Kenm="") $LG(lbKMArg,2) + ; Else : + Set KMVal=$S($LD(lbKMArg,2):$LI(lbKMArg,2), '$D(arKenmEval(Kenm)):$$$DItemGetKenmVal, 1:$G(arKenmEval(Kenm))) + New MDef,RetVTL + If $D(MetaArray(KenmGrp_"||"_Kenm)) Do + . Set MDef=MetaArray(KenmGrp_"||"_Kenm) + Else Do + . Set MDef=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(KenmGrp_"||"_Kenm) + . Set MetaArray(KenmGrp_"||"_Kenm)=MDef + Quit:('MDef) KMVal_" [?MetaDef:"_Kenm_"]" + ; Else : + Set RetVTL=MDef.VertaalItem(KMVal,.Taal,"K",1) + Set:($G(%arInvers("DItem","FabrOms",Kenm))=1) RetVTL=$$$MarkInvers(RetVTL) + ;Do MDef.%Close() + Quit RetVTL +gvkLBKenmToArray + ; KenmLijst is een $LB() ==> omvormen tot een array + For i=1:1:$LL(KenmLijst) Do + . Set arKenmEval($LI($LI(KenmLijst,i),1))=$LI($LI(KenmLijst,i),2) + Quit + + + ; w $$PRGetProductViaKenm^Prod.GAMeta.Item.tmpDev ; (KenmGrp,Kenm,DItem) +PRGetProductViaKenm() ; Parameters: KenmGrp,Kenm,DItem +#define CompTypeDFL "E" +#define KenmCombine "$COMB$" + ;Quit "" + ;Quit 87944 + Set:('$D(DItem)) DItem=Self + Set:('$D(KenmGrp)) KenmGrp=DItem.Get("KenmGrp") + Set:('$D(Kenm)) Kenm=DItem.Get("Kenm") + New ArPR,ArKenmAll,ArKenm,i,FirstPR,CompType,lbKenmCombine + For i=2:1:$LL(Kenm) Do ; Beginnen bij tweede list-item, want eerste Kenm wordt gebruikt als startwaarde bij het opbouwen van SPAlle() array + . Set CompType=$LG($LI(Kenm,i),3,$$$CompTypeDFL) + . Set:(CompType="") CompType=$$$CompTypeDFL + . Set ArKenmAll(CompType,$LI($LI(Kenm,i),1))=$LI($LI(Kenm,i),2) + If $D(ArKenmAll("E",$$$KenmCombine)) Do + . Merge ArKenmAll("KN1",$$$KenmCombine)=ArKenmAll("E",$$$KenmCombine) + . Kill ArKenmAll("E",$$$KenmCombine) + ; Lijst met PRNr's voorbereiden (?) + Merge:($D(ArAllePR)) ArPr=ArAllePR(KenmGrp) + ; Lijst beperken via Exacte match: + Merge ArKenm=ArKenmAll($$$CompTypeDFL) + Do gpnPRLijstViaKenmerk(KenmGrp,"ArPR",.ArKenm,0 ,$LG($LG(Kenm,1),1),$LG($LG(Kenm,1),2)) + Kill ArKenm + ; Lijst beperken via multiple: + Merge ArKenm=ArKenmAll + Kill ArKenm($$$CompTypeDFL) ; alles behalve Exaxte match + Do:($D(ArKenm)) gpnPRLijstViaKenmerkMulti(KenmGrp,"ArPR",.ArKenm) + Kill ArKenm + ;d DItem.Product.TTrace($$ArrayToText^vhLib("ArKenm")) + ;d DItem.Product.TTrace("VOOR:"_$$ArrayToText^vhLib("ArPR")) + Do:($L($O(ArPR($O(ArPR("")))))) gnpBeperkViaActief ; meer dan ��n product gevonden + Set FirstPR=$O(ArPR("")) + Quit:(FirstPR="") "" + Quit $S($O(ArPR(FirstPR))="":FirstPR, 1:"(MP)"_$$gpnMultiPRNr) +gpnMultiPRNr() + New pr,list + Set (pr,list)="" + For Set pr=$O(ArPR(pr)) Quit:(pr="") Set list=list_"\"_pr + Set:($E(list,1)="\") $E(list,1)="" + Quit list +gnpBeperkViaActief + ; Via het kenmerk "Actief" het juiste product zoeken + New ArPRfull,ArKenm2 + Merge ArPRfull=ArPR + ;Set ArKenm2("Actief")=DItem.Product.KlantGetObjectId() + Set ArKenm2("Actief")=$S($D(tmpKLNr):tmpKLNr, 1:DItem.Product.KlantGetObjectId()) + Do gpnPRLijstViaKenmerk(KenmGrp,"ArPR",.ArKenm2,0) + ;d DItem.Product.TTrace("NA klant:"_$$ArrayToText^vhLib("ArPR")) + If '($$$aHasSubNodes(ArPR)) Do + . Merge ArPR=ArPRfull + . Set ArKenm2("Actief")="A" + . Do gpnPRLijstViaKenmerk(KenmGrp,"ArPR",.ArKenm2,0) + . ;d DItem.Product.TTrace("NA ALLE:"_$$ArrayToText^vhLib("ArPR")) + Quit +gpnPRLijstViaKenmerk(GroepID,Ref,KenmerkArray,IncludeUndefs,StartKenm,StartWaarde) + New Kenm,i,objKenm + ; Array opbouwen van alle producten + Do:('$D(@Ref)) ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,Ref,$G(StartKenm),$G(StartWaarde)) + ; Array beperken voor ieder kenmerk van KenmerkArray + Set Kenm="" + For Set Kenm=$O(KenmerkArray(Kenm)) Quit:(Kenm="") Do + . Set objKenm=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||"_Kenm) + . ; - Beperking op waarde van de subnodes + . Set i="" + . For Set i=$O(KenmerkArray(Kenm,i)) Quit:(i="") Do gpnBeperk(KenmerkArray(Kenm,i)) + . ; - Beperking op waarde van node (Kenm) + . If ($$$aHasData(KenmerkArray(Kenm))) Do gpnBeperk(KenmerkArray(Kenm)) + . Do:(objKenm) objKenm.%Close() + Quit +gpnBeperk(KWaarde) + Do ##class(Prod.Kenmerk.DataIndex).SPBeperkExcl(GroepID,Kenm,KWaarde,Ref) + Quit + +gpnPRLijstViaKenmerkMulti(GroepID,Ref,KenmerkArray) + ; Loop through different types of MultiSelect/Beperk + Quit:('$D(@Ref)) + New Kenm,i,objKenm,CompType,tmpAr + Set (CompType,Kenm)="" + For Set CompType=$O(KenmerkArray(CompType)) Quit:(CompType="") Do + . For Set Kenm=$O(KenmerkArray(CompType,Kenm)) Quit:(Kenm="") Do + .. If (Kenm=$$$KenmCombine) Do Quit + ... Set lbKenmCombine=$LB(Kenm,KenmerkArray(CompType,Kenm),CompType) ; $LI(Kenm,i) + .. ; Else + .. Set objKenm=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||"_Kenm) + .. If ($$$aHasData(KenmerkArray(CompType,Kenm))) Do gpnBeperkMulti(KenmerkArray(CompType,Kenm)) + .. Do:(objKenm) objKenm.%Close() + Do:($L($G(lbKenmCombine))) gpnBeperkCombine + Quit +gpnBeperkCombine + Do ##class(Prod.Kenmerk.DataIndex).SPBeperkMulti(.GroepID,$LI(lbKenmCombine,1),$LI(lbKenmCombine,2),.Ref,$LI(lbKenmCombine,3)) + ;Do xxSPBeperkMulti(.GroepID,$LI(lbKenmCombine,1),$LI(lbKenmCombine,2),.Ref,$LI(lbKenmCombine,3)) + Quit +gpnBeperkMulti(KWaarde) + Do ##class(Prod.Kenmerk.DataIndex).SPBeperkMulti(.GroepID,.Kenm,KWaarde,.Ref,.CompType) + ;Do xxSPBeperkMulti(.GroepID,.Kenm,KWaarde,.Ref,.CompType) + Quit + + ;Oproepen via: Do ##class(Prod.Kenmerk.DataIndex).SPBeperkMulti(Groep,Kenmerk,WaardeInput,Ref,CompareType) +xxSPBeperkMulti(Groep,Kenmerk,WaardeInput,Ref,CompareType) +xSPBeperkMulti + Quit:($G(Kenmerk)="") + If $G(WaardeInput)="" Kill @Ref Quit + New PRNr,KenmID,indexID,lbWaarden,i,blnCrit + Set KenmID="||"_Groep_"||"_Kenmerk + If Kenmerk=$$$KenmCombine Do + . Do bpmBeperkViaKenmCombine + Else Do + . Set PRNr="" + . For Set PRNr=$O(@Ref@(PRNr)) Quit:(PRNr="") Kill:('$$bpmMatchCriteria) @Ref@(PRNr) + Quit +bpmBeperkViaKenmCombine + New FCombi,j,iKM,lbKenm,arWdn,arFC,arFCX,lbCVal,Kenm,eval,tmpAr,m,k + Do + . Set FCombi=WaardeInput + . Set lbKenm=$$bpmCombiGetKenm + . Set FCombi=$$bpmTransformFCombi + . Kill arFCX + . Set PRNr="" + . For Set PRNr=$O(@Ref@(PRNr)) Quit:(PRNr="") Do + .. Do bpmCalcCombiValues + . ;w $$$ArrayTT("arFCX"),! + . Set LowestVal=$O(arFCX("")) + . Quit:(LowestVal="") + . Set PRNr="" + . For Set PRNr=$O(@Ref@(PRNr)) Quit:(PRNr="") Kill:('$D(arFCX(LowestVal,PRNr))) @Ref@(PRNr) + Quit +bpmTransformFCombi() + For j=1:1:$LL(lbKenm) Do + . Set KenmID(j)="||"_Groep_"||"_$LG(lbKenm,j) + . Set FCombi=$$$Replace(FCombi,"{"_$LG(lbKenm,j)_"}","($LI(lbCVal,"_j_"))") + Set FCombi="Set eval="_FCombi + Quit FCombi +bpmCombiGetKenm() + Quit:($F(FCombi,"{")=0) "" + New tmpLB,p,q,km + Set tmpLB="" + Set (p,q)=0 + For Set p=$F(FCombi,"{",p) Quit:(p=0) Do + . Set q=q+1 + . Set km=$P($P(FCombi,"{",q+1),"}") + . Set:($L($$$Trim(km))&&('$LF(tmpLB,km))) tmpLB=tmpLB_$LB(km) + Quit tmpLB +bpmCalcCombiValuesX(FCombi,PRNr) ; d bpmCalcCombiValuesX^Prod.GAMeta.Item.tmpDev(fc,PRNr) + Do bpmCalcCombiValues + Quit +bpmCalcCombiValues + ; apply FCombi-function to all values from lbWaarden + Kill arWdn,arFC + Set arFC(1)="" + For j=1:1:$LL(lbKenm) Do + . Set arWdn(j)=$$bpmGetKemnWaarden(PRNr_KenmID(j)) ;w "km:"_j_" "_$LG(lbKenm,j)_" --> Wdn="_$$$LCVT(arWdn(j)),! + . Kill tmpAr + . Merge:($LL(arWdn(j))>1) tmpAr=arFC + . ; In de eerste reeks uitbreiden met j-de kenmerk waarden + . Set k="" + . For Set k=$O(arFC(k)) Quit:(k="") Set $LI(arFC(k),j)=$LG(arWdn(j),1) + . If $LL(arWdn(j))>1 Do + .. For m=2:1:$LL(arWdn(j)) Do + ... Set k="" + ... For Set k=$O(tmpAr(k)) Quit:(k="") Set arFC($O(arFC(""),-1)+1)=tmpAr(k)_$LB($LG(arWdn(j),m)) ; Set $LI(arFC(k),j)=$LG(arWdn(j),m) + ; arFC(j) : elke node bevat een $LB(Kenm1_Waarde, Kenm2_Waarde, ...) + Quit:(arFC(1)="") ; Geen kenmerk/waarden aanwezig! + Set j="" + For Set j=$O(arFC(j)) Quit:(j="") Do + . Set lbCVal=$G(arFC(j)) + . Set eval="" + . Xecute FCombi + . Set:($L(eval)) arFCX(eval,PRNr)="" + . ;Set:($L(eval)) arFCX(eval,PRNr,"TST")=arFC(j) + Quit + +bpmCombineGetKenmX(FCombi) ; s lb=$$bpmCombineGetKenmX^Prod.GAMeta.Item.tmpDev(fc) w $$LCVT^vhLib(lb) + // !!! Test routine to call directly from Terminal !!! + // this is not used by the normal flow of the algoritme! + Set lbKenm=$$bpmCombiGetKenm + Set FCombi=$$bpmTransformFCombi + Quit lbKenm + +bpmGetKemnWaarden(iID) + Quit:(iID="") "" + New lbWaarden + &SQL(SELECT Waarden INTO :lbWaarden FROM Prod_Kenmerk.DataDefinitie WHERE ID = :iID) + Quit $G(lbWaarden) +bpmMatchCriteria() + Set lbWaarden=$$bpmGetKemnWaarden(PRNr_KenmID) ; --> iID = 10560||TB||DraagKracht + Quit:(lbWaarden="") 0 ; Quit:(...) IncludeUndefs + Set blnCrit=0 + Do @("bpmMatchCriteria"_CompareType) + Quit blnCrit + Quit ; 0 / 1 +bpmMatchCriteriaGN ; Groter dan (of gelijk aan) --> Numeriek + If $LF(lbWaarden,WaardeInput)>0 Quit 1 + For i=1:1:$LL(lbWaarden) Set:($LG(lbWaarden,i)>WaardeInput) blnCrit=1 + Quit +bpmMatchCriteriaKN ; Kleiner dan (of gelijk aan) --> Numeriek + If $LF(lbWaarden,WaardeInput)>0 Quit 1 + For i=1:1:$LL(lbWaarden) Set:($LG(lbWaarden,i)0) blnCrit=1 + Quit +bpmMatchCriteriaE ; Exacte match + For i=1:1:$LL(lbWaarden) Set:($LG(lbWaarden,i)=WaardeInput) blnCrit=1 + Quit + + + + /* + // Copy these lines into the Cach� Terminal to test the "GetProductViaKenm()" method. + +s ClientIP="192.168.1.97" +s KenmGrp="TB" +Set Self="" +Set tmpKLNr="" +Set Kenm=$LB($LB("BasisType","LA"),$LB("tB",1),$LB("LiRe","LI"),$LB("Design","S"),$LB("Verpakking","I"),$LB("LadeDiepte",500),$LB("Kleur","MG"),$LB("DraagKracht",50),$LB("ZijwandHoogte","M")) +For i=1:1:$LL(Kenm) Set arKM($LI($LI(Kenm,i),1))=$LI($LI(Kenm,i),2) +zw arKM +m arKM2=arKM +s (Kenm,KM)="" f s KM=$O(arKM(KM)) q:KM="" s Kenm=Kenm_$LB($LB(KM,arKM(KM))) +w $$LCVT^vhLib(Kenm) + +Set MItem=##class(Prod.GAMeta.ItemPR).%New() +s PRNrs=MItem.GetProductViaKenm(KenmGrp,Kenm) w PRNrs s PRNr=$RE($P($RE($P(PRNrs,"\",1)),")PM(",1)) s pl=$P(PRNrs,"(MP)",2) +w:($L(PRNr)) $$ArrayToText^vhLib($Na(^Prod.Ken.DataDefinitieD(PRNr))) +s pKenm="TB||Kleur" + +s $LI(Kenm,4,4)="" +s $LI(Kenm,3,3)="" +s PRNrs=MItem.GetProductViaKenm(KenmGrp,Kenm) w PRNrs s PRNr=$RE($P($RE($P(PRNrs,"\",1)),")PM(",1)) s pl=$P(PRNrs,"(MP)",2) +f i=1:1:$L(pl,"\") w:($L($G(pKenm))) $$ArrayToText^vhLib($Na(^Prod.Ken.DataDefinitieD($P(pl,"\",i),pKenm))),! + +r fc2 +($CASE({Kleur}, "MG":1, "WI":2,"IN":3, :5)*10000)+{DraagKracht} +s CombCrit=$LB("$COMB$", fc2) +s Kenm=Kenm_$LB(CombCrit) +s PRNrs=MItem.GetProductViaKenm(KenmGrp,Kenm) w PRNrs s PRNr=$RE($P($RE($P(PRNrs,"\",1)),")PM(",1)) s pl=$P(PRNrs,"(MP)",2) +s $LI(Kenm,7,7)=$LB($LI(Kenm,7),$LB("DraagKracht",28,"GN")) + */ + + + /* + // Copy these lines into the Cach� Terminal to test the "xxSPBeperkMulti()" method with $$$KenmCombine. +s Groep="TB" +r fc2 +($CASE({Kleur}, "MG":1, "WI":2,"Ix":3, :4)*10000)+{LadeDiepte} +s fc=fc2 +s lb=$$bpmCombineGetKenmX^Prod.GAMeta.Item.tmpDev(.fc) w $$LCVT^vhLib(lb) +k arFCX d bpmCalcCombiValuesX^Prod.GAMeta.Item.tmpDev(fc,30786) zw arFCX + */ + + + ; class: Prod.GAMeta.EM.KostTijd +CopyObject() ; Parameters: CopyMode +#define InList(%v) $LF(lbCopyPropt,%v)>0 + New NewKost,lbCopyPropt + Do cpoGetProptList + Set NewKost=##class(Prod.GAMeta.EM.KostTijd).%New() + Set:($$$InList("A")) NewKost.AParam=..AParam + Set:($$$InList("B")) NewKost.BParam=..BParam + Do:($$$InList("KP")) NewKost.KostPlaatsSetObjectId(..KostPlaatsGetObjectId()) + ;Set:($$$InList("KT")) NewKost.KostType=..KostType + Set:($$$InList("Min")) NewKost.Min=..Min + Set:($$$InList("M")) NewKost.Multiplicant=..Multiplicant + Set:($$$InList("O")) NewKost.Omschrijving=..Omschrijving + Set:($$$InList("R")) NewKost.Reductie=..Reductie + Set:($$$InList("V")) NewKost.VolgNr=..VolgNr + Quit NewKost +cpoGetProptList + ; CopyProptList bevat alle properties (per propt. ��n Char.), die moeten gekopieerd worden: + ; volledige lijst is: "A;B:KP;KT;Mi;Mu;O;R;V" + New CopyProptList,i + If CopyMode="FullCopy" Do ; Copy alle properties + . Set CopyProptList="A;B:KP;KT;Min;M;O;R;V" + 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 \ No newline at end of file Index: DW/WWW/HTTPLogOL.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogOL.cls.xml (revision 0) +++ DW/WWW/HTTPLogOL.cls.xml (revision 2) @@ -0,0 +1,159 @@ + + + + +Logging voor www.orgalux.be (.com en .nl) +persistent +1 +%Persistent + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogOLD +HTTPLogOLDefaultData +^DW.WWW.HTTPLogOLD +^DW.WWW.HTTPLogOLI +^DW.WWW.HTTPLogOLS + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + +Flag + + + + + Index: ProdKD/tmpDev.mac.rou =================================================================== diff -u --- ProdKD/tmpDev.mac.rou (revision 0) +++ ProdKD/tmpDev.mac.rou (revision 2) @@ -0,0 +1,71 @@ +ControleBeperkAfm() ; Parameters: OutputType +#define OpmType "BPAF" + New OK,ToepasID,BeslagCode,BeslagQty,Gewicht,emBeslag + Quit:('..Toepassing) "1;Geen Toepassing" + Set ToepasID=..Toepassing.ItemID + Set BeslagCode="" + Set BeslagQty=0 + Set Gewicht=..Gewicht("SimVul")*1000 ; Omzetten van kg naar gram + If ToepasID="KD" Do + . New blnBeslag + . Set blnBeslag=$$cbaSetBeslag("S") + . If blnBeslag Do + .. Set BeslagCode=$CASE(emBeslag.Beslag.TekeningCode, "KAD":"KAD", "35M":"POT", :"") + .. Set BeslagQty=emBeslag.Positie.Count() + . Else Do + .. Set:(..ProfType) BeslagCode=$S(..ProfType.ItemID?1E1"S".E:"KAD", 1:"POT") + . ; + Else If ToepasID="KLC" Do + . Set BeslagCode="" + . ; + Else If ToepasID="KLS" Do + . Quit:($$cbaSetBeslag("KH")=0) + . Set BeslagCode=$S(emBeslag.Beslag.ItemID["SK105":"SK105", 1:"") + . Set BeslagQty=emBeslag.Positie.Count() + . ; + Else If ToepasID="SD" Do + . Quit:($$cbaSetBeslag("GA")=0) + . Set BeslagCode=emBeslag.Beslag.ItemID + . Quit:($$cbaSetBeslag("GC")=0) + . Set BeslagCode=BeslagCode_"/"_emBeslag.Beslag.ItemID + . ; + Else If ToepasID?1"VD"1E Do + . Set BeslagCode="PFR872/876" + . ; + Else Do + . Set BeslagCode="" + . ; + Set OK=##class(Prod.GADef.BT.BeperkAfm).ControleAfm(..Toepassing, BeslagCode, ..Hoogte, ..Breedte, Gewicht, BeslagQty, OutputType) + ;Do DEBUG^%Serenji("labelDebug+1^"_$zn,"192.168.1.97") + ;labelDebug + If OutputType="LOGOPM" Do + . Quit:(+$E(OK,1)'=0) + . New lbLogOpm,tmpOpm + . Set:($L($E(OK,$F(OK,";"),99999))) lbLogOpm=$LB($$$OpmType,$E(OK,$F(OK,";"),99999)) + . Quit:('$L($G(lbLogOpm))) + . Set tmpOpm=..Opmerking + . If $L(tmpOpm) Do + .. Set:('$$cbaIsPresentInLB(tmpOpm,lbLogOpm)) tmpOpm=tmpOpm_$LB(lbLogOpm) ; $LB($LB($$$OpmType,LogOK)) + . Else Set tmpOpm=$LB(lbLogOpm) ; $LB($LB($$$OpmType,LogOK)) + . Set ..Opmerking=tmpOpm + Else Do + . Do cbaClearBeperkOpm + Quit OK +cbaIsPresentInLB(Content,Val) + Quit ($LF(Content,Val)>0) +cbaIsPresentInLB2(Content,Val) + New i,blnPresent,tmpItem + Set blnPresent=0 + For i=1:1:$LL(Content) Do Quit:(blnPresent) + . Set tmpItem=$LG(Content,i) + . Quit:(tmpItem="") + . Set:($LG(tmpItem,1)=$$$OpmType)&&($LG(tmpItem,2)=Val) blnPresent=1 + Quit blnPresent +cbaIsPresentOLD(Content,Val) + Quit $S($$IsList^vhLib(Content):($LF(Content,Val)>0), 1:(Content[Val)) +cbaClearBeperkOpm + Do ..OpmerkingClearByType($$$OpmType) +cbaSetBeslag(Key) + Set emBeslag=..Beslag.GetAt(Key) + Quit:('emBeslag) 0 + Quit emBeslag.Beslag \ No newline at end of file Index: WS/TBX/CalcSoap.cls.xml =================================================================== diff -u --- WS/TBX/CalcSoap.cls.xml (revision 0) +++ WS/TBX/CalcSoap.cls.xml (revision 2) @@ -0,0 +1,87 @@ + + + +1 +%SOAP.WebClient,WS.SOAPClientExt +0 + + + +This is the URL used to access the web service. +http://cache01/csp/admin1/WS.TBX.Calc.cls + + + + +This is the namespace used by the Service +http://tempuri.org + + + + +This is the name of the Service +TBX.Calc + + + + +BuildWS calculates the prices +WSOrd:WS.TBX.Order,Opties:%String +WS.TBX.Order +1 + + + + + +WSOrder To Admin +WSOrd:WS.TBX.Order,Opties:%String,ClientAddress:%String +%List +1 + + + + +1 +%String +1 +document +literal + + + + + +%Boolean + + + + + +%Boolean + + + + Index: _vhisie/TBX/WizPData.csp =================================================================== diff -u --- _vhisie/TBX/WizPData.csp (revision 0) +++ _vhisie/TBX/WizPData.csp (revision 2) @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#(..WebTextValue("VeldenInvullen",Taal,"L"))# 
 
#(..WebTextValue("KLNaamOPTIMA",Taal,"L"))# :
 
+ + + + + + + + + +
#(..WebTextValue("KLNaam",Taal,"L"))# * :
 
#(..WebTextValue("KLStraatNr",Taal,"L"))# :
 
#(..WebTextValue("Postcode",Taal,"L"))# :
 
#(..WebTextValue("Gemeente",Taal,"L"))# :
 
#(..WebTextValue("Telefoon",Taal,"L"))# (*) :
 
#(..WebTextValue("Fax",Taal,"L"))# (*) :
 
#(..WebTextValue("Email",Taal,"L"))# (*) :
 
#(..WebTextValue("BTWNummer",Taal,"L")_$S(BTWInputMode=3:" *", 1:""))# :
 
#(..WebTextValue("Commissie",Taal,"L"))# * :
 
#(..WebTextValue("Levertijd",Taal,"L")_$S(blnVHEPN:"",1:" *"))# :
+ + + #(..WebTextValue("LeverTijdLater",Taal,"L"))# + + + +  
+
#(..WebTextValue("AfdrukCode",Taal,"L"))# :
+   +
+
 
  +
+ #(..WebTextValue("FT_OFFAV",Taal,"L",$LB("U")))#
+ #(..WebTextValue("FT_OFF",Taal,"L",$LB("U")))#
+ #(..WebTextValue("FT_BBON",Taal,"L",$LB("U")))#
+ + + +
+
 
  +
+ * #(..WebTextValue("jsDVerplichtGegeven",Taal,"O"))#,  (*) : #(..WebTextValue("Minstens1Verplicht",Taal,"O"))# +
+
Index: Prod/Kenmerk/DataIndex.cls.xml =================================================================== diff -u --- Prod/Kenmerk/DataIndex.cls.xml (revision 0) +++ Prod/Kenmerk/DataIndex.cls.xml (revision 2) @@ -0,0 +1,332 @@ + + + + +Opbouw van de index van de DataDefinitie, om deze index ook door SQL toegankelijk te maken is dit in een apart object opgeslagen. +Bij de DataDefinitie opbject zitten de waarden van een kenmerk een product in een lijst. In dit index object zit alle waarden separaat. +persistent +%Library.Persistent +0 + + +1 +1 +Groep,Kenmerk,Waarde,Product + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +Prod.Product + +0 + + + + +Waarde kan meerder velden bevatten door ";" gescheiden +%Library.String + +0 + + + + +Verwijderen van de waarden van een bepaald kenmerk en een bep. product +1 +code +Groep:%Library.String,Kenmerk:%Library.String,PRNr:%Library.Integer + + + + +1 +code +Groep:%Library.String,Kenmerk:%Library.String,PRNr:%Library.Integer,Waarde:%Library.String + + + + + +Openen van het object Prod.Kenmerk.MetaDefintiie +code +Prod.Kenmerk.MetaDefinitie + + + + + +Als KenmNaam en KenmWaarde gegeven zijn (optioneel), kan gestart worden van een meer beperkte array.]]> +1 +code +Groep:%Library.String,Ref:%Library.String="Local",KenmNaam:%Library.String="",KenmWaarde:%Library.String="" + + + + + +Verwijderen van de producten die andere waarden heeft voor het kenmerk dan het doorgegevene +1 +code +Groep:%Library.String,Ref:%Library.String="Local" + + + + + +Als CompareObj mee doorgegeven wordt, overruled deze de standaard vergelijking Waarde=WaardeInput.]]> +1 +code +Groep:%Library.String,Kenmerk:%Library.String,WaardeInput:%Library.String,Ref:%Library.String="Local",CompareObj:Prod.Kenmerk.VertaalTransAbstract + + + + + +Verwijderen uit de array @Ref de producten waarvan er geen kenmerkwaarde bestaat die gelijk is aan +WaardeInput. SPBeperkExcl(ude) verwijdert ook de producten waarvan het kenmerk niet gedefinieerd is. +1 +code +Groep:%Library.String,Kenmerk:%Library.String,WaardeInput:%Library.String,Ref:%Library.String="Local" + + + + + +Uitbreiding op SPBeperkExcl(ude) : CompareType bepaalt het criteria om de waarden te vergelijken met WaardeInput. +Mogelijke waarde voor CompareType: "E" - Exacte match; "GN" - alle Groter dan (of gelijk aan), Numeriek; +"KN" - alle Kleiner dan (of gelijk aan), Numeriek; "L" - Lijst waarin de waarde moet voorkomen +Bijzondere waarde voor kenmerk : "$COMB$" (macro=$$$KenmCombine) - WaardeInput is een expressie die geëvalueerd wordt. +1 +Groep:%Library.String,Kenmerk:%Library.String,WaardeInput:%Library.String,Ref:%Library.String="Local",CompareType:%Library.String="E" + + + + + +Tellen van de producten in de @Ref +1 +code +Ref:%Library.String="Local" +%Library.Integer + + + + + +Geeft een array met de waarden van een kenmerk. +De waarden die nog mogelijk zijn worden met een 1 gemarkeerd. Het mogelijk zijn betekent dat er producten +geselecteerd zijn die die waarde hebben. +Indien Ref leeg is dan wordt er niet gecontroleerd of een waarde nog mogelijk is. +1 +code +Groep:%Library.String,Kenmerk:%Library.String,ValueRef:%Library.String="KenmerkVal",Ref:%Library.String="" + + + + + +Analoog aan SPKenmerkWaarden, maar deze geeft de lijst van de KenmerkWaarden terug als een $LB(). +1 +code + +%Library.List +0) lbValues=$$pkvSortedList(lbValues,MetaSort) + Do MetaObj.%Close() + Quit lbValues +pkvSortedList(lbToSort,lbBaseValues,AddUnsorted) + New lbNew,LenTS,i + Set lbNew="" + Set LenTS=$LL(lbToSort) + For i=1:1:$LL(lbBaseValues) Do:($LF(lbToSort,$LI(lbBaseValues,i))>0) + . Set lbNew=lbNew_$LB($LI(lbBaseValues,i)) + . Set:($LL(lbNew)=LenTS) i=$LL(lbBaseValues) ; Quit For-loop, want alle elementen van lbToSort zitten nu ook in lbNew + Quit:(+$G(AddUnsorted)=0) lbNew + ; Else Vreemde elementen (i.e. komen niet voor in lbBaseValues, maar wel in lbToSort) toevoegen aan lbNew + If $LL(lbNew) + + + +%Library.SQLQuery +paGroup:%Library.String +KortTekst AS PrOms, Product->ProductNr AS PrNr +FROM Prod_Kenmerk.DataIndex +WHERE (Groep = :paGroup) +ORDER BY PrNr]]> + + + + + +%Library.SQLQuery +SELECT Product, ID, Groep, Kenmerk, Waarde +FROM Prod_Kenmerk.DataIndex +ORDER BY Waarde + + + + + +%Library.CacheStorage +^Prod.Ken.DataIndexD +^Prod.Ken.DataIndexD +^Prod.Ken.DataIndexI +^Prod.Ken.DataIndexS + +%%CLASSNAME +node +0 + + + + Index: _vhisie/TBX/tmpCacheUpdateH.js =================================================================== diff -u --- _vhisie/TBX/tmpCacheUpdateH.js (revision 0) +++ _vhisie/TBX/tmpCacheUpdateH.js (revision 2) @@ -0,0 +1,173 @@ + +function TestAlertH () { + alert("Test html value 006"); +} + + + + +// function Number_toFixed(d) +if (typeof(Number)!='undefined'&&typeof(Number.prototype)!='undefined'){ + if (typeof(Number.prototype.toFixed)=='undefined'){ + function Number_toFixed(d) { + var n = this; + d = d || 2; + var f = Math.pow(10, d); + n = Math.round(n * f) / f; + n += Math.pow(10, - (d + 1)); + n += ''; + return (d==0 ? n.substring(0, n.indexOf('.')) : n.substring(0, n.indexOf('.') + d + 1)); + } + Number.prototype.toFixed = Number_toFixed; + } +} + +function RightStr (str, nChar) { + return str.substr(str.length-nChar, nChar); +} + +function isNumberInt(inputString) { + return (!isNaN(parseInt(inputString)) ? true : false); +} + +function MinVal(num1,num2) { + return (num1>num2 ? num2: num1); +} + +function MaxVal(num1,num2) { + return (num1 -1) return true; + return false; + } + var exists = false; + for (var i=0;i<=objList.options.length-1;i++) { + if (text == objList.options[i].text) exists = true; + } + if (exists) return; + if (navigator.appName != "Netscape") { + var oOption = document.createElement("OPTION"); + oOption.text = text; + oOption.value = value; + objList.add(oOption); + } else { + objList.options[objList.length] = new Option(text, value); + } +} +function UpdateCboItems (ComboName, ItemsList, Delim) { + var oCombo=document.getElementById(ComboName); + var oOpt,blnDisabled; + var blnAll = (ItemsList.replace(Delim,"")=="*"); + var ItemsList=Delim+ItemsList+Delim; + for (var i=0;i<=oCombo.options.length-1;i++) { + oOpt=oCombo.options[i]; + blnDisabled = (!blnAll) && (ItemsList.indexOf(Delim+oOpt.value+Delim) < 0); + oOpt.style.color=(blnDisabled ? ColorOptDisabled : ""); + oOpt.disabled=blnDisabled; + } +} +// Operations on Controls (such as Input Text/Option/CheckBox/...) +// ================================================================ + +function GetValTxt (FldName) { + var obj=document.getElementById(FldName); + if (!obj) return(""); + return (obj.value=="" ? "" : obj.value); +} + +function GetValChk (FldName) { // returns boolean (true/false) + var obj=document.getElementById(FldName); + if (!obj) return(""); + return obj.checked; +} + +function SetValTxt (FldName,NewVal) { + var obj=document.getElementById(FldName); + if (NewVal==undefined) NewVal=""; + if (obj) obj.value=NewVal; +} + +function SetValChk (FldName,blnVal) { + var obj=document.getElementById(FldName); + if (blnVal==undefined) blnVal=false; + if (obj) obj.checked=blnVal; +} + +function GetValCbo (FldName) { + var obj=document.getElementById(FldName); + if (!obj) return(""); + return ( (obj.selectedIndex < 0) ? "" : obj.options[obj.selectedIndex].value); +} + +function SetValCbo (FldName,NewVal) { + var obj=document.getElementById(FldName); + if (NewVal==undefined) NewVal=""; + if (obj) cspSetSelectValue (obj,NewVal); +} + +function SafeFocusSet (obj,blnMsg) { + if (!obj) return false; + try { obj.focus(); } + catch (exception) { + if (blnMsg) alert("Could not set focus to " + obj + " \"" + obj.id + "\""); + return false; + } + return true; +} + + +// Routines for Cach� compatibility +// ================================ + +function DollarGet (Val,Dfl) { + return (Val==undefined ? "" : Val); +// return (Val==undefined ? (Dfl || "") : Val); +} + +function cArrayToPieces (ar1dim,D) { + if (ar1dim[0]==undefined) ar1dim.shift(); // Eerste element weghalen + return ar1dim.join(D); +} + +function cPiecesToArray (sList,D) { + if (sList==undefined) return ""; + return sList.split(D); +} + Index: ProdCataloogCNTs.inc.rou =================================================================== diff -u --- ProdCataloogCNTs.inc.rou (revision 0) +++ ProdCataloogCNTs.inc.rou (revision 2) @@ -0,0 +1,20 @@ + ;Init CNTs: producten treeview data + #Define ptdInterfaceData 1 + #Define ptdRawData 2 + + ;CNTs voor gebruik bij Local property (array) + #Define ldKenmerkLabel 1 + #Define ldKenmerkSortBtn 2 + #Define ldKenmerkCombo 3 + #Define ldKenmerkEdit 4 + #Define ldListPump 5 + #Define ldListSort 6 + + ;Kenmerkinformatie + #Define kiMultiple 1 + #Define kiMultipleMax 2 + #Define kiMultipleDisplay 3 + + ;Language Component + #Define lcEdit 1 + #Define lcLabel 2 \ No newline at end of file Index: DW/WWW/TalenDef.cls.xml =================================================================== diff -u --- DW/WWW/TalenDef.cls.xml (revision 0) +++ DW/WWW/TalenDef.cls.xml (revision 2) @@ -0,0 +1,43 @@ + + + +persistent +TalenDef +%Persistent +0 + + + +Taal van webpagina +%Library.String + + + + +Te zoeken string in url om taal te bepalen +%Library.String + + + +%Library.CacheStorage +^DW.WWW.TalenDefD +TalenDefDefaultData +^DW.WWW.TalenDefD +^DW.WWW.TalenDefI +^DW.WWW.TalenDefS + +listnode + + +%%CLASSNAME + + +Taal + + +ZoekString + + + + + Index: WS/PR/KADWebSoap.cls.xml =================================================================== diff -u --- WS/PR/KADWebSoap.cls.xml (revision 0) +++ WS/PR/KADWebSoap.cls.xml (revision 2) @@ -0,0 +1,61 @@ + + + +%SOAP.WebClient,WS.SOAPClientExt +0 + + + +This is the URL used to access the web service. +http://cache02/csp/admin1/WS.PR.KADWeb.cls + + + + +This is the namespace used by the Service +http://tempuri.org + + + + +This is the name of the Service +PR.KADWeb + + + +1 +1 +%String +1 +document +literal + + + + +1 +Aantal:%Integer,MuntCode:%String,ProfType:%String,Hoogte:%xsd.double,Breedte:%xsd.double,Beslag:%String,QtyBeslag:%Integer,QtyGlasBoor:%Integer,QtyProf1:%String,QtyProf2:%String,QtyProf3:%String,QtyProf4:%String,Vulling:%String,VullingExtra:%String,KlantID:%String,Opties:%String +1 +%xsd.double +1 +document +literal + + + + + +%Boolean + + + + Index: _vhisie/TBX/TBoxWizMaten.js =================================================================== diff -u --- _vhisie/TBX/TBoxWizMaten.js (revision 0) +++ _vhisie/TBX/TBoxWizMaten.js (revision 2) @@ -0,0 +1,1526 @@ + + +/* +// General variabels: +var arMData=Array(); +var arMErrs=Array(); +*/ + +// Constants: +var blnForceFill=false; +var blnSyncBtn=false; +var blnValidateInput=true; +var blnSyncBoxside=true; +var blnWithDFLs=true; +var LTFieldName="cboLadeType"; +var LDFieldName="cboDiepte"; +var DKFieldName="cboGewicht"; +var FBFieldName="cboFBevest"; +var BSFieldName="cboBoxside"; +var BGRPFieldName="cboBinnenGreep"; +var SPZKFieldName="cboSPZijkant"; +var FSFieldName="cboFrontSteun"; +var DWVFieldName="cboDwarsVd"; +var StdLadeFieldName="chkStdLade"; +var ColorOptDisabled="#dddddd"; +var CodeBinMaat="Bin."; +var CodeStdLade="Std"; +var BulkVPKCodeDFL="O"; +var BulkMinQtyDFL=20; +var cMsgMoreInfoShow="Click text label for more info"; +var MaxWSLines=50; //15; +var msgMaxLinesReached; + +var tmpRowErrs=Array(); +var arMTableDefs=Array(); +var arMColDefs=Array(); +var arDflMCols=Array(); +var DflMRow; +var CurIndex; +var MaxIndex; +var OffsetMRow; +var CBBinBuit; +var MErrColNr; // ColNr van de Error Images + +function jsVTL(Intern,Taal,TextType) { + // !!! jsArVTL must be a GLOBAL array variable !!! + TextType = TextType || "O"; + Taal = Taal || ActiveTaal; + var Val = jsArVTL[Intern+"#"+Taal+"-"+TextType]; + if (Val=="~") return ""; + return ( (Val=="" || isUndef(Val)) ? Intern+" (js:"+TextType+"-"+Taal+")" : Val); +} +// jsVTL(""); // + +function GetBulkVPKCode() { + return (!isUndef(BulkVPKCode) ? BulkVPKCode : BulkVPKCodeDFL); +} +function GetBulkMinQty() { + return (!isUndef(BulkMinQty) ? BulkMinQty : BulkMinQtyDFL); +} + +var winInfoHelp; +function ShowInfo (SubjCode,InfoDC) { + if (isUndef(InfoDC)) InfoDC=DC; + InfoDC=(InfoDC=="I" ? "_I" : (InfoDC=="A" ? "_A" : "")); + var sHRef=("Help/InfoHelp"+SubjCode+InfoDC+(ActiveTaal ? "_"+ActiveTaal : "")+".htm"); + var sTarget="winInfoHelp"; + winInfoHelp=window.open(sHRef, sTarget, GetSettings("M_INFO")); + try { winInfoHelp.focus(); } + catch (exception) { } // alert(" focus: " + String(exception.name + " - " + exception.message)); +} + +var winInfoLT; +function ShowInfoLT (FileNameSuffix) { + var sHRef; + if (DC=="xI") { sHRef="media/BonTBX LMC" + (ActiveTaal ? "_"+ActiveTaal : "") + ".pdf"; } + else { + if (isUndef(FileNameSuffix)) FileNameSuffix=""; + sHRef="Help/InfoSelectLT" + (DC=="I" ? "_I" : (DC=="A" ? "_A" : "")) + FileNameSuffix + (ActiveTaal ? "_"+ActiveTaal : "") + ".htm"; + } + var sTarget="winInfoLT"; + winInfoLT=window.open(sHRef, sTarget, GetSettings("M_INFO",{w:550, h:620})); + winInfoLT.opener=window; + winInfoLT.FeedBackFld=document.getElementById(LTFieldName); + try { winInfoLT.focus(); } + catch (exception) { } // alert(" focus: " + String(exception.name + " - " + exception.message)); +} + +var winInfoSPZK; +function ShowInfoSPZK (param) { + if (isUndef(param)) param=""; + var arFlds=Array(); + GetFieldsMaten(arFlds); + if ( ( ! DollarGet(arFlds["CB"]) > 0 ) && (! DollarGet(arFlds["LD"]) > 0 ) ) { + msg="'Drawer width' must contain a positive value."; + alert (msg); + return; + } + // Else + var QS="Taal="+ActiveTaal+"&SPZK="+arFlds["SPZK"]+"&DC="+DC+"&LCODE="+arFlds["LT"]+"&LD="+arFlds["LD"]+"&CB="+arFlds["CB"]+(arFlds["WD"]==CodeBinMaat ? "" : "&WD="+arFlds["WD"]); + var sHRef=(TestHTMLWiz() ? "SelectSPZK.htm" : "SelectSPZK.csp?"+QS); + var sTarget="winInfoSPZK"; + winInfoSPZK=window.open(sHRef, sTarget, GetSettings("M_INFO",{w:800, h:750})); + winInfoSPZK.opener=window; + winInfoSPZK.FeedBackFld=document.getElementById(SPZKFieldName); + winInfoSPZK.focus(); +} +function UpdateSPZK (SPZK) { + if (isUndef(SPZK)) return ; + SetFieldsMatenSPZK(SPZK); +} + +var winDynSpace; +function ShowDynSpace (DynSCode) { + var arFlds=Array(); + GetFieldsMaten(arFlds); + //if (AllMFieldsEmpty(arFlds)) { alert ("Kies een LadeType"); return; } + var sInit=cMDRowToDelim(arFlds,0); + //var sKlr=cKleurKeuzeToDelim(); + var OLProdNr=DollarGet(arFlds["OLP"]); + var sProdNr=(OLProdNr>0 ? "&PRNr="+OLProdNr : ""); + var sAnchor=(OLProdNr>0 ? "#PR"+OLProdNr : ""); + var sHRef=(TestHTMLWiz() ? "SelectOLProd.htm" : "SelectOLProd.csp") +"?data="+sInit+"&DynSpace="+DynSCode + sProdNr + sAnchor; // +"&klr="+sKlr + var sTarget="winDynSpace"; + winDynSpace=window.open(sHRef, sTarget, GetSettings("M_INFO",{w:650, h:600})); + winDynSpace.opener=window; + //winDynSpace.FeedBackFld=document.getElementById("txtOLProdCode"); + winDynSpace.focus(); +} +function UpdateDynSpace (args) { + var OLProdNr=args; + var OLPcode=OLProdCodeFromPRNr(OLProdNr); + SetValTxt("txtOLProduct", OLProdNr); + SetValTxt("txtOLProdCode", OLPcode); + SetValChk ("chkOLProduct",(OLPcode=="" ? false :true)); +} +function OLProdCodeFromPRNr (PRNr) { + if (!PRNr) return ""; + return cspOLProdCode(PRNr); +/* + switch (PRNr) { + case "104390" : return "BK503016"; break; + case "104391" : return "BK504016"; break; + default : break; + } + return "OL.c" + PRNr; +*/ +} +function btnOLProdWisClick (PRNr) { + UpdateDynSpace (""); +} + + +var winStdLade; +function ShowStdLade (SubjCode) { + var arFlds=Array(); + GetFieldsMaten(arFlds); + //if (AllMFieldsEmpty(arFlds)) { alert ("Kies een LadeType"); return; } + var sInit=cMDRowToDelim(arFlds,0); + var sKlr=cKleurKeuzeToDelim(); + var sHRef=(TestHTMLWiz() ? "SelectStdLade.htm" : "SelectStdLade.csp?data="+sInit+"&klr="+sKlr); + var sTarget="winStdLade"; + winStdLade=window.open(sHRef, sTarget, GetSettings("M_INFO",{w:590, h:660})); + winStdLade.opener=window; + winStdLade.FeedBackFld=document.getElementById(LTFieldName); + winStdLade.focus(); +} +function UpdateStdLade (args) { + var pdlMData=args; + var blnSetStd; + blnSetStd = (pdlMData.length>0); + var arFlds=Array(); + var LijnNr=cDelimToMDRowFlds(pdlMData, null, arFlds); + SetStdLadeValue (blnSetStd); + if (LijnNr=="") blnSetStd=false; + else { + if (true && (arFlds["AANT"] > 0)) { + // Auto-Add row to MData + if (AddLinesDisabled()) { + alert(msgMaxLinesReached); + return; + } + var UpdatedIndex=InputUpdateMDRow (arFlds); + MScrollIntoView(UpdatedIndex); + } else { + // Fill in the fields. User must click to "Add/Modify"button. + SetFieldsMaten(arFlds); + InputClearErrors(); + var arErrs=InputValidateMDRow(arFlds); + if (arErrs.length>0) { +// alert(jsVTL("jsFoutieveIngave")); // "Onjuiste gegevens bij de \"ingave\"." + InputMarkErrors(arErrs); + } + winStdLade.FeedBackFld=document.getElementById("txtAantal"); + } + } +} +function CheckAllowEdit () { + SafeFocusSet (document.getElementById("txtAantal")); + msg=jsVTL("jsStdLInputLocked"); // "Editing is not allowed for \"Standard Measures\"" + alert (msg); +} +function SetOnFocusEvents (blnAllowEdit) { + var obj; + function SetOnObj (objName) { + obj=document.getElementById(objName); + if (obj) obj.onfocus=(blnAllowEdit ? CheckAllowEdit : ""); + } + function SetClassOnObj (objName) { + obj=document.getElementById(objName); + if (obj) obj.className="clsInputBtnCommon clsInputStdL" + (blnAllowEdit ? "" : "Gray"); + } + SetOnObj (BSFieldName); + SetOnObj ("txtCBreedte"); + SetOnObj ("txtWandDikte"); + SetOnObj (LDFieldName); + SetOnObj (DKFieldName); + SetOnObj (SPZKFieldName); + SetOnObj ("txtSPZK"); +// SetOnObj (FBFieldName); + SetOnObj ("chkBlumotion"); + SetOnObj ("chkTipon"); + SetOnObj ("chkStabilisator"); +// SetOnObj ("optBM_I"); SetOnObj ("optBM_T"); SetOnObj ("optBM_Z"); + SetOnObj (BGRPFieldName); + SetOnObj ("cboAntiSlipMat"); + SetOnObj ("chkOpvullijstLi"); + SetOnObj ("chkOpvullijstRe"); + SetOnObj ("chkCB_Buitenm"); + SetOnObj ("chkCB_Binnenm"); + SetOnObj (FSFieldName); + SetOnObj (DWVFieldName); + SetClassOnObj ("btnInputResetStdL"); +} + +function MValToChk (sVal) { // returns boolean (true/false) + return (sVal=="v" ? true : false); +} +function ChkToMVal (blnChk) { // returns string ("v"/"") + return (blnChk ? "v" : ""); +} +function SetMatenChk (FldName,sVal) { + SetValChk (FldName,MValToChk(sVal)); +} +function GetMatenChk (FldName) { + return ChkToMVal(GetValChk(FldName)); +} + +function DeleteDataRow (Index) { +// Geeft als result true/false terug, naargelang een rij verwijderd is. + if(isUndef(arMData[Index])) { + alert("Delete Data : Row undef"); + return false; + } + var tmpAr=arMData.splice(Index,1); // Delete row at Index + if (arMErrs && (!isUndef(arMErrs[Index]))) tmpAr=arMErrs.splice(Index,1); // Delete row at Index + arModified["MData"]=true; + return true; +} + +function GetDataRow (Index,blnAlert) { +// Geeft arFlds (d.i. 1-dim array) terug. + if(isUndef(arMData[Index])) { + if (blnAlert!=false) alert("GetDataRow undef"); + return(null); + } + return (arMData[Index]); +} + +function UpdateDataRow (Index,arFlds) { + if (!arFlds) return; + arMData[Index]=arFlds; + arModified["MData"]=true; +} + +function SetCellImageVisible(oCell, blnVisible) { + if (!oCell) return; + var ErrImg; + ErrImg=oCell.getElementsByTagName("IMG"); + if (ErrImg.length && ErrImg[0]) ErrImg[0].style.visibility=(blnVisible ? "visible" : "hidden"); +} + +function UpdateTableRowErrors (Index, TableID, ColNr, blnVisible) { + OffsetRow=(TableID=="tblMaten" ? OffsetMRow : 0); + var oRow=document.getElementById(TableID + "Row" + RightStr('00'+ArIndexToRowNr(Index,OffsetRow), 2)); + if (!oRow) return; + SetCellImageVisible (oRow.cells[ColNr], blnVisible); +} + +function UpdateTableRow (Index, arFlds, TableID, arColDefs) { + OffsetRow=(TableID=="tblMaten" ? OffsetMRow : 0); + var oRow=document.getElementById(TableID + "Row" + RightStr('00'+ArIndexToRowNr(Index,OffsetRow), 2)); + if (!oRow) return; + if (!arFlds) arFlds=GetDataRow (Index); + var ColDef; + var ColVal; + for (var i=0; imm'; break; + case "WD" : if (isNaN(ColVal)) str='
' + WDInfoTransform(ColVal) + '
'; + else str=ColVal + ' mm'; + break; + case "LD" : str=ColVal + ' mm'; break; + case "DK" : str=ColVal + ' kg'; break; + case "BX" : str=BXInfoTransform(ColVal); break; + case "FB" : str=FBInfoTransform(ColVal); break; + default : str=ColVal; break; + } + return (str); +} + +function SetFieldsMaten (arFlds) { + if (!arFlds) return; + SetValTxt("txtAantal",arFlds["AANT"]); + blnSyncBoxside=false; + SetLadeTypeValue(arFlds["LT"]); // SetValCbo(LTFieldName,arFlds["LT"]); // + Set related image. + blnSyncBoxside=true; + SetStdLadeValue (DollarGet(arFlds["STD"]).length>0); + SetValTxt("txtCBreedte",arFlds["CB"]); + SetValTxt("txtWandDikte",arFlds["WD"]); + var CBBinBuit=(arFlds["WD"]==CodeBinMaat ? "chkCB_Binnenm" : "chkCB_Buitenm"); + SetValChk(CBBinBuit,true); + chkCBBinBuitClick(CBBinBuit); +// SetValCbo(SPZKFieldName,arFlds["SPZK"]); + SetFieldsMatenSPZK(DollarGet(arFlds["SPZK"])); + SetValCbo("cboDiepte",arFlds["LD"]); + SetDraagKrachtValue(arFlds["DK"]); + SetFBevestValue(arFlds["FB"]); + SetBlumotionValue(arFlds["BM"]); // SetMatenChk("chkBlumotion",arFlds["BM"]); + SetBoxsideValue(arFlds["BX"]); + SetLadeImage (arFlds["LT"],arFlds["BX"]); + SetValCbo("cboAntiSlipMat",arFlds["ASM"]); + SetBinnenGreepValue(arFlds["BGRP"]); + SetMatenChk("chkStabilisator",arFlds["SB"]); + SetValCbo(FSFieldName,arFlds["FS"]); + SetValCbo(DWVFieldName,arFlds["DWV"]); + SetValTxt("txtVerpakking",arFlds["VPK"]); // SetMatenChk("chkBulkVPK",arFlds["VPK"]); // modified by WimV on 25/08/2009 + var OPVL=arFlds["OPVL"]; + if (isUndef(OPVL) || OPVL==null) OPVL=""; + SetValChk("chkOpvullijstLi",(OPVL.indexOf("L")>-1)); + SetValChk("chkOpvullijstRe",(OPVL.indexOf("R")>-1)); + UpdateDynSpace(arFlds["OLP"]); + SetValTxt("txtKlantRef",arFlds["KLANTREF"]); // Modified by WimV on 03/09/2009 +} + +function SetFieldsMatenSPZK(SPZK) { + SetValTxt("txtSPZK", SPZK); + var arSPZKValues=cPiecesToArray(SPZK,";"); + var i; + var Value=""; + var Param=""; + if (DollarGet(arSPZKValues[0]) != "") { + Value = jsVTL("jsWizMaten.SPZK_" + arSPZKValues[0]) + " "; + for (i=0; i<=3; i++) { + Param = "" ; + if (i==1) Param = " X: "; + if (i==2) Param = " Y: "; + if (i==3) Param = " Z: "; + if (DollarGet(arSPZKValues[i]) > 0) Value = Value + Param + arSPZKValues[i] + "mm" ; } + } + SetInnerHTML("txtSPZKDisplay",Value); +} + +function GetFieldsMaten (arFlds) { + if (!arFlds) arFlds=Array(); + arFlds["AANT"]=GetValTxt("txtAantal"); + if (!(arFlds["AANT"]=="" || isNaN(arFlds["AANT"]))) arFlds["AANT"]=parseInt(arFlds["AANT"]); + arFlds["LT"]=GetValCbo(LTFieldName); + arFlds["STD"]=(GetValChk(StdLadeFieldName) ? CodeStdLade : ""); + arFlds["CB"]=Math.round(GetValTxt("txtCBreedte")); + var WD=GetValTxt("txtWandDikte"); + if (WD.length && WD != CodeBinMaat) WD=Math.round(WD); + arFlds["WD"]=WD; // GetValTxt("txtWandDikte"); + arFlds["SPZK"]=GetValTxt("txtSPZK"); + //if (arFlds["SPZK"]=="M") arFlds["SPZK"]="M;"+; + arFlds["LD"]=GetValCbo(LDFieldName); + arFlds["DK"]=GetValCbo(DKFieldName); + arFlds["FB"]=GetValCbo(FBFieldName); + arFlds["BM"]=GetBlumotionValue(); // GetMatenChk("chkBlumotion"); + arFlds["BX"]=GetValCbo(BSFieldName); + arFlds["ASM"]=GetValCbo("cboAntiSlipMat"); + arFlds["BGRP"]=GetValCbo(BGRPFieldName); + arFlds["SB"]=GetMatenChk("chkStabilisator"); + arFlds["FS"]=GetValCbo(FSFieldName); + arFlds["DWV"]=GetValCbo(DWVFieldName); + arFlds["VPK"]=GetValTxt("txtVerpakking"); // arFlds["VPK"]=GetMatenChk("chkBulkVPK"); // Modified by WimV on 25/08/2009 + var OPVLLi=(GetValChk("chkOpvullijstLi")); + var OPVLRe=(GetValChk("chkOpvullijstRe")); + arFlds["OPVL"]=(OPVLLi?"L":"")+(OPVLLi && OPVLRe ?"+":"")+(OPVLRe?"R":""); + arFlds["OPVLLI"]=(OPVLLi?25:0); + arFlds["OPVLRE"]=(OPVLRe?25:0); + arFlds["OLP"]=GetValTxt("txtOLProduct"); + arFlds["KLANTREF"]=GetValTxt("txtKlantRef"); // Modified by WimV on 03/09/2009 +} + +function SetFieldsEmptyDFL(arFlds) { + /// Defaults for new order entry, i.e. when table contains no rows yet. + arFlds["BM"]=ChkToMVal(true); +// arFlds["WD"]=16; +} + +function GetMFldsDFL(arDFLs,DflMCols) { +// Neemt als defaults enkel de waarden over uit de default rij (DflMRow is globale variable). +// Vult de array arDFLs met deze waarden en geeft de terug via het funtion argument. +// bijvoorbeeld: DflMRow=0 en DflMCols =("WD","BM","ASM") --> de waarden voor WD, BM en ASM worden uit de eerste rij overgenomen als defaults. +// Afzonderlijke berekening voor FrontBevestiging. Deze loopt dus niet via de gewone defaulting. Zie GetDefaultFromData(); + if (!arDFLs) arDFLs=Array(); + var tmpFlds; + if (DflMCols && DflMCols.length && DflMRow >= 0) { + tmpFlds=GetDataRow (DflMRow,false); + if (tmpFlds) { + var ColDef; + for (var i=0; i-1) NewDFL=tmpDFL; + else if (DC=="I" && tmpDFL=="E" && AllowedItems.indexOf("I")>-1) NewDFL="I"; // EXPANDO --> INSERTA + else if (DC=="I" && tmpDFL=="I" && AllowedItems.indexOf("E")>-1) NewDFL="E"; // INSERTA --> EXPANDO + } + } +// NewDFL="A"; + } + if (ColDef=="BX") { + var tmpDFL; + for (var j=0; j-1) && (AllowedItems.indexOf(tmpDFL)>-1)) NewDFL=tmpDFL; // if (tmpDFL=="COV" || tmpDFL=="CAP" || tmpDFL=="BD" || tmpDFL=="BG") + } + } + } + if (NewDFL != "" && AllowedItems != "" && AllowedItems.indexOf(NewDFL)==-1) NewDFL=""; // Double check is better than returning invalid data + return (NewDFL); +} +function GetDefaultFromSettings(ColDef, AllowedItems) { +// Routine is NOT IN USE. Maybe later when the advanced customer-specific settings are available. +// Get Default value from the customer application settings, i.e. customer-specific settings +// ColDef is for example "FB" +// AllowedItems is a ";" separated text-list, leave blank to accept all DFL-values; if NewDFL is not in this list, NewDFL="" + var NewDFL=""; + if (ColDef=="FB") { +// NewDFL="S"; + } + if (NewDFL != "" && AllowedItems.indexOf(NewDFL)==-1) NewDFL=""; + return (NewDFL); +} + + +// ------------------------------------------------------------- +// Events for MOptions +function UpdateMOptionsFromKlr () { + // Get MOptionValues + var VPK=MOptionsGetValues("VPK"); if ((VPK=="No")||(VPK=="")) VPK="S"; + var pdlNietMee=MOptionsGetValues("NietMee"); + UpdateMOptionsSummary(pdlNietMee,VPK); + if (! isUndef(arPData)) arPData["NietMee"]=pdlNietMee; + +} + +function MOptionsGetValues (ColDef) { + if (arMData.length>0 && !isUndef(arMData[0])) { + // retrieve values from first Row of arMData or from global data + if (ColDef=="VPK" ) return DollarGet(arMData[0]["VPK"]); + if (ColDef=="NietMee") return DollarGet(arPData["NietMee"]); // or retrieve from first Row of arMData + } + else { + // Waarden overnemen van Defaults, enkel wanneer het order nog geen lijnen bevat + if (ColDef=="VPK" ) return DollarGet(arKlrValue["DFL_VPK"]); + if (ColDef=="NietMee") return cNietMeeToDelim(); + } +} + +function GetCtrlCaption (id,Default) { + var sTxt=GetInnerText(id); + if (sTxt=="") sTxt=Default; + return sTxt; +} + +function UpdateMOptionsSummary (pdlNietMee,VPK) { + var sHTML=""; + var sNietMee=""; + for (var i=0; i -1) sNietMee=sNietMee + (sNietMee.length ? ", " : "") + GetCtrlCaption("divMOptions_"+arNietMeeKeys[i], arNietMeeKeys[i]); // + GetCtrlCaption("chkDFL_"+arNietMeeKeys[i]); + } + if (VPK.length && VPK != "S") sHTML=sHTML + (sHTML.length ? "  |  " : "") + GetCtrlCaption("divMOptionsVerpakLbl","Verpakking") + ": " + "" + GetCtrlCaption("divMOPT_VPK_"+VPK, "Bulk-"+VPK) + ""; + if (sNietMee.length ) sHTML=sHTML + (sHTML.length ? "  |  " : "") + GetCtrlCaption("divMOptionsNietMeeLbl","Niet meeleveren") + ": " + "" + sNietMee + ""; + + /*** This version is used when edit options in Step 3 *** / + var sAppend="    " + GetInnerHTML("MOptionsSummaryEdit"); // InnerHTML is translation of : "Opties wijzigen"; + var sAppendText=GetInnerText("MOptionsSummaryEdit"); + if (sHTML.length) { + sHTML=sHTML + sAppend; + DivSetVisible("MOptionsSummaryLbl2",false); + DivSetVisible("MOptionsSummaryLbl" ,true ); + } + else { + sHTML=sAppend.replace(sAppendText,jsVTL("MOptionsInstellen",undefined,"L")); + DivSetVisible("MOptionsSummaryLbl" ,false); + DivSetVisible("MOptionsSummaryLbl2",true ); + } + /* */ + /*** This version is used when edit options in Step 2 ***/ + var sAppend=""; // "    " + GetInnerHTML("MOptionsSummaryEdit"); + sHTML=sHTML + sAppend; + DivSetVisible("MOptionsSummaryLbl2",false); + DivSetVisible("MOptionsSummaryLbl" ,(sHTML.length>0)); + /* */ + SetInnerHTML("MOptionsSummary", sHTML); +} + + /*** This version is used when edit options in Step 3 *** / +function BtnMOptionsEdit () { + ToggleMOptionsEditShow(true); + // Get MOptionValues + var VPK=MOptionsGetValues("VPK"); if ((VPK=="No")||(VPK=="")) VPK="S"; + var pdlNietMee=MOptionsGetValues("NietMee"); + // Set or update controls + for (var i=0; i -1)); } + SimulButtonClick("divMOPT_VPK_"+VPK,"MOPT_VPK"); +} + +function btnMOptionsEditCloseClick () { + // Cancel the changes in MOptionsEdit + BtnMOptionsEdit(); // this resets the controls + ToggleMOptionsEditShow(false); +} + +function btnMOptionsEditOKClick () { + // Confirmed changes in MOptionsEdit + // Read MOptionValues from controls + var pdlNietMee=""; + for (var i=0; i voorlopig niks dus + // Update InputData + MOptionsUpdateInputData(pdlNietMee,VPK); + UpdateMOptionsSummary(pdlNietMee,VPK); + ToggleMOptionsEditShow(false); +} + +function ToggleMOptionsEditShow (blnShowEdit) { + if (blnShowEdit) { + DivSetVisible("divMOptionsSummary",false); + DivSetVisible("divMOptionsEdit",true); + DivSetVisible("divMTableInput",false); + DivSetVisible("divMTableInputFake",true); + } + else { // Show input controls + DivSetVisible("divMOptionsEdit",false); + DivSetVisible("divMOptionsSummary",true); + DivSetVisible("divMTableInputFake",false); + DivSetVisible("divMTableInput",true); + } +} + /* */ + +function MOptionsUpdateInputData (pdlNietMee,VPK) { +// Update InputData after changing the MOptions controls + // Update all rows of arMData + var tmpErrs=Array(); + SetBulkVPKCode(VPK); + for (var j=0; jMaxCB) { + tmpErrs[i++]=FldKey; + tmpErrMsgs[FldKey]="'" + GetObjAttribValue("txtCBreedte","lbl","Width") + "' should be between "+MinCB+" and "+MaxCB+" (mm)"; // "Breedte moet tussen 200 en 1200 (mm) liggen."; + } + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- + FldKey="LD"; + Val=arFlds[FldKey]; + if (Val<100 || Val>1000) { + tmpErrs[i++]=FldKey; + tmpErrMsgs[FldKey]="'" + GetObjAttribValue("cboDiepte","lbl","Depth of drawer") + "' " + jsVTL("jsDVerplichtGegevenBis"); // is a required field; empty is not valid"; // "LadeDiepte is een verplicht gegeven."; + } + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- + FldKey="DK"; + Val=arFlds[FldKey]; +// if (Val=="" || "25;30;50;80".indexOf(Val)==-1) { + if (Val=="") { + tmpErrs[i++]=FldKey; + tmpErrMsgs[FldKey]="'" + GetObjAttribValue("cboGewicht","lbl","Weight/Load of drawer") + "' " + jsVTL("jsDVerplichtGegevenBis"); // is a required field; empty is not valid"; // "Draagkracht is een verplicht gegeven. \n"+ "(keuze uit 25, 30, 50, 80)."; + } + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- + FldKey="BX"; + Val=arFlds[FldKey]; + if (Val=="") { + tmpErrs[i++]=FldKey; + tmpErrMsgs[FldKey]="'" + GetObjAttribValue("cboBoxside","lbl","Boxside") + "' " + jsVTL("jsDVerplichtGegevenBis"); // is a required field; empty is not valid"; + } + else if (Val=="CAP" && arFlds["LD"] != 500) { + /* + tmpErrs[i++]=FldKey; + tmpErrMsgs[FldKey]="" + GetValCboText(BSFieldName) + " : " + GetObjAttribValue("cboDiepte","lbl","Depth of drawer") + " = 500mm."; // "Boxkap only for LadeDiepte = 500mm."; + */ + } + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- + FldKey="ASM"; + Val=arFlds[FldKey]; + if (TBKlasse.substr(0,2)=="SP" && Val=="") { + var msg=jsVTL("jsDAntislipmatSPB"); + alert(msg); + /* + var msg="'Antislipmat' is recommended for 'Spoelbaklade'. Return to data entry?"; + if (confirm(msg)==true) { + tmpErrs[i++]=FldKey; + tmpErrMsgs[FldKey]="'Antislipmat' is recommended for 'Spoelbaklade'"; + } + */ + } + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- + FldKey="BGRP"; + Val=arFlds[FldKey]; + if (Val=="") { + tmpErrs[i++]=FldKey; + tmpErrMsgs[FldKey]="'" + GetObjAttribValue("cboBinnenGreep","lbl","Handle") + "' " + jsVTL("jsDVerplichtGegevenBis"); // is a required field; empty is not valid"; + } + // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- + FldKey="VPK"; + Val=arFlds[FldKey]; + if (Val=="v" || Val==GetBulkVPKCode()) { + var m_BulkMinQty=GetBulkMinQty(); + // BulkMinQty does no longer apply to one single line. It should apply to the whole order, i.e. to the total qty of drawers. + // if (Qty>0 && Qty0) tmpErrs["msg"]=tmpErrMsgs; + return tmpErrs; +} + +function BlumotionOK(ValBM,ValDK) { + if (ValDK=="25") return false; + // else + return true; +} + +function StabilisatorOK(ValSB,ValLD,RugH,TBKlasse) { + if (DC=="B") return false; + if (ValLD !="" && ValLD < 450) return false; + if (RugH!="" && RugH.substring(0,1)!="C" && RugH!="M" && RugH!="B" && RugH!="D") return false; + if (TBKlasse != "L" && TBKlasse != "B") return false; // if (TBKlasse.substr(0,2)=="SP") return false; + // else + return true; +} + +function WandDikteOK(ValWD) { + if (isUndef(ValWD) || ValWD=="") return false; + if (ValWD==CodeBinMaat) return true; + if (isNaN(ValWD) || ValWD<0 || ValWD>100) return false; + // else + return true; +} + +function InputClearFields () { + var arEmpty=Array(); + var arMDfls=Array(); + SetFieldsMaten(arEmpty); + InputClearErrors(); + if (blnWithDFLs) { + GetMFldsDFL(arMDfls,arDflMCols); + SetFieldsMaten(arMDfls); + } + MatenFocusFirst(); +} + +function InputClearErrors() { + var coll = document.getElementsByTagName("IMG"); + if (coll!=null) { + for (var i=0; i < coll.length; i++) { + LoopID = DollarGet(coll[i].getAttribute('id')); + if (LoopID.indexOf("imgInputErr_")==0) { + // (obj, OnOff, ActiveButton, ClassNormal, ClassHiLite, [ClassActive]) + ToggleButtonXtd(coll[i], "OFF", "", "clsExclamHideImg", "clsExclamShowImg"); + } + } + } +} + +function InputMarkErrors(tmpErrs) { + var oImg; + tmpRowErrs=tmpErrs; + if (tmpErrs==cHyperEventError) return; + for (var i=0; i0); +} + +function MDataRowErrs(Index) { + // See if the line (row) is already marked as inconsistent data. + // In that case, get the error(s) from the arMErrs array + if (!arMErrs || arMErrs.length==0 || !arMErrs[Index]) return ""; + return arMErrs[Index]; //1-dim array +} + +function IndexOutOfRange(Index) { + if (isUndef(Index)) return true; + return (Index<0 || Index>MaxIndex); +} +function MaxWSLinesReached() { + return (MaxIndex >= MaxWSLines-1); +} +function AddLinesDisabled(Index) { + if (isUndef(Index)) Index=CurIndex; + return (IndexOutOfRange(Index) && MaxWSLinesReached()); +} + +function InputAddData() { + if (AddLinesDisabled()) { + alert(msgMaxLinesReached); + return; + } + // Defaulting voor BinnenGreep (enkel indien leeg) + SetBinnenGreepDFLonAdd(); + + var arFlds=Array(); + GetFieldsMaten(arFlds); + if (AllMFieldsEmpty(arFlds,true)) { + InputClearErrors(); + return; + } + if (!UpdateCtrlsFinal(arFlds)) return; + + var arErrs=InputValidateMDRow(arFlds); + if (arErrs.length>0) { + InputClearErrors(); + InputMarkErrors(arErrs); + return; + } + // else + var UpdatedIndex=InputUpdateMDRow (arFlds); + MScrollIntoView(UpdatedIndex); +} +function UpdateCtrlsFinal(arFlds) { + var NewDK=CheckDraagKracht(DollarGet(arFlds["DK"]), DollarGet(arFlds["LD"]), DollarGet(arFlds["BM"])); + if (NewDK=="") return (true); + if (arFlds["BM"]=="T") { + var msg=jsVTL("jsMCheckDKwithTipon"); + //var msg="De draagkracht bij ladediepte " + arFlds["LD"] + "mm met TIP-ON is beperkt tot : " + NewDK + "kg."; + //msg=msg + "\n" + "De waarde wordt automatisch aangepast."; + msg=msg.replace("270mm",arFlds["LD"] + "mm").replace("20kg",NewDK + "kg"); + alert(msg); + } + // Update data and controls: + arFlds["DK"]=NewDK; + SetDraagKrachtValue(NewDK); + return (true); +} +function InputValidateMDRow (arFlds) { + var arErrs=Array(); + if (blnValidateInput) { + arErrs=InputCheckData(arFlds); + if (arErrs.length==0) arErrs=CacheCheckMFlds(arFlds); + } + return arErrs; +} +function InputUpdateMDRow (arFlds) { +// Returns the ArIndex of the updated row + if (IndexOutOfRange(CurIndex)) CurIndex=MaxIndex+1; + arMErrs[CurIndex]=""; + UpdateDataRow(CurIndex,arFlds); + UpdateMTableRow(CurIndex,arFlds); + if (CurIndex > MaxIndex) MaxIndex=CurIndex; + var UpdatedIndex=CurIndex; + InputClearErrors(); + InputResetCtrls(); + CurIndex=MaxIndex+1; + return UpdatedIndex; +} + +function InputChgData(Index) { + if (IndexOutOfRange(Index)) { + CurIndex=-1; + InputResetCtrls(); + return; + } + var arFlds=Array(); + var tmpErrs=Array(); + CurIndex=Index; + arFlds=GetDataRow(CurIndex); + SetFieldsMaten(arFlds); + InputClearErrors(); + tmpErrs=MDataRowErrs(CurIndex); + if (tmpErrs.length>0) { + InputMarkErrors(tmpErrs); + } + if (arFlds) SetInnerHTML("btnInputAdd",jsVTL("Aanpassen",undefined,"L")); // "Aanpassen" +} + +function InputDelData(Index) { + if (IndexOutOfRange(Index)) { + CurIndex=-1; + } + else { // (Index>=0 && Index<=MaxIndex) + var msg=jsVTL("jsDeleteRow") + "\n" + jsVTL("jsDoorgaan") + "?"; // "De actieve lijn zal verwijderd worden. \n"+"Doorgaan?" + if (confirm(msg)==false) { + if (!blnSyncBtn || CurIndex != Index) ResetBtnsAct(CurIndex); + return; + } + // else + if (DeleteDataRow(Index)) { + MScrollIntoView (Index,true); // Updates MTable and scrolls row into view if necessary + MaxIndex=arMData.length-1; // =MaxIndex-1; + CurIndex=-1; + } + } + InputResetCtrls(); +} + +function btnMScrollClick(ButtonCode) { + MScrollNavTo (ButtonCode,false); +} +function MScrollIntoView(RowNr, blnForceUpdate) { + if (RowNr=="LAST") MScrollNavTo ("LAST",blnForceUpdate); + else if (isNaN(RowNr)) {} // Do nothing + else if (RowNr < arMTableDefs["FirstInView"]) { + OffsetMRow=RowNr-arMTableDefs["FirstInView"]; + MScrollNavTo ("SAME",true); + } + else if (RowNr > arMTableDefs["LastInView"]) { + OffsetMRow=RowNr-arMTableDefs["LastRowNr"]; + MScrollNavTo ("SAME",true); + } + else { + // RowNr is in view ==> update only if forced + if (blnForceUpdate) MScrollNavTo ("SAME",true); + else { + UpdateRowOffset (OffsetMRow); + UpdateMScrollNav(); + } + } +} +function MScrollNavTo(ButtonCode,blnForceUpdate) { + var NewOffset; + var MaxOffset=(MDOverflow() ? arMData.length-arMTableDefs["LastRowNr"]-1 : arMTableDefs["FirstRowNr"]); + switch (ButtonCode) { + case "FIRST" : NewOffset=arMTableDefs["FirstRowNr"]; break; + case "PREV" : NewOffset=MaxVal(OffsetMRow-1, arMTableDefs["FirstRowNr"]); break; + case "NEXT" : NewOffset=MinVal(OffsetMRow+1, MaxOffset); break; + case "LAST" : NewOffset=MaxOffset; break; + case "SAME" : NewOffset=MinVal( MaxVal(OffsetMRow,arMTableDefs["FirstRowNr"]), MaxOffset); break; + default : return; break; + } + if (blnForceUpdate || NewOffset !=OffsetMRow) { + arMTableDefs["OffsetRow"]=NewOffset; + OffsetMRow=NewOffset; + ClearMTable(); + UpdateMTable(); + } + UpdateRowOffset (OffsetMRow); + UpdateMScrollNav(); +} +function UpdateRowOffset(OffsetRow) { + arMTableDefs["OffsetRow"]=OffsetRow; + arMTableDefs["FirstInView"]=RowNrToArIndex(arMTableDefs["FirstRowNr"],OffsetRow); + arMTableDefs["LastInView"]=RowNrToArIndex(arMTableDefs["LastRowNr"],OffsetRow); + arMTableDefs["LastItemInView"]=(MDOverflow() ? arMTableDefs["LastInView"] : arMData.length-1); +} +function UpdateMScrollNav(blnForce) { + var First=arMTableDefs["FirstInView"]+1; + var Last=arMTableDefs["LastItemInView"]+1; + SetInnerHTML("lblMScrollRowView", First + (Last > First ? " - "+Last : "")); // + (arMData.length ? " /" + arMData.length : "") + SetInnerHTML("lblMScrollRowCnt", arMData.length); + MScrollEnabled(blnForce); +} +function MScrollEnabled (blnForce) { + var blnOverflow=MDOverflow(); + var blnIsIE=isIE(); + var oCell=document.getElementById("MScrollBtnCell"); + var collBtns; + if (!oCell) return; + if (blnForce || oCell.TagEnabled != blnOverflow) { + clsNew=(blnOverflow ? "clsMScrollBtnsAct" : "clsMScrollBtnsNAct"); + collBtns=oCell.getElementsByTagName("span"); + if (collBtns) { + for (i=0; i arMTableDefs["RowCnt"]); +} +function ArIndexToRowNr(ArIndex, OffsetRow) { + return ArIndex-OffsetRow; +} +function RowNrToArIndex(RowNr, OffsetRow) { + return RowNr+OffsetRow; +} + +function btnInputAddClick() { + InputAddData(); +} + +function btnInputChgClick(obj) { + if (!obj) return; + ClickButtonObj(obj, 'MRC'); + var objID=obj.getAttribute('id'); + var Index=parseInt(objID.replace("btnMRC","")); + if (isNaN(Index)) Index=-1; + if (Index>-1) Index=RowNrToArIndex(Index,OffsetMRow); + InputChgData(Index); +} + +function btnInputDelClick(obj) { + if (!obj) return; + ClickButtonObj(obj, 'MRD'); + var objID=obj.getAttribute('id'); + var Index=parseInt(objID.replace("btnMRD","")); + if (isNaN(Index)) Index=-1; + if (Index>-1) Index=RowNrToArIndex(Index,OffsetMRow); + InputDelData(Index); +} + +function SyncMButtons(NewButton,OldButton) { + if (NewButton==OldButton) return; + if (blnSyncBtn) { + // Keep btnChange and btnDel syncronized. + if (NewButton.indexOf("MRC")>-1) ClickButton(NewButton.replace("MRC","MRD"),"MRD"); + else ClickButton(NewButton.replace("MRD","MRC"),"MRC"); + } + else { + // Only btnChange OR btnDel can be high-lighted. Reset the other. + if (NewButton.indexOf("MRC")>-1) ClickButtonObjXtd("","MRD","arActBtn['MRD']"); + else ClickButtonObjXtd("","MRC","arActBtn['MRC']"); + } +} + +function chkCBBinBuitClick(id) { + var chk = document.getElementById(id); + if (!chk) return; + var grp=chk.parentNode; + if (grp && grp.tagName=='LABEL') grp=chk.parentNode.parentNode; + if (!grp || (grp.tagName != 'DIV')) return; + + var i; + var LoopID; + var coll = grp.getElementsByTagName("INPUT"); + if (coll!=null) { + for (i=0; i < coll.length; i++) { + LoopID = coll[i].getAttribute('id'); + if (LoopID==id) { + CBBinBuit=LoopID.replace("chkCB_",""); + coll[i].checked=true; + } + else { + coll[i].checked=false; + } + } + } + var txtWD = document.getElementById("txtWandDikte"); + var lblWDU = document.getElementById("lblWDUnit"); + if (CBBinBuit=="Binnenm") { + txtWD.className="clsInputWDBin"; + txtWD.disabled=true; + txtWD.value=CodeBinMaat; + lblWDU.innerHTML=WDInfoTransform(txtWD.value); // "["+ +"]"; + } + else { + txtWD.className="clsInputFieldTxt"; + txtWD.disabled=false; + if (txtWD.value==CodeBinMaat) txtWD.value=""; + lblWDU.innerHTML=" "+"mm"; + } +} + +function initMColDefs () { +// var oTbl=document.getElementById("tblMaten"); + arMColDefs=Array(); + arMColDefs[0]="LT"; + arMColDefs[1]="CB"; + arMColDefs[2]="WD"; + arMColDefs[3]="LD"; + arMColDefs[4]="DK"; + arMColDefs[5]="FB"; // "BM" + arMColDefs[6]="BX"; + arMColDefs[7]="DIV"; + arMColDefs[8]="AANT"; + arMColDefs[9]="ERR_IMG"; + + MErrColNr = 9; // ColNr van de Error Images +} + +function initMDefaults() { + DflMRow=0; + arDflMCols=Array("WD","BM","ASM"); // ,"LD"); + // FB : set default when changing cboLadeType. +} + +function initMTableDefs () { + arMTableDefs["FirstRowNr"]=0; + arMTableDefs["LastRowNr"]=(maxMRow || 8); // maxMRow is defined in Wizard.csp, if not then default 8 rows. + arMTableDefs["RowCnt"]=arMTableDefs["LastRowNr"]-arMTableDefs["FirstRowNr"]+1; + maxMRow=arMTableDefs["RowCnt"]; + OffsetMRow=arMTableDefs["FirstRowNr"]; + UpdateRowOffset (OffsetMRow); + UpdateMScrollNav(); +} + +function initInputData () { + msgMaxLinesReached=jsVTL("jsMaxLijnenStop") + "\n" + "Max. : " + MaxWSLines; + arMData=Array(); + MaxIndex=-1; + CurIndex=MaxIndex+1; +} + +function initCBBinBuit () { + CBBinBuit = 'Buitenm'; + chkCBBinBuitClick('chkCB_' + CBBinBuit); // zet initi�le waarde +} + +function MatenFocusFirst () { + SafeFocusSet (document.getElementById(LTFieldName)); +} + +function MCheckSyncKlrOK () { + if (!arMData || arMData.length==0) { + arMErrs=Array(); + MDataSyncKlr=true; + return true; + } + // else // alert ("kleurkeuze gewijzigd. Controle van de data..."); + arMErrs=CacheCheckData(arMData); + MDataSyncKlr=true; + if (arMErrs==cHyperEventError) return false; + for (var i=0; i0) return false; + } + return true; +} + +function MShowSyncErrMsg () { + var msg=""; + for (var i=0; i0) { msg=msg + " - " + jsVTL("jsOpLijn") + " " + (i+1) + "" + "\n"; } // "op lijn " + } + if (msg.length) { + msg=jsVTL("jsInconsistenteLijnen") + ":" + "\n" + + msg + "\n" + + jsVTL("jsLijnenAangeduid") + "." + "\n" + + jsVTL("jsDrukOpWijzig") + "."; +/* + msg="Sommige lijnen bevatten inconsistenties:" + "\n" + + msg + "\n" + + "Deze lijn wordt gemarkeerd met een img. " + "\n" + + "Druk op \"Wijzig\" om de gegevens te corrigeren."; +*/ + alert (msg); + } +} + +function MCheckSyncKlr () { + var blnDlfChanged=true; // Temporary test from here. + if (MDataSyncKlr || blnDlfChanged) InputResetCtrls(); + if (MDataSyncKlr) return; +// InputResetCtrls(); + var blnSyncOK; + blnSyncOK=MCheckSyncKlrOK(); + UpdateMTableErrors(); + if (blnSyncOK) return; + // else + MShowSyncErrMsg(); +} + +function MUpdateChoices () { +// SetDSFromLadeKlr(); // Set DS, it is a global variable + DS=DollarGet(arKlrValue["DS"]); // Set DS, it is a global variable + DC=DollarGet(arKlrValue["DC"]); // Set DC, it is a global variable + UpdateLTChoices(DS); + UpdateBMChoices(DC); + UpdateBXChoicesFromDesign(DC); + SetVulstukKleur(); + UpdateMOptionsFromKlr(); +} + +function MatenBtnClick () { + MUpdateChoices(); + MCheckSyncKlr(); + MatenFocusFirst(); + UpdateRowOffset (OffsetMRow); + UpdateMScrollNav(true); +} + +function SetMData () { + if (arMData.length) { + MaxIndex=arMData.length-1; + CurIndex=MaxIndex+1; + MDataSyncKlr=false; // ==> MCheckSyncKlr(); + } else { + initInputData(); + MDataSyncKlr=true; + } + ClearMTable(); + UpdateMTable(); +} + +function tmpConvertMDataRow (InFlds) { + if (!InFlds) return ""; + var ColDef; + var arErrs; + var OutFlds=Array(); + + var arColDefsTmp=Array(); + arColDefsTmp[11]="SB"; + arColDefsTmp[12]="OPVL"; + arColDefsTmp[13]="SPZK"; + arColDefsTmp[14]="STD"; + arColDefsTmp[15]="VPK"; + arColDefsTmp[16]="FS"; + arColDefsTmp[17]="DWV"; + + for (var i=0; iopvullijst:L+R
met stabilisator
bulk verpakt
grijze mat", 1, null, "|", null, null, "B"); + tmpData[i++]=Array("D", 800, 16, 450, 50, null, "ER", "brede zijstukken
opvullijst:L+R", 17, null, "|", "v", "R", "B", CodeStdLade, "v"); +// tmpData[i++]=Array("D", 900,CodeBinMaat, 500, 30, "v", "BD", null, 17, null, "|", "v", "L+R", null); +// tmpData[i++]=Array("B", 800, 16, 500, 50, null, "ER", null, 16, null, "|", null, null, null); + + var tmpData2=Array(); + for (var j=0; j0) return; + arMData=tmpGetDefaultData(); + UpdateRowOffset(OffsetMRow); + UpdateMScrollNav(); + SetMData(); +} + +function CalcInterneBreedte(CB , WD , OPVLLI , OPVLRE , MTIB ) +{ CB = ValueAsFloat(CB) ; WD = ValueAsFloat(WD) ; + OPVLLI = ValueAsFloat(OPVLLI) ; OPVLRE = ValueAsFloat(OPVLRE) ; + MTIB = ValueAsFloat(MTIB) ; + var result = CB - (2*WD) - (OPVLLI+OPVLRE) - MTIB ; + return result; +} + +function BreedteInternFromSPZK(SPZK) +{ var result = 0 ; + var Uitspr = 0 ; + var arrSPZK = cPiecesToArray(SPZK,";") ; + if ( arrSPZK[2] > 0 ) { Uitspr++ ; } + if ( arrSPZK[3] > 0 ) { Uitspr++ ; } + for (i=1;i<=3;i++) { result = result + ValueAsFloat(arrSPZK[i]) ; } + result = result + ValueAsFloat(119*ValueAsFloat(Uitspr)) ; + return result ; +} + +function initMaten () { + initInputData(); + initMTableDefs(); + initMColDefs(); + initMDefaults(); + initCBBinBuit(); + + // Temporary Data: + if (TestHTMLWiz() || blnForceFill) tmpDefaultData(); +} Index: DW/WWW/StaticSessDur.cls.xml =================================================================== diff -u --- DW/WWW/StaticSessDur.cls.xml (revision 0) +++ DW/WWW/StaticSessDur.cls.xml (revision 2) @@ -0,0 +1,49 @@ + + + +persistent +1 +%Persistent +0 + + +%String + + + +%String + + + +%String + + + +%Library.CacheStorage +^DW.WWW.StaticSessDurD +StaticSessDurDefaultData +^DW.WWW.StaticSessDurD +^DW.WWW.StaticSessDurI +^DW.WWW.StaticSessDurS + +listnode + + +%%CLASSNAME + + +Duur + + +Sessie + + +SessieID + + +Site + + + + + Index: Res/Munt.cls.xml =================================================================== diff -u --- Res/Munt.cls.xml (revision 0) +++ Res/Munt.cls.xml (revision 2) @@ -0,0 +1,180 @@ + + + +persistent +DataM +%Library.Persistent + + +%Library.Integer + + + +%Library.Integer + + + + +Koers aankoop programma's +%Library.Float + + + + +Koers financiële programma's +%Library.Float + + + + +Koers verkoop programma's +%Library.Float + + + +%Library.String + + + + +Officiële muntcode +%Library.String + + + + +%Library.String + + + + +Uniekheid index voor property MuntCode +1 +1 +MuntCode +1 + + + + +Ophalen van de basismunt object +1 +expression +%Library.String + + + + + +Ophalen van de basismunt object +1 +expression +Res.Munt + + + + + +Omzetting van een bedrag in deze munt naar de basismunt + +NoSa : "N" : Standaard munt +"S" : Schaduw munt + +Optie +"A" = Aankoop +"V" = Verkoop +"F" = Financieel +Bedrag:%Library.Float=1,Optie:%Library.String="V",NoSa:%Library.String="N" +%Library.Float + + + + + +Omzetting van een bedrag in de basismunt naar deze munt + +NoSa : "N" : Standaard munt +"S" : Schaduw munt + +Optie +"A" = Aankoop +"V" = Verkoop +"F" = Financieel +in combinatie met Optie="I" +Bedrag:%Library.Float=1,Optie:%Library.String="V",NoSa:%Library.String="N" +%Library.Float + + + + + +Ophalen van alle MuntKodes +%Library.SQLQuery +() +SELECT MuntCode, OffMuntCode, Omschrijving +FROM Res.Munt +ORDER BY OffMuntCode + + + + + + +%Library.CacheSQLStorage +^Res.MuntS + +data +^KBA +delimited + +"11" + + +{MuntCode} + + +"\" +7 + + +"\" +3 + + +"\" +4 + + +"\" +6 + + +"\" +5 + + +"\" +1 + + +"\" +2 + + + + + Index: Prod/GAMeta/BT/TBDwarsVerdeling.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBDwarsVerdeling.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBDwarsVerdeling.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBDWV") +TBDwarsVerdelingDefaultData +^Res.PI.Items("PR;GA;TBDWV") +^Res.PI.Items("index","PR;GA;TBDWV") +^Res.PI.Items("stream","PR;GA;TBDWV") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: BL/Prod/GAData/TBXLadeXML/pxEDIOrder.cls.xml =================================================================== diff -u --- BL/Prod/GAData/TBXLadeXML/pxEDIOrder.cls.xml (revision 0) +++ BL/Prod/GAData/TBXLadeXML/pxEDIOrder.cls.xml (revision 2) @@ -0,0 +1,207 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + + +ID van het object +%Integer +1 + + + + +%String +1 + + + + + +Taal van de aanvrager +%String + + + + +%String + + + + +%String + + + + +%String +1 + + + + +%String +1 + + + + +%String +1 + + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +BL.Prod.GAData.TBXLadeXML.pxAttribMunt +1 + + + + +BL.Prod.GAData.TBXLadeXML.pxAttribMunt +1 + + + + +%String +1 + + + + +%String + + + + +%String + + + + + + +%String + + + + + + + +De optie Niet Meeleveren wordt toegepast op alle lijnen van het order. Vandaar als propt. van de hoofding i.p.v. de lijnen +Bevat ";"-gescheiden waarden : bvb. "NMCP;NMAK" +Uitzondering voor NMFB : Frontbevestiging niet meeleveren wordt per lijn gekozen : oLijn.ItemFB="NM" +%String + + + + + +%String + + + + +%String + + + + +%String + + + + + +Laatste tijdstip van SubmitToVHEPN acties: +Format: $LB($LB($H,info),$LB(prev $H, ...), ...) +Bij een nieuwe SubmitToVHEPN wordt de log steeds vooraan toegevoegd. Gebruik hiervoor de method AddToSubmitToVHLog() +%String + + + + +pxEDIOrderLijn +list + + + + + +%String +list + + + + + + + + + Index: _vhisie/TBX/ValidateBTW.js =================================================================== diff -u --- _vhisie/TBX/ValidateBTW.js (revision 0) +++ _vhisie/TBX/ValidateBTW.js (revision 2) @@ -0,0 +1,18 @@ + +function IsValidBTW (strBTW) { + var MatchBTW_BE = /^(BE[- .]?\d{3}[- .]?\d{3}[- .]?\d{3})$/i ; + var MatchBTW_NL = /^(NL[- .]?\d{3}[- .]?\d{3}[- .]?\d{3})$/i ; + var MatchBTW_NL2= /^(NL[- .]?\d{3}[- .]?\d{3}[- .]?\d{3}[- .]?B0[1-9])$/i ; + var MatchBTW_NL3= /^(NL[- .]?\d{4}[- .]?\d{1}[- .]?\d{4}[- .]?B0[1-9])$/i ; + var MatchBTW_NL4= /^(NL[- .]?\d{4}[- .]?\d{2}[- .]?\d{3}[- .]?B0[1-9])$/i ; + var MatchBTW_LU = /^(LU[- .]?\d{3}[- .]?\d{3}[- .]?\d{2})$/i ; + + if (MatchBTW_BE.test(strBTW)) return true; + if (MatchBTW_NL.test(strBTW)) return true; + if (MatchBTW_NL2.test(strBTW)) return true; + if (MatchBTW_NL3.test(strBTW)) return true; + if (MatchBTW_NL4.test(strBTW)) return true; + if (MatchBTW_LU.test(strBTW)) return true; + return false; +} + Index: APPS/TBXWeb.inc.rou =================================================================== diff -u --- APPS/TBXWeb.inc.rou (revision 0) +++ APPS/TBXWeb.inc.rou (revision 2) @@ -0,0 +1,14 @@ + /// Routine : APPS.TBXWeb.INC + /// + /// Author : Wim Vermeulen + /// Created : 18/10/2010 + /// + + +#include vhLib.Macro +#include %occInclude + +#Include APPS.TBXWeb.EMailAdressen +#Include APPS.TBXWeb.DomeinNamen + +#define Vertaling(%s,%t) ##class(Res.Vertaling).GetVertaling("TBW",%s,"L",%t) \ No newline at end of file Index: VHCtrlCNTs.inc.rou =================================================================== diff -u --- VHCtrlCNTs.inc.rou (revision 0) +++ VHCtrlCNTs.inc.rou (revision 2) @@ -0,0 +1,24 @@ + ;============================================================================================= + ; TEdit + ;============================================================================================= + + ;EDIT TYPEs + #Define etNone 0 + #Define etORef 1 + #Define etInteger 2 + #Define etFloat 3 + #Define etAlpha 4 + #Define etAlphaLowerCase 5 + #Define etAlphaUpperCase 6 + #Define etPattern 7 + #Define etUserDefinedSet 8 + #Define etCalc 9 + #Define etOwnerValidate 10 + + + ;MESSAGE ORIGINs + #Define moUser 1 + #Define moIntern 2 + #Define moBoth 3 + #Define moCode 4 + #Define moClear 5 \ No newline at end of file Index: DW/WWW/HTTPLogTBXDestil.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBXDestil.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBXDestil.cls.xml (revision 2) @@ -0,0 +1,163 @@ + + + + +Logging van www.destil.nl +persistent +1 +%Persistent +0 + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXDestilD +HTTPLogTBXDestilDefaultData +^DW.WWW.HTTPLogTBXDestilD +^DW.WWW.HTTPLogTBXDestilI +^DW.WWW.HTTPLogTBXDestilS + +listnode + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +Flag + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + + + + Index: csp/tbx/wizerror.cls.xml =================================================================== diff -u --- csp/tbx/wizerror.cls.xml (revision 0) +++ csp/tbx/wizerror.cls.xml (revision 2) @@ -0,0 +1,83 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
",! + Write $c(9,9,9,9)_"

"_(..WebTextValue("ErrWizOnverwachteStatus",Taal,"O"))_"

",! + Write $c(9,9,9)_"
",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
",! + Write $c(9,9,9,9)_"
",! + Write $c(9,9,9,9) + Write "
" + Write " " + Write "
" + Write !,$c(9,9,9,9)_"
",! + Write $c(9,9,9,9)_"

"_(..WebTextValue("ErrWizAutoReload",Taal,"O"))_"

",! + Write $c(9,9,9,9)_"
",! + Write $c(9,9,9,9)_"

"_(..WebTextValue("ErrWizUpdateCacheMan",Taal,"O"))_"

",! + Write $c(9,9,9,9)_"
",! + Write $c(9,9,9,9)_"

"_(..WebTextValue("ErrWizDoReport",Taal,"O"))_". " + Write "" + Write "Submit error" + Write "" + Write "

",! + Write $c(9,9,9,9)_"
",! + Write $c(9,9,9,9)_"

"_(..WebTextValue("ErrWizBackToMain",Taal,"O"))_"

",! + Write !,!,$c(9,9,9)_"
",! + Write "" +]]>
+
+ + +c:\cachesys\csp\vhisie\TBX\WizError.csp + + + +/vhisie/TBX/WizError.csp + + + +0 + + + +61649,48749 + + + +0 + +
+
Index: WS/TBX/CalcSoap/PeekServer.cls.xml =================================================================== diff -u --- WS/TBX/CalcSoap/PeekServer.cls.xml (revision 0) +++ WS/TBX/CalcSoap/PeekServer.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.TBX.CalcSoap + + +%Client,%Action +%Library.String +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + Index: Prod/GAMeta/BT/KostPlaats.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/KostPlaats.cls.xml (revision 0) +++ Prod/GAMeta/BT/KostPlaats.cls.xml (revision 2) @@ -0,0 +1,125 @@ + + + + +De werkelijke kost van een kostenplaats wordt berekend door: +WerkelijkeKost = KostBasis*ToeslagKleinVerlet*ToeslagGrootVerlet + +Bij nacalculatie wordt er gewerkt met netto tijden, hierin is het kleinverlet reeds opgenomen +en moet er alleen rekening gehouden worden met het GrootVerlet. +NacalcKost = KostBasis*ToeslagGrootVerlet +persistent +%Library.Persistent,Res.PI.Abstract,%XML.Adaptor + + + +
  • Afschrijving van de machines in gebruik op die kostenplaatst
  • +
  • Afschrijving/Huur gebouwen/infrastructuur
  • +
  • Gebruiksgoederen
  • +
  • Onderhoudspersoneel
  • +
  • Onderhoud gebouwen
  • +
  • Vaste kosten
  • +
  • ICT
  • +
  • ...
  • +]]>
    +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 +
    + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +ItemID +0 + + + +0 +0 +expression + +0 +%Library.Float +0 + + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;KP") +KostPlaatsDefaultData +^Res.PI.Items("PR;GA;KP") +^Res.PI.Items("PR;GA;KPI") +^Prod.GAM.KostPlaatsS + +%%CLASSNAME +node +0 + + +listnode + +BasisKost + + +ItemID + + +Omschrijving + + +ToeslagGrootVerlet + + +ToeslagKleinVerlet + + +VolgNr + + + +TaalOms +subnode +"TO" + + +
    +
    Index: Prod/GAData/Product/tmpDev.mac.rou =================================================================== diff -u --- Prod/GAData/Product/tmpDev.mac.rou (revision 0) +++ Prod/GAData/Product/tmpDev.mac.rou (revision 2) @@ -0,0 +1,466 @@ +#include %VHMacro +#include %occInclude + +ValidatePR() ; Parameters: arValidPR + New Key,DItem + New okPR + ;d WL^vhDBG($$$ArrayTT3("Prod.LU(""PL"")",%this,"LookUp")) + Set okPR=1 + Kill arValidPR + Set Key="" + For Set DItem=..DataItems.GetNext(.Key) Quit:(Key="") Do:(DItem.IsActief()) + . If DItem.ValidatePR() Do + .. Set arValidPR(1,Key)="" + . Else Do + .. Set arValidPR(0,Key)="" ; DItem.Get("PRNr") + .. Set okPR=0 + Quit okPR + + /* +OnBeforeSave() ; Parameters: IsNew + Quit $$$OK + */ + +TTrace ; Parameters: Msg +#define Prefix "GAProd: " +#define Prefix2 "" + Do WL^vhDBG($$$Prefix_$G(Msg)) + ;Do WLS^vhDBG($$$Prefix2_$G(Msg),1) + Quit + +ClearDataParams ; Parameters: ClearMode + New Key,DItem + Set Key="" + For Set DItem=..DataItems.GetNext(.Key) Quit:(Key="") Do DItem.ClearDataParams(.ClearMode) + Quit + +UseTurbo() + Quit 0 + +AutosFromTemplate ; Parameters: Templ,Action +#define IsTemplateProduct $IsObject(..Template) + Quit:($$$IsTemplateProduct) + If Action="CLEAR" Do Quit + . Do aftClearDAutos + Set:('$G(Templ)) Templ=..TemplateTmp + If (Action="FILL")&&($IsObject(Templ)) Do + . Do aftClearDAutos + . Quit:('$IsObject(Templ.Product)) + . New PKey,IKey,TPDItem,DItem,TPAuto + . Set IKey="" + . For Set DItem=..DataItems.GetNext(.IKey) Quit:(IKey="") Do + .. Set TPDItem=Templ.Product.DataItemsGetChildAt(DItem.Code) + .. Quit:('$IsObject(TPDItem)) + .. Set PKey="" + .. For Set TPAuto=TPDItem.Autos.GetNext(.PKey) Quit:(PKey="") Do DItem.Autos.SetAt(TPAuto,PKey) + /* + . For Set TPDItem=Templ.Product.DataItems.GetNext(.IKey) Quit:(IKey="") Do + .. Set DItem=..DataItemsGetChildAt(TPDItem.Code) + .. Quit:('$IsObject(DItem)) + .. Set PKey="" + .. For Set TPAuto=TPDItem.Autos.GetNext(.PKey) Quit:(PKey="") Do DItem.Autos.SetAt(TPAuto,PKey) + */ + Quit +aftClearDAutos + New IKey,DItem + Set IKey="" + For Set DItem=..DataItems.GetNext(.IKey) Quit:(IKey="") Do DItem.Autos.Clear() + Quit + +UpdateLookUp ; Parameters: Node,arItems + ; Update de waarden voor de Items in de gegeven Node van ..LookUp +#define NodePL "PL" + Quit:($G(Node)'="PL") + New i,iP,DItem,MParam ;,ParamVal + Set i="" + For Set i=$O(arItems(i)) Quit:(i="") Do + . Set DItem=arItems(i) + . Set iP="" + . For Set MParam=DItem.MetaItem.Parameters.GetNext(.iP) Quit:(iP="") Do:(iP?1"ProgLabel".E) + .. ;d ..TTrace(DItem.Code_" UpdateLU Begin "_DItem.Get(iP)_" iP="_iP) + .. Set %this.LookUp($$$NodePL,DItem.Get(iP))=DItem.EvalMetaAuto(iP) ; Waarde v/e ProgLabel steeds via MetaExec (MParam.Auto) + .. ;d ..TTrace("UpdateLU End") + Quit + +UpdateLookUpClean ; Parameters: Node,arItems + ; Verwijder de waarden van de Items uit de gegeven Node van ..LookUp +#define NodePL "PL" + Quit:($G(Node)'="PL") + New i,iP,DItem,MParam ;,ParamVal + ;For i=1:1:$LL(lbItems) Do + ;. Set DItem=$LI(lbItems,i) + Set i="" + For Set i=$O(arItems(i)) Quit:(i="") Do + . Set DItem=arItems(i) + . Set iP="" + . For Set MParam=DItem.MetaItem.Parameters.GetNext(.iP) Quit:(iP="") Do:(iP?1"ProgLabel".E) + .. Kill ..LookUp($$$NodePL,DItem.Get(iP)) + Quit + +CalcAll ; Parameters: (geen) +#define DEP "DEP" +#define GroepID "TB" +#define Recalc 1 + New arTree,arSort,iG,iS,iI,DItem,SGCode + d StartTimer^vhLib + Do ..ClearDataParams($$$Recalc) + Kill ..Cumuls + d WLFMT^vhDBG("Na Clear ParamData : "_$$RestartTimer^vhLib,"B") + Do ..BuildTreeDeps("arTree") + d WL^vhDBG("Na BuildTreeDeps : "_$$RestartTimer^vhLib) + Set iG="" + For Set iG=$O(arTree($$$DEP,iG)) Quit:(iG="") Do + . Set iS="" + . For Set iS=$O(arTree($$$DEP,iG,iS)) Quit:(iS="") Do + .. Set iI="" + .. For Set iI=$O(arTree($$$DEP,iG,iS,iI)) Quit:(iI="") Do + ... Set DItem=arTree($$$DEP,iG,iS,iI) + ... Do DItem.CalcAll() + ... Do:(DItem.IsActief()) calCumuls + ;. d WL^vhDBG("Na Groep "_iG_" : "_$$RestartTimer^vhLib) + + d WL^vhDBG("Na CalcAll : "_$$RestartTimer^vhLib) + ;merge cumul=..Cumuls + ;d WL^vhDBG("Cumuls : "_$$ArrayToText^vhLib("cumul")) + ;d WL^vhDBG("arTree : "_$$ArrayToText^vhLib("arTree")) + + Quit +calCumuls + Quit:(DItem.MetaItem.Code["PARAM") + New Key,Val + For Key="KPrijs","TijdWerk","TijdKost","GNetto","GTarra" Do:(DItem.MetaItem.Parameters.IsDefined(Key)) + . Set Val=DItem.Get(Key) + . ;Quit:(Val="") + . Set ..Cumuls(Key,iG,iS,iI)=Val + . Set ..Cumuls(Key,iG,iS)=$G(..Cumuls(Key,iG,iS))+Val + . Set ..Cumuls(Key,iG)=$G(..Cumuls(Key,iG))+Val + . Set ..Cumuls(Key)=$G(..Cumuls(Key))+Val + Quit + +CalcKostAll() ; Parameters: Aantal + Quit $G(..Cumuls("KPrijs")) + +BuildHierarch ; Parameters: Ref + Do:(..MetaStruct) ..MetaStruct.BuildHierarch(Ref,%this) + Quit + +BuildTreeDeps ; Parameters: Ref +#define DEP "DEP" + Kill @Ref + Kill ..arTree($$$DEP) + Quit:('..MetaStruct) + New tmpAr + New iG,iS,iI,MetaHG,MetaG,MetaS,MetaI,DItem,Key + New PKey,PrmVal,MParam,tmpLB,i + ;Do %this.BuildLookUp() + Do %this.BuildLookUp($LB("SG","ICode","ISort")) + Set MetaHG=..MetaStruct + Set Key="" + For Set DItem=..DataItems.GetNext(.Key) Quit:(Key="") Do + . Quit:(DItem.SubGroepCode="") + . Set MetaI=DItem.MetaItem + . Set MetaS=$G(..LookUp("SG",DItem.SubGroepCode)) ; $LG( ... ,1) + . Set MetaG=MetaS.Groep ; $G(..LookUp("SG",DItem.SubGroepCode,"GR")) + . Set iI=DItem.VolgNr + . Set iS=$LF($$btd2ExprToList(MetaG.ChildExpr),MetaS.Code) + . Set iG=$LF($$btd2ExprToList(MetaHG.ChildExpr),MetaG.Code) + . Set tmpAr($$$DEP,iG,iS,iI)=DItem + . Set tmpAr($$$DEP,iG,iS)=MetaS + . Set tmpAr($$$DEP,iG)=MetaG + Merge @Ref=tmpAr + Merge %this.arTree=tmpAr + Quit +btd2ExprToList(sExpr) + ; Convert Child Expression to $LB() + Set tmpLB="" + For i=1:1:$L(sExpr,"+") Set tmpLB=tmpLB_$LB($P(sExpr,"+",i)) + Quit tmpLB + + +BuildTreeData ; Parameters: Ref,blnShowPrijs +#define DATA 1 +#define OBJ "OBJ" +#define FMT "FMT" +#define ShowValueIf(%cond,%val,%else) $S(%cond:%val ,1:%else) + Kill @Ref + Kill ..arTree($$$DATA) + Kill ..arTree($$$OBJ) + Kill ..arTree($$$FMT) + Quit:('..MetaStruct) + New tmpAr,tmpAr2 + New iG,iS,iI,MetaHG,MetaG,MetaS,MetaI,DItem,Key + New PKey,PrmVal,MParam,tmpLB,i,iK + Do %this.BuildLookUp() + Set MetaHG=..MetaStruct + Set tmpAr($$$DATA)=$LB(MetaHG.Omschrijving) + Set Key="" + ;d CLS^vhDBG + ;d ..TTrace($$ArrayToText^vhLib("%this.LookUp")) + For Set DItem=..DataItems.GetNext(.Key) Quit:(Key="") Do + . Quit:('DItem.IsActief(0)) + . Quit:(DItem.SubGroepCode="") + . Set MetaI=DItem.MetaItem + . Set MetaS=$G(..LookUp("SG",DItem.SubGroepCode)) ; $LG( ... ,1) + . Set MetaG=MetaS.Groep + . Set iI=DItem.VolgNr + . Set iS=$LF($$btdExprToList(MetaG.ChildExpr),MetaS.Code) + . Set iG=$LF($$btdExprToList(MetaHG.ChildExpr),MetaG.Code) + . Set tmpAr($$$DATA,iG)=$LB(MetaG.Omschrijving,+$J($G(..Cumuls("TijdWerk",iG)),0,2),$$$ShowValueIf(blnShowPrijs,+$J($G(..Cumuls("KPrijs",iG)),0,6),"")) + . Set tmpAr($$$DATA,iG,iS)=$LB(MetaS.Omschrijving,+$J($G(..Cumuls("TijdWerk",iG,iS)),0,2),$$$ShowValueIf(blnShowPrijs,+$J($G(..Cumuls("KPrijs",iG,iS)),0,6),"")) + . ;Set:(iI="") iI="999" + . Do btdBuildColumnData + . Do btdBuildKostDtls + . Set tmpAr($$$FMT,iG,iS,iI)=$LB(MetaI.RijFormat) + . Set tmpAr2("OREF",iG,iS,iI)=DItem + Merge @Ref=tmpAr + Merge @Ref=tmpAr2 + Merge ..arTree=tmpAr + Quit +btdExprToList(sExpr) + ; Convert Child Expression to $LB() + Set tmpLB="" + For i=1:1:$L(sExpr,"+") Set tmpLB=tmpLB_$LB($P(sExpr,"+",i)) + Quit tmpLB +btdBuildColumnData + Set tmpLB="" + ;d:(DItem.Code="PRKENM001") ..TTrace("Begin ColumnData") + Set PKey="" + For Set MParam=MetaI.Parameters.GetNext(.PKey) Quit:(PKey="") Do:(MParam.ShowInTree'="") + . Set $LI(tmpLB,MParam.KolomNr)=$$$ShowValueIf(blnShowPrijs||(PKey'="KPrijs"),DItem.Get(PKey),"") + For i=$LL(tmpLB):-1:1 $$$DoLBDeleteAtIf('$LD(tmpLB,i),tmpLB,i) ; Lege ListItems verwijderen ; OLD: Set:('$LD(tmpLB,i)) tmpLB=$$$LBDeleteAt(tmpLB,i) + Set tmpAr($$$DATA,iG,iS,iI)=tmpLB + ;d:(DItem.Code="PRKENM001") ..TTrace("End ColumnData") + Quit +btdBuildKostDtls +#define KDelim "-" +#define NOT(%v) '(%v) + New ChildID,Templ,TPDItem,KostArray,KKey,MKost,lbIDs,KeyKDtl ; ,blnDtlExist,blnDtlOther ; ,blnLoopList + New KeyBegin,LoopID,Num,FirstSpace + Set ChildID=DItem.Code + Set Templ=DItem.Product.TemplateTmp ;Quit:('Templ) "" + Set TPDItem=Templ.Product.DataItemsGetChildAt(ChildID) ;Quit:('TPDItem) "" + Do btdKostDtlData("T",$$$KDelim_ChildID) + Do btdKostDtlData("M",$$$KDelim_ChildID) + Quit +btdKostDtlData(KostType,LoopKey) +#define NumWithZeros(%v) $TR($J(%v,3)," ","0") +#define StartsWith(%T,%t) ($P(%T_" ",%t,1)="") +#define LoopKostArray Set MKost=KostArray.GetNext(.KKey) Quit:(KKey="") +#define AddWaarde(%i,%v) $$btdAddValToText($LG($G(arKDtl(KeyKDtl)),%i),%v) +#define KOms MKost.Omschrijving +#define KMulti MKost.Multiplicant +#define KReduc MKost.Reductie +#define KPropts MKost.KostPlaatsGetObjectId(),MKost.AParam,MKost.BParam,MKost.Min,MKost.StaffelMin,MKost.StaffelMax + ; Debug: waarden van Multiplic, Reduct en totaal toevoegen +#define KOmsX $$$AddWaarde(1,MKost.Omschrijving) +#define KMultiX $$$AddWaarde(2,MKost.Multiplicant) +#define KReducX $$$AddWaarde(3,MKost.Reductie) +#define LoopID $S($L(LoopID):"i="_$E(LoopID,1,5)_" ",1:FirstSpace) +#define blnNoOtherDtls ('$$$StartsWith($O(arKDtl(KeyKDtl)),KeyKDtl)) + + Set KKey="" + Set KostArray=$S(KostType="M":TPDItem.KostMat, 1:TPDItem.KostTijd) ; Materiaal of Tijd - array of objects + If 'blnShowPrijs Do + . For $$$LoopKostArray Do + .. Set tmpAr($$$DATA,iG,iS,iI,MKost.VolgNr)=$LB($$$KOms,KKey,KostType,$$$KMulti,$$$KReduc,$$$KPropts) + Else Do ; Show Dtls met Prijs + . Set FirstSpace="" + . For $$$LoopKostArray Do + .. Set KeyKDtl=KKey_LoopKey + .. Set:($L($G(arKDtl(KeyKDtl))))||($$$blnNoOtherDtls) tmpAr($$$DATA,iG,iS,iI,MKost.VolgNr)=$LB($$$KOmsX,KKey,KostType,$$$KMultiX,$$$KReducX,$$$KPropts) + .. Quit:($$$blnNoOtherDtls) + .. ; Else Do ; KostParams worden herhaald binnen het DItem + .. Set KeyBegin=KeyKDtl + .. For Set KeyKDtl=$O(arKDtl(KeyKDtl)) Quit:('$$$StartsWith(KeyKDtl,KeyBegin)) Do + ... Set LoopID=$P($P(KeyKDtl,LoopKey_"#",2),$$$KDelim,2) + ... Set Num=$$$TextBetween(KeyKDtl,LoopKey_"#",$$$KDelim) + ... Set Num=$S($IsValidNum(Num):+(Num_"."_$$$NumWithZeros(MKost.VolgNr)), 1:MKost.VolgNr) + ... Set tmpAr($$$DATA,iG,iS,iI,Num)=$LB($$$LoopID_$$$KOmsX,KKey,KostType,$$$KMultiX,$$$KReducX,$$$KPropts) + .. Set FirstSpace=" " + Quit +btdAddValToText(Val,Text) + Quit $S(('$IsValidNum(Text)&&($L(Val))):"["_(+$J(Val,0,4))_"] ", 1:"")_Text + +NewDataItem() ; Parameters: MetaItem,SGCode,Code,VolgNr + ; Create new DataItem + New DItem + Set DItem=##class(Prod.GAData.Item).%New() + Set DItem.Product=%this + Do DItem.%Close() + Set:(+MetaItem) DItem.MetaItem=MetaItem + Set:($L($G(SGCode))) DItem.SubGroepCode=SGCode + Set DItem.Code=$S($L($G(Code)):Code, 1:DItem.CalcCode()) ; Code v/h DataItem (==> OId): + Set DItem.VolgNr=$S($G(VolgNr)>0:VolgNr, 1:DItem.CalcVolgNr()) ; VolgNr v/h DataItem: + Do %this.BuildLookUp($LB("ISort")) + Quit DItem + +CopyItemsFromProduct ; Parameters: Prod,ItemsCopyMode + Quit:('$G(Prod)) + New TItem,NewItem,Key + Set Key="" + For Set TItem=Prod.DataItems.GetNext(.Key) Quit:(Key="") Do + . Set NewItem=TItem.CopyObject(ItemsCopyMode) + . Set NewItem.Product=%this + . Do NewItem.%Close() + Quit + +BuildLookUp ; Parameters: lbNodes +#define NodeSG "SG" +#define NodePL "PL" +#define NodeIC "IC" +#define NodeIL "IL" +#define NodePLItem "PLItem" +#define NodeISort "ISort" + Set:('$D(lbNodes)) lbNodes=$LB("SG","PL","ICode","ISort") + ;d WL^vhDBG("BuildLookUp: "_$$ArrayToText^vhLib("%this.LookUp")) + Quit:(lbNodes="") + Do:($LF(lbNodes,"SG")) bluSG + Do:($LF(lbNodes,"PL")) bluPL + Do:($LF(lbNodes,"ICode")) bluICode + Do:($LF(lbNodes,"ISort")) bluISort + Quit +bluSG + ; ..LookUp("SG",SubGroepCode) =Oref SubGroep + New tmpAr,tmpLU + New MetaH,MetaG,MetaS,iG,iS + Kill ..LookUp($$$NodeSG) + Set MetaH=..MetaStruct + Quit:('MetaH) + Set iG="" + For Set MetaG=MetaH.Groepen.GetNext(.iG) Quit:(iG="") Do + . Set iS="" + . For Set MetaS=MetaG.SubGroepen.GetNext(.iS) Quit:(iS="") Do + .. Set tmpLU(MetaS.Code)=MetaS ; $LB(MetaS) + Merge %this.LookUp($$$NodeSG)=tmpLU + Quit +bluPL + ; ..LookUp("PL",ProgLabel)=ParamVal + New tmpLU,iI,iP,DItem,ProgLabel,MParam ; ParamVal + Kill ..LookUp($$$NodePL) + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . Quit:('DItem.IsActief()) + . Set iP="" + . For Set MParam=DItem.MetaItem.Parameters.GetNext(.iP) Quit:(iP="") Do:(iP?1"ProgLabel".E) + .. Set ProgLabel=DItem.Get(iP) + .. ;d ..TTrace(DItem.Code_" "_DItem.Get("Oms")_" bluPL Begin "_ProgLabel) + .. Set:($L(ProgLabel)) tmpLU(ProgLabel)=DItem.EvalMetaAuto(iP) ; Waarde v/e ProgLabel steeds via MetaExec (MParam.Auto) + .. ;d ..TTrace("bluPL End") + Merge %this.LookUp($$$NodePL)=tmpLU + Quit +bluICode + ; ..LookUp("IC",DItem.Code,"PL",ProgLabel)=ParamKey + ; ..LookUp("PLItem",ProgLabel,"IC")=DItem.Code + ; ..LookUp("PLItem",ProgLabel,"IOref")=Oref DItem + ; ..LookUp("PLItem",ProgLabel,"PKey")=ParamKey + ; ..LookUp("IL",DItem.Label)=Oref DItem + New tmpLU,tmpLU2,tmpLU3,iI,iP,DItem,ProgLabel + Kill ..LookUp($$$NodeIC) + Kill ..LookUp($$$NodePLItem) + Kill ..LookUp($$$NodeIL) + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . Set:($L(DItem.Label)) tmpLU3(DItem.Label)=DItem + . Set iP="" + . Quit:('DItem.MetaItem) + . For Set iP=DItem.MetaItem.Parameters.Next(iP) Quit:(iP="") Do:(iP?1"ProgLabel".E) + .. Set ProgLabel=DItem.Get(iP) + .. Quit:(ProgLabel="") + .. Set tmpLU(DItem.Code,"PL",ProgLabel)=iP + .. Set tmpLU2(ProgLabel,"IC")=DItem.Code + .. Set tmpLU2(ProgLabel,"IOref")=DItem + .. Set tmpLU2(ProgLabel,"PKey")=iP + Merge %this.LookUp($$$NodeIC)=tmpLU + Merge %this.LookUp($$$NodePLItem)=tmpLU2 + Merge %this.LookUp($$$NodeIL)=tmpLU3 + Quit +bluISort + ; ..LookUp("ISort","Code",DItem.Code)=Oref DItem + ; ..LookUp("ISort","VNr",SubGroepCode,DItem.VolgNr)=Oref DItem + New tmpLU,iI,DItem + Kill ..LookUp($$$NodeISort) + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . Quit:(DItem.SubGroepCode="") + . Set tmpLU("Code",DItem.Code)=DItem + . Set tmpLU("VNr",DItem.SubGroepCode,DItem.VolgNr)=DItem + Merge %this.LookUp($$$NodeISort)=tmpLU + Quit + + + // ========================================================================================================================================== + + /// AnalyseConditions : kiezen tussen "AND" of "OR" + /// Oproepen via GGDP^WV() +GetGADataProd(arPR) + New PRNr,PRID,Itm,Prm,Condition,blnAND,blnOR,blnMatch,blnNoMatch + Kill arPR + Do ggdAnalyseConditions + Set PRID="" + For Set PRID=$O(^Prod.GAData.ProductD(PRID)) Quit:(PRID="") Do + . Quit:($LG($G(^Prod.GAData.ProductD(PRID)),1)'="TBX||1") + . Set:(blnAND) CntMatch=0 + . Set blnContinue=1 + . Set Itm="" + . For Set Itm=$O(^Prod.GAData.ProductD(PRID,"I",Itm)) Quit:(Itm="") Do Quit:('blnContinue) + . . Set blnContinue=$$ggdCheckLoopItems($LG($G(^Prod.GAData.ProductD(PRID,"I",Itm)),1),$G(^Prod.GAData.ProductD(PRID,"I",Itm,"P","Val"))) + . Set:(blnAND) blnMatch=(blnContinue)&&(CntMatch=QtyCond) ; AND : if Continue=0 : a condition did NOT match --> OK + . Set:(blnOR) blnMatch=('blnContinue) ; OR : if Continue=0 : a condition did match --> OK + . Quit:('blnMatch) + . Set PRNr=$LG($G(^Prod.GAData.ProductD(PRID)),7) + . Set arPR($I(arPR))=$LB(PRID,PRNr) + . w $J(arPR,4)_". GADataID="_PRID_" PRNr="_PRNr_" "_##class(Prod.Product).GetPropViaNr(PRNr,"KortTekst"),! + Quit +ggdAnalyseConditions + Set Condition="AND" + Set QtyCond=3 + Set Condition=$$$UCase(Condition) + Set blnAND=(Condition="AND") + Set blnOR=(Condition="OR") + Quit +ggdCheckLoopItemsAND(Label,Val) + ; ------------------------------------------------- + ; !!! Aan te passen in ggdAnalyseConditions() !!! + ; ------------------------------------------------- + ; Set Condition="AND" + ; Set QtyCond=3 + ; ------------------------------------------------- + If ( Label="LC") Set blnMatch=(Val="K") + Else If (Label="LD") Set blnMatch=(Val=500) + Else If (Label="IB") Set blnMatch=(Val=564) + Else Quit 1 + Set:(blnMatch) CntMatch=CntMatch+1 + Quit blnMatch +ggdCheckLoopItemsOR(Label,Val) + ; ------------------------------------------------- + ; !!! Aan te passen in ggdAnalyseConditions() !!! + ; ------------------------------------------------- + ; Set Condition="OR" + ; ------------------------------------------------- + Quit:(Label="LC")&&(Val="K") 1 + ;Quit:(Label="LD")&&(Val=350) 1 + Quit:(Label="IB")&&(Val=664) 1 + Quit 0 +ggdCheckLoopItems(Label,Val) + Quit:(blnAND) $$ggdCheckLoopItemsAND(.Label,.Val) + Quit:(blnOR) '$$ggdCheckLoopItemsOR(.Label,.Val) + Quit 0 + + +CountGADataParams() + New PRNr,PRID,Itm,Prm,blnMatch,blnNoMatch,cnt + d RestartTimer^vhLib() + Set cnt=0 + Set PRID="" + For Set PRID=$O(^Prod.GAData.ProductD(PRID)) Quit:(PRID="") Do + . Set Itm="" + . For Set Itm=$O(^Prod.GAData.ProductD(PRID,"I",Itm)) Quit:(Itm="") Do + . . Do ggdCountParams + . ;w cnt,! + w "Time needed: "_$$TimeFromStart^vhLib() + Quit +ggdCountParams + Set Prm="" + For Set Prm=$O(^Prod.GAData.ProductD(PRID,"I",Itm,"P",Prm)) Quit:(Prm="") Do + . Set cnt=cnt+1 + Quit \ No newline at end of file Index: EWMS/ToReceive.cls.xml =================================================================== diff -u --- EWMS/ToReceive.cls.xml (revision 0) +++ EWMS/ToReceive.cls.xml (revision 2) @@ -0,0 +1,343 @@ + + + +persistent +1 +ToReceive +GSQLStorage +%Library.Persistent + + +0 +EWMS STAT,NOCREATE + + + +dbo.ToReceive_Cache + + + +1 +1 +OrderNr,Supplier,Product,Batch,Quality,Owner,LocID,Sectie + + + +%Integer + +0 +24 +Abc + + + +%String + +0 +5 +Batch + + + + +%Float + +0 +32 +BoxPrice + + + +%Float + +0 +30 +BoxVol + + + +%Float + +0 +31 +BoxWeight + + + +%Integer + +0 +20 +CarrierDwh + + + +%Float + +0 +22 +CarrierTarra + + + +%Integer + +0 +19 +CarrierType + + + +%Float + +0 +23 +CarrierWeight + + + +%String + +0 +33 +ExpDay + + + + +%String + +0 +36 +InsertTime + + + + +%Integer + +0 +11 +LocG + + + +%String + +0 +8 +LocID + + + + +%Integer + +0 +10 +LocM + + + +%Integer + +0 +26 +NrCarriers + + + +%Integer + +0 +34 +OrderCancelled + + + +%Integer + +0 +35 +OrderConfirmed + + + +%String + +0 +2 +OrderNr + + + + +%String + +0 +7 +Owner + + + + +%Float + +0 +29 +PcsPrice + + + +%Float + +0 +27 +PcsVol + + + +%Float + +0 +28 +PcsWeight + + + +%String + +0 +4 +Product + + + + +%Integer + +0 +25 +ProductGroup + + + +%Float + +0 +17 +QtyBlock + + + +%Float + +0 +16 +QtyInBox + + + +%Float + +0 +13 +QtyReceived + + + +%Float + +0 +12 +QtyToReceive + + + +%Float + +0 +15 +QtyTransportReq + + + +%Float + +0 +14 +QtyTransported + + + +%String + +0 +6 +Quality + + + + +%String + +0 +18 +ReasonBlock + + + + +%String + +0 +9 +Sectie + + + + +%Integer + +0 +37 +Sender + + + +%String + +0 +3 +Supplier + + + + +%Integer + +0 +21 +UnitLoadType + + + +%Library.SQLQuery +paLocID:%String +0 +5) AND (Main.Product=Sub.Product) AND (Main.LocID=:paLocID) +ORDER BY Main.Product +]]> +0 + + + + + +%CacheSQLStorage +^EWMS.ToReceiveS + + + Index: csp/tbx/errorreport.cls.xml =================================================================== diff -u --- csp/tbx/errorreport.cls.xml (revision 0) +++ csp/tbx/errorreport.cls.xml (revision 2) @@ -0,0 +1,120 @@ + + + + +XML-versie van het WS.TBX.Order object +%VHMacro +1 +csp.errorvh +0 + + +/VHISIE/TBX/ErrorReport.csp + + + +0 + + + +0 + + + +1 +0 +%Boolean +",$LB($$$EmailToSysOp),"CSP - Error (JS) - "_$ZDT($H,4),"§DFL_HTML§",,1) + . Set scMail=..ActEmail($LB($LG(lbActionDefs,1),$LG(lbActionDefs,2),$LG(lbActionDefs,3),$LG(lbActionDefs,4),0,$LG(lbActionDefs,6)),.arErrInfo) + + Quit $$$OK +]]> + + + +1 +0 +%Status +
    "_$$ParseStatus^vhLib(scMail) + Else Do + . Set ErrTxt=##class(cspBasis.GAProdTBox).WebTextValue("ErrPageDoReport",Taal,"O") + Set BtnCloseTxt=##class(cspBasis.GAProdTBox).WebTextValue("Sluiten",Taal,"L") + &html< + + TANDEMBOX - Error report + + + + +
    + + + + + + +
      
    +
    + + + + + + + + + + + +
      + +

    #(ErrTxt)#

    +
    +
     
      +

    #(BtnCloseTxt)#

    +
    +
    +
     
    +
    + + > + Quit $$$OK +]]> + + + +1 +lbErrTypes + + + + Index: _vhisie/TBX/TBox WebOrder LMC_TLOLD.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder LMC_TLOLD.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder LMC_TLOLD.xsl (revision 2) @@ -0,0 +1,547 @@ + + + + + + + + + OPTIMA - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + Nummer_Kort:  +
    KLNaam:
     
    ID:
     
    Email:
     
    Levertijd:
     
    REFERENTIE:
     
         
    + + + + + +
    + + + + +
    + + FT_OFFAV + FT_OFF + FT_BBON + FT_INKP + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr 03.20.81.95.96
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    StdLade (UitStock):
    + + + + + +
    +
    + + + + + + + + + + + +
     PrijsTotaal: +   + +   EUR +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + +
    +
    + +
    +
    +
    +
    + + + + + + +   + + +   + + + + + + + 1 + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    Kleurkeuze*
    LadezijdenBodem&RugRelingenBoxside
    + + + KL_WI_DS'"/> + + + + KL_MG'"/> + + + + KL_AL'"/> + + + + KL_IN'"/> + + + + KL_BE_DS'"/> + + + + + KL_WI'"/> + + + + KL_LG'"/> + + + + KL_DG'"/> + + + + KL_BE'"/> + + + + + KL_WI'"/> + + + + KL_MG'"/> + + + + KL_AL'"/> + + + + KL_CR'"/> + + + + + KL_WI'"/> + + + + KL_MG'"/> + + + + KL_AL'"/> + + + + KL_IN'"/> + +
    +
    + + + + + + + + + + + + +
    Frontbevestiging
    +

    FB

    +
    + + + FB_S'"/> + + + + FB_I'"/> + + + + FB_A'"/> + + + + FB_Z'"/> + +
    +
    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + + + + + + + + + mm + + + +
    + mm + + + + mm + + + + kg + + + + + + +   + + + + + + + + + + + + clsMColQty + + + + + clsOvzPrices + + + + +
    +
    + + + + EUR +
    # FOUT #
    + +
     
    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + LadetypeTH + BreedteTH + WanddikteTH + LadediepteTH + DraagkrachtTH + BlumotionTH + BoxsideTH * + DiverseTH + AantalTH + + Ink. Prijs/stPrijsPerStukTHInfoTH + + + + + + + + * BX : Boxside (Legende)
    + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + : + + + + + + + + + + == + --- +   + + + + + + + + BX_DR + BX_ER + BX_ZR/Boxside + BX_BD + BX_BC + BX_BZ + BX_BF + (Code ) + + + +
    Index: vhVisual.mac.rou =================================================================== diff -u --- vhVisual.mac.rou (revision 0) +++ vhVisual.mac.rou (revision 2) @@ -0,0 +1,283 @@ +#include %Const +#include %occInclude + +ShowCmdLine(ShowModal) + Set ShowModal=$G(ShowModal,1) + Kill Xecuter + Set Xecuter=##class(UI.Utils.Spy.dlgCmdLine).%New($LB(MApplication.Address,0)) + If ShowModal Do + . Do Xecuter.Form.ShowModal() + . Kill Xecuter + Else Do + . Do Xecuter.Form.Show() + Quit + +CreateFlyingMsg(MainMsg,Width,ProcessMessages,BGColor,ShowProgressBar) + Set ProcessMessages=$G(ProcessMessages) + Set FlyingMsg=##class(UI.Lib.Dlg.TFlyingMsg).%New($LB(MApplication.Address)) + Set FlyingMsg.lblMainMsg.Caption=MainMsg + If $D(BGColor) Do + . Set FlyingMsg.shBack.Brush.Color=BGColor + . Set FlyingMsg.Form.Color=BGColor + . Set FlyingMsg.lblMainMsg.Color=BGColor + . Set FlyingMsg.lblSubMsg.Color=BGColor + If $D(Width) Do + . Set FlyingMsg.Form.Width=Width + . Set FlyingMsg.Form.Position="poScreenCenter" + If $G(ShowProgressBar,0) Do + . Set FlyingMsg.ProgressBar.Visible="True" + . Set FlyingMsg.lblSubMsg.Visible="False" + Do FlyingMsg.Form.Show() + Do FlyingMsg.Form.Update() + Do:(ProcessMessages) MApplication.ProcessMessages() + Quit + +SetFlyingMsg(Msg,ProcessMessages) + Quit:('$D(FlyingMsg)) + Set ProcessMessages=$G(ProcessMessages) + Set FlyingMsg.lblMainMsg.Caption=Msg + Do:(ProcessMessages) MApplication.ProcessMessages() + Quit + +SetFlyingProgressBar(Value,ProcessMessages) + Quit:('$D(FlyingMsg)) + If FlyingMsg.ProgressBar.Visible="False" Do + . Set FlyingMsg.lblSubMsg.Visible="False" + . Set FlyingMsg.ProgressBar.Visible="True" + Set FlyingMsg.ProgressBar.Position=Value + Do:(ProcessMessages) MApplication.ProcessMessages() + Quit + +SetFlyingSubMsg(SubMsg,ProcessMessages,BringToFront) + Quit:('$D(FlyingMsg)) + If FlyingMsg.lblSubMsg.Visible="False" Do + . Set FlyingMsg.lblSubMsg.Visible="True" + . Set FlyingMsg.ProgressBar.Visible="False" + Set ProcessMessages=$G(ProcessMessages) + Set BringToFront=$G(BringToFront) + Set FlyingMsg.lblSubMsg.Caption=SubMsg + Do:(ProcessMessages) MApplication.ProcessMessages() + Do:(BringToFront) FlyingMsg.Form.BringToFront() + Quit + +BringFlyingMsgToFront() + Quit:('$D(FlyingMsg)) + Do FlyingMsg.Form.BringToFront() + Quit + +DestroyFlyingMsg() + Quit:('$D(FlyingMsg)) + Do FlyingMsg.Form.Close() + Do FlyingMsg.%Close() + Kill FlyingMsg + Quit + + //--------------------------------------------------------------------------------- +InputBox(Title,Question,Default,PasswordChar,Width) + New InputForm + Set InputForm=##class(UI.Lib.Dlg.TInputBox).%New($LB(%this.Form.Address,0)) + Set InputForm.Form.Caption=$G(Title,"Van Hoecke") + Set InputForm.lblMessage.Caption=$G(Question,"Geef de waarde op:") + Set InputForm.txtValue.Text=$G(Default,"") + Set InputForm.txtValue.PasswordChar=$G(PasswordChar,$C(0)) + Set:($D(Width)) InputForm.Form.Width=Width + + New tmpAnswer + Set tmpAnswer=InputForm.Form.ShowModal() + + Set Default=InputForm.txtValue.Text + + Do InputForm.%Close() + + Quit tmpAnswer + + //--------------------------------------------------------------------------------- +BuildPropsArray(PropArrayName,ObjORef,ClassFilter) + Set ClassFilter=$G(ClassFilter) + + Kill @PropArrayName@(ObjORef) + + Quit:($G(ObjORef)=0) + + New ClassDef + Set ClassDef=##class(%ClassDefinition).%OpenId(ObjORef.%ClassName(1)) + + New Count + Set Count=ClassDef.Properties.Count() + + New Loop,PropName + For Loop=1:1:Count Do + . Quit:(ClassDef.Properties.GetAt(Loop).Type'[ClassFilter) + . Set PropName=ClassDef.Properties.GetAt(Loop).Name + . Xecute "Set @PropArrayName@(ObjORef,PropName)=ObjORef."_PropName + + Do ClassDef.%Close() + + Quit + + //--------------------------------------------------------------------------------- +RE(ErrorType,Msg,MsgBoxType) //Report Error + #Include ReportErrorCNTs + + New Header,Body,Namespace + Set Namespace=$ZUTIL(67,6,$J) + Set ErrorType=$G(ErrorType,0) + + If ErrorType=$$$reMsg Do + . Set Header="Specifieke fout" + . Set Body=Msg + Else If ErrorType=$$$reObjDoesNotExist Do + . Set Header="Object bestaat niet" + . Set Body="Kan het object '" _ Msg _ "' niet vinden (" _ Namespace _ ")." + Else If ErrorType=$$$reUnableToOpenObj Do + . Set Header="Object niet te openen" + . Set Body="Het object '" _ Msg _ "' bestaat, maar kan niet geopend worden (" _ Namespace _ ")." + Else If ErrorType=$$$reCannotCreateNewObj Do + . Set Header="Nieuwe instantie onmogelijk" + . Set Body="Kan een nieuwe instantie van '" _ Msg _ "' niet aanmaken." + Else If ErrorType=$$$reStatusError Do + . Set Header="Status error" + . Set Body=$$ParseStatus^vhLib(Msg) + Else If ErrorType=$$$reAppException Do + . Set Header="Application exception" + . Set Body="Tijdens het uitvoeren van de applicatie is een fout opgetreden." + + //Clearen van eventuele Mouse=Busy + Set MApplication.ScreenCursor=0 //0=$$$crDefault + + //Stack wegschrijven naar een bestand + ;New FN + ;Set FN=$$GetCaller^vhLib("REStack_"_"_"_$P($H,",",1)_$P($H,",",2),"ReportError") + + //Tonen van message + New REForm + Set REForm=##class(UI.Lib.Dlg.ReportError).%New($LB(%this.Form.Address,0)) + Set REForm.ExtraSendMsg=$ZDATETIME($H,4) + ;Set REForm.ExtraSendMsg="Stackfile: "_FN + Do REForm.SetErrorTxt(..%ClassName(1),Header,Body) + Set REForm.Form.Height=REForm.Form.Height-25 + Do REForm.Form.ShowModal() + Do REForm.%Close() + + Quit + + //--------------------------------------------------------------------------------- +pdaMsgBox(Caption,Msg,Type,OKCancelMode,InputMode,InputDefault) + Set OKCancelMode=$G(OKCancelMode,0) + Set InputMode=$G(InputMode,0) + Set:(InputMode) OKCancelMode=1 ;Deze gaan steeds samen... + Set:(InputMode) InputDefault=$G(InputDefault) + + New MBForm,tmpAnswer + If $D(%this) Do + . Set MBForm=##class(UI.MB.UGLYPicking.dlgMsgBox).%New($LB(%this.Form.Address,0)) + Else Do + . Set MBForm=##class(UI.MB.UGLYPicking.dlgMsgBox).%New($LB(MApplication.Address,0)) + Set MBForm.Form.Caption=Caption + Do MBForm.ShowMsg(Caption,Msg,Type,OKCancelMode) + If InputMode Do + . Set MBForm.txtValue.Text=InputDefault + . Set MBForm.txtValue.Visible="True" + Set tmpAnswer=MBForm.Form.ShowModal() + Set:(InputMode) InputDefault=MBForm.txtValue.Text + Do MBForm.%Close() + + Quit tmpAnswer + + //--------------------------------------------------------------------------------- +AppIsEnabled(App,SubApp,Msg) + #define IP4 $P(MApplication.GetClientIP(),".",4) + + New arEnable + Merge arEnable=^UI.Settings(App,SubApp,"Enable") + + Quit:($G(arEnable("ALL"),1)) 1 ; Enabled for all users + Quit:($G(arEnable("IP",$$$IP4),0)) 1 + + If '$D(Msg) Do + . Set Msg="Het programma wordt momenteel aangepast,"_$C(13,10) + . Set Msg=Msg_"probeer later nog eens opnieuw." + + Do:(Msg'="") MApplication.MessageBox(Msg,..Form.Caption,$$$MBICONINFORMATION) + + Quit 0 + + + //--------------------------------------------------------------------------------- +SetGlyph(Ctrl,Glyphs...) + ;Project ter beschikking? Zoniet, direct afsluiten + Quit:(MApplication.Name="") + + New ValidGlyphName + ;Afhankelijk vh type control de gegevens toekennen + If Ctrl.%ClassName()="%TMImageList" Do + . New Loop,BitmapList + . Set BitmapList="" + . For Loop=1:1:Glyphs Do + .. Set ValidGlyphName=$$sgGetValidGlyphName(Glyphs(Loop)) + .. Set:(ValidGlyphName'="") BitmapList=$S(BitmapList="":ValidGlyphName,1:BitmapList_","_ValidGlyphName) + . Set:(BitmapList'="") Ctrl.Bitmap=BitmapList + Else Do + . Set ValidGlyphName=$$sgGetValidGlyphName(Glyphs(1)) + . Set:(ValidGlyphName'="") Ctrl.Glyph.Data=ValidGlyphName + + Quit + +sgGetValidGlyphName(Glyph) + New GlyphPiece + Set GlyphPiece=$ZCVT($P(Glyph,".",1),"U") + + New Found,tmpGlyph,FoundGlyph + Set Found=0 + Set tmpGlyph="" + For Set tmpGlyph=$O(^SMProject(MApplication.Name,"Images",tmpGlyph)) Quit:((tmpGlyph="") || Found) Do + . If $ZCVT($P(tmpGlyph,".",1),"U")=GlyphPiece Do + .. Set Found=1 + .. Set FoundGlyph=tmpGlyph + + If 'Found Do Quit "" + . Do MApplication.MessageBox("Kan de glyph '"_Glyph_"' niet toekennen: niet aanwezig in het project.",MApplication.Name,$$$MBICONERROR) + + Quit FoundGlyph + + //--------------------------------------------------------------------------------- +ColorNrToStr(ColorNr) + Quit:(ColorNr=-1) "None" + Quit:(ColorNr=0) "Black" + Quit:(ColorNr=128) "Maroon" + Quit:(ColorNr=32768) "Green" + Quit:(ColorNr=12648384) "LtGreen" + Quit:(ColorNr=8454016) "MedGreen" + Quit:(ColorNr=32896) "Olive" + Quit:(ColorNr=8388608) "Navy" + Quit:(ColorNr=8388736) "Purple" + Quit:(ColorNr=8421376) "Teal" + Quit:(ColorNr=8421504) "Gray" + Quit:(ColorNr=12632256) "Silver" + Quit:(ColorNr=255) "Red" + Quit:(ColorNr=8421631) "MedRed" + Quit:(ColorNr=12632319) "LtRed" + Quit:(ColorNr=33023) "Orange" + Quit:(ColorNr=8438015) "MedOrange" + Quit:(ColorNr=12640511) "LtOrange" + Quit:(ColorNr=65280) "Lime" + Quit:(ColorNr=65535) "Yellow" + Quit:(ColorNr=8454143) "MedYellow" + Quit:(ColorNr=12648447) "LtYellow" + Quit:(ColorNr=16711680) "Blue" + Quit:(ColorNr=16744576) "MedBlue" + Quit:(ColorNr=16761024) "LtBlue" + Quit:(ColorNr=16711935) "Fuchsia" + Quit:(ColorNr=16711935) "Pink" + Quit:(ColorNr=16744703) "MedPink" + Quit:(ColorNr=16761087) "LtPink" + Quit:(ColorNr=16776960) "Aqua" + Quit:(ColorNr=16777088) "MedAqua" + Quit:(ColorNr=16761024) "LtAqua" + Quit:(ColorNr=12632256) "LtGray" + Quit:(ColorNr=8421504) "DkGray" + Quit:(ColorNr=8421631) "Focus" + Quit:(ColorNr=16777215) "White" + Quit:(ColorNr=536870911) "None" + Quit:(ColorNr=536870912) "Default" + Quit ColorNr_" ("_$ZH(+ColorNr)_"h)" \ No newline at end of file Index: cspBasis/Library.mac.rou =================================================================== diff -u --- cspBasis/Library.mac.rou (revision 0) +++ cspBasis/Library.mac.rou (revision 2) @@ -0,0 +1,136 @@ + +#include PRGACNTs +#include APPS.TBXWeb + + // Munt pariteit tov. de EURO. + // Om een bedrag in EUR om te zetten naar de de resp. munt : bedrag / MuntPar +GetMuntPar(Munt) + Quit:(Munt="CHF") $$$MuntParCHF + Quit 1 +PrijsConvert(Munt,Prijs) + Quit:(Munt="")||(Munt="EUR") Prijs + Quit Prijs/$$GetMuntPar(Munt) + +GetUserMunt(sDomVERW,VERW) + Quit $S($G(VERW)="VHEPN":"EUR", sDomVERW="SFS":"CHF", 1:"EUR") + + +AppIsEnabled(App,SubApp,IPAddress) +#define IP4 $P(IPAddress,".",4) + Quit:('$D(^UI.Settings(App,SubApp))) 1 ; Enabled if global/nodes not defined + New arEnable + Merge arEnable=^UI.Settings(App,SubApp,"Enable") + Quit:($G(arEnable("ALL"),1)) 1 ; Enabled for all users + Quit:($G(arEnable("IP",$$$IP4),0)) 1 ; internal IP address + Quit:($G(arEnable("IP",IPAddress),0)) 1 ; any IP address + Quit 0 + +RedirectPage(RedirURL) + Set RedirURL=$G(RedirURL,"/Under Construction.htm") + Set %response.Redirect=RedirURL + ;Set %response.ServerSideRedirect=RedirURL + Quit + +SesDataFromRq(SesKey,RqKey,DflVal) + Set RqKey=$G(RqKey,SesKey) + Quit $$SetSesData^cspBasis.Library($Name(%session.Data(SesKey)),$Name(%request.Data(RqKey,1)),.DflVal) + +SesDataFromLocal(SesKey,Local,DflVal) + Quit $$SetSesData^cspBasis.Library($Name(%session.Data(SesKey)),$Name(Local),.DflVal) + +SetSesData(SesRef,NewValRef,DflVal) + If $D(@NewValRef) Do + . Set @SesRef=@NewValRef + Else Do + . Set:('$$$aHasData(@SesRef)) @SesRef=$G(DflVal) + Quit @SesRef + +DataFromRqOrSes(RqKey,SesKey,DflVal) + Set SesKey=$G(SesKey,RqKey) + Quit $$drsGetData^cspBasis.Library($Name(%request.Data(RqKey,1)),$Name(%session.Data(SesKey)),.DflVal) +drsGetData(RqRef,SesRef,DflVal) ; GetRqOrSesData + Quit:($$$aHasData(@RqRef)) @RqRef + Quit $G(@SesRef,$G(DflVal)) + + +GetURLDomain() + New ServName,ServPort + Set ServName=$$$LCase($G(%request.CgiEnvs("SERVER_NAME"))) + Set ServPort=$G(%request.CgiEnvs("SERVER_PORT"),80) + Set:(ServName="") ServName="www.tandem-box.com" + Set:(ServPort'=80) ServName=ServName_":"_ServPort + Quit ServName + +TBXDomainCVT(Domain) + #define DefaultDomain $G(^Settings("TBX","DefaultDomain"),"www.tandem-box.com") + #define OtherDomain $G(^Settings("TBX","OtherDomain"),"www.optima-tbx.fr") + ;#define OtherDomain $G(^Settings("TBX","OtherDomain"),"www.tandem-box.com") + + Set Domain=$$$LCase(Domain) + Set TestDomeinenOmzetten=##class(TECH.Config.ConfigMgr).Instance().GetBoolean("cspBasis.Library_TestDomeinenOmzetten") + If TestDomeinenOmzetten { + Quit:($$$Server="CACHE01" ) $S(Domain="cache01":$$$OtherDomain, 1:$$$DefaultDomain) // Alleen voor Cache01 (Uitzondering) + Quit:(Domain="test.tandem-box.com" ) "www.tandem-box.com" + Quit:(Domain="test.optima-tbx.fr" ) "www.optima-tbx.fr" + Quit:(Domain="test.tandem-box.de" ) "tbx.tandem-box.de" + Quit:(Domain="test.du-pont.be" ) "tbx.du-pont.be" + Quit:(Domain="test.destil.nl" ) "tbx.destil.nl" + Quit:(Domain="testhafele.tandem-box.com") "hafele.tandem-box.com" + Quit:(Domain="test.sfsunimarket.biz" ) "tbx.sfsunimarket.biz" + Quit:(Domain="testtandembox.meubelbeslagholland.nl") $$$TBoxWebDomeinMBHO + Quit:(Domain="demo.tandem-box.com" ) "demo.tandem-box.com" + Quit:(Domain="demo.sfsunimarket.biz" ) "demo.sfsunimarket.biz" + Quit:(Domain="192.168.1.67" ) $$$DefaultDomain + Quit:(Domain="cache02" ) $$$OtherDomain + + Quit:(Domain="test.tandem-box.eu" ) "www.tandem-box.com" + Quit:(Domain="195.130.157.3" ) "www.tandem-box.com" + + Quit Domain + ;Quit $$$DefaultDomain + } + Else { + Quit $P(Domain,":",1) ; 2e piece is de HTTP-poort (indien aanwezig) + } + + Quit "" + + + // SendMiniMail eXtended : + // Replace the domain "vanhoecke.be" in if also contains "vanhoecke.be" domain(s) +SendMiniMailXtd(From,lbTo,Subject,Body,BodyIsStream,Args6,Args7,Args8,lbAttachments,Args10) ; ,Args11,Args12) + #define MailsViaNotes01 1 + Do:('$$$MailsViaNotes01) smxSenderFakeDomain^vhLib.Mail(.From,lbTo,,) + Quit $$SendMiniMail^vhLib.Mail(.From,.lbTo,.Subject,.Body,.BodyIsStream,.Args6,.Args7,.Args8,.lbAttachments,.Args10) ; ,.Args11,.Args12) + Quit "" + + + /// Ophalen van de vertaalde waarde van de interne code en omzetten naar HTML-code. + /// lbFlags om extra conversies te doen (zoals Uppercase, Lowercase, ...) +WebTextValue(VtlGroep,Intern,Taal,TextType,VervangWaarde,lbFlags) + ; Ter info: + ; lbFlags is optioneel (later toegevoegd). + ; Is dus by default leeg ==> Immediate conversion to HTML (zoals voorheen) + ; Als lbFlags waarde(n) bevat ==> GetVertaling moet plainText teruggeven -> eerst conversie voor lbFlags -> dan convert to HTML + Quit:($G(Intern)="") "" + New Val,blnPlainText,ReturnsHTML,FlgItem + Set Taal=$G(Taal,"N") + Set TextType=$G(TextType,"L") + Set lbFlags=$G(lbFlags,"") + Set blnPlainText=(lbFlags'="") + Set Val=##class(Res.Vertaling).GetVertalingPlus(VtlGroep,Intern,TextType,Taal,.VervangWaarde,blnPlainText,.ReturnsHTML) + Quit:(Val="") Intern_" ("_TextType_"-"_Taal_")" + ; Else + If $L(lbFlags) Do + . Do wtvBeforeHTML ; First item of lbFlags + Quit $S($G(ReturnsHTML):Val, 1:$$ConvertToHTML^vhRtn1(Val)) +wtvBeforeHTML + Quit:($LG(lbFlags,1)="") + Set FlgItem=$LG(lbFlags,1) + If FlgItem="L" Set Val=$$$LCase(Val) + Else If FlgItem="U" Set Val=$$$UCase(Val) + Else If FlgItem="F" Set Val=$$$FCase(Val) + Else If '$$$IsList(FlgItem) Quit + Else If ($LG(FlgItem,1)="X")&&($L($LG(FlgItem,2))) Do + . X "Set Val="_$$$Replace($LI(FlgItem,2),"%v","Val") + Quit \ No newline at end of file Index: _vhisie/TBX/TBox WebOrder SFS_D.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder SFS_D.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder SFS_D.xsl (revision 2) @@ -0,0 +1,496 @@ + + + + + + +EUR + + + + SFS unimarket - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAME:
     
    ID:
     
    E-MAIL:
     
    WUNSCHLIEFERDATUM:
     
    REFERENZ:
     
         
    + + + + + +
    + + + + +
    + + ANFRAGE + ANGEBOT + AUFTRAG + AUFTRAG + Unknown: [] + +
    +
    +   +
    Fax an +41 71 727 52 04
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standard Schubkästen (vom Lager):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Nicht liefern:

     

    Total:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Dieses Angebot ist 30 Tage gültig, bis zum +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : ZargenFARBEN : Bestandteile
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEN+RÜCKWAND:

    RELING:

    BOXSIDE:

    EINSCHUB EL./GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FEHLER #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breite

    +

    ST

    +

    Tiefe

    +

    Gew.

    +

    FB *

    +

    Box

    +

    Divers

    +

    Stk

    + +

    Ink. Prijs/stPreis/St. Info

    + +
    + + +

    * FB : Frontbefestigung (Legende)

    +

    + + + + + + +
    +

    +
    + + + + : + Schraubversion + INSERTA + EXPANDO + für Alurahmen / VollKern + drevel + Ohne + (Code ) + + + + + + + + + +

    * Box : Erhöhte Seiten (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Doppelreling + Einzelreling + Ohne Reling/erhöhte seiten + BOXSIDE doppelwandig + Glas BOXSIDE + BOXCAP + BOXCOVER mit ... + Boxcover ohne Einschubelement + (Code ) + + + +
    Index: DW/WWW/StaticSessMat.cls.xml =================================================================== diff -u --- DW/WWW/StaticSessMat.cls.xml (revision 0) +++ DW/WWW/StaticSessMat.cls.xml (revision 2) @@ -0,0 +1,54 @@ + + + + + +persistent +1 +%Persistent + + +%Integer + + + +%String + + + +%String + + + +%String + + + +%Library.CacheStorage +^DW.WWW.StaticSessMatD +StaticSessMatDefaultData +^DW.WWW.StaticSessMatD +^DW.WWW.StaticSessMatI +^DW.WWW.StaticSessMatS + +listnode + + +%%CLASSNAME + + +Aantal + + +Datum + + +Site + + +Tijd + + + + + Index: EH/Makova/EventCtrlr.cls.xml =================================================================== diff -u --- EH/Makova/EventCtrlr.cls.xml (revision 0) +++ EH/Makova/EventCtrlr.cls.xml (revision 2) @@ -0,0 +1,274 @@ + + + +%Library.RegisteredObject + + +EH.Makova.EventQueue + + + +%Library.TMTimer + + + + +Tijdsgedeelte van laatste keer getriggered = $P($ZTS,",",2) +%Library.String + + + + +Boolean: 1=timer is in Sleep-mode; 0=timer is inActive-mode +%Library.Integer + + + +%Library.List + + + + +Geeft terug: +Args : $LB(CntMsg) +%Library.List + + + +%Library.List + + + + +Event=$LB(MethodObjORef,MethodName) + +Wordt uitgevoerd bij DirectDispatch +%Library.List + + + +%Library.List + + + + +(in ms) +%Library.Integer + + + + +(in ms) +%Library.Integer + + + + +Tijd vooraleer de Timer in Sleep-mode gaat (in seconds) +%Library.Integer + + + +blnForce:%Library.Integer=0 +0 + + + + +0 +0)||(..tmrSleepInterval'>0) + Set ..FTimer.Interval=..tmrSleepInterval + Set ..IsSleeping=1 + Do ..FTriggerEvent(..OnGotoSleep) + Quit + +]]> + + + +Event:%String,Args:%String="" +0 + + + + +0 + + + + +eqID:%Library.String,QueueInterval:%Library.String=1000 +0 +%Library.Status + + + + +Args:%Library.List +0 + + + + +Args:%Library.String +0 +0)||(..tmrSleepInterval'>0) + . Do:($$$pmTimeDiff'<..tmrSleepTimeOut) ..FSetTimerSleep() + Else Do + . For Quit:('..EventQueue.GetMessage()) Do + .. Set CntMsg=CntMsg+1 + .. Do ..TriggerDispatch(..EventQueue.Msg) + . Do ..FSetTimerActive() + + Set ..FTimer.Enabled="True" + Do ..FTriggerEvent(..OnAfterProcessMsgs,$LB(CntMsg)) + Quit + +pmTimeDiff() + Quit $$$Time($ZTS) - ..FtmrLastActive +]]> + + + +0 + + + + +0 + + + + + +Parameters: ActiveInterval, SleepInterval (in ms) , SleepTimeOut (in sec !!!) +ActiveInterVal:%Library.Integer,SleepInterval:%Library.Integer,SleepTimeOut:%Library.Integer +0 + + + + +Args:%Library.List +0 + + + + Index: DW/CSP/BLogic.cls.xml =================================================================== diff -u --- DW/CSP/BLogic.cls.xml (revision 0) +++ DW/CSP/BLogic.cls.xml (revision 2) @@ -0,0 +1,354 @@ + + + +%RegisteredObject,%XML.Adaptor +0 + + +1 +Site + + + + +1 +Site + + + + +1 +Site +%List +1800 Do + ... $$$SetSession(RS.Data("ID"),1) + ... Set SessID=RS.Data("ID") + ... $$$SetSessionID(RS.Data("ID"),SessID) + .. Else Do + ... $$$SetSession(RS.Data("ID"),0) + ... $$$SetSessionID(RS.Data("ID"),SessID) + .. Set OldSecs=NewSecs + . Else Do + .. $$$SetSession(RS.Data("ID"),1) + .. Set SessID=RS.Data("ID") + .. $$$SetSessionID(RS.Data("ID"),SessID) + .. Set IP=RS.Data("IP") + .. Set OldSecs=(RS.Data("Datum")*86400)+RS.Data("Tijd") + Quit $LB(1) +]]> + + + +1 +IpAdres:%String +%String +"_FileName) + + /// Textfile uitlezen en naam van host uitlezen. + Set TextFile=##class(%FileCharacterStream).%New(FileName) + Do TextFile.LinkToFile(FileName) + + New FileLen,TextLine,HostName + Set FileLen=TextFile.Size + Set HostName="Onbekend" + For Quit:TextFile.AtEnd Set TextLine=TextFile.ReadLine(FileLen) Do + . If TextLine["Name:" Set HostName=$P(TextLine," ",2) + Quit HostName +]]> + + + + +Om statistieken te updaten +Eerst worden de globals met statische gegevens verwijderd +Daarna worden de gegevens bijgewerkt +1 + + + + Index: csp/sessmat.cls.xml =================================================================== diff -u --- csp/sessmat.cls.xml (revision 0) +++ csp/sessmat.cls.xml (revision 2) @@ -0,0 +1,148 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "" + Write "Aantal sessies per dag/uur" + Write "" + Write "" + Write "
    " + Write "",! + Write " ",! + Write " ",! + Write " "_$c(9)_"" + Write "
    " + Write " " + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Zo" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Ma" + Write "" + Write "
    " + Write "",! + Write $c(9)_"" + Write "
    " + Write "" + Write "Di" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Wo" + Write "" + Write "
    " + Write "",! + Write $c(9)_"" + Write "
    " + Write "" + Write "Do" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Vr" + Write "" + Write "
    " + Write "",! + Write $c(9)_"" + Write "
    " + Write "" + Write "Za" + Write "" + Write "
    " + Write "",! + Write " ",! + Write " ",! + Write " " + For u=0:1:23 { + Write !," ",! + Write " " + Write "
    " + Write "" + Write ($G(u)_" uur ") + Write "" + Write "
    " + Write "",! + Write $c(9) + For d=1:1:7 { + Write !,$c(9) + New Temp + Set Temp=$G(arrValues(d,u)) + Set Temp=$S((Temp>0):Temp,1:0) /// om lege velden tegen te gaan (leeg wordt 0) + Set CellColor=$S(($G(arrTopTwintig(d,u))="TOP10"):"#FFDDDD",($G(arrTopTwintig(d,u))="TOP20"):"#FFFFCA",1:"white") + Write !," " + Write "
    " + Write "" + Write (Temp) + Write "" + Write "
    " + Write "",! + Write $c(9) + } + Write !," ",! + Write " " + } + Write !," ",! + Write "",! + Write "
    " +]]>
    +
    + + +c:\cachesys\csp\httplog\sessmat.csp + + + +/csp/httplog/sessmat.csp + + + +59626,55369 + +
    +
    Index: Prod/GADef/emKadBoring.cls.xml =================================================================== diff -u --- Prod/GADef/emKadBoring.cls.xml (revision 0) +++ Prod/GADef/emKadBoring.cls.xml (revision 2) @@ -0,0 +1,938 @@ + + + + Afspraken i.v.m. Posities van Beslag en Boringen: +
    • +Standaard zijn posities STEEDS gemeten van Links (X), van Boven (Y) en vanaf de Rug (Z)
    • +AfstandRand is steeds relatief (t.o.v. de buitenrand van het profiel)
    • +Negatieve posities zijn gemeten van de tegenovergestelde kant:
      +| PosX < 0 ==> X = KD.Breedte - PosX
      +| PosY < 0 ==> Y = KD.Hoogte - PosY
      +| PosZ < 0 ==> Z = KD.ProfType.Dikte - PosZ
    • +De negatieve posities zijn
      +- te tonen als positieve waarden in de User Interface
      +- op te slaan in Caché als negatieve waarden
      +- in XML eveneens als negatieve waarden op te slaan met ev. een Attribute "omschrijving", bvb. "OMS=Van onderkant"
      + +
    ]]>
    +serial + +%Library.SerialObject,%VHSys.Library + + +%Library.Float + +0 + + + + +%Library.Float + +0 + + + + + +Volgende waarden moeten gebruikt worden: +
  • 0 : PuntBoring +
  • -1 : Doorboring +
  • 1 : Default Diepte]]> +%Library.Float + +0 + + + + + +Alleen te gebruiken indien er in het glas en in het kader wordt geboord voor de "glas"-profielen. +Deze is nodig omdat de boring in glas dan verschillend is van de profielboring. +De BoorGlasDiameter is standaard 9mm +%Library.Float + +0 + + + + + +PL - PR - PB - PO - VUL - P?;VUL
    +Kader - id - id - id - Vulling - Kader&Vulling; +Is enkel ingevuld in het geval van een "geldige boring".]]>
    +%Library.String + +0 + + +
    + + + +Dit is de nieuwe datastructuur sinds 14/03/2001 +%Library.String + +0 + + + + + + +Als "Niet Automatisch Frezen" gekozen, dan is het eerste character een "!"]]> +%Library.String + +0 + + + +%String + +0 + + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + + +Bevat de code voor TxtOpmerking. Transient. +TxtOpmKode wordt samen met TxtOpmerking opgevuld door de method TxtOpmerkingSet +%Library.String + +0 +1 + + + +%Library.String + +0 +1 + + + + +%Library.String + +0 +1 + + + + +%Library.String + +0 + + + +%Library.Float + +0 + + + + +%Library.Float + +0 + + + + +%Library.Float + +0 + + + + + +Berekent de Absolute Positie voor de gegeven coördinaat (X, Y, Z) uitgaande van de relatieve positie. +Als relatieve positie leeg is, of als blnAbsOnly=1 , dan wordt de gewone (absolute) Pos teruggegeven. +OPM: "Next" en "Previous" zijn hier niet mogelijk. +code +sCode:%Library.String,KadObj:Prod.GADef.KaderDeur,blnAbsOnly:%Library.String=0 +%Library.Float +0 Do + . Set AbsPos=RelIPos + Else If (RelIPos'="") Do + . Set AbsPos=KadObj.AbsPosCalc(sCode,RelIPos) + . Set:(AbsPos=RelIPos) AbsPos="" + Set:($G(AbsPos)="") AbsPos=IPos + + Quit AbsPos + +]]> + + + + +Als blnOpposite=1, dan geeft CalcHoogtePos steeds de dikte/breedte (voor onder+boven/interne+externe zijde).]]> +code +GADefProd:Prod.GADef.KaderDeur,blnOpposite:%Library.Integer=1 +%Library.Float + + + + +code +GADefProd:Prod.GADef.KaderDeur +%Library.Float + + + + +code +GADefProd:Prod.GADef.KaderDeur +%Library.Float + + + + + +Returns "" (empty string) if OK.
    +Mogelijke waarschuwingen zijn:
  • +Boring in Vrije zone Verbinder
  • +Boring in profiel van Scharnierzijde.]]> +code +KadObj:Prod.GADef.KaderDeur +%Library.String +0)&(%this.AfschuinDiameter>%this.BoorDiameter) D2=%this.AfschuinDiameter/2 + . ; Transformatie naar eerste kwadrant + . Set:((2*pX)>KadObj.Breedte) pX=KadObj.Breedte-pX + . Set:((2*pY)>KadObj.Hoogte) pY=KadObj.Hoogte-pY + . ; Take BoorDiameter into account + . Set pX=pX-D2 + . Set pY=pY-D2 + . ; Get Vrijze Zone verbinder + . Set HoekL=KadObj.ProfType.Hoek.ConstructAfm.GetAt("VRZBOR") + . Set HoekB=KadObj.ProfType.Hoek.ConstructAfm.GetAt("BORAX") ; "VRZBORB" + . ; Controle Vrije Zone + . If ((pX + + + + +Voor een D=5;7 doorboring wordt automatisch CncID="HULS" en AD=6.5, behalve als CncID="BOR".
    +Info wordt weggeschreven in de property ]]>
    +code +Breedte:%Library.Float,Hoogte:%Library.Float,ProfType:Res.PI.ProfType,VullingObj:Prod.GADef.emKadVulling,KadObj:Prod.GADef.KaderDeur +%Library.Boolean +0)&(%this.AfschuinDiameter>%this.BoorDiameter) D2=%this.AfschuinDiameter/2 + + ; Transformatie naar eerste kwadrant + Set:((2*pX)>Breedte) pX=Breedte-pX + Set:((2*pY)>Hoogte) pY=Hoogte-pY + + If (%this.BoringType="ON")!(%this.BoringType="BO") Do ; Laterale boring + . ; Diameter ligt volledig binnen de Kaderdeur ? + . Set:(pX-D2'>0) msg="Rand Kader" + . Set:(pY-D2'>0) msg="Rand Kader" + . Quit:(msg'="") + . ; + . ; Boring beslist welke punten (posities) in het profiel moet gecontroleerd worden + . Set Pos1D=$S(pX"" of CncID="BOR" + ... Set %this.CncID="HULS" + ... Set %this.AfschuinDiameter=6.5 + . If %this.CncID["HULS", ((%this.BoringType'="ON")!(%this.BoorDiameter'=5)!(%this.BoorDiepte'<0)) Do + .. ; Reset/Remove "HULS" indien niet meer van toepassing + .. Set %this.CncID="" + .. Set:(%this.AfschuinDiameter=6.5) %this.AfschuinDiameter="" + . ; + . ; Controle Vulling + . If (%this.BoorDiepte=-1) Quit:($$cbgControleVulling(.msg,VullingObj)=0) ; Doorboring NIET mogelijk ? --> Quit + . Else Set:(msg="OK: VUL") msg="Rugboring in Glas" ; Rugboring in glas NIET mogelijk + . ; + . Quit:($E(msg,1,3)'="OK:") ; Set msg="Fout Boring" + . Set OK=1 + + Else If (%this.BoringType="IN")!(%this.BoringType="EX") Do ; Dwarse (zij)boring + . ; Diameter ligt op de rand van de Kaderdeur ? + . Set:(%this.BoringType="EX") ProfPos=0 + . Set:(%this.BoringType="IN") ProfPos=ProfType.Breedte + . ; + . Set:(pX-ProfPos\1=0)&(pY-ProfPos\1=0) msg="Fout Rand" + . Set:(pX-ProfPos\1<0)!(pY-ProfPos\1<0) msg="Niet op Rand" + . Set:(pX-ProfPos\1'=0)&(pY-ProfPos\1'=0) msg="Niet op Rand" + . Quit:(msg'="") + . ; + . Set Pos1D=%this.ZPos + . Set msg=$$cbgTestBoring1D(ProfType,%this.BoringType,Pos1D,D2,%this.BoorDiepte) + . Quit:($E(msg,1,3)'="OK:") + . ; + . Set OK=1 + + Else Do + . ; Type boring onbekend + . Set OK=0 + . Quit + + Do %this.OpmerkingKodeSet(msg,"NL") + Quit OK + + +cbgTestBoring1D(ProfielType,Kant,Pos1D,Straal,Diepte) + New TypePlus,TypeMin + Set TypePlus=ProfielType.PuntInfoGet(Kant,Pos1D+Straal,Diepte) + Set TypeMin=ProfielType.PuntInfoGet(Kant,Pos1D-Straal,Diepte) + ;Set %this.Opmerking="Test: TP="_TypePlus_" , TM="_TypeMin_" , P+S="_(Pos1D+Straal)_" , P-S="_(Pos1D-Straal) + Quit:(TypePlus'=TypeMin) "Fout Boring" + Quit TypePlus + + +cbgControleVulling(msg,VullingObj) + ; msg should be passed by reference ! + New vOK,ResultB + + If msg'["VUL" Set vOK=1 + Else Do + . Set ResultB=VullingObj.ControleBoring($E(msg,4,999)) + . If (ResultB'="OK:"),(ResultB'="") Do + .. ; Fout bij boring in de vulling: foutmelding via teruggeven. + .. Set msg=ResultB + .. Set vOK=0 + . Else Set vOK=1 + . ; + + Quit vOK + +]]> +
    + + +]]> +code +MaxX:%Library.Float,MaxY:%Library.Float,MaxZ:%Library.Float,MaxD:%Library.Float +%Library.String +0)!(%this.XPos'0)!(%this.YPos'0),%this.BoorDiameter'="",(%this.BoorDiameter'>0)!(%this.BoorDiameter'0)!(%this.AfschuinDiameter'0,%this.BoorDiameter>0,(%this.AfschuinDiameter'>%this.BoorDiameter) Set msg="A" ; AfschuinD is kleiner dan BoorDiameter + . Else If %this.BoorGlasDiameter'="",(%this.BoorGlasDiameter<5) Set msg="BGD" + . Else If (%this.XPos="")&(%this.YPos="")&(%this.BoorDiameter="") Set msg="Leeg" + . Else If (%this.XPos="")!(%this.YPos="")!(%this.BoorDiameter="") Set msg="Onvolledig" + . ;Else If (%this.XPos="")!(%this.YPos="")!(%this.BoorDiameter="")!((%this.BoringPlaats="KG")&(%this.BoorGlasDiameter="")) Set msg="Onvolledig" + . Else Set OK=1 + + Else IF (%this.BoringType="EX")!(%this.BoringType="IN") Do + . ; Zijboring + . If %this.XPos'="",(%this.XPos<0)!(%this.XPos>MaxX) Set msg="X" + . Else If %this.YPos'="",(%this.YPos<0)!(%this.YPos>MaxY) Set msg="Y" + . Else If %this.ZPos'="",(%this.ZPos'>0)!(%this.ZPos'0)!(%this.BoorDiameter'0),%this.BoorDiameter'="",(%this.BoorDiameter'>0)!(%this.BoorDiameter'0)!(%this.AfschuinDiameter'%this.BoorDiameter) Set msg="A" ; AfschuinD is kleiner dan BoorDiameter + . Else If (%this.XPos="")&(%this.YPos="")&(%this.ZPos="")&(%this.BoorDiameter="") Set msg="Leeg" + . Else If (%this.XPos="")!(%this.YPos="")!(%this.ZPos="")!(%this.BoorDiameter="") Set msg="Onvolledig" + . Else Set OK=1 + . ; + + Else Do + . ; Type boring onbekend + . Set OK=0 + . Quit + + + Do:(OK'=1) %this.OpmerkingKodeSet(msg,"NL") + Quit OK + +]]> + + + + +Copy maken van een boring in een nieuw object. +Verschillende CopyModes: "FullCopy" (=Default), "BorNormal", "Empty" +code +CopyMode:%Library.String="FullCopy" +Prod.GADef.emKadBoring + + + + + +Geeft True of False terug, naargelang de boring een speciale of een gewone is. +code +%Library.Boolean +0) Quit 0 + ; boring is een "HULS" doorboring + If %this.BoorDiepte<0, %this.BoorDiameter=5, %this.AfschuinDiameter=6.5, %this.BoorGlasDiameter>5, $E(%this.CncID,1,4)="HULS" Quit 0 + ; boring is een normale doorboring + If %this.BoorDiepte<0, ('%this.BoorDiameter)!(%this.BoorDiameter>0), %this.AfschuinDiameter'>0, ('%this.BoorGlasDiameter)!(%this.BoorGlasDiameter=7) Quit 0 + ; boring is een normale rugboring + If %this.BoorDiepte>0, ('%this.BoorDiameter)!(%this.BoorDiameter>0), %this.AfschuinDiameter'>0, ('%this.BoorGlasDiameter)!(%this.BoorGlasDiameter=7) Quit 0 + + Quit 1 + +]]> + + + +code +QtyStaffel:%Library.Integer,MuntPar:%Library.Float,DtlObj:Res.PI.emKostDetail,Opties:%Library.String,Omtrek:%Library.Float,Opp:%Library.Float,Volume:%Library.Float +%Library.Float + + + + +code +Kode:%Library.String,Taal:%Library.String="NL" + + + + + +Creëert een tekstlijn op basis van de gegevens van het Embedded Boring Object. +Deze Tekst wordt tijdelijk opgeslagen in de property TxtSpecial (Transient). +code +Taal:%Library.String="NL" +%Library.String + + + + + +Tekenen van de VML-boringen binnen de groep van alle beslag. +Voor iedere boring van het beslag wordt deze routine telkens opgeroepen. +code +DevObj:%Library.String,Plaats:%Library.String,ProfBreedte:%Library.Float,TekeningCode:%Library.String,Opties:%Library.String +" + ; "" + + New BType,strVML,OriginX,OriginY,intSize,intRotate,strColor,TekCode + + Set BType=$S((%this.BoringType="EX")!(%this.BoringType="IN"):"Z", 1:%this.BoringType) + If BType="Z",$G(Plaats)="" Quit + Set TekCode=$G(TekeningCode,"") + + Set OriginX=%this.XPos + Set OriginY=%this.YPos + Set intSize=$S(%this.BoorDiameter<0:0, 1:%this.BoorDiameter) + Set intRotate=$S(Plaats="PL":0, Plaats="PB":90, Plaats="PR":180, Plaats="PO":270, 1:0) ; Externe boring + Set strColor="blue" + + ;; Select VML type for this boring + ;If %this.VmlID="KAD" Do ; Special case: FREES in Kaderscharnier + ;. ; Draw rectangle + ;. Set strVML=$$KADFREES^VHSys.Library.VMLLib(OriginX,OriginY,intRotate,strColor,)_NL + ;Else If %this.VmlID="SD30" Do ; Special case: FREES in Schuifdeurbeslag + ;. ; Draw arc + ;. Set strVML=$$SD30FREES^VHSys.Library.VMLLib(OriginX,OriginY,intRotate,strColor,)_NL + ;Else If $E(%this.VmlID,1,4)="SD35" Do ; Special case: FREES in Schuifdeurbeslag + ;. ; Draw arc + ;. Set strVML=$$SD35FREES^VHSys.Library.VMLLib(OriginX,OriginY,intRotate,strColor,)_NL + + ; Select VML type for this boring + If $L(%this.VmlID)>2 Do ; Special VML-code + . Set strVML=$$VMLShape^VHSys.Library.VMLLib(%this.VmlID,OriginX,OriginY,intSize,intRotate,strColor,)_NL + . ;Set strVML=$$KADFREES^VHSys.Library.VMLLib(OriginX,OriginY,intRotate,strColor,)_NL + + Else If BType="Z" Do ; ZIJ BORING ("T") + . Set intSize=14 ; Fixed size for "Zijboring" + . Set:(%this.BoringType="IN") intRotate=(intRotate+180)#360 + . Set strColor="red" + . Set strVML=$$TCross^VHSys.Library.VMLLib(OriginX,OriginY,intSize,intSize,strColor,intRotate,)_NL + Else If %this.IsSpecialeBoring() Do ; SPECIALE BORING ("+") + . Set intSize=10 + . Set strVML=$$CrossHV^VHSys.Library.VMLLib(OriginX,OriginY,intSize,intSize,strColor,)_NL + Else If %this.BoorDiepte<0 Do ; DOORBORING ("o") + . Set strVML=$$Circle^VHSys.Library.VMLLib(OriginX,OriginY, $S(intSize<2:2, 1:intSize), strColor,strColor,)_NL + Else If (%this.BoorDiameter<0)||(%this.BoorDiepte=0) Do ; PUNT BORING ("X") + . Set intSize=10 + . Set strVML=$$CrossDiag^VHSys.Library.VMLLib(OriginX,OriginY,intSize,intSize,strColor,)_NL + Else Do ; STD RUGBORING ("o"&"X") + . Set strVML="" + . Set:(intSize'>10) strVML=$$CrossDiag^VHSys.Library.VMLLib(OriginX,OriginY,10,10,strColor,)_NL + . Set strVML=strVML_$$Circle^VHSys.Library.VMLLib(OriginX,OriginY, $S(intSize<2:2, 1:intSize), strColor,strColor,)_NL + . ; + + ; Add VML boring to DevObj + Do WRITE^XMLWRITE(.DevObj,strVML) + Quit + + +]]> + + + + +Voor een zijboring ("Z") is [objParent] of ( [Plaats] en [ProfBreedte]) verplicht door te geven.]]> +code + + + ; ... + ; + + New BType,strVML,strVML2,intLeft,intTop,intSize,intRotate,strColor,FKey + New sProf,Opposite,NL + Set NL=$C(13)_$C(10) + Set BType=$S((%this.BoringType="EX")!(%this.BoringType="IN"):"Z", 1:%this.BoringType) + If BType="Z",$G(Plaats)="",'$G(objParent) Quit + Set:($G(Plaats)="") Plaats=objParent.ProfielPlaatsGet(%this) + Quit:(objParent.NietOpProfiel(Plaats)) + + ; Prepare Boring Symbol + ; --------------------- + Set strVML="" + Set strColor="black" + + If BType="Z" Do + . ; Zijboring + . ;Set:($G(Plaats)="") Plaats=objParent.ProfielPlaatsGet(%this) + . Set intRotate=$S(Plaats="PL":0, Plaats="PB":90, Plaats="PR":180, Plaats="PO":270, 1:0) ; Externe boring + . Set:(%this.BoringType="IN") intRotate=(intRotate+180)#360 + . Set strColor="red" + . Set strVML=$$TCross^VHSys.Library.VMLLib(50,50,50,50,strColor,intRotate,)_NL + . ; Values for + . Set intSize=14*2 + + Else If %this.IsSpecialeBoring() Do + . ; Speciale boring: put (+) sign to draw users attention + . Set strVML=$$CrossHV^VHSys.Library.VMLLib(50,50,100,100,strColor,)_NL + . ; Values for + . Set intSize=12 + + Else If %this.BoorDiepte<0 Do + . ; Doorboring (normal circle) + . Set strVML=$$Circle^VHSys.Library.VMLLib(50,50,100,strColor,)_NL + . ; Values for + . Set intSize=$S(%this.BoorDiameter<2:2, 1:%this.BoorDiameter) + + Else If (%this.BoorDiameter<0)||(%this.BoorDiepte=0) Do + . ; Puntboring (X : diagonal cross) + . Set strVML=$$CrossDiag^VHSys.Library.VMLLib(50,50,100,100,strColor,)_NL + . ; Values for + . Set intSize=10 + + Else Do + . ; Standaard Rugboring ( + . Set strVML=$$CrossDiag^VHSys.Library.VMLLib(50,50,100,100,strColor,)_NL + . Set strVML=strVML_$$Circle^VHSys.Library.VMLLib(50,50,$S(%this.BoorDiameter<2:2, 1:%this.BoorDiameter)*10,strColor,)_NL + . ; Values for + . Set intSize=10 + + + Set intLeft=%this.XPos-(intSize\2) + Set intTop=%this.YPos-(intSize\2) + + ; Set VML Group and surrounding rectangle + Set strVML2="" + If $G(Opties)["C" Set strVML2=strVML2_""_NL + Set strVML2=strVML2_$$xvwVMLGroepOpen(intLeft,intTop, intSize,intSize)_NL + Set strVML2=strVML2_strVML + Set strVML2=strVML2_$$xvwVMLGroepClose()_NL + Do WRITE^XMLWRITE(DevObj,strVML2) + + + ; !!! DOORBORING in zijkant - draw OPPOSITE zijboring !!! + If (BType="Z"),(%this.BoorDiepte<0) Do + . Set strVML=$$TCross^VHSys.Library.VMLLib(50,50,50,50,strColor,(intRotate+180)#360,)_NL + . Set sProf=%this.BoringType_"-"_Plaats + . Set:($G(ProfBreedte)="") ProfBreedte=objParent.ProfType.Breedte + . Set Opposite=ProfBreedte*$S((sProf="IN-PL")!(sProf="IN-PB")!(sProf="EX-PR")!(sProf="EX-PO"):-1,(sProf="EX-PL")!(sProf="EX-PB")!(sProf="IN-PR")!(sProf="IN-PO"):1,1:0) + . Set:(Plaats="PL")!(Plaats="PR") intLeft=intLeft+Opposite + . Set:(Plaats="PB")!(Plaats="PO") intTop=intTop+Opposite + . Set strVML2="" + . Set strVML2=strVML2_$$xvwVMLGroepOpen(intLeft,intTop, intSize,intSize)_NL + . Set strVML2=strVML2_strVML + . Set strVML2=strVML2_$$xvwVMLGroepClose()_NL + . Do WRITE^XMLWRITE(DevObj,strVML2) + + Quit + + +xvwVMLGroepOpen(Left,Top,Width,Height) + Set:(Width\1'>0) Width=1 + Set:(Height\1'>0) Height=1 + Quit "" + +xvwVMLGroepClose() + Quit "" +]]> + + + +code + +0 Do ; Punten van boring + . Do:(%this.BoorDiameter) TAGWRITE^XMLWRITE(DevObj,"DIAMETER",%this.BoorDiameter,"UNIT=""mm""") + . Do:(%this.BoorGlasDiameter) TAGWRITE^XMLWRITE(DevObj,"GLASDIAMETER",%this.BoorGlasDiameter,"UNIT=""mm""") + . Do:(%this.AfschuinDiameter) TAGWRITE^XMLWRITE(DevObj,"AFSCHUINDIAMETER",%this.AfschuinDiameter,"UNIT=""mm""") + Else Do ; Puntboring + . Do:(%this.BoorDiameter'="") TAGWRITE^XMLWRITE(DevObj,"DIAMETER","punt","") + + ; Plaatsbepaling + If %this.BoringType="ON" Do ;Standaard boring langs ONder + . Set Param=$S(%this.BoorDiepte<0:"doorboring",%this.BoorDiepte>0:"rugboring",%this.BoorDiepte=0:"puntboring",1:"") + . Do TAGWRITE^XMLWRITE(DevObj,"BOORTYPE",%this.BoringType) + . Do TAGWRITE^XMLWRITE(DevObj,"BOORDIEPTE",%this.BoorDiepte,"OMS="""_Param_"""") + Else Do ;Speciale boring + . Set Param=$S(%this.BoringType="BO":"bovenkant",%this.BoringType="EX":"externe",%this.BoringType="IN":"interne",1:"fout profielkant") + . Do TAGWRITE^XMLWRITE(DevObj,"BOORTYPE",%this.BoringType,"OMS="""_Param_"""") + . Set Param=$S(%this.BoorDiepte<0:"doorboring",%this.BoorDiepte>0:"zijboring",%this.BoorDiepte=0:"puntboring",1:"") + . Do TAGWRITE^XMLWRITE(DevObj,"BOORDIEPTE",%this.BoorDiepte,"OMS="""_Param_"""") + + Set Param="" + Set:($E(%this.BoringPlaats,1,2)?1"P"1E) Param=$Case($E(%this.BoringPlaats,1,2), "PL":"links", "PR":"rechts", "PB":"bovenste", "PO":"onderste", :"")_" profiel" + Set:(%this.BoringPlaats["VUL") Param=$S(Param'="":Param_" en ",1:"")_"glas" + Set:(Param="") Param="fout" + Do TAGWRITE^XMLWRITE(DevObj,"BOORPLAATS",%this.BoringPlaats,"OMS="""_Param_"""") + Do:($L(%this.Opmerking)) TAGWRITE^XMLWRITE(DevObj,"OPMERKING",%this.Opmerking) + Do:($L(%this.CncID)) TAGWRITE^XMLWRITE(DevObj,"CNCID",%this.CncID) + Do:($L(%this.VmlID)) TAGWRITE^XMLWRITE(DevObj,"VMLID",%this.VmlID) + + Set LPos=%this.CalcLPos(GADefProd) + Set RandPos=%this.CalcRandPos(GADefProd) + Do:(LPos'="") TAGWRITE^XMLWRITE(DevObj,"LPOS",LPos,"UNIT=""mm""") + Do:(RandPos'="") TAGWRITE^XMLWRITE(DevObj,"RANDPOS",RandPos,"UNIT=""mm""") + + Do ENDTAG^XMLWRITE(DevObj,"BORING") + +]]> + + + +%Library.CacheSerialState +emPSBoringState +^Prod.GAD.emKadBoringS + + +AfschuinDiameter + + +BoorDiameter + + +BoringType + + +Opmerking + + +XPos + + +YPos + + +ZPos + + +BoringPlaats + + +BoorGlasDiameter + + +BoorDiepte + + +RelXPos + + +RelYPos + + +RelZPos + + +CncID + + +VmlID + + +CStream + + + + + Index: Prod/ProductBasis.cls.xml =================================================================== diff -u --- Prod/ProductBasis.cls.xml (revision 0) +++ Prod/ProductBasis.cls.xml (revision 2) @@ -0,0 +1,1829 @@ + + + +persistent +DataM +%Library.Persistent + + + +A = 80% van de meest roterende producten +B = 15% van de tweede meest roterende producten +C = 5% van de minst roterende producten + +De klassificatie wordt opnieuw berekend door ^PRABC +De klassificatie wordt berekend op het aantal uitgaande gecumuleerde faktuurlijnen in ^KSTPR +%Library.String + + + + + + +Toeleveringen opgedeeld in drie velden door "#" +1. Aantal stock ++ KOM +Format: Numeric: 7 + +2. Aantal stock +Format: Numeric: 7 + +3. Aantal KOM +Format: Numeric: 7 +%Library.String + + + + +Reservatie opgedeeld in drie velden door "#" +1. Aantal Stock + KOM +Format: Numeric: 7 +2. Aantal Stock +Format: Numeric: 7 +3. Aantal KOM +Format: Numeric: 7 +%Library.String + + + +%Library.String + + + + +Format: Char: 2 +Waarde: E1,E2,...,H1,H2,... +%Library.String + + + + + +Format: Char: 2 +Waarde: E1, E2,...,H1,H2,... +%Library.String + + + + + +Format: Char: 2 +Waarde: E1,E2,...,H1,H2,... +%Library.String + + + + + +Format: Char: 2 +Waarde: E1,E2,...,H1,H2,... +%Library.String + + + + + +Format: Numeric: 1 +%Library.String + + + + +Popup: PRODUKT;PRBARCODE +%Library.String + + + + +Fomat: 20 char +%Library.String + + + + + +Copy van de fysische stock. Genomen bij het begin van de inventaris om na de inventaris een vergelijking te maken +%Library.Integer + + + + +Format: Numeric: 7 +%Library.Integer + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +1 = Niet bijhouden +"" = Bijhouden +%Library.String + + + + + +%Library.String + + + + +Breedte in mm van de grootverpakking +%Library.Integer + + + + +Format: Numeriek, aantal weken +%Library.Integer + + + + +Popup PRODUKT;CYCLECOUNT +0 = Nooit +1 = Altijd +2 = Grenswaardeoverschrijding +3 = 2 + 4 +4 = Bij leegworden drager +%Library.Integer + + + + + +Format: DD.MM.JJ +Sys.cDate + + + + +Geeft aan wanneer een produkt veranderd is zodanig dat nieuwe goederen niet meer mogen bijgestapeld worden. +Er moet een nieuwe paletplaats voor voorzien worden. +%Library.Date + + + +Sys.cDate + + + + +Opgedeeld in Stock en KOM door # +Het gemiddelde wordt berekend door (totaal verkoop over 52 weken) / 48 +1. Stock gem weekverkoop +Format: Numeric: 7 +2. KOM gem weekverkoop +Format: Numeric: 7 +3. Frequentie: hoeveel weken er verkoop is per jaar +%Library.String + + + + +Bij orderingave wordt deze routine opgeroepen voor kreatie van het afgeleide product +%Library.String + + + + +Format: Real: 12,3 +%Library.Numeric + + + + +Gemiddelde weekverkoop waar de recenste weken zwaarder wegen dan de oude weken +( VerkoopWeekx * (Weekx) MOD 4) / Weekx MOD 4 * ISVERLOF(Weekx) +Waar Weekx gaat van 1 (= oudste week) tot 52 (= recenste week) +De functie ISVERLOF geeft voor de verlof weken een 0 terug en voor de ander een 1. +%Library.String + + + + +Hoogte in mm van de grootverpakking +%Library.Integer + + + + +Format: String: 11 +%Library.String + + + + +%Library.Integer + + + + +Format: Char: 1 +Waarde: Indien empty is geen KATALOOG PRIJS - product +Anders L,S,G dan KATALOOG PRIJS - product +%Library.String + + + + + +1 = verschijnt in de KS-prijslijst +%Library.String + + + + +Format: Char: 1 +Waarde: Indien empty is geen KATALOOG PRIJS - product +Anders L,S,G dan KATALOOG PRIJS - product +%Library.String + + + + +%Library.String + + + + +Format: String: 25 +%Library.String + + + + + +Lengte in mm van de grootverpakking +%Library.Integer + + + +%Library.String + + + + +K = Kind of leeg +Indien "K" dan kan dit product niet alleen verkocht worden, alleen als deel van een moederproduct +%Library.String + + + + +Waarde: 1= NON-Aktief, empty = Aktief +%Library.String + + + + + +%Library.String + + + +%Library.String + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 26 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Boekhoudkundig rekeningnummer waarop gefaktureerd wordt. Wordt gebruikt bv. voor verpakking. +%Library.String + + + + +Popup: PRODUKT;OPSLAGZONE +%Library.String + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + + +Format: String: 44 +%Library.String + + + + +%Library.String +1 + Set {*}=##class(Prod.Product).GetPropViaNr({InternProductNr},"ProductGroep") + +1 + + + + +Popup: PRODUKT; STOCKAGEGRP +Geeft aan tot welke productgroep dit product behoort voor opslag van dit product in een bep. opslagzone +%Library.String + + + + +Aantal dat gereserveerd van de fysische stock tijdens het doorsturen van de OL's naar ht WMS en het feitelijke op uitleveringsbon zetten van de lijnen +%Library.Integer + + + + +door "#" gescheiden +1. Rotatie +2. Gem. Fys Stock +%Library.String + + + + +Format: Char: 1 +Indien leeg = Simulatie +Indien numeriek: Limiet met als limietwaarde de ingevulde waarde +%Library.String + + + + + +Format: Numeric: 4 +%Library.Integer + + + + +Format: Real: 4,2 +%Library.Numeric + + + + +Dekkingsbijdrage +Format: Real: 4,2 +%Library.Numeric + + + + +Extra schaduw DB% voor de PRIJSLIJST-klanten (Codex = "P") +Format: Real: 4,2 +%Library.Numeric + + + + +Format: Real: 4,2 +%Library.Numeric + + + +%Library.String + + + + +Format: Real: 12,2 +%Library.Numeric + + + + +Format: Real: 4,2 +%Library.Numeric + + + + +"" = Neen, 1 = Ja +%Library.String + + + + + + +Format: Numeric: 2 +%Library.Integer + + + + +Waarde: 1 = stock, empty = Niet stock +%Library.String + + + + + + +Is een vermenigvuldigingsfaktor om het aantal verkochte producten correct te herleiden naar bv. hoeveel laden hebben we verkocht +Indien Telbaar = 0 dan is het produkt niet telbaar bv. accessoires +Waarde: 0;1;2;...;0,5;0,25;... +%Library.String + + + + +Popup: PRODUKT;SAMPLETYPE +E = Eenmalig sampelen +B = Altijd hersampelen +N = Niet sampelen +Opmerking: Indien Sample = E en het produkt wordt geteld door de telweegschaal dan +wordt door het WMS 's nachts een feedback gegeven van Sample = "N". Om te melden +dat de sample is genomen. +%Library.String + + + + + + +Popu: PRODUKT;TELWIJZE +Z = Zonderbijsamplen +B = Bijsamplen +L = aansturing meettoestel niet van toepassing +%Library.String + + + + + + +Format: Numeric: 7 +%Library.Integer + + + + +Uniekheid index voor property InternProductNr +1 +InternProductNr +1 + + + +1 + +%Library.String +M.AB.9 of BQBC1->B.QBC.1 of MAHBC2->M.AH.BC.2 + + Set vGroep="" + Set vDossierNr="" + Set vCtrlNr="" + + ;Input onthouden voor foutmeldigen + New OrigDossier + Set OrigDossier=Dossier + + ;Eventueel reeds geplaatste (foutieve of correcte) punten weghalen + Set Dossier=$TR(Dossier,".","") + + ;Controlecijfer ophalen + New Loop,tmpChar,CtrlNr + Set CtrlNr="" + For Loop=$L(Dossier):-1:1 Set tmpChar=$E(Dossier,Loop) Quit:('$IsValidNum(tmpChar)) Do + . Set CtrlNr=tmpChar_CtrlNr + + Quit:(CtrlNr="") "" + + Write "Controlecijfer: "_CtrlNr,! + + ;Controlecijfer van dossier strippen + New Rest + Set Rest=$ZSTRIP(Dossier,">N") + + Quit:(Rest="") "" + + ;Groep (Tandembox,banco,...) strippen (1e char) + New Groep,DossierNr + Set Groep=$E(Rest,1) + Set DossierNr=$E(Rest,2,99999) + + Write "Groep: "_Groep,! + + Quit:(DossierNr="") "" + + Write "ProdCode: "_DossierNr,! + + New DottedProdCode,PCLen + Set PCLen=$L(DossierNr) + If PCLen<4 Do + . Set DottedProdCode=DossierNr + Else Do + . Set DottedProdCode=$CASE(PCLen,4:$E(DossierNr,1,2)_"."_$E(DossierNr,3,4),5:$E(DossierNr,1,3)_"."_$E(DossierNr,4,5),6:$E(DossierNr,1,2)_"."_$E(DossierNr,3,4)_"."_$E(DossierNr,5,6),:"") + + Quit:(DottedProdCode="") "" + + Set vGroep=Groep + Set vDossierNr=DossierNr + Set vCtrlNr=CtrlNr + + Quit Groep_"."_DottedProdCode_"."_CtrlNr + +]]> + + + +1 +Opslagzone:%Library.Integer +%Library.String + + + + +1 +Groep:%Library.String,DossierNr:%Library.String +%Library.String + + + + + +Ophalen van een property via het internproductnummer, zonder het product object te opene +1 +PRNr:%Library.Integer,PropName:%Library.String +%Library.String + + + + +1 +IdentNr:%Library.String +%Library.String + + + + + +Wegschrijven van een property via het internproductnummer, zonder het product object te openen. +Geeft 1 terug als OK anders 0 of foutmelding. +1 +PRNr:%Library.Integer,PropName:%Library.String,Val:%Library.String +%Library.String + + + + + +Opties: + +"PROM" ;Omschrijving +"PRLK" ; Lijst kindproducten incl. +"PRIK" ; Is kindproduct +"PRQTY" : Qty +"PRKR" : incl .KLantreferentie +Input:%Library.String,DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String="" +") + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITELN^XMLWRITE(DevObj) + + Do ONEPROD(%this.InternProductNr,tmpKLNr,tmpQty,Opties) + + Quit + +ONEPROD(PRNr,KLNr,Qty,Opties) + New KortTxt,IDNr,TekRef,Cnt,J,I,Node,Piece,Txt + Set Opties=$G(Opties) + Do BEGINTAG^XMLWRITE(DevObj,$S(Opties["PRIK":"KINDPRODUCT",1:"PRODUCT")) + Do WRITELN^XMLWRITE(DevObj) + Set KortTxt=%this.KortTekst ;$P(^KPR(PRNr,0),D) + + ;New tmpGADefObjID,tmpGADefObj + ;Set tmpGADefObjID=$P(^KPR(PRNr,"G"),D,13) + ;If tmpGADefObjID Do + ;. Set tmpGADefObj=##class(Prod.GADef.AfgeleidDef).%OpenId(tmpGADefObjID) + ;. If '(Opties[";GAV;GAO") Do Set Opties=Opties_";GAV;GAO" ;XMLWrite van KaderDeur zeker VML & Omschrijving-opties meegeven + ;. Do tmpGADefObj.XMLWrite(DevObj,$G(Taal),$G(Opties),"") + ;. Do tmpGADefObj.%Close() + ; + ; Aanpassingen voor GAData.Product: + New GAProdID,GAProd,GENTYP + Set GAProdID=$P(^KPR(PRNr,"G"),D,13) + If $L(GAProdID) Do + . Set GENTYP=$P(##class(Prod.Product).GetPropViaNr(PRNr,"GENTYP"),"\",1) ; Geeft TBX, KAD, BAN, ... terug naargelang het product + . If GENTYP?1(1"TBX",1"STG") Do + .. If '(Opties[";GAO") Do Set Opties=Opties_";GAO" ;XMLWrite van GAData.Product zeker Omschrijving-opties meegeven + .. Set GAProd=##class(Prod.GAData.Product).OpenWithCalc(GAProdID) + . Else Do + .. If '(Opties[";GAV;GAO") Do Set Opties=Opties_";GAV;GAO" ;XMLWrite van KaderDeur zeker VML & Omschrijving-opties meegeven + .. Set GAProd=##class(Prod.GADef.AfgeleidDef).%OpenId(GAProdID) + . ; Als GAProd bestaat, dan XMLWrite() uitvoeren. + . If GAProd Do + .. Do GAProd.XMLWrite(DevObj,$G(Taal),$G(Opties),"") + .. Do GAProd.%Close() + + Set IDNr=$P(^KPR(PRNr,2),D,25) + + Do BEGINTAG^XMLWRITE(DevObj,"BARCODE") + Do TAGWRITE^XMLWRITE(DevObj,"TYPE",%this.BarcodeType) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"WAARDE",%this.BarcodeWaarde) + Do WRITELN^XMLWRITE(DevObj) + Do ENDTAG^XMLWRITE(DevObj,"BARCODE") + + Do TAGWRITE^XMLWRITE(DevObj,"PRNR",PRNr) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",KortTxt) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"IDENTNR",IDNr) + Do WRITELN^XMLWRITE(DevObj) + Do:Opties["PRKR" KLANTREF(PRNr,KLNr) ; Klantreferenties + Do:Opties["PRQTY" TAGWRITE^XMLWRITE(DevObj,"QTY",Qty) + Do WRITELN^XMLWRITE(DevObj) + Set Talen=$G(Taal,"NFDE") + If Opties["PROM" For I=1:1:$L(Talen) Do + . Set Taal=$E(Talen,I) + . Set:Taal="N" List="0.2,0.11,6.1,6.2,6.3" + . Set:Taal="F" List="1.22,3.21,8.1,8.2,8.3" + . Set:Taal="D" List="2.2,3.23,10.1,10.2,10.3" + . Set:Taal="E" List="2.1,3.22,12.1,12.2,12.3" + . Do BEGINTAG^XMLWRITE(DevObj,"OMS",$$PARAMFILL^XMLWRITE("TAAL",Taal)) + . Set Cnt=0 + . For J=1:1:$L(List,",") Do + .. Set Node=$P($P(List,",",J),".",1) + .. Set Piece=$P($P(List,",",J),".",2) + .. Set Txt=$P($G(^KPR(PRNr,Node)),D,Piece) + .. Quit:Txt="" + .. Set Cnt=Cnt+1 + .. Do TAGWRITE^XMLWRITE(DevObj,"LIJN",$$ConvertToHTML^vhRtn1(Txt),$$PARAMFILL^XMLWRITE("VOLGNR",Cnt)) + .. Do WRITELN^XMLWRITE(DevObj) + . Do ENDTAG^XMLWRITE(DevObj,"OMS") + . Do WRITELN^XMLWRITE(DevObj) + Do:Opties["PRLK" KINDPROD(PRNr) + Do ENDTAG^XMLWRITE(DevObj,$S(Opties["PRIK":"KINDPRODUCT",1:"PRODUCT")) + Do WRITELN^XMLWRITE(DevObj) + Quit + +TEKREF(PRNr,Opties) + New TekRef + Set TekRef=$P(^KPR(PRNr,0),D) + Set TekRef=$E(TekRef,4,99) + Set TekRef=$TR($E(TekRef,1,8),".# ","") + Set:($E(TekRef,7,8)=16)!($E(TekRef,7,8)=18)!($E(TekRef,7,8)=19) $E(TekRef,7,8)="xx" + Set:($E(TekRef,7,8)="IN")!($E(TekRef,7,8)="GR")!($E(TekRef,7,8)="WI") $E(TekRef,7,8)="" + Quit $S($L(TekRef):TekRef_".Gif",1:"") + +KINDPROD(PRNr) + New KPRNr,Sort + Set KPRNr="" + For Set KPRNr=$O(^PRLINK("D",PRNr,KPRNr)) Quit:KPRNr="" Do + . Set Sort($$SORTKEY^PRODUKT(KPRNr))=KPRNr_D_$P(^PRLINK("D",PRNr,KPRNr),D) + Set Sort="" + For Set Sort=$O(Sort(Sort)) Quit:Sort="" Do + . Do ONEPROD($P(Sort(Sort),D,1),$P(Sort(Sort),D,2),"QK") ; Recursie + Quit + +KLANTREF(PRNr,KLNr) + ; Dummy + Quit + +]]> + + + +%CacheSQLStorage +^Prod.ProductBasisS + +data +^KPR +delimited + +{InternProductNr} +0.1 + + +"\" +0 +8 + + +"\" +0 +17 + + +"\" +2 +9 + + +"\" +3 +20 + + +"\" +1 +14 + + +"\" +1 +10 + + +"\" +1 +15 + + +"\" +1 +16 + + +"\" +0 +5 + + +"\" +2 +13 + + +"\" +2 +14 + + +"\" +1 +9 + + +"\" +0 +12 + + +"\" +4 +1 + + +"\" +4 +7 + + +"\" +4 +8 + + +"\" +4 +9 + + +"\" +4 +10 + + +"\" +5 +4 + + +"\" +5 +5 + + +"\" +5 +6 + + +"\" +5 +7 + + +"\" +5 +8 + + +"\" +5 +9 + + +"\" +4 +2 + + +"\" +5 +10 + + +"\" +4 +3 + + +"\" +5 +1 + + +"\" +5 +2 + + +"\" +5 +3 + + +"\" +4 +4 + + +"\" +4 +5 + + +"\" +4 +6 + + +"\" +0 +15 + + +"\" +3 +1 + + +"\" +1 +5 + + +"\" +1 +17 + + +"\" +1 +2 + + +"\" +0 +13 + + +"\" +1 +8 + + +"\" +0 +16 + + +"\" +1 +23 + + +"\" +0 +3 + + +"\" +1 +13 + + +"\" +1 +21 + + +"\" +1 +4 + + +"\" +2 +25 + + +"\" +1 +18 + + +"\" +3 +3 + + +"\" +1 +19 + + +"\" +3 +2 + + +"\" +0 +1 + + +"\" +1 +6 + + +"\" +0 +6 + + +"\" +0 +23 + + +"\" +1 +25 + + +"\" +0 +20 + + +"\" +0 +21 + + +"\" +2 +2 + + +"\" +3 +23 + + +"\" +2 +1 + + +"\" +3 +22 + + +"\" +1 +22 + + +"\" +3 +21 + + +"\" +0 +2 + + +"\" +0 +11 + + +"\" +0 +10 + + +"\" +2 +15 + + +"\" +8 +9 + + +"\" +6 +9 + + +"\" +8 +10 + + +"\" +6 +10 + + +"\" +9 +1 + + +"\" +7 +1 + + +"\" +9 +2 + + +"\" +7 +2 + + +"\" +9 +3 + + +"\" +7 +3 + + +"\" +9 +4 + + +"\" +7 +4 + + +"\" +9 +5 + + +"\" +7 +5 + + +"\" +9 +6 + + +"\" +7 +6 + + +"\" +9 +7 + + +"\" +7 +7 + + +"\" +9 +8 + + +"\" +7 +8 + + +"\" +9 +9 + + +"\" +7 +9 + + +"\" +9 +10 + + +"\" +7 +10 + + +"\" +8 +1 + + +"\" +6 +1 + + +"\" +8 +2 + + +"\" +6 +2 + + +"\" +8 +3 + + +"\" +6 +3 + + +"\" +8 +4 + + +"\" +6 +4 + + +"\" +8 +5 + + +"\" +6 +5 + + +"\" +8 +6 + + +"\" +6 +6 + + +"\" +8 +7 + + +"\" +6 +7 + + +"\" +8 +8 + + +"\" +6 +8 + + +"\" +1 +1 + + +"\" +0 +9 + + +"\" +1 +24 + + +"\" +0 +24 + + +"\" +0 +18 + + +"\" +2 +7 + + +"\" +2 +6 + + +"\" +2 +10 + + +"\" +2 +4 + + +"\" +1 +3 + + +"\" +2 +3 + + +"\" +2 +5 + + +"\" +2 +16 + + +"\" +2 +8 + + +"\" +1 +20 + + +"\" +1 +7 + + +"\" +2 +12 + + +"\" +2 +11 + + +"\" +0 +14 + + + + + Index: csp/productmenusa.cls.xml =================================================================== diff -u --- csp/productmenusa.cls.xml (revision 0) +++ csp/productmenusa.cls.xml (revision 2) @@ -0,0 +1,203 @@ + + + +User +cache +%CSP.Page,cspBasis.ProductMenu + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"" + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9) + Set i="" + Write !,$c(9) +%csp00002 If '(..LoopArray(.MenuArray,.i)) Goto %csp00001 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00002 +%csp00001 ;} + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9) + Set i="" + Write !,$c(9) +%csp00004 If '(..LoopArray(.MenuArray,.i)) Goto %csp00003 ;{ + Write !,$c(9,9) + Set ImgURL=##class(Res.VertalingLink).GetLinkVertaling("PK",$G(MenuArray(i)),"LB",Taal,,"WWW") + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00004 +%csp00003 ;} + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "
    " + Write "" + Write ""_(i)_"" + Write "" + Write "" + Write "" + Write "" + Write "" + Write "
    " + Write "" + Write "",! + Write $c(9,9,9) + Write "" + Write "" + Write "" + Write "",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9) + Write "" + Write "" + Write "" + Write "
    " + Write "" + Write "
    ",! + Write !,$c(9) + Set i="" + Write ! +%csp00006 If '(..LoopArray(.MenuArray,.i)) Goto %csp00005 ;{ + Write !,"
    " + Write "..." + Write "
    " + Write ! + Goto %csp00006 +%csp00005 ;} + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"Produktinformatie overzicht",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write $c(9),! + Write $c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,! + Write $C(9)_"" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Merge tmpRqData=%request.Data + Do ..InitializeCSP() + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,!,"" +]]> + + + +c:\cachesys\csp\olprodcat\ProductMenuSA.csp + + + +/csp/olprodcat/ProductMenuSA.csp + + + +0 + + + +59596,37380 + +
    +
    Index: _vhisie/TBX/FixOPTIMA.csp =================================================================== diff -u --- _vhisie/TBX/FixOPTIMA.csp (revision 0) +++ _vhisie/TBX/FixOPTIMA.csp (revision 2) @@ -0,0 +1,220 @@ + + + + + + + + + + + + + Fix Optima Data + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + +  #(..WebTextValue("MainBadCode",Taal,"O"))# + +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Input value: Entrez le num�ro de client  + + +
     
    Client Number:    #($G(msgVerifyKLNr))#
     
     
     
     #($G(msgDataOptEdit))#
    +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + Data values: Read-only: inutile de modifier ces valeurs ! + + Input values: Entrez les donn�es de client + +  
     
    #(..WebTextValue("Taal",Taal,"L"))#:
    Client Number:    #($G(msgVerifyKLNr))#
    Client Name:
    E-mail:
    Reduction: %
     
     
    DATAOPT: + (original from "Connexion") + (simple text)
    + (correct encryption)
    +
     
     
     
     #($G(msgDataOptToGlobal))#
    +
    +
    +
    +
    +
    + +
    + + + + + \ No newline at end of file Index: _vhisie/TBX/TBoxWizard.css =================================================================== diff -u --- _vhisie/TBX/TBoxWizard.css (revision 0) +++ _vhisie/TBX/TBoxWizard.css (revision 2) @@ -0,0 +1,159 @@ + body { color:black; } + A { text-decoration:underline; color: #FF460A} + A:hover { text-decoration:underline; } + +/* STYLE MAIN PAGE */ + .BorderNone { border:none; } + .BorderAll { border:solid black 1px; } + .BorderLeft { border-left:solid black 1px; } + .BorderRight { border-right:solid black 1px; } + .BorderTop { border-top:solid black 1px; } + .BorderBottom { border-bottom:solid black 1px; } + .BorderAll2 { border:solid #FF460A 1px; } + .BorderLeft2 { border-left:solid #FF460A 1px; } + .BorderRight2 { border-right:solid #FF460A 1px; } + .BorderTop2 { border-top:solid #FF460A 1px; } + .BorderBottom2 { border-bottom:solid #FF460A 1px; } + .clsHoofding { font-weight:bold; font-size:16px; margin:0; padding:2px; color:#FF460A; background-color:#CCCCCC; + text-align:center; vertical-align:middle; width:400; line-height:30px; border:solid #FF460A 2px; } + .clsHfdKlant { font-weight:bold; text-align:left; margin:0; padding:0px; padding-left:20px; border:none; } + .clsStapNr { font-weight:bold; font-size:24px; height:auto; line-height:30px; width:25; margin:0; padding:2px; color:white; + border:none; text-align:center; background-color:#FF460A; cursor:default; } + .clsStapBtn { font-weight:bold; font-size:14px; height:auto; line-height:30px; width:180; margin:0; padding:2px; padding-left:5px; color:white; + border:none; text-align:left; background-color:#AAAAAA; cursor:pointer; cursor:hand; } + .clsStapBtnHiLite { font-weight:bold; font-size:14px; height:auto; line-height:30px; width:180; margin:0; padding:2px; padding-left:5px; color:#FF460A; + border:none; text-align:left; text-decoration:none; background-color:#AAAAAA; cursor:pointer; cursor:hand; } + .clsStapBtnActive { font-weight:bold; font-size:14px; height:auto; line-height:30px; width:180; margin:0; padding:2px; padding-left:5px; color:white; + border:none; border-right:solid white 1px; text-align:left; text-decoration:none; background-color:#FF460A; cursor:default; } + .clsStapDivAll { position:absolute; height:540; width:930; padding:0px; border:none; overflow:hidden; overflow-y:auto;} + .clsStapDiv1 { visibility:visible; z-index:1; } + .clsStapDiv2 { visibility:hidden; z-index:-1; } + .clsStapDiv3 { visibility:hidden; z-index:-2; } + .clsStapDiv4 { visibility:hidden; z-index:-3; } + .clsStapDivError { visibility:hidden; z-index:-4; } + .clsWizardBtn { height:22; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; padding-left:10px; padding-right:10px; + margin:0px; text-align:center; color:white; border:solid black 1px; background-color:#FF460A; cursor:pointer; cursor:hand; } + /* instead of clsWizardBtn one can also make a combination of clsWizardBtnBase + clsWizardBtnGray/HiLite/Act/Disabled */ + DIV.clsWizardBtnBase { text-align:center; margin:3px 0px; } + DIV.clsWizardBtnBase SPAN { height:25; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; margin:0px; padding:0px 10px; text-align:center; } + .clsWizardBtnGray { color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; cursor:pointer; cursor:hand; } /* addition to ".clsWizardBtnBase" */ + .clsWizardBtnOrange { color:#FF460A; border:solid #FF460A 1px; background-color:#EEEEEE; cursor:pointer; cursor:hand; } /* addition to ".clsWizardBtnBase" */ + .clsWizardBtnAct { color:white; border:solid black 1px; background-color:#FF460A; cursor:pointer; cursor:hand; } /* addition to ".clsWizardBtnBase" */ + .clsWizardBtnDisabled { color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; cursor:default; } /* addition to ".clsWizardBtnBase" */ + .clsTmrSkeleton { position:relative; height:auto; width:100%; color:#FFFFFF; background-color:#AAAAAA; border:none; padding:2px; } + +/* STYLE PERSONALIA */ + .clsKlantData { text-align:right; } + .clsFields { width:50; height:100%; text-align:right; border:dashed #CCCCCC 1px; } + .clsFieldsData { width:50; text-align:right; border:none; border-bottom:solid black 1px; background-color:transparent; } + .clsKlantData SPAN { color:#FF460A; } + +/* STYLE KLEURKEUZE */ + A.clsInfoBlack { cursor:help; color:black; text-decoration:none; } + HR.clsKleurMain { color:#FF460A; border:solid #FF460A 1px; margin:3px 10px; line-height:10px; } + TD.clsKleurMain { color:white; background-color:#AAAAAA; } + DIV.clsKleurMain { color:white; background-color:#AAAAAA; font-weight:bold; font-size:14px; margin:0; padding:2px; } + DIV.clsKleurSub { font-weight:bold; font-size:14px; margin:2px 5px 2px 2px; padding:0px; } + DIV.clsKleurSub2 { font-weight:normal; font-size:14px; margin:2px 5px 2px 2px; padding:0px; } + DIV.clsKleurSubInfo { background-image:url(media/vraagteken_orange.gif); background-position:center right; background-repeat:no-repeat; cursor:help; } + TD.clsKleurItems { margin:0px; padding:1px; text-align:center; } + TD.clsKleurItems DIV { position:relative; line-height:20px; height:100%; border:none; margin:0px 2px; padding-left:5px; font-weight:bold; text-align:left; font-size:12px; } + TD.clsKleurItems DIV.clsLadeKlr { color:black; background-color:transparent; cursor:default; } + TD.clsKleurItems DIV.clsLadeKlrHiLite { color:#FF460A; background-color:transparent; cursor:pointer; cursor:hand; } + TD.clsKleurItems DIV.clsLadeKlrActive { color:white; background-color:#FF460A; cursor:pointer; cursor:hand; } + TD.clsKleurItems DIV.clsOtherKlrActive { color:white; background-color:#FF460A; cursor:default; } + DIV.clsLadeKlrHidden { position:relative; line-height:2px; height:0px; width:10px; border:none; margin:0; padding:0px; overflow:hidden; display:none; } + .clsLadeKlrKL { position:relative; line-height:20px; height:0px; width:95%; border:none; overflow:hidden; } + .clsLadeKlrBX { position:relative; line-height:2px; height:2px; width:95%; border:none; } + TD.clsLadeDFLItems { margin:0px; padding:1px; text-align:center; } + TD.clsLadeDFLItems DIV { position:relative; line-height:20px; height:100%; border:none; margin:0px 2px; padding-left:5px; font-weight:normal; text-align:left; font-size:12px; } + TD.clsLadeDFLItems DIV.clsLadeDFL { color:black; background-color:transparent; cursor:default; } + TD.clsLadeDFLItems DIV.clsLadeDFLHiLite { color:#FF460A; background-color:transparent; cursor:pointer; cursor:hand; } + TD.clsLadeDFLItems DIV.clsLadeDFLActive { color:white; background-color:#FF460A; cursor:pointer; cursor:hand; } + DIV.clsLadeDFLHidden { position:relative; line-height:2px; height:0px; width:10px; border:none; margin:0; padding:0px; overflow:hidden; display:none; } + DIV.clsVullingKlrInfo { position:absolute; display:none; width:240px; border:none; margin:-25 0 0 155; padding:10px; background-color:transparent; } + DIV.clsSaveDflKlrInfo { position:absolute; display:none; width:650px; border:none; margin:-70 0 0 20; padding:1px 1px; background-color:transparent; height:38px; } + DIV.clsAltTextDivSub { position:relative; border:solid black 1px; margin:0px 0px; padding:5px; font-weight:normal; text-align:left; font-size:12px; line-height:14px; background-color:lightyellow; } + DIV.clsBtnSaveDflKlr { margin:3px 0px; } + DIV.clsBtnSaveDflKlr SPAN { height:22; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; margin:0px; padding:0px 10px; text-align:center; } + +/* STYLE MATEN */ + SUP { font-family:Arial,Helvetica; color:#FF460A; } + .BorderBottom3 { border-bottom:dashed #AAAAAA 1px; } + .BorderLeft3 { border-left:dashed #AAAAAA 1px; } + .clsTableInput { border:none; border-left:solid black 1px; border-right:solid black 1px; border-top:solid black 1px; border-bottom:solid black 1px; margin:10px; padding-left:5px; } + + .clsInputHeader { margin-left:5px; color:white; font-weight:bold; } + .clsInputLadeDiv { width:auto; height:82; margin:1px; text-align:center; border:solid #FF460A 1px; background-color:white; } + .clsInputLadeImg { width:auto; height:70; margin:1px; margin-top:6px; border:none; } + .clsInputField { width:65; height:20px; text-align:left; padding-left:5px; padding-right:0px; visibility:inherit; } + .clsInputFieldTxt { width:50; height:20px; text-align:right; padding-left:5px; padding-right:5px; } + .clsInputFieldOLP { width:100; height:16px; text-align:left; padding-left:5px; padding-right:0px; border:dashed #FF460A 0px; background-color:transparent; } + .clsInputWDBin { width:0; height:16px; text-align:left; padding-left:5px; padding-right:5px; border:none; background-color:transparent; } + .clsInputLTInfo { font-weight:bold; color:white; margin:0px; padding-left:3px; padding-right:3px; + text-align:center; border:solid black 1px; background-color:#FF460A; cursor:pointer; cursor:hand; } + .clsInputInfo { width:16; height:16; border:none; cursor:pointer; cursor:hand; } + .clsExclamShowImg { border:none; display:inline; cursor:pointer; cursor:hand; } + .clsExclamHideImg { border:none; display:none; cursor:default; width:0; height:0; } + .clsInputSPZKShow { display:block; display:table-row; } + .clsInputSPZKHide { display:none; } + .OLDclsInputAddBtn { height:22px; line-height:18px; font-weight:bold; font-size:13px; color:white; margin:0px; padding-left:10px; padding-right:10px; + text-align:center; border:solid black 1px; background-color:#FF460A; cursor:pointer; cursor:hand; } + .clsPBlumotion { line-height:20px; } + + .clsScrollDiv { position:inherit; height:205; margin:10px; margin-bottom:2px; overflow:hidden; overflow-y:auto; } + .clsMNietMeeDiv { position:relative; margin:0px 10px; } + DIV.clsBtnMOptionsEdit { text-align:center; margin:3px 0px; } + DIV.clsBtnMOptionsEdit SPAN { height:25; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; margin:0px; padding:0px 10px; text-align:center; } + + .clsTableMatenPREV { border:none; margin:10px; background-color:#DADADA; } + .clsTableMaten { border:none; background-color:#DADADA; } + + .clsTableMainH { font-weight:bold; font-size:13px; margin:0; padding:5px; color:white; background-color:#AAAAAA; + text-align:center; vertical-align:top; border:solid black 1px; cursor:default; } + .clsTableMainH_Red { font-weight:bold; font-size:13px; margin:0; padding:5px; color:white; background-color:red; + text-align:center; vertical-align:top; border:solid black 1px; cursor:default; } + .clsMRowOdd { border:none; border-left:solid black 1px; border-right:solid black 1px; } + .clsMRowEven { border:none; border-left:solid black 1px; border-right:solid black 1px; background-color:#EEEEEE; } + .clsMRowLastX { border-bottom:solid black 1px; } + .clsUnitSmall { font-size:10px; } + .clsMColQty { border-left:double black 3px; } + .clsInputBtns { text-align:left; vertical-align:top; background-color:#E4E4E4; } /* same background-color as body */ + .clsInputBtnCommon { width:50; height:13px; line-height:13px; font-weight:bold; font-size:11px; margin:0px; margin-right:0px; padding-left:5px; padding-right:5px; text-align:center; cursor:pointer; } + TD.clsInputBtns SPAN { width:50; height:13px; line-height:13px; font-weight:bold; font-size:11px; margin:0px; margin-right:6px; padding-left:5px; padding-right:5px; text-align:center; cursor:pointer; } + .clsInputBtnBase { color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; } + .clsInputBtnHiLite { color:#FF460A; border:solid #FF460A 1px; background-color:#EEEEEE; } + .clsInputBtnAct { color:white; border:solid black 1px; background-color:#FF460A; } + .clsInputStdL { margin-left:6px; margin-right:6px; color:white; border:solid black 1px; background-color:#FF460A; cursor:pointer; cursor:hand; } + .clsInputStdLGray { margin-left:6px; margin-right:6px; color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; } + .clsMScrollBtnCell { font-family:Courier New,Arial; text-decoration:none; vertical-align:middle; background-color:#E4E4E4; } /* same background-color as body */ + .clsMScrollBtnsAct { color:#FF460A; cursor:pointer; cursor:hand; } + .clsMScrollBtnsNAct { color:#888888; cursor:default; } + .clsTBodyMaten tr > td { text-align:center; } + .clsTBodyMaten tr > td+td { text-align:right; } + .clsTBodyMaten tr > td+td+td+td+td+td { text-align:center; } + .clsTBodyMaten tr > td+td+td+td+td+td+td+td { text-align:left; } + .clsTBodyMaten tr > td+td+td+td+td+td+td+td+td { text-align:center; } + .clsTBodyMaten tr > td+td+td+td+td+td+td+td+td+td+td { text-align:left; } + +/* STYLE OVERZICHT */ + .clsOvzHeading1 { font-weight:bold; color:#FF460A; text-decoration:underline; } + .clsOvzDataLbl { height:16px; line-height:14px; padding-right:2px; } + .clsOvzData { height:16px; line-height:14px; font-weight:bold; } + .clsOvzCalcBtn { width:140; height:22px; line-height:18px; font-weight:bold; font-size:13px; color:white; margin:0px; + text-align:center; border:solid black 1px; background-color:#FF460A; cursor:pointer; cursor:hand; } + .clsTableMatenOvz { border:none; margin:10px; background-color:#DADADA; } + .clsTableMatenOvzX { border:none; background-color:#DADADA; } + .clsTBodyMatenOvz tr > td { text-align:center; } + .clsTBodyMatenOvz tr > td+td { text-align:right; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td { text-align:center; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td+td+td { text-align:left; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td+td+td+td { text-align:center; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td+td+td+td+td+td { text-align:right; } + .clsOvzPrices { text-align:right; vertical-align:top; padding-right:10px; font-weight:bold; } + .clsOvzPriceErr { text-align:center; text-decoration:underline; color:#FF460A; cursor:pointer; cursor:hand; } + .clsOvzPriceOther { text-align:center; text-decoration:none; } + .clsOvzTotAant { text-align:center; vertical-align:top; } + #Ovz_NietMee { height:inherit; line-height:inherit; font-weight:bold; font-size:inherit; margin:0px; margin-right:6px; padding-left:5px; padding-right:5px; text-align:center; cursor:default; } + #OvzTotAant { text-align:center; vertical-align:top; } + #OvzTotPrice { text-align:right; vertical-align:top; padding-right:10px; font-weight:bold; } Index: DW/WWW/Host.cls.xml =================================================================== diff -u --- DW/WWW/Host.cls.xml (revision 0) +++ DW/WWW/Host.cls.xml (revision 2) @@ -0,0 +1,63 @@ + + + + +Host bestaat uit ip en hostnaam en domein +persistent +hosts +%Persistent + + + +Dit is de domein extensie vb: .com, .be,.... +%Library.String + + + + + +Dit is de hostnaam resolved via nslookup +%Library.String + + + + + +Ipadres van bezoeker +%Library.String + + + + +1 +IpAdres +1 + + + +%SQLQuery +SELECT %ID,Domein,HostNaam FROM hosts + + + + +%Library.CacheStorage +^DW.WWW.HostD +HostDefaultData +^DW.WWW.HostD +^DW.WWW.HostI +^DW.WWW.HostS + + +%%CLASSNAME + + +Domein + + +HostNaam + + + + + Index: csp/dynaplugreporttbxtable.cls.xml =================================================================== diff -u --- csp/dynaplugreporttbxtable.cls.xml (revision 0) +++ csp/dynaplugreporttbxtable.cls.xml (revision 2) @@ -0,0 +1,320 @@ + + + +User +cache +%CSP.Page + + +1 +code +lbErrTypes +cache + +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("csp.errorvh","OnPageMinimum") + #Else + Set %cspEHandler($$$etPageLoadError,"ACTIONS")=$LB("ErrPage") + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") + #EndIf + + Quit + +]]> + + + +1 +code +MyArr,Index +cache +%String + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,!,! + Do ..OnPageHTML() + Write !,!,!,$c(9),! +]]> + + + +1 +code +%Boolean +" + Write !,$c(9),! + Write !," " + #define pg ##class(cspBasis.GAProdTBox) + Set WSOrd = ##class(WS.TBX.Order).%OpenId(TBXWebID) + Set Taal = WSOrd.Taal + Set (VERW , sDomVERW ) = "VHEPN" + Set sMode = "COMPLETE" + Do PrepareWSOrdVTL^csp.vhisie.TBX.Main.tmpDev + ; Vertalingen Labels & Tabel Headers + Set WSLn=WSOrd.Lijnen.GetNext("") + If WSLn Do + . Set dcID=##class(BL.PR.GA.TandemBox).DesignCodeFromDS(WSLn.ItemDS) + . Set:(dcID="I") HeaderLogo="I" + . Set:($L(WSLn.ItemDS)) DCSuffix=$$$Replace($$$pg.WebTextValue("DC_Suffix_"_dcID,Taal,"L"),"~","") + . Set arWSVTL("KLR_DS")=$S($L(WSLn.ItemDS):$$$pg.WebTextValue("DS_"_WSLn.ItemDS,Taal,"L")_DCSuffix, 1:"") + . Set arWSVTL("KLR_KL")=$S($L(WSLn.ItemDS):$$$pg.WebTextValue("DS_"_WSLn.ItemDS,Taal,"L"), 1:"") ; arWSVTL("KLR_DS") + . ;Set arWSVTL("KLR_KL")=$S($L(WSLn.ItemKL):$$$pg.WebTextValue("KL_"_WSLn.ItemKL_$S(WSLn.ItemKL?1(1"WI",1"BE",1"BA"):"_DS",1:""),Taal,"L"), 1:"") + . Set arWSVTL("KLR_KB")=$S($L(WSLn.ItemKB):$$$pg.WebTextValue("KL_"_WSLn.ItemKB_$S(WSLn.ItemKB?1(1"WI",1"BE"):"_KB", 1:""),Taal,"L"), 1:"") + . Set arWSVTL("KLR_RK")=$S($L(WSLn.ItemRK):$$$pg.WebTextValue("KL_"_WSLn.ItemRK,Taal,"L"), 1:"") + . Set arWSVTL("KLR_KX")=$S($L(WSLn.ItemKX):$$$pg.WebTextValue("KL_"_WSLn.ItemKX,Taal,"L"), 1:"") + . Set arWSVTL("KLR_KV")=$S($L(WSLn.ItemKV):$$$pg.WebTextValue("KLV_"_WSLn.ItemKV,Taal,"L"), 1:"") + Set arVTL("LBL","LT") =..WebTextValue("Ladetype",Taal,"L") + Set arVTL("LBL","CB") =..WebTextValue("Breedte",Taal,"L") + Set arVTL("LBL","WD") =..WebTextValue("Wanddikte",Taal,"L") + Set arVTL("LBL","LD") =..WebTextValue("Ladediepte",Taal,"L") + Set arVTL("LBL","DK") =..WebTextValue("Draagkracht",Taal,"L") + Set arVTL("LBL","FB") =..WebTextValue("Frontbevestiging",Taal,"L") + ; Set arVTL("LBL","BM") =..WebTextValue("Blumotion",Taal,"L") + Set arVTL("LBL","BX") =..WebTextValue("Relingen",Taal,"L")_" / "_..WebTextValue("Boxside",Taal,"L") + Set arVTL("LBL","DIV") =..WebTextValue("Diverse",Taal,"L") + Set arVTL("LBL","Aant")=..WebTextValue("Aantal",Taal,"L") + Set arVTL("TH","LT") =..WebTextValue("LadetypeTH",Taal,"L") + Set arVTL("TH","CB") =..WebTextValue("BreedteTH",Taal,"L") + Set arVTL("TH","WD") =..WebTextValue("WanddikteTH",Taal,"L") + Set arVTL("TH","LD") =..WebTextValue("LadediepteTH",Taal,"L") + Set arVTL("TH","DK") =..WebTextValue("DraagkrachtTH",Taal,"L") + Set arVTL("TH","FB") =..WebTextValue("FrontbevestigingTH",Taal,"L") + ; Set arVTL("TH","BM") =..WebTextValue("BlumotionTH",Taal,"L") + Set arVTL("TH","BX") =..WebTextValue("BoxsideTH",Taal,"L") + Set arVTL("TH","DIV") =..WebTextValue("DiverseTH",Taal,"L") + Set arVTL("TH","Aant")=..WebTextValue("AantalTH",Taal,"L") + Write !," "_$c(9),! + Write " "_$c(9),! + Write " "_$c(9)_"",! + Write " ",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_" ",! + Write " ",! + Write $c(9,9)_"",! + Write $c(9)_" ",! + Write " "_$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_"",! + Write $c(9,9)_" ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    " + Write "
    " + Write (..WebTextValue("Kleurkeuze",Taal,"L")) + Write "
    " + Write "
    ",! + Write $c(9,9)_" " + Write "
    " + Write (..WebTextValue("Design",Taal,"L")_"/"_..WebTextValue("Ladezijden",Taal,"L"))_" :" + Write "
    " + Write !,!,$c(9,9)_"
    ",! + Write $c(9,9)_" " + Write "
    " + Write ($G(arWSVTL("KLR_DS"))) + Write "
    " + Write !,!,$c(9,9)_"
    ",! + Write $c(9)_" "_$c(9)_" " + Write "
    " + Write ($TR(..WebTextValue("Bodem&Rug",Taal,"L")," ",""))_" :" + Write "
    " + Write !,$c(9,9) + If '((dcID'="I")) Goto %csp00001 ;{ + Write !,$c(9,9)_" " + Write "
    " + Write ($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue("Relingen",Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9) +%csp00001 ;} + Write !,$c(9,9) + Write "
    " + Write ($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue($S(0:"VerhoogdeZijwand",1:"VullingGlas"),Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9) + Write "
    " + Write ($G(arWSVTL("KLR_KB"))) + Write "
    " + Write !,$c(9,9)_" " + If '((dcID'="I")) Goto %csp00002 ;{ + Write !,$c(9,9,9)_" " + Write "
    " + Write ($G(arWSVTL("KLR_RK"))) + Write "
    " + Write !,$c(9,9)_" " +%csp00002 ;} + Write !,$c(9,9,9) + Write "
    " + Write ($G(arWSVTL("KLR_KV"))) + Write "
    " + Write !,$c(9,9)_"
    " + Write "
    " + Write (..WebTextValue("Maten",Taal,"L")) + Write "
    " + Write "
     
    ",! + Write " ",! + Write $c(9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_"",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9) + If '($G(blnShowAKPrijs)) Goto %csp00003 ;{ + Write !,$c(9,9)_" ",! + Write $c(9,9) + Goto %csp00004 ;} +%csp00003 ;{ + Write !,$c(9,9)_" ",! + Write $c(9,9) +%csp00004 ;} + Write !,$c(9)_" ",! + Write $c(9,9,9,9),! + Write $c(9,9,9,9) + #define RightSet00(%v) $TR("BA","AB",$Reverse(%v)_"00") + Set RowCnt=0 + Set lnI="" + Kill tmpArLN + Merge tmpArLN=arWSVTL("LN") + Write !,$c(9,9,9) +%csp00006 If '(..LoopArray(.tmpArLN,.lnI)) Goto %csp00005 ;{ + Write !,$c(9,9,9,9) + Set RowCnt=RowCnt+1 + Set i=lnI + Set RowStyle=$S((RowCnt#2):"clsMRowEven", 1:"clsMRowOdd")_$S($O(tmpArLN(lnI))="":" clsMRowLastX", 1:"") + ; + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9)_" ",! + Write $c(9,9,9) + Goto %csp00006 +%csp00005 ;} + Write !,$c(9,9,9,9),! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    "_(arVTL("TH","LT") )_""_(arVTL("TH","CB") )_""_(arVTL("TH","WD") )_""_(arVTL("TH","LD") )_""_(arVTL("TH","DK") )_""_(arVTL("TH","FB") )_""_(arVTL("TH","BX") )_""_(arVTL("TH","DIV"))_""_(arVTL("TH","Aant"))_" " + Write "" + Write (..WebTextValue("PrijsAKPrefix",Taal,"L")) + Write "" + Write " "_(..WebTextValue("PrijsPerStukTH",Taal,"L"))_""_(..WebTextValue($S(WSOrd.TotPrijs>0:"PrijsPerStukTH", 1:"InfoTH"),Taal,"L"))_"
    "_(arWSVTL("LN",i,"LT"))_""_(arWSVTL("LN",i,"CB"))_""_(arWSVTL("LN",i,"WD"))_""_(arWSVTL("LN",i,"LD"))_""_(arWSVTL("LN",i,"DK"))_""_(arWSVTL("LN",i,"FB"))_""_(arWSVTL("LN",i,"BX"))_""_(arWSVTL("LN",i,"DIV"))_""_(arWSVTL("LN",i,"AANT"))_" "_(arWSVTL("LN",i,"PRIJS"))_"
     "_(..WebTextValue("PrijsTotaal",Taal,"L"))_":"_(WSOrd.TotAantal)_" "_($S($G(arWSVTL("TotPrijs"))="":" ",1:arWSVTL("TotPrijs")))_"
    ",! + Write $c(9)_" " + Write "" +]]>
    +
    + + +1 +code + +cache +%Boolean + + + + +1 +code +Intern,Taal,TextType,lbFlags +cache +%String + + + + +c:\cachesys\csp\hadev\DynaPlugReportTBXTable.csp + + + +/csp/hadev/DynaPlugReportTBXTable.csp + + + +61863,60145 + +
    +
    Index: Prod/GAMeta/BT/TBWandDikte.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBWandDikte.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBWandDikte.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBWDD") +TBWandDikteDefaultData +^Res.PI.Items("PR;GA;TBWDD") +^Res.PI.Items("index","PR;GA;TBWD") +^Res.PI.Items("stream","PR;GA;TBWD") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: WS/TBX/DataIOSoap.cls.xml =================================================================== diff -u --- WS/TBX/DataIOSoap.cls.xml (revision 0) +++ WS/TBX/DataIOSoap.cls.xml (revision 2) @@ -0,0 +1,102 @@ + + + +1 +%SOAP.WebClient,WS.SOAPClientExt +0 + + + +This is the URL used to access the web service. +http://cache02/csp/devadmin1/WS.TBX.DataIO.cls + + + + +This is the namespace used by the Service +http://tempuri.org + + + + +This is the name of the Service +TBX.DataIO + + + +1 +KLNr:%String +WS.TBX.KlantMini +1 +document +literal + + + + +1 +Taal:%String,ListSep:%String +1 +%String +1 +document +literal + + + + +Taal:%String +%List + + + + +1 +KLNr:%String,ListSep:%String=";" +1 +%String +1 +document +literal + + + + +KLNr:%String,ListSep:%String=";" +%List + + + + +1 +%String +1 +document +literal + + + + + +%Boolean + + + + Index: Kenm/Basis/MetaDefinitie/LoadObjects.mac.rou =================================================================== diff -u --- Kenm/Basis/MetaDefinitie/LoadObjects.mac.rou (revision 0) +++ Kenm/Basis/MetaDefinitie/LoadObjects.mac.rou (revision 2) @@ -0,0 +1,123 @@ + ; Do ##class(Kenm.Basis.MetaDefinitie).BuildMeta(Groep) +BuildMeta(Groep) + New GrpObj + Set Groep=$G(Groep,"TBR") ; Default groep = "TBR" - TandemBox Restricties + Do DeleteMetaGroep(Groep) + Set GrpObj=$$CreateMetaGroep(Groep) + Do AddMetaDefs(GrpObj) + Do GrpObj.%Close() + w "BuildMeta is afgewerkt.",! + Quit + +InitMDdata(MDdata,Groep) ; MDdata als .local doorgeven + ; Struct. ListBuild: $LB(Kenmerk, VolgNr, Format, Multiple, MultipleDisplay) + ; MD Defaults: (, i , "T" , 1 , 1 ) +#define iINC $INCREMENT(i) + New i + Set i=0 + If Groep="TBR" Do + . Kill MDdata(Groep) + . Set MDdata(Groep,$$$iINC)=$LB("TemplateCode") + . Set MDdata(Groep,$$$iINC)=$LB("TBDesign") + . Set MDdata(Groep,$$$iINC)=$LB("TBKlasse") + . Set MDdata(Groep,$$$iINC)=$LB("TBLadeType") + . Set MDdata(Groep,$$$iINC)=$LB("TBZijwand") + . Set MDdata(Groep,$$$iINC)=$LB("TBRugHoogte") + . Set MDdata(Groep,$$$iINC)=$LB("TBLadeDiepte") + . Set MDdata(Groep,$$$iINC)=$LB("TBDraagKracht") + . Set MDdata(Groep,$$$iINC)=$LB("TBGlijderType") + . Set MDdata(Groep,$$$iINC)=$LB("VerpakLA") + . Set MDdata(Groep,$$$iINC)=$LB("VerpakCP") + . Set MDdata(Groep,$$$iINC)=$LB("VerpakRUG") + . Set MDdata(Groep,$$$iINC)=$LB("VerpakAK") + . Set MDdata(Groep,$$$iINC)=$LB("VerpakFS") + . Set MDdata(Groep,$$$iINC)=$LB("VerpakRL") + . Set MDdata(Groep,$$$iINC)=$LB("RelInkort") + Quit + +DeleteMetaGroep(Groep) + // Verwijdert de MetaGroep en al zijn kinderen (=MetaDefinities) + Quit:('##class(Kenm.Basis.MetaGroep).%ExistsId(Groep)) + w "Verwijderen van de MetaGroep "_Groep_" en al zijn MetaDefinities ...",! + Do ##class(Kenm.Basis.MetaGroep).%DeleteId(Groep) + w "De Meta's van "_Groep_" zijn verwijderd",! + Quit +CreateMetaGroep(Groep) + New GrpObj + w "Aanmaken MetaGroep: Code="_Groep,! + Set GrpObj=##class(Kenm.Basis.MetaGroep).%New() + Set GrpObj.Code=Groep + Set GrpObj.Omschrijving="Oms. "_Groep + Quit GrpObj +AddMetaDefs(GrpObj) + Quit:('GrpObj)||(GrpObj.Code="") + New MDdata,i,Groep + w "Aanmaken MetaDefinities voor de groep "_GrpObj.Code_" ...",! + Set Groep=GrpObj.Code + Do InitMDdata(.MDdata,Groep) + Set i="" + For Set i=$O(MDdata(Groep,i)) Quit:(i="") Do CreateMetaDef($LB()_MDdata(Groep,i),i,GrpObj) + Quit +CreateMetaDef(lbData,i,GrpObj) + New MDef + Set MDef=##class(Kenm.Basis.MetaDefinitie).%New() + Set MDef.Groep=$G(GrpObj) ; $LI(lbData,1) + Set MDef.Kenmerk=$LG(lbData,2) + Set MDef.VolgNr=$LG(lbData,3,i) + Set MDef.Format=$LG(lbData,4,"T") + Set MDef.Multiple=$LG(lbData,5,1) + Set MDef.MultipleDisplay=$LG(lbData,6,1) + Set Ok=MDef.%Save() + If Ok Do + . W "Voor groep "_$S(MDef.Groep:MDef.Groep.Code, 1:"?")_" : Kenmerk "_MDef.Kenmerk_" aangemaakt",! + Else Do + . W "Fout "_$$ParseStatus^vhLib(Ok),! + Do MDef.%Close() + Quit + + + ; ===================================================================================================== + ; DATA + ; ===================================================================================================== + +KMWaardenList() ; (UnID,Groep) + New lbData,KMNaam,KMWaarde + Set lbData="" + &sql(DECLARE crsDW CURSOR FOR SELECT Kenmerk->Kenmerk,Waarden + INTO :KMNaam,:KMWaarde FROM Kenm_Basis.DataDefinitie WHERE (UnID=:UnID) And (Kenmerk->Groep = :Groep)) + &sql(OPEN crsDW) + For &sql(FETCH crsDW) Quit:SQLCODE Set lbData=lbData_$LB($LB(KMNaam,KMWaarde)) + &sql(CLOSE crsDW) + Quit lbData + +NewObjectViaList() ; Parameters: Params +#define TRIM(%v) $ZSTRIP(%v, "<>W") +#define D "\" + ; Params="Groep\Kenmerk\UnID\lstWaarde" + Quit:($G(Params)="") "" + New DDef,lstWaarde,i,MDefID,SaveOK + Set MDefID=$P(Params,$$$D,1)_"||"_$P(Params,$$$D,2) + Quit:('##class(Kenm.Basis.MetaDefinitie).%ExistsId(MDefID)) "" + Set DDef=##class(Kenm.Basis.DataDefinitie).%New() + Set DDef.UnID=$P(Params,$$$D,3) + Do DDef.KenmerkSetObjectId(MDefID) + Set lstWaarde=$P(Params,$$$D,4) + For i=1:1:$L(lstWaarde,";") Do:($L($$$TRIM($P(lstWaarde,";",i)))) + . Do DDef.Waarden.Insert($$$TRIM($P(lstWaarde,";",i))) + Set SaveOK=DDef.%Save() + Do DDef.%Close() + Quit $S('SaveOK:"0:"_$$ParseStatus^vhLib(SaveOK) ,1:1) + +DeleteDataDef(Groep) + If $G(Groep)="" Do Quit + . ;Do ##class(Kenm.Basis.DataDefinitie).%DeleteExtent() + + ; Else + New DDefID + w "Begin Delete",! + &sql(DECLARE crsDD CURSOR FOR SELECT ID + INTO :DDefID FROM Kenm_Basis.DataDefinitie WHERE (Kenmerk LIKE :Groep || "||%")) + &sql(OPEN crsDD) + For &sql(FETCH crsDD) Quit:SQLCODE Do ##class(Kenm.Basis.DataDefinitie).%DeleteId(DDefID) + &sql(CLOSE crsDD) + Quit \ No newline at end of file Index: Kenm/Vertaal/MetaGroep.cls.xml =================================================================== diff -u --- Kenm/Vertaal/MetaGroep.cls.xml (revision 0) +++ Kenm/Vertaal/MetaGroep.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + + +Groepering van de verschillende kenmerken tot een lijst van kenmerken behorende tot een productgroep +0 +0 +persistent +0 +0 +Kenm.Basis.MetaGroep +0 + + +Kenm.Vertaal.MetaDefinitie +children + +Groep +1 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.SQLQuery + +0 +SELECT ID,Code,Omschrijving FROM Kenm_Vertaal.MetaGroep + +0 + + + + + +%Library.CacheStorage +MetaGroepDefaultData1 + +listnode +"MetaGroep" + +VertalingsGroep + + + + + Index: TECH/CompileUtils.cls.xml =================================================================== diff -u --- TECH/CompileUtils.cls.xml (revision 0) +++ TECH/CompileUtils.cls.xml (revision 2) @@ -0,0 +1,83 @@ + + + +1 +%RegisteredObject +0 + + + +TODO : + + Include file afscannen naar andere en kijken of die andere includes heeft genest + Wat moet gecompileerd worden eerst in een compile list steken + Compile flags kunnen meegeven +1 + + + + + + + + +incFile + + + + +incFile +%List + + + + +incFile +%List + + + + Index: Test/VH/ImportVBA.cls.xml =================================================================== diff -u --- Test/VH/ImportVBA.cls.xml (revision 0) +++ Test/VH/ImportVBA.cls.xml (revision 2) @@ -0,0 +1,194 @@ + + + + +Class to Test and Report a bug to WRC: +Problem: +When Regional settings are configured to Dutch (Belgium), +so that the decimal separator is "," (comma) and thousand separator is a "." (point), +then the import of floating piont numbers not correct. +0 +0 +persistent +0 +STRING +0 +%Library.Persistent +0 + + +%Library.Float +0 +0 +array +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +"" +0 +0 +0 +0 +0 +0 + + + + +%Library.Integer +0 +0 + +"" +0 +0 +0 +0 +0 +0 + + + +%Library.List +0 +0 + +"" +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +"" +0 +0 +0 +0 +0 +0 + + + +ProptName:%String,NewVal:%String + + + + +ProptName:%String +%Library.String + + + + +0 +1 +code +Oref:%Library.RegisteredObject,ProptName:%String,NewVal:%String +0 +0 + + + + +1 +Oref:%Library.RegisteredObject,ProptName:%String,NewVal:%String,Key:%String + + + + +1 +Oref:%Library.RegisteredObject,ProptName:%String,NewVal:%String + + + + +1 +Oref:%Library.RegisteredObject,ProptName:%String +%Library.String + + + + +%Library.CacheStorage +^Test.VH.ImportVBAD +ImportVBADefaultData +^Test.VH.ImportVBAD +^Test.VH.ImportVBAI +^Test.VH.ImportVBAS + +ArrayFloat +subnode +"ArrayFloat" + + +listnode + +MyText + + +MyInteger + + +MyFloat + + +MyListBld + + +%%CLASSNAME + + + + + Index: BL/PR/GA/TB/tmpDev.mac.rou =================================================================== diff -u --- BL/PR/GA/TB/tmpDev.mac.rou (revision 0) +++ BL/PR/GA/TB/tmpDev.mac.rou (revision 2) @@ -0,0 +1,111 @@ +#include PRGACNTs + /* + // +-+-+-+-+-+-+-+-+-+-+-+-+ + // + TBX - TandemBox + + // +-+-+-+-+-+-+-+-+-+-+-+-+ + */ + + ; Test-commands + Do KillAllObjects^%apiOBJ() + Set tb=##class(BL.PR.GA.TandemBox).%New() + Do tb.Initialize() + Quit + + +Initialize ; Parameters: geen + Quit +BuildLookup ; Parameters: .LookupArray + Quit +BuildSpecTabs ; Parameters: .SpecTabArray + Quit +BuildLookupLCode + Quit +BuildBeperkTPCode ; Parameters: .DSArray + Quit + +DesignFromLadeKleur() ; Parameters: LadeKleurID + Quit dsID +TPCodesFromDesign() ; Parameters: dsID + Quit $G(lbTPs) +CalcBreedteIntern() ; (CB,WD,OPVLLI,OPVLRE,MTIB) + Quit CB-(2*$G(WD))-($G(OPVLLI)+$G(OPVLRE))-$G(MTIB) +ImageCodeFromLC() ; Parameters: LC,BS + Quit ImgLC_"_"_$S($E(BS,1)="B":"BD", 1:BS) +CalcInfoDiverse() ; Parameters: WSOrdLn,lbArgs + Quit tmpLB +DFLBoxSideID() ; Parameters: blnBX,VoorkeurID + Quit $LI(lbIDs,1) + + + // ========================================================================================================================================= // + // Prod.GAData/GAMeta functions // + // ========================================================================================================================================= // +BTValuesFromProduct ; Parameters: Product,lbNaam + Quit +BTValuesToProduct ; Parameters: Product + Quit +BWValuesToProduct ; Parameters: Product,lbNaam + Quit +KMValuesToProduct ; Parameters: Product,GroepID,arValuesSrc + Quit + + + // ========================================================================================================================================= // + // %this functions // + // ========================================================================================================================================= // +BTValueSet ; Parameters: BTNaam,Waarde,.BTUpdates,PropagatieType + Quit +BTBeperkIDs() ; Parameters: Target,arValues,PrepareLUs + Quit lbIDs +BuildItemsOms() ; Parameters: BTNaam,lbIDs,SepID + Quit sOms +BuildItemsSort ; Parameters: BTUpdates,BTNaam,lbIDsOut,sOmsOut + Quit +BuildItemsSort2 ; (.BTUpdates,BTNaam,.lbIDsOut,.sOmsOut) + Quit + +BuildBTExtent ; Parameters: BTExtent ; BTExtent als .Local doorgeven + Quit +BuildBTDepend ; Parameters: BTDep,BTExtent ; BTDep en BTExtent als .Local doorgeven + Quit +BTClassSort() ; Volgorde is belangrijk voor het opleggen van de beperkingen + Quit "" + + // ========================================================================================================================================= // + // Kenm.Basis functions // + // ========================================================================================================================================= // + +SetSpecTabValueOLD ; Parameters: SpecTab + New lbSpec,STGroep,lbSpecKMSub,lbIDs + Set lbSpec=$G(..LookUp(SpecTab,"SpecTabs")) + If $LL(lbSpec) Do:($P($LI(lbSpec,1),"-",2)="B") + . Set STGroep=$P($LI(lbSpec,1),"-",1) + . ;Set lbSpecKMSub=..SpecTabs(STGroep,"B") + . Set lbIDs=..KMSpecItemsCalc(STGroep,SpecTab) + . Do:($LL(lbIDs)=1) ..BTValues.SetAt($LI(lbIDs,1),SpecTab) + Quit + +KMMergeDFLsForImport() ; Parameters: KMSpecs,KMDefaults + Quit KMSpecs +KMSpecItemsCalc() ; Parameters: GroepID,Kenmerk,lbNegeerKM + Quit lbIDs +KMFilterKenmerken ; Parameters: GroepID,KenmerkArray + Quit +KMPRLijstViaKenmerk ; Parameters: GroepID,Ref,KenmerkArray,IncludeUndefs + Quit +KMValuesViaPRLijst() ; Parameters: GroepID,Kenmerk,PRArray,Sorted + Quit ##class(Kenm.Basis.DataIndex).SPKenmerkWaardenLB(.GroepID,.Kenmerk,.PRArray,.Sorted) +SPKenmerkWaardenLB() ; Parameters: GroepID,Kenmerk,PRArray,Sorted + Quit lbValues + + +WFILE + k tmpAr + m tmpAr=^Kenm.Basis.DataDefinitieD ; (1000) + New OutF + Set OutF=##class(%Library.File).%New("\\WV_W2K\C$\Wim\wvTEST.txt") + w OutF.Open("WSN"),! + w "IsOpen:"_$S(OutF.IsOpen:"Open", 1:"Niks"),! + Do ArrayToTextW^vhLib("tmpAr",OutF) + Do OutF.%Close() + Quit \ No newline at end of file Index: UIDebugCNTs.inc.rou =================================================================== diff -u --- UIDebugCNTs.inc.rou (revision 0) +++ UIDebugCNTs.inc.rou (revision 2) @@ -0,0 +1,26 @@ + // Bestand: UIDebugCNTs.INC + +#include EventQueueCNTs + + //================================================================================ + // Constanten voor het aanroepen van de klasse UI.Debug.OutputWin.MainForm + //================================================================================ + + #define IP4OLD $P($G(ClientIP,MApplication.GetClientIP()),".",4) + #define IP4 $P($S($G(%ClientIP)'="":%ClientIP, $G(ClientIP)'="":ClientIP, 1:$S($D(MApplication):MApplication.GetClientIP(), 1:"9999")),".",4) + #define DBGeqID "Debug-OW:"_$$$IP4 + #define DBGeqType "DBG"_$$$IP4 + #define DBGstMSG "MSG" + #define DBGstFMT "FMT" + #define DBGstCLS "CLS" + #define W(%p1) Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstMSG,$LB(%p1,0),$$$stPublic,1) + #define WL(%p1) Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstMSG,$LB(%p1,1),$$$stPublic,1) + #define WFMT(%p1,%p2) Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstMSG,$LB(%p1,0,%p2),$$$stPublic,1) + #define WLFMT(%p1,%p2) Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstMSG,$LB(%p1,1,%p2),$$$stPublic,1) + #define WCUST(%p1,%p2,%p3) Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstMSG,$LB(%p1,%p2,p3),$$$stPublic,1) + #define SETFMT(%p1) Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstFMT,$LB(%p1),$$$stPublic,1) + #define SETFMT(%p1) Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstFMT,$LB(%p1),$$$stPublic,1) + #define CLS Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstCLS,"",$$$stPublic,1) + + ; Voluit: $$$WCUST(,,,) = Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstMSG,$LB("Deze Tekst",1,"B-Blue"),$$$stPublic,1) + ; =============================================================================================== \ No newline at end of file Index: vhQUERYLIB.mac.rou =================================================================== diff -u --- vhQUERYLIB.mac.rou (revision 0) +++ vhQUERYLIB.mac.rou (revision 2) @@ -0,0 +1,72 @@ +#Include %VHMacro + +ExecDynQuery(Query,Param) + + new qHandler set qHandler=##class(%ResultSet).%New("%DynamicQuery:SQL") + new flagPrepared set flagPrepared = qHandler.Prepare(Query) + + if 'flagPrepared set $ecode = "U"_$$ParseStatus^vhLib(flagPrepared) + + set Param = $get(Param) + if $length(Param) + { if $listlength(Param) = 1 { do qHandler.Execute($listget(Param,1)) } + else + { new qParam set qParam = """"_$listget(Param,1)_"""" + new Counter for Counter = 2 : 1 : $listlength(Param) set qParam = qParam _ ",""" _ $listget(Param,Counter)_"""" + xecute "do qHandler.Execute("_qParam_")" } } + else { do qHandler.Execute() } + quit qHandler + + ;--------------------------------------------------------------------------------------------------------------------- + +ExecDynQueryCRLF(Query,Param,DataCount,amItems) + + new result set result = "" + new qHandler set qHandler = $$ExecDynQuery($get(Query),$get(Param)) + new ItemCount set ItemCount = 0 + + set DataCount = $get(DataCount,0) + set amItems = $get(amItems,0) + + if $length(qHandler) + { while qHandler.Next() + { if DataCount = 0 { set result = result _ qHandler.GetData(1) _ $$$CRLF } + else { for Counter = 1 : 1 : DataCount set result = result _ qHandler.GetData(Counter) _ $C(9) + set result = result _ $$$CRLF } + set ItemCount = $increment(ItemCount) + if ( amItems > 0 ) , ( ItemCount = amItems ) do qHandler.Close() }} + do qHandler.Close() + quit result + ;--------------------------------------------------------------------------------------------------------------------- + +ListExecDynQuery(Query,Param) + new result set result = $$ExecDynQueryCRLF(Query,$g(Param)) + if $length(result) set result = $$PiecesToList^vhLib(result,$$$CRLF) + quit result + + ;--------------------------------------------------------------------------------------------------------------------- + +ListIDsExecDynQuery(Query,Param) + new result set result = "" + new qHandler set qHandler = $$ExecDynQuery($get(Query),$get(Param)) + if $length(qHandler) + { while qHandler.Next() + { set result = result _ $LB(qHandler.Get("ID")) } } + + quit result + + ;--------------------------------------------------------------------------------------------------------------------- + +IDsExecDynQuery(Query,Param) + new result set result = "" + new qHandler set qHandler = $$ExecDynQuery($get(Query),$get(Param)) + if $length(qHandler) + { while qHandler.Next() + { set result = result _ qHandler.Get("ID") _ $$$CRLF } } + quit result + + ;--------------------------------------------------------------------------------------------------------------------- + + + + \ No newline at end of file Index: UISetupLevelTree.inc.rou =================================================================== diff -u --- UISetupLevelTree.inc.rou (revision 0) +++ UISetupLevelTree.inc.rou (revision 2) @@ -0,0 +1,8 @@ + #Define lbcPanel 1 + #Define lbcShape 2 + #Define lbcCheckBox 3 + #Define lbcLabel 4 + #Define lbcComboBox 5 + #Define lbcIsAvailable 6 + #Define lbcIsSelected 7 + #Define lbcLevelNr 8 \ No newline at end of file Index: WS/TBX/EM/ActieGegevens.cls.xml =================================================================== diff -u --- WS/TBX/EM/ActieGegevens.cls.xml (revision 0) +++ WS/TBX/EM/ActieGegevens.cls.xml (revision 2) @@ -0,0 +1,66 @@ + + + +serial +1 +%SerialObject,%XML.Adaptor +0 + + +%String + + + + + +Het persistent object APPS.TBXWeb.Actie moet niet via XML doorgegeven worden, maar alleen zijn ID. +Caché kan dat blijkbaar niet, dus Code als property en Actie (object) als transient property +APPS.TBXWeb.Actie +1 + + + + +%String + + + + +ActieCode:%String,Korting:%String +1 +1 +%Status + + + + +ActieCode:%String +1 +%Status + + + + +%Library.CacheSerialState +ActieGegevensState +^WS.TBX.EM.ActieGegevensS + +"WS.TBX.EM.ActieGegevens" + +Code + + +Korting + + + + + Index: csp/tbx/wizmaten.cls.xml =================================================================== diff -u --- csp/tbx/wizmaten.cls.xml (revision 0) +++ csp/tbx/wizmaten.cls.xml (revision 2) @@ -0,0 +1,974 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +1) ; $LG(lbBulkConfig,1)'?1(1"",1"S") + Set blnHideZKOpMaat=0 //(%request.UserAgent'?1(.E1"Firefox".E)) ; do not include: Opera, MSIE, Safari, Chrome + Set blnHideSB=0 ; (DCM="I") + Write !,!,$c(9) + Write "
    " + Write !,$c(9)_"",! + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write " "_$c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9)_"",! + Write "" + Write !,$c(9,9)_"",! + Write $c(9) + If '((blnShowStdLField)&&(DCM'="I")) Goto %csp00003 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9) + Goto %csp00004 ;} +%csp00003 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9) +%csp00004 ;} + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9)_"",! + Write !," "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write !," "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9),! + Write $c(9,9),! + Write !,$c(9,9)_"",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write !,!,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write !,$c(9,9),! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write !,$c(9,9) + If '($G(blnShowDynSpace,0)) Goto %csp00027 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9) +%csp00027 ;} + Write !,$c(9,9),! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9)_" "_$c(9,9)_"",! + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write !,!,$c(9,9)_"",! + Write $c(9)_"
    " + Write "" + Write " "_(IngaveTitle)_" :" + Write "" + Write "     " + Write "
    " + Write "" + Write "
    " + Write "
    " + Write "" + Write (arVTL("LBL","LT"))_":" + Write "" + Write "" + Write "",! + Write $c(9,9,9,9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set qryLCodes = ##class(%ResultSet).%New("Prod.GAMeta.BT.LadeCode"_":"_"ExtentSortExtra") + Set qryLCodes.RuntimeMode=2 + Set %sc = qryLCodes.Execute(($S(blnHEIN:"CL", 0 && blnLMC:"I", 1:""))) + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"" + Write "" + Write "
    " + Write "" + Write (arVTL("LBL","Std"))_":" + Write "" + Write "",! + Write $c(9,9,9,9) + Write "" + Write $c(9,9,9,9),! + Write $c(9,9,9)_"" + Write "" + Write "
    "_(..WebTextValue("Kastbreedte",Taal,"L"))_":",! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9)_"
    "_(arVTL("LBL","CB"))_":" + Write "" + Write "" + Write "" + Write " mm"_(arVTL("LBL","WD"))_":" + Write "" + Write "",! + Write $c(9,9,9,9) + Write "" + Write "" + Write " mm" + Write "" + Write !,$c(9,9,9)_" 
    ",! + Write $c(9,9,9,9) + Write "" + Write (arVTL("LBL","OPVL"))_":" + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_" ",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_(arVTL("LBL","SPZK"))_":" + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_" " + Write "" + Write "" + Write "  ",! + Write $c(9,9,9)_" " + Write "" + Write (..WebTextValue("WijzigenAfmetingen",Taal,"L")) + Write "" + Write !,$c(9,9,9)_"    " + Write "" + Write !,$c(9,9,9)_"
    " + Write "" + Write "
    "_(arVTL("LBL","LD"))_":" + Write "" + Write "",! + Write $c(9,9,9,9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set qryLDieptes = ##class(%ResultSet).%New("Prod.GAMeta.BT.TBLadeDiepte"_":"_"Extent") + Set qryLDieptes.RuntimeMode=2 + Set %sc = qryLDieptes.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9,9,9,9) + Write "" + Write " mm",! + Write $c(9,9,9)_""_(arVTL("LBL","DK"))_":" + Write "" + Write "",! + Write $c(9,9,9,9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set qryDKs = ##class(%ResultSet).%New("Prod.GAMeta.BT.TBDraagKracht"_":"_"Extent") + Set qryDKs.RuntimeMode=2 + Set %sc = qryDKs.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9,9,9,9) + Write "" + Write " kg " + Write "" + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write (arVTL("LBL","BM"))_":" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write (arVTL("LBL","TO"))_":" + Write "" + Write "" + Write "

    ",! + If '(('blnHideSB)) Goto %csp00009 ;{ + Write !,$c(9,9,9,9)_"

    " + Write "" + Write (arVTL("LBL","SB"))_":" + Write "" + Write "" + Write "

    ",! +%csp00009 ;} + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write " 

    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write " 

    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write " 

    ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write (arVTL("LBL","FB"))_":" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9)_"
    ",! + Kill arItemsCbo + Set sc=..FillComboItemsFromQuery(.arItemsCbo, "Prod.GAMeta.BT.TBFBevestiging","ExtentSort") + Set iItem=$O(arItemsCbo(""),-1) + If +iItem Do + . ; Indien lijst niet leeg, dan item "NietMee" toevoegen + . Set iItem=iItem+1 + . Set arItemsCbo(iItem,"ID")="NM" + . Set arItemsCbo(iItem,"Oms")="Niet meeleveren" + . Set arItemsCbo(iItem,"ItemCode")="NM" + Set iItem="" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"

    " + Write "" + Write (arVTL("LBL","ASM"))_":" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9)_"
    ",! + Kill arItemsCbo + Set sc=..FillComboItemsFromQuery(.arItemsCbo, "Prod.GAMeta.BT.TBMat","ExtentSort") + Set iItem="" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"

    ",! + Write $c(9,9,9,9) + If '((DCM'="A")) Goto %csp00015 ;{ + Write " ",! + Write $c(9,9,9,9)_" " + Write "" + Write (arVTL("LBL","BX"))_":" + Write "" + Write !,$c(9,9,9,9) + Goto %csp00016 ;} +%csp00015 ;{ + Write (arVTL("LBL","BX"))_":",! + Write $c(9,9,9,9) +%csp00016 ;} + Write " ",! + Write $c(9,9,9,9) + Write "" + Write "

    ",! + Write $c(9,9,9)_"
    ",! + ; This method has been isolated, because of conflicts between some query-variables (see RTN). + Kill arItemsCbo + Set sc=..FillComboItemsFromQuery(.arItemsCbo, "Prod.GAMeta.BT.TBBoxSide","ExtentSort") + Set iItem="" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write (arVTL("LBL","FS"))_":" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9)_"
    ",! + Kill arItemsCbo + Set sc=..FillComboItemsFromQuery(.arItemsCbo, "Prod.GAMeta.BT.TBFrontSteun","ExtentSort") + Set iItem="" + For Set iItem=$O(arItemsCbo(iItem)) Quit:(iItem="") Do + . Kill:($G(arItemsCbo(iItem,"ID"))?1(1"HS")) arItemsCbo(iItem) + Set iItem="" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write (arVTL("LBL","BGRP"))_":" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9)_"
    ",! + Kill arItemsCbo + Set sc=..FillComboItemsFromQuery(.arItemsCbo, "Prod.GAMeta.BT.TBBinnenGreep","ExtentSort", tmpDC) + Set iItem="" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9)_"

    ",! + Write $c(9,9,9,9) + Write "" + Write (arVTL("LBL","DWV"))_":" + Write "" + Write !,$c(9,9,9,9) + Write "" + Write "

    ",! + Write $c(9,9,9)_"
    ",! + Kill arItemsCbo + Set sc=..FillComboItemsFromQuery(.arItemsCbo, "Prod.GAMeta.BT.TBDwarsVerdeling","ExtentSort") + Set iItem="" + For Set iItem=$O(arItemsCbo(iItem)) Quit:(iItem="") Do + . Kill:($G(arItemsCbo(iItem,"ID"))?1(1"PR",1"4__")) arItemsCbo(iItem) + Set iItem="" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
    " + Write "" + Write "
    " + Write "" + Write (arVTL("LBL","OLP"))_":" + Write "" + Write "",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"

    " + Write "" + Write !,$c(9,9,9,9,9,9,9,9) + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"

    " + Write "" + Write !,$c(9,9,9,9,9,9,9,9) + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"

    " + Write "" + Write !,$c(9,9,9,9,9,9,9,9) + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"

    " + Write "" + Write !,$c(9,9,9,9,9,9,9,9) + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"

    " + Write "" + Write !,$c(9,9,9,9,9,9,9,9) + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write "" + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9)_"
    "_(arVTL("LBL","Aant"))_":" + Write "" + Write "" + Write "" + Write " "_(..WebTextValue("stuk?s",Taal,"L"))_"" + Write "" + Write (..WebTextValue("Toevoegen",Taal,"L")) + Write "" + Write "" + Write "" + Write "" + Write "" + Write " 
    ",! + Write $c(9) + Write "
    " + Write !,$c(9),! + Write !,!,$c(9) + Write "
    " + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write ""_(..WebTextValue("MOptionsLabel",Taal,"L"))_":" + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write ""_(..WebTextValue("MOptionsLabel2",Taal,"L"))_"" + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9)_"[SAMPLE TEXT]",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9) + Write "
    " + Write !,!,$c(9) + Write "
    " + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    " + Write "" + Write (MOptionsEditTitle)_" :" + Write "" + Write "
    " + Write "
    " + Write (..WebTextValue("MOptionsEditInfo",Taal,"O")) + Write "
    " + Write "
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) + If '(blnAllowBulk && blnDflVerpakShow) Goto %csp00028 ;{ + Write !,$c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) + Goto %csp00029 ;} +%csp00028 ;{ + Write !,$c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) +%csp00029 ;} + Write !,$c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9) + If '(blnAllowBulk && blnDflVerpakShow) Goto %csp00030 ;{ + Write !,$c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9) + Goto %csp00036 ;} +%csp00030 ;{ + Write !,$c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9) +%csp00036 ;} + Write !,$c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"
    " + Write "
    " + Write ""_(..WebTextValue("NietMeeleveren",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write ""_(..WebTextValue("Verpakking",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write " " + Write "
    " + Write "
     
    ",! + Write $c(9,9,9,9,9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9,9,9) + Write "
    " + Write ""_(arVTL("DFL","VPK_S") )_"" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9)_" " + If '(($LF(lbAllowVPK,"O"))) Goto %csp00031 ;{ + Write "
    " + Write ""_(vtlBulk_": "_arVTL("DFL","VPK_O") )_"" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) +%csp00031 ;} + If '(($LF(lbAllowVPK,"C"))) Goto %csp00032 ;{ + Write "
    " + Write ""_(vtlBulk_": "_arVTL("DFL","VPK_C") )_"" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) +%csp00032 ;} + If '(($LF(lbAllowVPK,"P"))) Goto %csp00033 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_P") )_"" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) +%csp00033 ;} + If '(($LF(lbAllowVPK,"A"))) Goto %csp00034 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_A") )_"" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) +%csp00034 ;} + If '(($LF(lbAllowVPK,"B"))) Goto %csp00035 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_B") )_"" + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9) +%csp00035 ;} + Write !,$c(9,9,9,9,9,9,9,9)_"
      
    ",! + Write $c(9,9,9,9,9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9,9,9) + Write "" + Write (" OK ") + Write "" + Write "   ",! + Write $c(9,9,9,9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("BtnCancel",Taal,"L")) + Write "" + Write !,$c(9,9,9,9,9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9,9,9)_"
     
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9) + Write "
    " + Write !,$c(9),! + Write $c(9) + Write "
    " + Write !,"" + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_""_$c(9,9),! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write "" + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Set VanXlijnen=..WebTextValue("ScrollVanXlijnen",Taal,"L") + Set VanXlijnen=$$$Replace(VanXlijnen,"X",".") + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    "_(arVTL("TH","LT") )_""_(arVTL("TH","CB") )_""_(arVTL("TH","WD") )_""_(arVTL("TH","LD") )_""_(arVTL("TH","DK") )_""_(arVTL("TH","FB") )_""_(arVTL("TH","BX") )_""_(arVTL("TH","DIV"))_""_(arVTL("TH","Aant"))_"" + Write "" + Write " 
     ",! + Write $c(9,9,9,9) + Write "" + Write "[<<]" + Write "" + Write "  " + Write "" + Write "[<]" + Write "" + Write !,$c(9,9,9,9)_" " + Write "" + Write "1 - 4" + Write "" + Write " ",! + Write $c(9,9,9,9) + Write "" + Write "[>]" + Write "" + Write "  " + Write "" + Write "[>>]" + Write "" + Write !,$c(9,9,9,9) + Write "" + Write "  "_(VanXlijnen) + Write "" + Write !,$c(9,9,9)_" 
    ",! + Write $c(9) + Write "
    " +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +c:\cachesys\csp\vhisie\TBX\WizMaten.csp + + + +/vhisie/TBX/WizMaten.csp + + + +62096,40845 + +
    +
    Index: Prod/GAMeta/BT/TBKlasse.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBKlasse.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBKlasse.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBKLASD") +TBKlasseDefaultData +^Res.PI.Items("PR;GA;TBKLASD") +^Res.PI.Items("PR;GA;TBKLASI") +^Prod.GAM.TBKlasseS + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Prod/GADef/KaderDeur/TemplateDB.mac.rou =================================================================== diff -u --- Prod/GADef/KaderDeur/TemplateDB.mac.rou (revision 0) +++ Prod/GADef/KaderDeur/TemplateDB.mac.rou (revision 2) @@ -0,0 +1,1165 @@ + ; AUTHOR : Wim VERMEULEN + ; LOCATION : VAN HOECKE N.V. + ; LAST MODIFIED : 08/08/2005 + ; + ; Data(base) to fill the TemplateKader Objects (KadObj). + ; Each KadObj corresponds to a Res.PI.TemplateKader object. + ; The routines below are called from the KDTEMPLATES.MAC routine, where KadObj-object and its PIItem are created. + ; + ; NOTE: Labels have the following structure: + ; ---- + ; "T" + KlantID + "xx" + PITemplateKader.ItemID + ; + + + ; Klant: TULP KEUKENGROEP nr. 2523 (KLNr gewijzigd op 08/08/2005 door WimV) + ; ============================================================================================= +T2523xxB1L1(KadObj) ; B1L1 ; bovenkastdeur links, greep onder + ;Do FillKDPropts(.KadObj,$G(Toepas),$G(OphangP),,,,,,"KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + ;Do FillKDBoring(.KadObj,XAndCode,YAndCode,Diam,BoringType,BoorDiepte,GlasDiam,ZPos,CodeBKey) + Quit + +T2523xxB1R1(KadObj) ; B1R1 ; bovenkastdeur rechts, greep onder + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+192),-40,5,"ON",-1) + Quit + +T2523xxB1L1SLASH1(KadObj) ; B1L1/1 ; bovenkastdeur links, greep onder, tot 300mm + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+160),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB1R1SLASH1(KadObj) ; B1R1/1 ; bovenkastdeur rechts, greep onder, tot 300mm + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+160),-40,5,"ON",-1) + Quit + +T2523xxb12xMINB11010L(KadObj) ; b12x-B11010L ; kastdeur links, greep onder + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-80",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+80",-40,5,"ON",-1) + Quit + +T2523xxb12xMINB11010R(KadObj) ; b12x-B11010R ; kastdeur rechts, greep onder + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-80",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+80",-40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB1L5(KadObj) ; B1L5 ; onderkastdeur links, greep boven + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit + +T2523xxB1R5(KadObj) ; B1R5 ; onderkastdeur rechts, greep boven + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+192),40,5,"ON",-1) + Quit + +T2523xxB1L5SLASH1(KadObj) ; B1L5/1 ; onderkastdeur links, greep boven, tot 300mm + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+160),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit + +T2523xxB1R5SLASH1(KadObj) ; B1R5/1 ; onderkastdeur rechts, greep boven, tot 300mm + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+160),40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB2L1(KadObj) ; B2L1 ; kastdeur links draaiend + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+272)_";5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB2R1(KadObj) ; B2R1 ; kastdeur rechts draaiend + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+272)_";5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+192),-40,5,"ON",-1) + Quit + +T2523xxB2L1SLASH1(KadObj) ; B2L1/1 ; kastdeur links draaiend, tot 300mm + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+272)_";5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+160),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB2R1SLASH1(KadObj) ; B2R1/1 ; kastdeur rechts draaiend, tot 300mm + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+272)_";5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+160),-40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB3L1(KadObj) ; B3L1 ; kastdeur links draaiend + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+416)_";5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB3R1(KadObj) ; B3R1 ; kastdeur rechts draaiend + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+416)_";5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+192),-40,5,"ON",-1) + Quit + +T2523xxB3L1SLASH1(KadObj) ; B3L1/1 ; kastdeur links draaiend, tot 300mm + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+416)_";5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+160),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB3R1SLASH1(KadObj) ; B3R1/1 ; kastdeur rechts draaiend, tot 300mm + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+416)_";5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+160),-40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB4L1(KadObj) ; B4L1 ; kastdeur links draaiend + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+560)_";5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB4R1(KadObj) ; B4R1 ; kastdeur rechts draaiend + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+560)_";5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+192),-40,5,"ON",-1) + Quit + +T2523xxB4L1SLASH1(KadObj) ; B4L1/1 ; kastdeur links draaiend, tot 300mm + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+560)_";5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+160),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB4R1SLASH1(KadObj) ; B4R1/1 ; kastdeur rechts draaiend, tot 300mm + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+560)_";5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+160),-40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB4R3(KadObj) ; B4R3 ; kastdeur rechts draaiend + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-"_(86+560)_";5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,40,"c-96",5,"ON",-1) + Do FillKDBoring(.KadObj,40,"c+96",5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB8L5(KadObj) ; B8L5 ; front deur links, greep boven, scharnier omlaag + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","214;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit + +T2523xxB8R5(KadObj) ; B8R5 ; front deur rechts, greep boven, scharnier omlaag + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","214;5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+192),40,5,"ON",-1) + Quit + +T2523xxB8L5SLASH1(KadObj) ; B8L5/1 ; front deur links, greep boven, scharnier omlaag, tot 300mm + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","214;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+160),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit + +T2523xxB8R5SLASH1(KadObj) ; B8R5/1 ; front deur rechts, greep boven, scharnier omlaag, tot 300mm + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","214;5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj,(67+160),40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxS1L1(KadObj) ; S1L1 ; linkerdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-50,"5+7","ON",-1) + Quit + +T2523xxS1L3(KadObj) ; S1L3 ; linkerdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,"c","5+7","ON",-1) + Quit + +T2523xxS1L5(KadObj) ; S1L5 ; linkerdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,50,"5+7","ON",-1) + Quit + +T2523xxS1L0(KadObj) ; S1L0 ; linkerdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Quit + +T2523xxS1R1(KadObj) ; S1R1 ; rechterdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-50,"5+7","ON",-1) + Quit + +T2523xxS1R3(KadObj) ; S1R3 ; rechterdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,"c","5+7","ON",-1) + Quit + +T2523xxS1R5(KadObj) ; S1R5 ; rechterdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,50,"5+7","ON",-1) + Quit + +T2523xxS1R0(KadObj) ; S1R0 ; rechterdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Quit + ;===================================================================================================================== + +T2523xxS2L1(KadObj) ; S2L1 ; linkerdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-50,"5+7","ON",-1) + Quit + +T2523xxS2L3(KadObj) ; S2L3 ; linkerdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,"c","5+7","ON",-1) + Quit + +T2523xxS2L5(KadObj) ; S2L5 ; linkerdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,50,"5+7","ON",-1) + Quit + +T2523xxS2L0(KadObj) ; S2L0 ; linkerdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Quit + +T2523xxS2R1(KadObj) ; S2R1 ; rechterdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-50,"5+7","ON",-1) + Quit + +T2523xxS2R3(KadObj) ; S2R3 ; rechterdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,"c","5+7","ON",-1) + Quit + +T2523xxS2R5(KadObj) ; S2R5 ; rechterdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,50,"5+7","ON",-1) + Quit + +T2523xxS2R0(KadObj) ; S2R0 ; rechterdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+288)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Quit + ;===================================================================================================================== + +T2523xxS3L1(KadObj) ; S3L1 ; linkerdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+432)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-50,"5+7","ON",-1) + Quit + +T2523xxS3L0(KadObj) ; S3L0 ; linkerdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+432)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Quit + +T2523xxS3R1(KadObj) ; S3R1 ; rechterdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+432)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-50,"5+7","ON",-1) + Quit + +T2523xxS3R0(KadObj) ; S3R0 ; rechterdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+432)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Quit + ;===================================================================================================================== + +T2523xxS4L1(KadObj) ; S4L1 ; linkerdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+576)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-50,"5+7","ON",-1) + Quit + +T2523xxS4L0(KadObj) ; S4L0 ; linkerdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+576)_";0\-70;0") + Do FillKDBoring(.KadObj,-8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Quit + +T2523xxS4R1(KadObj) ; S4R1 ; rechterdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+576)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-50,"5+7","ON",-1) + Quit + +T2523xxS4R0(KadObj) ; S4R0 ; rechterdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-"_(70+576)_";0\-70;0") + Do FillKDBoring(.KadObj,8, 70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-70,5,"ON",1,,,"R") + Quit + ;===================================================================================================================== + +T2523xxB5MIN2(KadObj) ; B5-2 ; klapdeur tot 600mm, breed prof, 1 steun rechts + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + ;Do FillKDBeslag(.KadObj,"KH","???","100;25;R") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-96",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+96",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxB5MIN2SLASH1(KadObj) ; B5-2/1 ; klapdeur tot 300mm, breed prof, 1 steun rechts + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + ;Do FillKDBeslag(.KadObj,"KH","???","100;25;R") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-80",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+80",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxB5MINB(KadObj) ; B5-B ; klapdeur vanaf 800mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + ;Do FillKDBeslag(.KadObj,"KH","???","100;25;L\100;25;R") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 25,100,-3,"ON",0) + Do FillKDBoring(.KadObj, 25,132,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxB5MINC(KadObj) ; B5-C ; klapdeur vanaf 1000mm, breed prof, 3 scharn. + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\c;5\-86;5") + ;Do FillKDBeslag(.KadObj,"KH","???","100;25;L\100;25;R") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 25,100,-3,"ON",0) + Do FillKDBoring(.KadObj, 25,132,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxB5MIND(KadObj) ; B5-D ; klapdeur vanaf 1000mm, breed prof, 4 scharn. + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\s2:172;5\s2:172;5\-86;5") + ;Do FillKDBeslag(.KadObj,"KH","???","100;25;L\100;25;R") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 25,100,-3,"ON",0) + Do FillKDBoring(.KadObj, 25,132,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + + + ;===================================================================================================================== + +T2523xxS5MIN2(KadObj) ; S5-2 ; klapdeur tot 600mm, smal prof, 1 steun rechts + Do FillKDPropts(.KadObj,"KLS","B","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + ;Do FillKDBeslag(.KadObj,"KH","???","100;-5;L") + Do FillKDBoring(.KadObj, 70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c",-8,"5+7","ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,"Im",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",117,-3,"IN",0,,5) + ; Uitleg/Omschrijving van de interne boringen : zie volgend "T2523xxS5MINB" / "S5-B" + Quit + +T2523xxS5MINB(KadObj) ; S5-B ; klapdeur vanaf 800mm, smal prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\-70;0") + ;Do FillKDBeslag(.KadObj,"KH","???","100;-5;L\100;-5;R") + Do FillKDBoring(.KadObj, 70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 50,-8,"5+7","ON",-1) + Do FillKDBoring(.KadObj,-50,-8,"5+7","ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,"Ip",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Ip",117,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",117,-3,"IN",0,,5) + ; "Im+0" = KadObj.ProfType.Breedte + 0 , vertrekkende van de rechtse kant (i.e. KadObj.Breedte - ...) + ; ander vb. "Ip-7" = KadObj.ProfType.Breedte - 7 , vertrekkende van de linkse kant + ; ZPos: het nulpunt van de Z-as ligt onderaan het profiel, i.e. rug/achterzijde: z=0 + Quit + +T2523xxS5MINC(KadObj) ; S5-C ; klapdeur vanaf 1000mm, smal prof, 3 scharn. + Do FillKDPropts(.KadObj,"KLS","B","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\c;0\-70;0") + ;Do FillKDBeslag(.KadObj,"KH","???","100;-5;L\100;-5;R") + Do FillKDBoring(.KadObj, 70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 50,-8,"5+7","ON",-1) + Do FillKDBoring(.KadObj,-50,-8,"5+7","ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,"Ip",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Ip",117,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",117,-3,"IN",0,,5) + ; "Im+0" = KadObj.ProfType.Breedte + 0 , vertrekkende van de rechtse kant (i.e. KadObj.Breedte - ...) + ; ander vb. "Ip-7" = KadObj.ProfType.Breedte - 7 , vertrekkende van de linkse kant + ; ZPos: het nulpunt van de Z-as ligt onderaan het profiel, i.e. rug/achterzijde: z=0 + Quit + +T2523xxS5MIND(KadObj) ; S5-D ; klapdeur vanaf 1000mm, smal prof, 4 scharn. + Do FillKDPropts(.KadObj,"KLS","B","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","70;0\s2:140;0\s2:140;0\-70;0") + ;Do FillKDBeslag(.KadObj,"KH","???","100;-5;L\100;-5;R") + Do FillKDBoring(.KadObj, 70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 50,-8,"5+7","ON",-1) + Do FillKDBoring(.KadObj,-50,-8,"5+7","ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,"Ip",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Ip",117,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",117,-3,"IN",0,,5) + ; "Im+0" = KadObj.ProfType.Breedte + 0 , vertrekkende van de rechtse kant (i.e. KadObj.Breedte - ...) + ; ander vb. "Ip-7" = KadObj.ProfType.Breedte - 7 , vertrekkende van de linkse kant + ; ZPos: het nulpunt van de Z-as ligt onderaan het profiel, i.e. rug/achterzijde: z=0 + Quit + + ;===================================================================================================================== + +T2523xxB6MIN6(KadObj) ; B6-6 ; LadeFront met 1 greep, tot 600mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",140,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDZ","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-96",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+96",40,5,"ON",-1) + Quit + +T2523xxB6MIN6SLASH1(KadObj) ; B6-6/1 ; LadeFront met 1 greep, tot 300mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",140,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDZ","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-80",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+80",40,5,"ON",-1) + Quit + +T2523xxB6MINB(KadObj) ; B6-B ; LadeFront met 2 grepen, vanaf 800mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",140,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDZ","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-70,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB7MIN6(KadObj) ; B7-6 ; LadeFront Hoog met 1 greep, tot 600mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-96",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c96",40,5,"ON",-1) + Quit + +T2523xxB7MIN6SLASH1(KadObj) ; B7-6/1 ; LadeFront Hoog met 1 greep, tot 300mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-80",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+80",40,5,"ON",-1) + Quit + +T2523xxB7MINB(KadObj) ; B7-B ; LadeFront Hoog met 2 grepen, vanaf 800mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxB0MIN6(KadObj) ; B0-6 ; LadeFront Hoog met 1 greep, tot 600mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-96",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+96",40,5,"ON",-1) + Quit + +T2523xxB0MIN6SLASH1(KadObj) ; B0-6/1 ; LadeFront Hoog met 1 greep, tot 300mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-80",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+80",40,5,"ON",-1) + Quit + +T2523xxB0MINB(KadObj) ; B0-B ; LadeFront Hoog met 2 grepen, vanaf 800mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-69;28;L\o-69;28;R") + Do FillKDBoring(.KadObj, 8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-69,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+192),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit +T2523xxB9MIN0(KadObj) ; B9-0 ; Vaste Blende boven + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBoring(.KadObj, 8,"c",5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,"c",5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 28,52,-3,"ON",0) + Do FillKDBoring(.KadObj, 28,(52+32),-3,"ON",0) + Do FillKDBoring(.KadObj,-28,52,-3,"ON",0) + Do FillKDBoring(.KadObj,-28,(52+32),-3,"ON",0) + Quit + ;===================================================================================================================== + +T2523xxBAR3(KadObj) ; BAR3 ; Kastdeur DDVKH rechts draaiend + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",2046,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\"_(86+625)_";5\-"_(86+625)_";5\-86;5") + Do FillKDBoring(.KadObj,86, 8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 40, 555.5,5,"ON",-1) + Do FillKDBoring(.KadObj, 40,-555.5,5,"ON",-1) + Quit + +T2523xxBAL3(KadObj) ; BAL3 ; Kastdeur DDVKH links draaiend + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",2046,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\"_(86+625)_";5\-"_(86+625)_";5\-86;5") + Do FillKDBoring(.KadObj,-86, 8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-40, 555.5,5,"ON",-1) + Do FillKDBoring(.KadObj,-40,-555.5,5,"ON",-1) + Quit + +T2523xxBBB(KadObj) ; BBB ; Front BZLD kast, vanaf 800mm + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",428,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBoring(.KadObj, 8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+192),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 28.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj, 28.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj, 28.5,306,-3,"ON",0) + Do FillKDBoring(.KadObj, 38.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj, 38.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj, 38.5,306,-3,"ON",0) + Do FillKDBoring(.KadObj,-28.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj,-28.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj,-28.5,306,-3,"ON",0) + Do FillKDBoring(.KadObj,-38.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj,-38.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj,-38.5,306,-3,"ON",0) + Quit + +T2523xxBB2(KadObj) ; BB2 ; Front BZLD kast, 600mm + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",428,594,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBoring(.KadObj, 8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-96",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+96",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 28.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj, 28.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj, 28.5,306,-3,"ON",0) + Do FillKDBoring(.KadObj, 38.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj, 38.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj, 38.5,306,-3,"ON",0) + Do FillKDBoring(.KadObj,-28.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj,-28.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj,-28.5,306,-3,"ON",0) + Do FillKDBoring(.KadObj,-38.5,210,-3,"ON",0) + Do FillKDBoring(.KadObj,-38.5,274,-3,"ON",0) + Do FillKDBoring(.KadObj,-38.5,306,-3,"ON",0) + Quit + ;===================================================================================================================== + +T2523xxB124MIND21011(KadObj) ; B124-D21011 ; Klapdeur vanaf 950mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-64",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+64",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 32.5,164,-3,"ON",0) + Do FillKDBoring(.KadObj, 32.5,196,-3,"ON",0) + Do FillKDBoring(.KadObj,-32.5,164,-3,"ON",0) + Do FillKDBoring(.KadObj,-32.5,196,-3,"ON",0) + Quit + +T2523xxB12ZMIND21011(KadObj) ; B12Z-D21011 ; Klapdeur vanaf 950mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-240",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+240",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 32.5,164,-3,"ON",0) + Do FillKDBoring(.KadObj, 32.5,196,-3,"ON",0) + Do FillKDBoring(.KadObj,-32.5,164,-3,"ON",0) + Do FillKDBoring(.KadObj,-32.5,196,-3,"ON",0) + Quit + +T2523xxB124MIND21010(KadObj) ; B124-D21010 ; Klapdeur tot 900mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-64",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+64",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 25,100,-3,"ON",0) + Do FillKDBoring(.KadObj, 25,132,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxB12ZMIND21010(KadObj) ; B12Z-D21010 ; Klapdeur vanaf 650mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-240",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+240",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 25,100,-3,"ON",0) + Do FillKDBoring(.KadObj, 25,132,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxD21010x2Z(KadObj) ; D21010x2Z ; Klapdeur vanaf 650mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-240",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+240",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 25,100,-3,"ON",0) + Do FillKDBoring(.KadObj, 25,132,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxB2B4MIND21010(KadObj) ; B2B4-D21010 ; Klapdeur tot 900mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+128),-40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+128),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 25,100,-3,"ON",0) + Do FillKDBoring(.KadObj, 25,132,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,100,-3,"ON",0) + Do FillKDBoring(.KadObj,-25,132,-3,"ON",0) + Quit + +T2523xxB2B4MIND21011(KadObj) ; B2B4-D21011 ; Klapdeur vanaf 950mm, breed prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,-40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+128),-40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+128),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 32.5,164,-3,"ON",0) + Do FillKDBoring(.KadObj, 32.5,196,-3,"ON",0) + Do FillKDBoring(.KadObj,-32.5,164,-3,"ON",0) + Do FillKDBoring(.KadObj,-32.5,196,-3,"ON",0) + Quit + +T2523xxB12ZMIND50010(KadObj) ; B12Z-D50010 ; Klapdeur vanaf 650mm + Do FillKDPropts(.KadObj,"LF","B","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + ; Boringen ter vervananging van de scharnieren + Do FillKDBoring(.KadObj, 70 ,10,3.2,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 102 ,10,3.2,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-16",10,3.2,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c+16",10,3.2,"ON",1,,,"R") + Do FillKDBoring(.KadObj, -102 ,10,3.2,"ON",1,,,"R") + Do FillKDBoring(.KadObj, -70 ,10,3.2,"ON",1,,,"R") + ; Stootbuffers + Do FillKDBoring(.KadObj, 10,86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-10,86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 86,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-86,-8,5,"ON",1,,,"R") + ; Greep + Do FillKDBoring(.KadObj,"c-240",-40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+240",-40,5,"ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj, 27,-27,-3.5,"ON",0,,,,"!") ; CncID="!" : niet automatisch frezen + Do FillKDBoring(.KadObj, 27,-52,-3.5,"ON",0) + Do FillKDBoring(.KadObj,-27,-27,-3.5,"ON",0,,,,"!") ; CncID="!" : niet automatisch frezen + Do FillKDBoring(.KadObj,-27,-52,-3.5,"ON",0) + Quit + ;===================================================================================================================== + +T2523xxB2F4MINF11010(KadObj) ; B2F4-F11010 ; Front korflade met 2 grepen, vanaf 650mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-65;28;L\o-65;28;R") + Do FillKDBoring(.KadObj, 8, 50,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-65,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 50,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-65,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 67 ,40,5,"ON",-1) + Do FillKDBoring(.KadObj, (67+128),40,5,"ON",-1) + Do FillKDBoring(.KadObj,-(67+128),40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,40,5,"ON",-1) + Quit + +T2523xxB16ZMINF11010(KadObj) ; B16Z-F11010 ; Front korflade met 1 greep, vanaf 650mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-65;28;L\o-65;28;R") + Do FillKDBoring(.KadObj, 8, 50,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-65,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 50,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-65,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-240",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+240",40,5,"ON",-1) + Quit + +T2523xxF11010x6Z(KadObj) ; F11010x6Z ; Front korflade met 1 greep, vanaf 650mm + Do FillKDPropts(.KadObj,"LF","O","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"LB","TANDRH","o-65;28;L\o-65;28;R") + Do FillKDBoring(.KadObj, 8, 50,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj, 8,-65,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8, 50,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-65,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c-240",40,5,"ON",-1) + Do FillKDBoring(.KadObj,"c+240",40,5,"ON",-1) + Quit + +T2523xxB114MINB11010L(KadObj) ; B114-B11010L ; Kastdeur links, greep onder + Do FillKDPropts(.KadObj,"KD","L","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-(67+128),-40,5,"ON",-1) + Do FillKDBoring(.KadObj, -67 ,-40,5,"ON",-1) + Quit + +T2523xxB114MINB11010R(KadObj) ; B114-B11010R ; Kastdeur rechts, greep onder + Do FillKDPropts(.KadObj,"KD","R","PBG-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMS","86;5\-86;5") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,67+128,-40,5,"ON",-1) + Do FillKDBoring(.KadObj, 67,-40,5,"ON",-1) + Quit + ;===================================================================================================================== + +T2523xxS110MINB11010L(KadObj) ; S110-B11010L ; Linkerdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-50,"5+7","ON",-1) + Quit + +T2523xxS130MINB11010L(KadObj) ; S130-B11010L ; Linkerdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,"c","5+7","ON",-1) + Quit + +T2523xxS150MINB11010L(KadObj) ; S150-B11010L ; Linkerdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,50,"5+7","ON",-1) + Quit + +T2523xxS100MINB11010L(KadObj) ; S100-B11010L ; Linkerdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Quit + +T2523xxS110MINB11010R(KadObj) ; S110-B11010R ; Rechterdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-50,"5+7","ON",-1) + Quit + +T2523xxS130MINB11010R(KadObj) ; S130-B11010R ; Rechterdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,"c","5+7","ON",-1) + Quit + +T2523xxS150MINB11010R(KadObj) ; S150-B11010R ; Rechterdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,50,"5+7","ON",-1) + Quit + +T2523xxS100MINB11010R(KadObj) ; S100-B11010R ; Rechterdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Quit + ;===================================================================================================================== + +T2523xxS110MINC11010L(KadObj) ; S110-C11010L ; Linkerdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-50,"5+7","ON",-1) + Quit + +T2523xxS130MINC11010L(KadObj) ; S130-C11010L ; Linkerdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,"c","5+7","ON",-1) + Quit + +T2523xxS150MINC11010L(KadObj) ; S150-C11010L ; Linkerdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,50,"5+7","ON",-1) + Quit + +T2523xxS100MINC11010L(KadObj) ; S100-C11010L ; Linkerdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","L","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,-8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-8,-86,5,"ON",1,,,"R") + Quit + +T2523xxS110MINC11010R(KadObj) ; S110-C11010R ; Rechterdeur, smal profiel, knop onder + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-50,"5+7","ON",-1) + Quit + +T2523xxS130MINC11010R(KadObj) ; S130-C11010R ; Rechterdeur, smal profiel, knop midden + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,"c","5+7","ON",-1) + Quit + +T2523xxS150MINC11010R(KadObj) ; S150-C11010R ; Rechterdeur, smal profiel, knop boven + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,50,"5+7","ON",-1) + Quit + +T2523xxS100MINC11010R(KadObj) ; S100-C11010R ; Rechterdeur, smal profiel, zonder knop + Do FillKDPropts(.KadObj,"KD","R","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\c;0\-86;0") + Do FillKDBoring(.KadObj,8, 86,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,8,-86,5,"ON",1,,,"R") + Quit + ;===================================================================================================================== + +T2523xxS120MIND11010(KadObj) ; S120-D11010 ; Klapdeur tot 600mm, smal prof, 1 steun rechts + Do FillKDPropts(.KadObj,"KLS","B","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + Do FillKDBoring(.KadObj, 70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c",-8,"5+7","ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,"Im",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",117,-3,"IN",0,,5) + ; Uitleg/Omschrijving van de interne boringen : zie volgend "T2523xxS5MINB" / "S5-B" + Quit + +T2523xxS120MIND21010(KadObj) ; S120-D21010 ; Klapdeur tot 900mm, smal prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + ;Do FillKDBeslag(.KadObj,"KH","???","100;-5;L\100;-5;R") + Do FillKDBoring(.KadObj, 70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c",-8,"5+7","ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,"Ip",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Ip",117,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",100,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",117,-3,"IN",0,,5) + ; Uitleg/Omschrijving van de interne boringen : zie volgend "T2523xxS5MINB" / "S5-B" + Quit + +T2523xxS120MIND21011(KadObj) ; S120-D21011 ; Klapdeur vanaf 900mm, smal prof, 2 steunen + Do FillKDPropts(.KadObj,"KLS","B","PSV-EV",,,"NY","HARD","KV","K","ExtendFT^Prod.GADef.KaderDeur.TemplGeneral") + Do FillKDBeslag(.KadObj,"S","BLUMK","86;0\-86;0") + ;Do FillKDBeslag(.KadObj,"KH","???","100;-5;L\100;-5;R") + Do FillKDBoring(.KadObj, 70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,-70,-8,5,"ON",1,,,"R") + Do FillKDBoring(.KadObj,"c",-8,"5+7","ON",-1) + ; (punt)Boringen voor Klapdeur Steun; kunnen ook opgenomen worden in BESLAG + Do FillKDBoring(.KadObj,"Ip",171.5,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Ip",188.5,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",171.5,-3,"IN",0,,5) + Do FillKDBoring(.KadObj,"Im",188.5,-3,"IN",0,,5) + ; Uitleg/Omschrijving van de interne boringen : zie volgend "T2523xxS5MINB" / "S5-B" + Quit + + ;===================================================================================================================== + + + + + ; Klant: XXXXXXXXXXXXXXXX nr. XXXX + ; ============================================================================================= + + + + ; ============================================================================================= + ; End of Data + ; Redirection of "Fill..."-routines to KDTEMPLATES.MAC + ; ============================================================================================= + +FillKDBeslag(KadObj,BeslagKey,BeslagTypeID,lstPosities) + ; KadObj passed by Reference! + ; has the following structure ("[]" means OPTIONAL) : + ; "LPos[@RLPos];AfRand[;PosKey1]\LPos2[@RLPos2];[AfRand2][;PosKey2]\LPos3[@RLPos3];[AfRand3][;PosKey3]" + ; - if PosKey_I is omitted, it is automatically calculated by "Beslag.Posities.Count()+1" + ; - if AfRand is omitted, it is reused from previous "Beslag.Positie" + Do FillKDBeslag^Prod.GADef.KaderDeur.Templates(.KadObj,.BeslagKey,.BeslagTypeID,.lstPosities) + Quit + +FillKDBoring(KadObj,XAndCode,YAndCode,Diam,BoringType,BoorDiepte,GlasDiam,ZPos,CodeBKey,CncID) + ; KadObj passed by Reference! + Do FillKDBoring^Prod.GADef.KaderDeur.Templates(.KadObj,.XAndCode,.YAndCode,.Diam,.BoringType,.BoorDiepte,.GlasDiam,.ZPos,.CodeBKey,.CncID) + Quit + +FillKDPropts(KadObj,ToepasID,OphangPID,ProfielTypeID,Hoogte,Breedte,VullingID,VullingExtras,Gemonteerd,Verpakking,TemplateRoutine) + ; KadObj passed by Reference! + Do FillKDPropts^Prod.GADef.KaderDeur.Templates(.KadObj,.ToepasID,.OphangPID,.ProfielTypeID,.Hoogte,.Breedte,.VullingID,.VullingExtras,.Gemonteerd,.Verpakking,.TemplateRoutine) + Quit \ No newline at end of file Index: vhLib/String.mac.rou =================================================================== diff -u --- vhLib/String.mac.rou (revision 0) +++ vhLib/String.mac.rou (revision 2) @@ -0,0 +1,13 @@ + + +Replace(String,F,T,From,Cnt) + New P,I + Set P=1 + For I=1:1:$G(From) Set P=$F(String,F,P) Quit:'P + Quit:'P + Set:'$G(Cnt) Cnt=9999 + For Quit:'Cnt Set P=$F(String,F,P) Quit:'P Do + .Set $E(String,P-$L(F),P-1)=T + .Set P=P-$L(F)+$L(T) + .Set Cnt=Cnt-1 + Quit String \ No newline at end of file Index: Kenm/Basis/MetaDefinitie.cls.xml =================================================================== diff -u --- Kenm/Basis/MetaDefinitie.cls.xml (revision 0) +++ Kenm/Basis/MetaDefinitie.cls.xml (revision 2) @@ -0,0 +1,458 @@ + + + +0 +0 +persistent +0 +0 +%Library.Persistent +0 + + + +Aantal decimalen bij Float +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Execute die nagaat of een veld afhankelijk van de rand informatie enabled of disabled moet zijn +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Eenhedi van de numerieke ingaven (st, m, lm, m2, ...) +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +P=Popup is een beperkte lijst op voorhand vastgelegd +L=Lijst is een onbeperkte lijst, bepaald on runtime en kan door de gebruiker aangevuld worden. +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Kenm.Basis.MetaGroep +0 +0 +parent + +MetaDefinities +0 +0 +1 +0 +0 +0 + + + + +Kenmerk alleen voor interngebruik, om bv. vertalingen aan te duiden +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Transformatie die de ingegeven kenmerkt moet ondergaan vooralleer bij de langtekst te worden gevoegd. +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Vanuit de kenmerken kan de langtekst automatisch worden gegenereerd, de volgorde van de generatie. +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + + +Maximale waarde bij Integer en Float +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Minimale waarde bij Integer en Float +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Er kunnen meerdere waarden ingegeven worden , het max. aantal waarden wordt hier ingevuld + +Bij lijst en popup is dit via een speciale dialogbox, bij getallen kan dit door ";" gescheiden ingave +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + + +Indien Multiple hoeveel velden moeten er dan getoond worden +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + + +Verplichte ingave dit veld mag niet leeg zijn +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 +list +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Sys.cTimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +Kenmerk +0 + + + + +De waarden voor de MetaDefinitie-objecten zitten in de routine "Kenm.Basis.MetaDefinitie.LoadObjects.MAC"]]> +0 +1 +code +Groep:%Library.String +0 +0 + + + + +%Library.SQLQuery +(paGroep:%Library.String) +0 +SELECT ID,Groep,Decimalen,DisableWhen,Eenheid,Format, + Intern,Kenmerk,LangtekstTransform,LangtekstVolgNr, + Lengte,MaxValue,MinValue,Multiple,MultipleDisplay, + Omschrijving,Verplicht,VolgNr,WaardenSortering +FROM MetaDefinitie +WHERE (Groep=:paGroep) +ORDER BY VolgNr + +0 + + + + + + +Lijst van de Kenmerken per groep, gesorteerd op VolgNr +%Library.SQLQuery +(MGroep:%Library.String) +0 +SELECT ID, Kenmerk,WaardenSortering +FROM MetaDefinitie +WHERE (Groep = :MGroep) +ORDER BY VolgNr + +0 + + + + + +%Library.CacheStorage +{%%PARENT}("MD") +MetaDefinitieDefaultData +{%%PARENT}("MD") +^Kenm.Basis.MetaDefinitieI +^Kenm.Bas.MetaDefinitieS + +%%CLASSNAME +node +0 + + +listnode + +Decimalen + + +DisableWhen + + +Eenheid + + +Format + + +Intern + + +LangtekstTransform + + +LangtekstVolgNr + + +Lengte + + +MaxValue + + +MinValue + + +Multiple + + +MultipleDisplay + + +Omschrijving + + +Verplicht + + +VolgNr + + +WaardenSortering + + +WijzigGebruiker + + +WijzigTijdstip + + +SortType + + + + + Index: csp/tbx/wizkleur.cls.xml =================================================================== diff -u --- csp/tbx/wizkleur.cls.xml (revision 0) +++ csp/tbx/wizkleur.cls.xml (revision 2) @@ -0,0 +1,1029 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Set vtlMeerInfo=..WebTextValue("MeerInfo",Taal,"L",$LB("L")) + Set arVTL("KLR","DS_WS")=..WebTextValue("DS_WS",Taal,"L") ; wit - S(Plus) + Set arVTL("KLR","DS_GS")=..WebTextValue("DS_GS",Taal,"L") ; grijs metallic - S + ; Set arVTL("KLR","DS_AS")=..WebTextValue("DS_AS",Taal,"L") ; aluminium - S + ; Set arVTL("KLR","DS_IS")=..WebTextValue("DS_IS",Taal,"L") ; inox - S + Set arVTL("KLR","DS_WI")=..WebTextValue("DS_WI",Taal,"L") ; zijdewit - I(intivo) + Set arVTL("KLR","DS_GI")=..WebTextValue("DS_GI",Taal,"L") ; grijs - I + Set arVTL("KLR","DS_AI")=..WebTextValue("DS_AI",Taal,"L") ; aluminium - I + Set arVTL("KLR","DS_II")=..WebTextValue("DS_II",Taal,"L") ; inox - I + Set arVTL("KLR","DS_ZI")=..WebTextValue("DS_ZI",Taal,"L") ; zwartbruin - I + ; Set arVTL("KLR","DS_BA")=..WebTextValue("DS_BA",Taal,"L") ; massief beuk - B + ; Set arVTL("KLR","DS_BI")=..WebTextValue("DS_BI",Taal,"L") ; massief eik - B + Set arVTL("KLR","DS_GF")=..WebTextValue("DS_GF",Taal,"L") ; grijs metallic - F + Set arVTL("KLR","DS_AF")=..WebTextValue("DS_AF",Taal,"L") ; aluminium - F + Set arVTL("KLR","DS_GMA")=..WebTextValue("DS_GMA",Taal,"L") ; grijs mengvorm - MA + ; Set arVTL("KLR","DS_IMA")=..WebTextValue("DS_IMA",Taal,"L") ; inox mengvorm - MA + Set arVTL("KLR","DS_WA")=..WebTextValue("DS_WA",Taal,"L") ; zijdewit - A(antaro) + Set arVTL("KLR","DS_GA")=..WebTextValue("DS_GA",Taal,"L") ; grijs - A + Set arVTL("KLR","DS_ZA")=..WebTextValue("DS_ZA",Taal,"L") ; zwartbruin - A + /* */ + Set arVTL("KLR","KL_WI")=..WebTextValue("KL_WI",Taal,"L") ; wit + Set arVTL("KLR","KL_MG")=..WebTextValue("KL_MG",Taal,"L") ; grijs metallic + Set arVTL("KLR","KL_AL")=..WebTextValue("KL_AL",Taal,"L") ; aluminium + Set arVTL("KLR","KL_IN")=..WebTextValue("KL_IN",Taal,"L") ; inox + ; Set arVTL("KLR","KL_BE")=..WebTextValue("KL_BE",Taal,"L") ; massief beuken + ; Set arVTL("KLR","KL_BI")=..WebTextValue("KL_BI",Taal,"L") ; massief eiken + Set arVTL("KLR","KL_SW")=..WebTextValue("KL_SW",Taal,"L") ; zijdewit + Set arVTL("KLR","KL_BZ")=..WebTextValue("KL_BZ",Taal,"L") ; terrazwart + /* */ + Set arVTL("KLR","KB_WI")=..WebTextValue("KL_WI_KB",Taal,"L") ; wit + Set arVTL("KLR","KB_LG")=..WebTextValue("KL_LG",Taal,"L") ; lichtgrijs + Set arVTL("KLR","KB_DG")=..WebTextValue("KL_DG",Taal,"L") ; donker grijs + ; Set arVTL("KLR","KB_BE")=..WebTextValue("KL_BE_KB",Taal,"L") ; beuken + ; Set arVTL("KLR","KB_EI")=..WebTextValue("KL_EI_KB",Taal,"L") ; eiken + Set arVTL("KLR","KB_BZ")=..WebTextValue("KL_BZ_KB",Taal,"L") ; bruinzwart + Set arVTL("KLR","KB_ZW")=..WebTextValue("KL_ZW",Taal,"L") ; zwart + Set arVTL("KLR","RK_WI")=..WebTextValue("KL_WI",Taal,"L") ; wit + Set arVTL("KLR","RK_MG")=..WebTextValue("KL_MG",Taal,"L") ; grijs metallic + Set arVTL("KLR","RK_AL")=..WebTextValue("KL_AL",Taal,"L") ; aluminium + Set arVTL("KLR","RK_CR")=..WebTextValue("KL_CR",Taal,"L") ; chroom + Set arVTL("KLR","RK_SW")=..WebTextValue("KL_SW",Taal,"L") ; zijdewit + Set arVTL("KLR","RK_BZ")=..WebTextValue("KL_BZ",Taal,"L") ; terrazwart + Set arVTL("KLR","KV_FG" )=..WebTextValue("KLV_FG",Taal,"L") ; helder glas 4mm + Set arVTL("KLR","KV_FZ" )=..WebTextValue("KLV_FZ",Taal,"L") ; gezuurd glas 4mm + Set arVTL("KLR","KV_DIA8")=..WebTextValue("KLV_DIA8",Taal,"L") ; diamant 8mm + Set arVTL("KLR","KV_DFZ8")=..WebTextValue("KLV_DFZ8",Taal,"L") ; diam gezuurd 8mm + Set arVTL("KLR","KV_GRI8")=..WebTextValue("KLV_GRI8",Taal,"L") ; grijs 8mm + Set arVTL("KLR","KV_BRO8")=..WebTextValue("KLV_BRO8",Taal,"L") ; brons 8mm + Set arVTL("KLR","KV_ZV") =..WebTextValue("KLV_ZV",Taal,"L") ; eigen vulling + Set arVTL("KLR","KX_WI") =..WebTextValue("KL_WI",Taal,"L") ; wit + Set arVTL("KLR","KX_MG") =..WebTextValue("KL_MG",Taal,"L") ; grijs metallic + Set arVTL("KLR","KX_AL") =..WebTextValue("KL_AL",Taal,"L") ; aluminium + Set arVTL("KLR","KX_IN") =..WebTextValue("KL_IN",Taal,"L") ; inox + Set arVTL("KLR","KX_SW") =..WebTextValue("KL_SW",Taal,"L") ; zijdewit + Set arVTL("KLR","KX_BZ") =..WebTextValue("KL_BZ",Taal,"L") ; terrazwart + Set arVTL("KLR","FB_S") =..WebTextValue("FB_S",Taal,"L") ; schroefversie + Set arVTL("KLR","FB_I") =..WebTextValue("FB_I",Taal,"L") ; INSERTA + Set arVTL("KLR","FB_A") =..WebTextValue("FB_A",Taal,"L") ; voor ALU-front + Set arVTL("KLR","FB_D") =..WebTextValue("FB_D",Taal,"L") ; drevel + Set arVTL("KLR","FB_E") =..WebTextValue("FB_E",Taal,"L") ; EXPANDO + Set arVTL("KLR","FB_Z") =..WebTextValue("FB_Z",Taal,"L") ; geen + Set arVTL("KLR","FB_NM") =..WebTextValue("FB_NM",Taal,"L") ; niet meeleveren + Set vtlBulk=..WebTextValue("VerpakBulk",Taal,"L",$LB("L")) + Set arVTL("DFL","NoDFL") =..WebTextValue("DFL_NoDFL",Taal,"L") ; geen basiskeuze + Set arVTL("DFL","FB_S") =..WebTextValue("FB_S",Taal,"L") ; schroefversie + Set arVTL("DFL","FB_I") =..WebTextValue("FB_I",Taal,"L") ; INSERTA + Set arVTL("DFL","FB_NM") =..WebTextValue("FB_NM",Taal,"L") ; niet meeleveren + Set:(DCM="I") arVTL("DFL","FB_I")=..WebTextValue("FB_I",Taal,"L")_" / "_..WebTextValue("FB_E",Taal,"L") ; INSERTA/EXPANDO + Set arVTL("DFL","BM_I") =..WebTextValue("BM_I",Taal,"L",$LB("L")) ; blumotion + Set arVTL("DFL","BM_T") =..WebTextValue("BM_T",Taal,"L") ; TIP-ON + Set arVTL("DFL","WD_16") ="16 mm" ; 16 mm + Set arVTL("DFL","WD_18") ="18 mm" ; 18 mm + Set arVTL("DFL","WD_19") ="19 mm" ; 19 mm + Set arVTL("DFL","WD_B") =..WebTextValue("Binnenmaat",Taal,"L",$LB("L")) ; Binnenmaat + Set arVTL("DFL","ASM_G") =..WebTextValue("ASM_G",Taal,"L",$LB("L")) ; mat Grijs + Set arVTL("DFL","ASM_Z") =..WebTextValue("ASM_Z",Taal,"L",$LB("L")) ; mat Zwart + Set arVTL("DFL","ASM_R") =..WebTextValue("ASM_R",Taal,"L",$LB("L")) ; mat Rood + Set arVTL("DFL","ASM_0") =..WebTextValue("ASM_0",Taal,"L",$LB("L")) ; mat Zonder + Set arVTL("DFL","VPK_S") =..WebTextValue("VPK_S",Taal,"L",$LB("L")) ; per stuk + Set arVTL("DFL","VPK_P") =vtlBulk_": "_..WebTextValue("VPK_P",Taal,"L",$LB("L")) ; Bulk - Pallet + Set arVTL("DFL","VPK_O") =..WebTextValue("VPK_O",Taal,"L",$LB("L")) ; comm. met onderd. - O + Set arVTL("DFL","VPK_O_k")=..WebTextValue("VPK_O_kort",Taal,"L",$LB("L")) ; comm. met onderd. - O + Set arVTL("DFL","VPK_C") =..WebTextValue("VPK_C",Taal,"L",$LB("L")) ; comm. zonder ond. - C + Set arVTL("DFL","VPK_C_k")=..WebTextValue("VPK_C_kort",Taal,"L",$LB("L")) ; comm. zonder ond. - C + Set arVTL("DFL","VPK_A") =..WebTextValue("VPK_A",Taal,"L") ; VHoss zonder ond. - A + Set arVTL("DFL","VPK_A_k")=..WebTextValue("VPK_A_kort",Taal,"L") ; VHoss zonder ond. - A + Set arVTL("DFL","VPK_B") =..WebTextValue("VPK_B",Taal,"L") ; VHoss met onderd. - B + Set arVTL("DFL","VPK_B_k")=..WebTextValue("VPK_B_kort",Taal,"L") ; VHoss met onderd. - B + Set arVTL("DFL","VPK_X") =..WebTextValue("VPK_X",Taal,"L") ; Probox met onderd. - X + Set arVTL("DFL","VPK_X_k")=..WebTextValue("VPK_X_kort",Taal,"L") ; Probox met onderd. - X + Set arVTL("DFL","VPK_Y") =..WebTextValue("VPK_Y",Taal,"L") ; Probox zonder ond. - Y + Set arVTL("DFL","VPK_Y_k")=..WebTextValue("VPK_Y_kort",Taal,"L") ; Probox zonder ond. - Y + ; Set arVTL("DFL","VPK_Z") =..WebTextValue("VPK_Z",Taal,"L",$LB("L")) ; stuk zonder ond. - Z + Set arVTL("DFL","NMCP") =..WebTextValue("NM_CP",Taal,"L",$LB("L")) ; corpusprofielen NietMee + Set arVTL("DFL","NMAK") =..WebTextValue("NM_AK",Taal,"L",$LB("L")) ; afdekkappen NietMee + Set arVTL("DFL","NMRL") =..WebTextValue("NM_RL",Taal,"L",$LB("L")) ; relingen NietMee + Set arVTL("DFL","NMBS") =..WebTextValue("NM_BS",Taal,"L", ) ; BOXSIDES NietMee + ;Set arVTL("KLR_NoDFL_TOOLTIP")=..WebTextValue("DFL_KLR_SystemDfl",Taal,"L") + If $L(Taal) Do + . Set arVTL("KLR_INFO","MC")=..WebTextValue("MogelijkeCombinaties_"_DCM,Taal,"L")_" pdf !" + . ;Set arVTL("KLR_INFO","MC-IMG")="" + . Set arVTL("KLR_RK_TOOLTIP")=..WebTextValue("Relingen",Taal,"L")_" + "_..WebTextValue("KleurBinFront",Taal,"L") + Set DCSpanShow=0 + For dcID="S","B","I","F","MA","A" Do + . Set arDCShow(dcID)=''$LF(lbDesignChoices,dcID) ; lbDesignChoices wordt gecreeerd in csp.vhisie.TBX.Wizard.tmpDev.MAC + . Set DCSpanShow=DCSpanShow+arDCShow(dcID) ; Add boolean (0/1) + Set DCSpanShowHExtra=$S(DCSpanShow>1:0, 1:1) + Set DCSpanHide=4-(DCSpanShow+DCSpanShowHExtra) + If DCSpanShow=0 Do Quit + . w ERROR,! + Do blTBoxDfl.BuildMatenDefaultsHTML("INFO",.arVTL) ; Set sc=blTBoxDfl.ErrorStatus + Set blnDefaultsInfo=(blTBoxDfl.MatenDflAvail?1(1"ALL",1"SOME")) + Set blnDefaultsInfo=(blTBoxDfl.MatenDflAvail'?1(1"NONE",1"UNDEF",1"")) + Set blnDefaultsInfo2=blnDefaultsInfo + Set blnDefaultsInfo=0 ; Added by WimV ; JoC vraagt zich af waarom :D :D + Set lbAllowVPK=blTBoxDfl.lbAllowVPK + Set blnDflVerpakShow=($LL(lbAllowVPK)>1) + Set txtKVIEInschfElmnt=$G(arrInschElemnt("Oms")) + Set:($G(arrInschElemnt("ID"))'="ZV") txtKVIEInschfElmnt=$G(arrInschElemnt("MatOms"))_" : "_txtKVIEInschfElmnt + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"" + Write "
    " + Write ""_(..WebTextValue("Kleurkeuze",Taal,"L",$LB("U"))_" : "_"Design"_" / "_..WebTextValue("Ladezijden",Taal,"L",$LB("L")))_"" + Write "
    " + Write "",! + Write $c(9,9,9) + If '((DCSpanHide>0)) Goto %csp00001 ;{ + Write !,$c(9,9,9)_" ",! + Write $c(9,9,9) +%csp00001 ;} + Write !,$c(9,9,9)_" ",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + If '(arDCShow("S")) Goto %csp00002 ;{ + Write !,$c(9,9,9)_"" + Write "
    " + Write ""_(..WebTextValue("DC_S",Taal,"L",))_"" + Write "
    " + Write "",! + Write $c(9,9,9,9) +%csp00002 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("A")) Goto %csp00003 ;{ + Write !,$c(9,9,9)_"" + Write "
    " + Write ""_(..WebTextValue("DC_A",Taal,"L",))_"" + Write "
    " + Write "",! + Write $c(9,9,9,9) +%csp00003 ;} + Write !,$c(9,9,9)_" " + If '(arDCShow("I")) Goto %csp00004 ;{ + Write !,$c(9,9,9)_"" + Write "
    " + Write ""_(..WebTextValue("DC_I",Taal,"L",))_"" + Write "
    " + Write "",! + Write $c(9,9,9,9) +%csp00004 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("B")) Goto %csp00005 ;{ + Write !,$c(9,9,9)_"" + Write "
    " + Write ""_(..WebTextValue("DC_B",Taal,"L",))_"" + Write "
    " + Write "",! + Write $c(9,9,9,9) +%csp00005 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("F")) Goto %csp00006 ;{ + Write !,$c(9,9,9)_"" + Write "
    " + Write ""_(..WebTextValue("DC_F",Taal,"L",))_"" + Write "
    " + Write "",! + Write $c(9,9,9,9) +%csp00006 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("MA")) Goto %csp00007 ;{ + Write !,$c(9,9,9)_"" + Write "
    " + Write ""_(..WebTextValue("DC_MA",Taal,"L",))_"" + Write "
    " + Write "",! + Write $c(9,9,9,9) +%csp00007 ;} + Write !,$c(9,9,9) + If '((DCSpanHide>0)) Goto %csp00008 ;{ + Write !,$c(9,9,9)_" ",! + Write $c(9,9,9) +%csp00008 ;} + Write !,$c(9,9,9)_" ",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9,9) + If '(arDCShow("S")) Goto %csp00009 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_WS")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_GS")) + Write "
    " + Write !,!,$c(9,9,9)_"",! + Write $c(9,9,9,9) +%csp00009 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("A")) Goto %csp00010 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_WA")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_GA")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_ZA")) + Write "
    " + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) +%csp00010 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("I")) Goto %csp00011 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_WI")) + Write "
    " + Write !,$c(9,9,9,9,9,9) + If '($$$Not(blnSFS||blnHEIN)) Goto %csp00012 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_GI")) + Write "
    " + Write !,$c(9,9,9,9,9,9) +%csp00012 ;} + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_II")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_ZI")) + Write "
    " + Write !,$c(9,9,9,9) + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) +%csp00011 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("B")) Goto %csp00013 ;{ + Write !,$c(9,9,9)_"",! + Write !,!,$c(9,9,9)_"",! + Write $c(9,9,9,9) +%csp00013 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("F")) Goto %csp00014 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_GF")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_AF")) + Write "
    " + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) +%csp00014 ;} + Write !,$c(9,9,9,9) + If '(arDCShow("MA")) Goto %csp00015 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","DS_GMA")) + Write "
    " + Write !,!,$c(9,9,9)_"",! + Write $c(9,9,9,9) +%csp00015 ;} + Write !,$c(9,9,9) + If '((DCSpanHide>0)) Goto %csp00016 ;{ + Write !,$c(9,9,9)_" ",! + Write $c(9,9,9) +%csp00016 ;} + Write !,$c(9,9,9)_" ",! + Write $c(9) + Write "" + Write !,$c(9,9,9) + If '(arDCShow("S")=0) Goto %csp00017 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9) +%csp00017 ;} + Write !,$c(9,9,9) + If '(1) Goto %csp00018 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9) +%csp00018 ;} + Write !,$c(9,9,9) + If '(arDCShow("I")=0) Goto %csp00019 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9) +%csp00019 ;} + Write !,$c(9,9,9) + If '(arDCShow("A")=0) Goto %csp00020 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9) +%csp00020 ;} + Write !,$c(9,9,9) + If '(arDCShow("B")=0) Goto %csp00021 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9) +%csp00021 ;} + Write !,$c(9,9,9) + If '(arDCShow("F")=0) Goto %csp00022 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9) +%csp00022 ;} + Write !,$c(9,9,9) + If '(arDCShow("MA")=0) Goto %csp00023 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9) +%csp00023 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9),! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write !,$c(9,9,9)_"",! + If '((DCM'="I")) Goto %csp00024 ;{ + Write !,$c(9,9,9)_"",! +%csp00024 ;} + Write ! + If '((DCM'="A")) Goto %csp00025 ;{ + Write $c(9),! + Write $c(9,9,9)_"",! +%csp00025 ;} + Write $c(9),! + If '((DCM="I")) Goto %csp00026 ;{ + Write !,$c(9,9,9)_"",! +%csp00026 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + If '((DCM'="I")) Goto %csp00027 ;{ + Write !,$c(9,9,9)_"",! +%csp00027 ;} + Write ! + If '((DCM'="A")) Goto %csp00028 ;{ + Write !,$c(9,9,9)_"",! +%csp00028 ;} + Write !,$c(9,9,9)_"",! + If '((DCM="I")) Goto %csp00032 ;{ + Write !,$c(9,9,9)_"",! +%csp00032 ;} + Write !,$c(9,9)_"",! + Write $c(9)_"
    " + Write "
    " + Write ""_(..WebTextValue("Kleurkeuze",Taal,"L",$LB("U"))_" : "_..WebTextValue("Onderdelen_KLR",Taal,"L",))_"" + Write "
    " + Write "
     
    " + Write "
    " + Write ""_(..WebTextValue("Bodem&Rug",Taal,"L",$LB("U")))_"" + Write "
    " + Write "
    " + Write "
    " + Write ""_(..WebTextValue("Relingen",Taal,"L",$LB("U")))_"" + Write "
    " + Write "
    ",! + Write $c(9,9,9,9) + Write "
    " + Write ""_(..WebTextValue("KleurSubInfo_"_DCM,Taal,"L",$LB("U")))_"" + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9)_"

    "_(..WebTextValue("KleurInfoKV_"_DCM,Taal,"L"))_"

    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write $c(9,9),! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9)_"
       
    ",! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KB_WI")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KB_LG")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KB_DG")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KB_BZ")) + Write "
    " + Write !,!,!,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","RK_WI")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","RK_MG")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","RK_AL")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","RK_SW")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","RK_BZ")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","RK_CR")) + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9) + If '((DCM="I")) Goto %csp00029 ;{ + Write $c(9),! + Write " "_$c(9)_" " + Write "
    " + Write (txtKVIEInschfElmnt) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KV_ZV")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write " " + Write "
    " + Write !," "_$c(9,9,9)_" " + Write !," "_$c(9,9,9,9) + Write "
    " + Write " " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "" + Write ""_(..WebTextValue("BtnSelectKVDlg",Taal,"L"))_"" + Write "" + Write !,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9) + Goto %csp00030 ;} +%csp00029 ;{ + Write $c(9),! + Write $c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KV_ZV")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KV_FG")) + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (arVTL("KLR","KV_FZ")) + Write "
    " + Write !,$c(9,9) +%csp00030 ;} + Write !,$c(9)_"
     ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write ! + If '((DCM="I")) Goto %csp00031 ;{ + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "
    " + Write ! +%csp00031 ;} + Write !,$c(9,9,9,9) + Write "
    " + Write ($G(arVTL("KLR_INFO","MC")," ")) + Write "
    " + Write !,$c(9,9,9)_"
     
    ",! + Write ! + If '(1 || (KLNr>0)) Goto %csp00033 ;{ + Write !,!,!,$c(9)_"
    ",! + Write $c(9) + Write "
    " + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write ""_(..WebTextValue("DFL_CurrentSettings",Taal,"L",$LB("")))_" :" + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"
     
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9)_(blTBoxDfl.MatenDefaultsHTML),! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"
     
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "" + Write ""_(..WebTextValue("BtnEditDefaults",Taal,"L"))_"" + Write "" + Write !,$c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"
     
    ",! + Write $c(9) + Write "
    " + Write !,$c(9),! + Write $c(9) + Write "
    " + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9) + If '(blnDflVerpakShow) Goto %csp00034 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9) + Goto %csp00035 ;} +%csp00034 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9) +%csp00035 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9) + If '(blnDflVerpakShow) Goto %csp00037 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9) + Goto %csp00038 ;} +%csp00037 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9) +%csp00038 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) + If '(blnDflVerpakShow) Goto %csp00039 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00039 ;} + Write !,$c(9,9,9) + If '(blnDflVerpakShow=0) Goto %csp00045 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00045 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9) + Write !,$c(9,9,9)_"",! + If '((KLNr>0)) Goto %csp00046 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! +%csp00046 ;} + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,!,$c(9,9,9,9,9,9) + Write "
    " + Write ""_(..WebTextValue("DFL_Basiskeuzes",Taal,"L",$LB("U")))_"" + If '((blnDefaultsInfo2=0)) Goto %csp00036 ;{ + Write "  " + Write "" +%csp00036 ;} + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write !,$c(9,9,9,9,9) + Write "
    " + Write ""_(..WebTextValue("DFL_StdWOpties",Taal,"L",$LB("U")))_"" + Write "
    " + Write !,$c(9,9,9,9)_"
     
    " + Write "
    " + Write ""_(..WebTextValue("Frontbevestiging",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write ""_(..WebTextValue("Glijders",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write ""_(..WebTextValue("WanddikteKort",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write ""_(..WebTextValue("Antislipmat",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write ""_(..WebTextValue("NietMeeleveren",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write ""_(..WebTextValue("Verpakking",Taal,"L"))_"" + Write "
    " + Write "
    " + Write "
    " + Write " " + Write "
    " + Write "
     
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","FB_S") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","FB_I") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","FB_NM")) + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","BM_I") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","BM_T") ) + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","WD_16") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","WD_18") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","WD_19") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","WD_B") ) + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","ASM_G") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","ASM_Z") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","ASM_R") ) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write (arVTL("DFL","ASM_0") ) + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write ""_(arVTL("DFL","VPK_S") )_"" + Write "
    " + Write !,$c(9,9,9,9,9,9) + If '(($LF(lbAllowVPK,"O"))) Goto %csp00040 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_O_k") )_"" + Write "
    " + Write !,$c(9,9,9,9,9) +%csp00040 ;} + If '(($LF(lbAllowVPK,"C"))) Goto %csp00041 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_C_k") )_"" + Write "
    " + Write !,$c(9,9,9,9,9) +%csp00041 ;} + If '(($LF(lbAllowVPK,"P"))) Goto %csp00042 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_P" ) )_"" + Write "
    " + Write !,$c(9,9,9,9,9) +%csp00042 ;} + If '(($LF(lbAllowVPK,"A"))) Goto %csp00043 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_A_k") )_"" + Write "
    " + Write !,$c(9,9,9,9,9) +%csp00043 ;} + If '(($LF(lbAllowVPK,"B"))) Goto %csp00044 ;{ + Write "
    " + Write ""_(arVTL("DFL","VPK_B_k") )_"" + Write "
    " + Write !,$c(9,9,9,9,9) +%csp00044 ;} + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write "
    " + Write !,$c(9,9,9,9)_"
     
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "" + Write ""_(..WebTextValue("BtnSaveDflNow",Taal,"L"))_"" + Write "" + Write !,$c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9,9)_"

    "_(..WebTextValue("DFL_SaveDflKlrInfo",Taal,"L"))_"

    ",! + Write $c(9,9,9,9,9,9) + Write "
    " + Write $c(9,9),! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9) + Write "" + Write ""_(..WebTextValue("BtnClearAllDfl",Taal,"L"))_"" + Write "" + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"
     
    ",! + Write $c(9) + Write "
    " + Write !,! + Goto %csp00047 ;} +%csp00033 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write "" + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    " + Write "
    " + Write ""_(..WebTextValue("Frontbevestiging",Taal,"L",$LB("U")))_"" + Write "
    " + Write "
    " + Write "
    " + Write (..WebTextValue("FrontBevInStap3",Taal,"L")) + Write "
    " + Write "
    ",! + Write $c(9,9,9)_"
      
    ",! +%csp00047 ;} + Write !,!,"" +]]>
    +
    + + +c:\cachesys\csp\vhisie\TBX\WizKleur.csp + + + +/vhisie/TBX/WizKleur.csp + + + +62243,55365 + +
    +
    Index: Prod/GAData/Template.cls.xml =================================================================== diff -u --- Prod/GAData/Template.cls.xml (revision 0) +++ Prod/GAData/Template.cls.xml (revision 2) @@ -0,0 +1,504 @@ + + + +persistent +PRGACNTs +%Library.Persistent,%XML.Adaptor +0 + + +%String + +0 + + + +Derde.Klant.Klant +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Prod.GAMeta.Struct +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String + +0 + + + +Prod.GAData.Product +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +VersieNr van het geassocieerde Product (vb: 1.5.3) +%String + + + + +Geeft de oref van de Template terug.
    +!!! DIT IS DE BASISMETHOD VOOR DE VOLLEDIGE OPBOUW VAN EEN TEMPLATE !!!]]>
    +0 +1 +code +MetaStructCode:%Library.String,MetaStructVersion:%Library.String,NewTemplCode:%Library.String +0 +Prod.GAData.Template +0 + +
    + + + +Creeert nieuw Template object gebaseerd op MetaStruct. Geeft de oref van de Template terug +0 +1 +code +MetaStructCode:%Library.String,MetaStructVersion:%Library.String +0 +Prod.GAData.Template +0 + + + + + +Creeert het Product dat de data van de template bevat. Dit is in feite een normaal Product. +Product is niet gekoppeld (geen RELATIE) met Template en moet aldus afzonderlijk geSAVEd worden!!! +0 +0 +code + +0 +Prod.GAData.Product +0 + + + + +0 +0 +code + +0 +%Library.Status +0 + + + + + +(Bvb. Code voor de basis TandemBox template is "TBXBasis")]]> +0 +1 +code +Code:%Library.String +0 +%Library.List +0 + + + + + +Maakt een kopie van het Product van de template en geeft het nieuwe ID terug. +Bij kopie via object: het product moet bewaard worden, anders geen ObjID +%Library.String + + + + +DItemVia:%String,MetaFormat:%String="T",lbMetaClass:%String,lbFlags:%String +0 +%Status +0:sc,1:$$ParseStatus^vhLib(sc))) + Quit $S(sc>0:$$$OK,1:sc) +]]> + + + +1 +ProdID:%String +%Status + + + + +1 +ProdID:%String +%String + + + + +NewVal:%String +%Status + + + + +incMajor:%Integer,incMeta:%Integer,incRevision:%Integer,blnAbsolute:%Boolean=0,blnReset:%Boolean=1 + + + + + + + + + +Vergelijkt het Product van de huidige template met het vorige product (PrevProdID). +Verhoogt het VersieNr: Meta of Revision, naargelang de resultaten van SyncProd +Immediate Save van de Template kan door blnSave=1. +Geeft het nieuwe VersieNr terug +PrevProdID:%Library.String,blnSave:%Boolean=0 +%Library.String + + + + +1 +ProdID:%Library.String +%String + + + + + +Met deze method kunnen de DataItems van een Product (ProdID) gesynchroniseerd worden met de DataItems van zijn Template-product. +Als "NewProdID" gelijk is aan ProdID, dan wordt het product overschreven; anders wordt een nieuw product aangemaakt. +SyncStat als .local doorgeven +lbFlags=$LB(DoNotSave DFL=1, RemoveLostDItems DFL=0, ForceSyncAll DFL=0) + +%Integer + + + + + +Gaat na of de versie van de template overeenkomt met de versie van het gegeven product "Prod". +lbFlags: default=$LB(CheckMajor=1,CheckMeta=1,CheckRevision=1) +Prod:Prod.GAData.Product,lbFlags:%List +%String + + + + + +Gaat na of de versie van het gegeven product (via ProdID) overeenkomt met de versie van de bijhorende template. +lbFlags: zie method CheckVersion() +1 +ProdID:%Library.String,lbFlags:%List +%String + + + + + +Geeft het Template-object terug dat hoort bij het Product met ID=ProdID. +Om ReturnProd terug te krijgen: de parameter als .local doorgeven +1 + +Prod.GAData.Template + + + + +0 +1 +code +TCode:%Library.String +0 +%String +0 + + + + +0 +1 +code +TCode:%Library.String +0 +Prod.GAData.Template +0 + + + + +0 +0 +code + +0 +%Library.String +0 + + + + +%Library.SQLQuery +KlantID:%Library.Integer +0 +SELECT ID, Code, Omschrijving, (Code || " - " || Omschrijving) +FROM Prod_GAData.Template +WHERE (Klant = :KlantID) OR (Klant IS NULL) OR (Klant = "") +ORDER BY Code +0 + + + + + +%Library.CacheStorage +^Prod.GAData.TemplateD +TemplateDefaultData +^Prod.GAData.TemplateD +^Prod.GAData.TemplateI +^Prod.GAD.TemplateS + +%%CLASSNAME +node +0 + + +listnode + +Code + + +Klant + + +MetaStruct + + +Omschrijving + + +Product + + +VersionProd + + +Version + + + +
    +
    Index: Prod/GAMeta/BT/TBLadeDiepte.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBLadeDiepte.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBLadeDiepte.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBLDD") +TBLadeDiepteDefaultData +^Res.PI.Items("PR;GA;TBLDD") +^Res.PI.Items("index","PR;GA;TBLD") +^Res.PI.Items("stream","PR;GA;TBLD") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: TECH/File.cls.xml =================================================================== diff -u --- TECH/File.cls.xml (revision 0) +++ TECH/File.cls.xml (revision 2) @@ -0,0 +1,62 @@ + + + +1 +%Library.File +0 + + +1 +directory:%String +%String + + + + +1 +Directory:%String +%Library.Integer + + + + +1 +%String + + + + Index: vhLib/Compile.cls.xml =================================================================== diff -u --- vhLib/Compile.cls.xml (revision 0) +++ vhLib/Compile.cls.xml (revision 2) @@ -0,0 +1,98 @@ + + + +vhLib.Macro +1 +%RegisteredObject +0 + + + +Method AAACompilerFirst() moet eerst staan in alfabetische lijst, want moet als eerste gecompileerd worden! +1 +objectgenerator + + + + +1 +ClassName:%String,ParamName:%String,NewValue:%String +%Status + + + + + +Geeft de naam van de Storage Global van de gegeven klasse door via param GlobalName +GlobalName als .local doorgeven +1 + +%Status + + + + + +Schrijft de code naar de Object-compiler om een Macro te definieren, die kan gebruikt worden in andere methods van de klasse +1 +MacroName:%String,Expression:%String,blnFirstLineInfo:%Boolean=1,blnWithComment:%Boolean=1 + + + + + +CompileAllowed() bepaalt of de gegeven klasse kan gecompileerd worden. +1 +ClassName:%String +%Status + + + + Index: Sys/cTimeStamp.cls.xml =================================================================== diff -u --- Sys/cTimeStamp.cls.xml (revision 0) +++ Sys/cTimeStamp.cls.xml (revision 2) @@ -0,0 +1,73 @@ + + + + +Logical and Storage are in $H format +Conversion to Display and Odbc. +datatype +TIMESTAMP +%occTransaction +%occInclude +TIMESTAMP +TIMESTAMP + + +%val, which represents a timestamp value, +to YYYY-MM-DD HH:MM:SS format. +

    Returns the value of the input string %val as a timestamp +value (YYYY-MM-DD HH:MM:SS format).]]> +0 +1 +generator +%val:%Library.TimeStamp +0 +%Library.String +0 + + + + +%val, which is in logical format YYYY-MM-DD HH:MM:SS, +into a display string. +The formatting is based on the value of the FORMAT parameter. +

    Returns the formatted value of %val.]]> +0 +1 +generator +%val:%Library.String +0 +%Library.TimeStamp +0 + + + + +%val, which is in logical format YYYY-MM-DD HH:MM:SS, +into a display string. +The formatting is based on the value of the FORMAT parameter. +

    Returns the formatted value of %val.]]> +0 +1 +expression +%val:%Library.String +0 +%Library.String +0 + + + + Index: _vhisie/TBX/tbxScroll.css =================================================================== diff -u --- _vhisie/TBX/tbxScroll.css (revision 0) +++ _vhisie/TBX/tbxScroll.css (revision 2) @@ -0,0 +1,10 @@ + DIV.clsScrollDiv { + scrollbar-face-color:#EEEEEE; + scrollbar-arrow-color:black; + scrollbar-track-color:#DADADA; + scrollbar-shadow-color:EEEEEE; + scrollbar-highlight-color:EEEEEE; + scrollbar-3dlight-color:#AAAAAA; + scrollbar-darkshadow-Color:#AAAAAA; + } + Index: WS/TBX/DataIOSoap/GetLeverWeken.cls.xml =================================================================== diff -u --- WS/TBX/DataIOSoap/GetLeverWeken.cls.xml (revision 0) +++ WS/TBX/DataIOSoap/GetLeverWeken.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.TBX.DataIOSoap + + +%Client,%Action,Taal:%String,ListSep:%String +%Library.String +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + +%Library.String + + + + +%Library.String + + + + Index: vhConsistency/ConsistencyCheck.cls.xml =================================================================== diff -u --- vhConsistency/ConsistencyCheck.cls.xml (revision 0) +++ vhConsistency/ConsistencyCheck.cls.xml (revision 2) @@ -0,0 +1,96 @@ + + + + +JBL + 2011-05-05 +Do ##class(vhConsistency.ConsistencyCheck).VoerUit(1,0) +vhLib.Macro +1 +%RegisteredObject +0 + + +%GlobalCharacterStream + + + +1 +ToonAlles:%Boolean=0,StuurMail:%Boolean=1 +%String + + + + +ToonAlles:%Boolean=0,StuurMail:%Boolean + + + + +Classname:%String,ToonAlles:%Boolean=0 +1 +%Status + + + + Index: Prod/ProductPrijs.cls.xml =================================================================== diff -u --- Prod/ProductPrijs.cls.xml (revision 0) +++ Prod/ProductPrijs.cls.xml (revision 2) @@ -0,0 +1,391 @@ + + + +persistent +VHOpslag +%Persistent +0 + + + +Aanduiding of de B-prijs van BLUM-producten verschillend is aan de A-prijs +Waarde: Boolean +%Library.Boolean + + + + 5%]]> +%Library.Float + + + + +Format: Real: 15,5 +Waarde: Per eenheid, niet afgerond +%Library.Float + + + + +Format: Char: 1 +Waarde: E,H,D +%Library.String + + + + + +Format: Numeric: 5 +%Library.Integer + + + + 5%]]> +%Library.Float + + + + +Format: Numeric: 5 +Voor het bepalen van de staffeling voor de KS-prijslijst +%Library.Integer + + + + +Format: Numeric: 5 +Voor het bepalen van de staffeling voor de KS-prijslijst +%Library.Integer + + + + +Format: Numeric: 5 +Waarde: Deler van Normale verpakking +%Library.Integer + + + + 5%]]> +%Library.Float + + + + +Format: Numeric: 4 +Derde.Lev.Lev + + + + +Format: String: 50 +%Library.String + + + + +Format: Numeric: 2 +%Library.Integer + + + + +Format: Real: 15,5 +Waarde: Per eenheid, niet afgerond +%Library.Float + + + + +Format: Real: 15,5 +Waarde: Per eenheid, niet afgerond +%Library.Float + + + + +Empty voor LVH +%Library.String + + + + +Format: Numeric: 7 +%Library.Integer + + + + +Format: Char: 3 +Res.Munt + + + + +Format: Numeric: 5 +Waarde: Deler van Groot verpakking +%Library.Integer + + + + +Per grootteorde, in munt van de leverancier +Format: Real: 12,2 +%Library.Float + + + +%Integer + + + + +Klantnummer van Van Hoecke N.V. bij de leverancier +Momenteel is het een aanduiding dat dit product dient gekocht te worden via de +speciale klant NV-De Betho van Blum +Waarde: 1 of leeg +Indien 1 dan moet het klantnummer 275250 gebezigd worden +%Library.String + + + + +Waarde: +1[] = Verkoop per stuk toegelaten +[] = empty +%Library.String + + + + 5%]]> +%Library.Float + + + + +Format: Real: 15,5 +Waarde: Per eenheid, niet afgerond +%Library.Float + + + + 5%]]> +%Library.Float + + + +%Library.String + + + +Prod.Product + + + +%Integer + + + +%Boolean +1 +Set {*}=##class(Prod.ProductPrijs).IsVerpakkingsProduct({ProductNr}) +1 + + + +%Boolean + + + + +1 +PRNr +%Boolean + + + + +1 +ProductNr +1 + + + +%CacheSQLStorage +^Mapping.SpecialVarS + +data +^KPR + +{ProductNr} +0.1 + + s {1D1}=$O(^KPR({L1},"J")) +{1D1} + + + s {1D2}=^KPR({L1},{1D1}) +{1D2} + + +$O(^KPR({L1},"J"))="" + + +'{L1} + + + +"\" +{1D2} +18 + + +"\" +{1D2} +23 + + +"\" +{1D2} +21 + + +"\" +{1D2} +24 + + +"\" +{1D2} +16 + + +"\" +{1D2} +28 + + +"\" +{1D2} +10 + + +"\" +{1D2} +12 + + +"\" +{1D2} +11 + + +"\" +{1D2} +14 + + +"\" +{1D2} +1 + + +"\" +{1D2} +3 + + +"\" +{1D2} +7 + + +"\" +{1D2} +25 + + +"\" +{1D2} +20 + + +"\" +{1D2} +2 + + +"\" +{1D2} +6 + + +"\" +{1D2} +17 + + +"\" +{1D2} +15 + + +"\" +{1D2} +19 + + +"\" +{1D2} +9 + + + s {*}={1D1} + + +"\" +{1D2} +4 + + +"\" +{1D2} +13 + + +"\" +{1D2} +33 + + +"\" +{1D2} +32 + + +"\" +{1D2} +26 + + +"\" +{1D2} +27 + + + + + Index: cspBasis/ProductNavig.cls.xml =================================================================== diff -u --- cspBasis/ProductNavig.cls.xml (revision 0) +++ cspBasis/ProductNavig.cls.xml (revision 2) @@ -0,0 +1,8 @@ + + + +%VHMacro +cspBasis.ProductMenu +0 + + Index: csp/tbx/access.cls.xml =================================================================== diff -u --- csp/tbx/access.cls.xml (revision 0) +++ csp/tbx/access.cls.xml (revision 2) @@ -0,0 +1,273 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9) + If '((Flow="REF") || (Flow="SUBMIT")) Goto %csp00001 ;{ + Write !,$c(9,9) + If '((LoginState="NO") || (LoginState="OK")) Goto %csp00002 ;{ + Write !,$c(9,9,9)_"

    Deze URL wordt verwerkt ...

    ",! + Write $c(9,9) + Goto %csp00003 ;} +%csp00002 If '(($E(LoginState,1,3)="ASK")) Goto %csp00004 ;{ + Write !,$c(9,9,9) + Set msgLogin=$S(LoginState="ASK_AGAIN":..WebTextValue("Foutief paswoord",Taal,"L")_". "_..WebTextValue("Probeer opnieuw",Taal,"L"), 1:..WebTextValue("Geef paswoord",Taal,"L")) + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9)_" "_$c(9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9)_" "_$c(9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "
    " + Write "Login" + Write "
    " + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_(msgLogin)_":
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9) + Write ..InsertHiddenFields("Access.csp"),! + Write "
    " + Write !,$c(9,9) + Write "" + Write !,$c(9,9,9) + Write "
    " + Write !,"" + Write !,$c(9,9,9)_"

    "_$c(9,9),! + Write $c(9,9,9,9) + Write !,"

    ",! + Write " ",! + Write "
    ",! + Write !,"" + Write !,$c(9,9,9)_"

    ",! + Write $c(9,9,9),! + Write $c(9,9) + Goto %csp00003 ;} +%csp00004 If '((LoginState="CONSTRUCTION")) Goto %csp00005 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9)_" "_$c(9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9)_" "_$c(9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9)_" "_$c(9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Do ..Include("Header.csp") + Write !,$c(9,9,9,9,9)_"
    " + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_"Berekenen van TANDEMBOX is momenteel niet mogelijk. Gelieve later nog eens te proberen.
    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_"Calculation n'est pas possible a ce moment. Veuillez essayer plus tard svp.
    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_"Calculation is not possible at this moment. Please try again later.
    ",! + Write $c(9,9,9,9,9)_"
    ",! + Write $c(9,9) + Goto %csp00003 ;} +%csp00005 If '((LoginState="TRY_LATER")) Goto %csp00006 ;{ + Write !,$c(9,9,9)_"Unable to login. Try again later. You are not allowed to access this data. Contact administrator.",! + Write $c(9,9) + Goto %csp00003 ;} +%csp00006 ;{ + Write !,$c(9,9,9)_"Unknown status to log in. It may be possible that the URL is invalid.",! + Write $c(9,9) +%csp00003 ;} + Write !,$c(9,9),! + Write $c(9) + Goto %csp00007 ;} +%csp00001 ;{ + Write !,$c(9,9)_"This is not a valid URL.",! + Write $c(9) +%csp00007 ;} + Write !,$c(9),! + Write $c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,"" +]]> +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TBox Decode URL",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,!,! + Do ..Include("PRGACNTs.INC") + Write ! + Set %session.AppTimeout = 905 + // Session Data is set in the OnPreHTTP-method + Write !,!,!,!,!,! + Do ..OnPageHEAD() + Write ! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +c:\cachesys\csp\vhisie\TBX\Access.csp + + + +/vhisie/TBX/Access.csp + + + +0 + + + +61649,48748 + + + +0 + +
    +
    Index: TurboGridCnts.inc.rou =================================================================== diff -u --- TurboGridCnts.inc.rou (revision 0) +++ TurboGridCnts.inc.rou (revision 2) @@ -0,0 +1,89 @@ + //============================================================================= + // FIELD DEFINITION + //============================================================================= + + //---=[Field Definition Type]=--- + ;General info + #Define fdGeneral 0 + ;Normal (not selected,grayed,...) info + #Define fdNormal 1 + ;Selected info + #Define fdSelected 2 + ;Header info + #Define fdHeader 3 + + //---=[General Row Info Type]=--- + ;Indentation Level + #Define griIndent 1 + ;ItemHeight (16 normal, 32 double line, ...) + #Define griItemHeight 2 + ;Borderwidth + #Define griBorderWidth 3 + ;RectWidth + #Define griRectWidth 4 + ;Row Fontsize + #Define griFontSize 5 + ;Row FontName + #Define griFontName 6 + ;Achtergrondkleur +/- button + #Define griButtonFillColor 7 + ;ButtonFrameColor + #Define griButtonFrameColor 8 + ;ButtonShapeType ["bstRect","bstCircle"] + #Define griButtonShapeType 9 + ;Shaduwkleur rowbox + #Define griShadowColor 10 + + //---=[General Field Info Type]=--- + ;FieldName AS String + #Define gfiFieldName 1 + ;Width van het veld + #Define gfiWidth 2 + ;Aligneren (left,right,center,alsook ellipses...) zie MakovaDrawTextCnts.inc + #Define gfiAlignFlags 3 + ;Formattering ("-N","DW",...) + #Define gfiFormat 4 + ;Lengte vh veld beperken + #Define gfiLength 5 + ;# cijfers achter de komma + #Define gfiDecimals 6 + + //---=[Attribute Info Type]=--- + ;FontColor + #Define aiFontColor 1 + ;FrameColor + #Define aiFrameColor 1 + ;FontStyle (fsBold,fsItalic,...) + #Define aiFontStyle 2 + ;Background Color + #Define aiBackColor 3 + + //---=[Header Info Type]=--- + ;FontColor + #Define hiFontColor 1 + ;FrameColor + #Define hiFrameColor 2 + ;FontStyle (fsBold,fsItalic,...) + #Define hiFontStyle 3 + ;Background Color + #Define hiBackColor 4 + ;Schaduw Color + #Define hiShadowColor 5 + ;Align + #Define hiAlign 6 + + //============================================================================= + // VIRTUAL CANVAS DEFINITION + //============================================================================= + + //---=[Virtual Bitmap Type]=--- + ;Background bitmap + #Define vcBGNormal 0 + #Define vcBGSelected 1 + ;Flipping screen + #Define vcFlipCanvas 2 + #Define vcButtonPlus 3 + #Define vcButtonMin 4 + ;Header bitmap + #Define vcHeader 5 + \ No newline at end of file Index: csp/getpage.cls.xml =================================================================== diff -u --- csp/getpage.cls.xml (revision 0) +++ csp/getpage.cls.xml (revision 2) @@ -0,0 +1,110 @@ + + + +User +%VHMacro,ErrorVHCNTs +cache +%CSP.Page +0 + + +vhgetpage + + + + geeft adhv AESKey "vhgetpage" "l3Wjs6H3TZwO2zCEvlCuifUzjMDVHC0IeF7FWxHRBVidG_nfKM2U9TtP76/_V0pU" (gebruik ##class(csp.getpage).EncryptURL) + + dus surf via de browser naar "http://cache02/csp/admin1/GetPage.csp?code=l3Wjs6H3TZwO2zCEvlCuifUzjMDVHC0IeF7FWxHRBVidG_nfKM2U9TtP76/_V0pU" + +en dat geeft hetzelfde resultaat terug als rechstreeks gaan naar + + http://cache02/csp/admin1/DynaPlugReport.csp?id=10 + +*/ +]]> + + + + + + + +60542,48600 + + + +1 +lbErrTypes +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") ; $LB("","OnPageMinimum") + + Quit +]]> + + + +1 +code +%Status + + + + +1 +URL:%String +%String + + + + Index: Res/PI/Abstract.cls.xml =================================================================== diff -u --- Res/PI/Abstract.cls.xml (revision 0) +++ Res/PI/Abstract.cls.xml (revision 2) @@ -0,0 +1,138 @@ + + + +1 +%Library.RegisteredObject +0 + + +%Library.String + + + +%Library.String + + + + +%Library.String +array + + + +%Library.Integer + + + +1 +generator + +ExtentSortExecute +%Library.Status + + + + +1 +generator + +%Library.Status + + + + +1 +generator + +ExtentSortExecute +%Library.Status + + + + +Taal:%Library.String +%Library.String + + + + + +Taal:%Library.String,Default:%Library.String="N",NoDefOms:%Boolean +%String + + + + + +Ophalen van een taalafhankelijke omschrijving van een bepaalde klasse +1 +Class:%Library.String,ItemID:%Library.String,Taal:%Library.String,Default:%Library.String="N",NoDefOms:%Boolean +%String + + + + + +Ophalen van de gesorteerde lijst van alle Items. +%Library.Query + + + + + Index: vhConsistency/Check.cls.xml =================================================================== diff -u --- vhConsistency/Check.cls.xml (revision 0) +++ vhConsistency/Check.cls.xml (revision 2) @@ -0,0 +1,54 @@ + + + + +JBL + 2011-05-05 +1 +1 +%RegisteredObject +0 + + +%Boolean +0 + + + +%Integer +0 + + + +1 +%Status + + + + +%GlobalCharacterStream + + + + +Melding:%String + + + + Index: ReportErrorCNTs.inc.rou =================================================================== diff -u --- ReportErrorCNTs.inc.rou (revision 0) +++ ReportErrorCNTs.inc.rou (revision 2) @@ -0,0 +1,8 @@ + //Report Error Types + #Define reMsg 0 + #Define reObjDoesNotExist 1 + #Define reUnableToOpenObj 2 + #Define reCannotCreateNewObj 3 + #Define reStatusError 4 + #Define reAppException 5 + #Define reUnlockError 6 \ No newline at end of file Index: Res/PI/Toepas.cls.xml =================================================================== diff -u --- Res/PI/Toepas.cls.xml (revision 0) +++ Res/PI/Toepas.cls.xml (revision 2) @@ -0,0 +1,52 @@ + + + +persistent +Res.PI.Items + + +%Library.String + + + + + +Ophalen van de lijst van Toepassingen die behoren tot de gevraagde Groep. +%Library.SQLQuery +(GroepID:%Library.String) + 2) +ORDER BY Sort +]]> + + + + + + +Wanneer de eerste twee letters van ItemID gelijk zijn, behoren deze items tot dezelfde groep.]]> +%Library.SQLQuery +() +SELECT ID, ItemID, Omschrijving, Sort +FROM Res_PI.Toepas +WHERE {fn LENGTH(ItemID)}=2 +ORDER BY Sort + + + + + + +%Library.CacheStorage +ToepasDefaultData + +"TP" + +KortTekst + + + + + Index: VHSys/Scheduler.inc.rou =================================================================== diff -u --- VHSys/Scheduler.inc.rou (revision 0) +++ VHSys/Scheduler.inc.rou (revision 2) @@ -0,0 +1,70 @@ + /// Routine : VHSys.Scheduler.INC + /// + /// Author : Wim Vermeulen + /// Created : 16/04/2007 (originally in previous version on 12/12/2006) + /// + +#include %VHMacro + + #define ClassEvent(%v) ..ResourceNameFromClass(%v) + + /// Resource name voor Lock bij seri�le verwerking van QItem's + /// De effectieve lock gebeurt op subnode SingleLockKey --> bvb: Lock +$$$SchedProcessSerial(SingleLockKey):LockTimeOut + #define SchedProcessSerial SchedProcessSerial + + + // QueueItem Status : applies to VHSys.Scheduler.QueueItem objects + // prefix "qs" + #define qsWait "W" + #define qsStarted "S" + #define qsBusy "B" + #define qsError "E" + #define qsProcessed "P" + #define qsFinished "F" + #define qsSync "Y" + + // Task Status : applies to VHSys.Scheduler.Task and VHSys.Scheduler.emSeqItem objects + // prefix "ts" + #define tsDataFetched "D" + #define tsBusy "B" + #define tsError "E" + #define tsProcessed "P" + #define tsFinished "F" + + // RunMode : geeft aan hoe de taak verwerkt wordt + // Applies to VHSys.Scheduler.Task and Sys.FOP.emSeqItem objects + // prefix "rm" + #define rmSync "S" + #define rmInLine "I" + #define rmThreaded "T" + #define rmBatch "B" + + + // Priority: + // ========= + // Priority Type van een QueueItem. Priority wordt bepaald door een getal, een code of door de RunMode van een Task + // prefix "qpt" + #define qptValue "Value" + #define qptCode "Code" + #define qptRunMode "RunMode" + #define qptAuto "Auto" + + // Priority Value voor de Queue + // prefix "qpv" + #define qpvNull 0 + #define qpvMin 1 + #define qpvLow 2 + #define qpvMedium 5 + #define qpvHigh 8 + #define qpvMax 10 + + // Priority conversies/berekeningen + // + // PrioValue ; Value tussen 1 en 10 (incl.) + // PrioCode ; (L) = 1-2-3 (M) = 4-5-6 (H) = 7-8-9 (?) = 10 + // RunMode ; Batch=Low Threaded=Medium Sync=High + #define PrioViaValue(%v) $S(+%v<$$$qpvMin:"", %v<$$$qpvMax:%v, 1:$$$qpvMax) + #define PrioViaCode(%v) $CASE(%v, "L":$$$qpvLow, "M":$$$qpvMedium, "H":$$$qpvHigh, :$$$qpvNull) + #define PrioCodeFromRunMode(%v) $CASE(%v, $$$rmBatch:"L", $$$rmInLine:"M", $$$rmThreaded:"M", $$$rmSync:"H", :"") + #define PrioViaRunMode(%v) $CASE(%v, $$$rmBatch:$$$qpvLow, $$$rmInLine:$$$qpvMedium, $$$rmThreaded:$$$qpvMedium, $$$rmSync:$$$qpvHigh, :$$$qpvNull) + \ No newline at end of file Index: _vhisie/TBX/TBoxWizard.js =================================================================== diff -u --- _vhisie/TBX/TBoxWizard.js (revision 0) +++ _vhisie/TBX/TBoxWizard.js (revision 2) @@ -0,0 +1,431 @@ +// Constants: +var cHyperEventError="HyperEvent Error"; + +// General variabels (initial values): +var ActiveTaal=""; +var UserID=""; +var OrdID=""; +var sPrintRef=""; +//var wsID=""; +//var KLNr=""; +var blnDocInited=false; +var blnCalcPrices=false; +var blnSesActive=true; + +var arActBtn=Array(); +var arValidateClick=Array(); +var arCheckPData=Array(); +var arPData=Array(); +var KlantFormType; +var arKlrValue=Array(); +var arMData=Array(); +var arMErrs=Array(); +var arPrices=Array(); +var TotPrice=""; +var TotQty=""; +var DS=""; // DesignID, voor beperkingen op LT - LD - DK - BX +var DC=""; // DesignCode : S, I, B, F,MA +var arModified=Array(); +var MDataSyncKlr; +//var maxMRow; +var maxOvzRow; + +var InitHWizT; +var InitHDivStap; +var InitHDivMT; + +var winWait=Object; +var winTBXHelp=Object; +var winInfoPage=Object; + + +function NavigTBXHelp() { + if (!winTBXHelp) return; + winTBXHelp=window.open("http://www.vanhoecke.be/nl/producten/tandem-box/","winTBXHelp"); + winTBXHelp.focus(); +} + +function GetParentPos() { + if (isIE()) return {x:window.screenLeft, y:window.screenTop} ; + else return {x:window.screenX, y:window.screenY} ; +} +function GetParentDim() { + if (isIE()) return {w:document.body.offsetWidth, h:document.body.offsetHeight} ; + else return {w:window.outerWidth, h:window.outerHeight} ; +} +function GetScreenDim() { + return {w:window.screen.availWidth, h:window.screen.availHeight} ; +} +function PosCenterWindow(DlgDim) { + var ParPos=GetParentPos(); + var ParDim=GetParentDim(); + return {x:parseInt(ParPos.x + (ParDim.w - DlgDim.w)/2), y:parseInt(ParPos.y + (ParDim.h - DlgDim.h)/2)} ; +} +function PosCenterScreen(DlgDim) { + var ScrnDim=GetScreenDim(); + return {x:parseInt((ScrnDim.w - DlgDim.w)/2), y:parseInt((ScrnDim.h - DlgDim.h)/2)} ; +} + +function GetFeatures() { + return "location=0,menubar=0,scrollbars=0,resizable=0,status=0,titlebar=0,toolbar=0"; +} +function GetFeatures2() { + return "location=0,menubar=0,scrollbars=1,resizable=1,status=0,titlebar=0,toolbar=0"; +} + +function GetSettings(CodeDlg,DlgDim) { + var DlgPos,ScrnDim; + var sFeat; + switch (CodeDlg) + { + case "M_INFO" : + DlgDim= DlgDim || {w:450, h:600}; + ScrnDim=GetScreenDim(); + DlgPos={x:ScrnDim.w-DlgDim.w-30, y:25} ; // align right-top // y:ScrnDim.h-DlgDim.h-25-20 --> bottom + sFeat=GetFeatures2(); + break; + case "WAIT" : + DlgDim={w:300,h:150}; + DlgPos=PosCenterWindow(DlgDim); + sFeat=GetFeatures(); + break; + case "MAIL" : + DlgDim=DlgDim || {w:350, h:230}; + DlgPos=PosCenterWindow(DlgDim); + sFeat=GetFeatures(); + break; + default : alert ('Onbekende CodeDlg : "' + CodeDlg + '"'); return; break; + } + var s=""; + s += "width=" + DlgDim.w + ",height=" + DlgDim.h; + s += ",left=" + DlgPos.x + ",top=" + DlgPos.y ; // position for IE + s += ",screenX="+DlgPos.x+",screenY="+DlgPos.y; // position for NN + s += "," + sFeat; + return s; +} + +function CServCallBegin() { + try { + winWait = null; + // alert (xx.y); + winWait = window.open("DlgWait.htm?Taal="+ActiveTaal,"DlgWait",GetSettings("WAIT")); + winWait.opener = window; + winWait.focus(); + } + catch (exception) { + alert (jsVTL("jsCalcDataDlg")); + } +} + +function CServCallEnd() { + if (winWait) winWait.close(); +} + + +function atoSwitchToPage() { + history.go(-1); +// window.location.replace("main.csp"); +} + +function atoUserWarning() { + alert ("Your session has timed out"); +} + +function OnAppTimeOut() { + blnSesActive=false; + var oTimer=document.getElementById('timer'); + if (oTimer) oTimer.innerHTML="0:00:00 " + "Session timed out. Page can no longer be interactive with the server. " + ' Click to restart.'; + atoUserWarning(); + return; +} + +function SimulButtonClick(NewButton, GroepVar) { + ClickButtonObj(document.getElementById(NewButton), GroepVar); + ToggleButtonObj(document.getElementById(NewButton), "ON", GroepVar); +} + +function ToggleButton(OnOff, id, GroepVar) { + ToggleButtonObj(document.getElementById(id), OnOff, GroepVar); +} + +function ClickButton(id, GroepVar) { + ClickButtonObj(document.getElementById(id), GroepVar); +} + +function ToggleButtonXtd(obj, OnOff, ActiveButton, ClassNormal, ClassHiLite, ClassActive) { + if (!obj) return; + var id=obj.getAttribute('id'); + if (isIE()) //microsoft doesn't like ECMA-standards... + { + if (id==ActiveButton) obj.className=ClassActive; + else obj.className=(OnOff.toUpperCase()=="ON" ? ClassHiLite : ClassNormal); + } + else + { + if (id==ActiveButton) obj.setAttribute("class",ClassActive); + else obj.setAttribute("class",(OnOff.toUpperCase()=="ON" ? ClassHiLite : ClassNormal)); + } +} + +function ClickButtonObjXtd(obj, GroepVar, ActBtnRef, blnForceAct, ExecRtn) { + if (obj=="") { var NewButton=""; } // Deselect previous button. + else if (!obj) { return; } // Abort ClickButton + else { var NewButton=obj.getAttribute('id'); } + var ActiveButton=eval(ActBtnRef); + if (!blnForceAct) blnForceAct=false; + if (NewButton != ActiveButton || blnForceAct) + { + // By having added "|| blnForceAct" to the above condition, the if clause + // will be executed when blnForceAct=true, also if a user clicked on the ActiveButton. + var OldButton=ActiveButton; + ActiveButton=NewButton; + eval(ActBtnRef + "=ActiveButton;"); // execute: ActBtn=ActiveButton; + if (!OldButton) OldButton=""; + ToggleButtonObj(document.getElementById(OldButton), "OFF", GroepVar); + ToggleButtonObj(document.getElementById(ActiveButton), "ON", GroepVar); + // Extra routine uitvoeren + if (ExecRtn && ExecRtn.length) eval(ExecRtn); + } +} + + +function ToggleButtonObj(obj, OnOff, GroepVar) { + if (!obj) return; + var arSettings=Array(); + switch (GroepVar) + { + //case "xx" : arSettings=Array(ActiveButton, ClassNormal, ClassHiLite, ClassActive ); break; + //----------- ------------ ----------- ----------- ----------- + case "STAP" : arSettings=Array(arActBtn[GroepVar], "clsStapBtn", "clsStapBtnHiLite", "clsStapBtnActive"); break; + case "DS" : arSettings=Array(arActBtn[GroepVar], "clsLadeKlr", "clsLadeKlrHiLite", "clsLadeKlrActive"); break; +// case "KL" : arSettings=Array(arActBtn[GroepVar], "clsLadeKlrKL", "clsLadeKlrKL", "clsOtherKlrActive"); break; +// case "KX" : arSettings=Array(arActBtn[GroepVar], "clsLadeKlr", "clsLadeKlrHiLite", "clsOtherKlrActive"); break; +// case "FB" : arSettings=Array(arActBtn[GroepVar], "clsFBevest", "clsFBevestHiLite", "clsFBevestActive"); break; + case "KL" : return; break; + case "KX" : return; break; + case "KB" : arSettings=Array(arActBtn[GroepVar], "clsLadeKlr", "clsLadeKlrHiLite", "clsOtherKlrActive"); break; + case "RK" : if (DC=="I") { return; break; } + else arSettings=Array(arActBtn[GroepVar], "clsLadeKlr", "clsLadeKlrHiLite", "clsOtherKlrActive"); + break; + case "KV" : arSettings=Array(arActBtn[GroepVar], "clsLadeKlr", "clsLadeKlrHiLite", "clsOtherKlrActive"); break; + case "KVIE" : arSettings=Array(arActBtn[GroepVar], "clsLadeKlr", "clsLadeKlrHiLite", "clsOtherKlrActive"); break; + case "DFL_FB" : arSettings=Array(arActBtn[GroepVar], "clsLadeDFL", "clsLadeDFLHiLite", "clsLadeDFLActive"); break; + case "DFL_BM" : arSettings=Array(arActBtn[GroepVar], "clsLadeDFL", "clsLadeDFLHiLite", "clsLadeDFLActive"); break; + case "DFL_WD" : arSettings=Array(arActBtn[GroepVar], "clsLadeDFL", "clsLadeDFLHiLite", "clsLadeDFLActive"); break; + case "DFL_ASM" : arSettings=Array(arActBtn[GroepVar], "clsLadeDFL", "clsLadeDFLHiLite", "clsLadeDFLActive"); break; + case "DFL_VPK" : arSettings=Array(arActBtn[GroepVar], "clsLadeDFL", "clsLadeDFLHiLite", "clsLadeDFLActive"); break; + case "MOPT_VPK": arSettings=Array(arActBtn[GroepVar], "clsLadeDFL", "clsLadeDFLHiLite", "clsLadeDFLActive"); break; + case "MRC" : arSettings=Array(arActBtn[GroepVar], "clsInputBtnBase", "clsInputBtnHiLite", "clsInputBtnAct"); break; + case "MRD" : arSettings=Array(arActBtn[GroepVar], "clsInputBtnBase", "clsInputBtnHiLite", "clsInputBtnAct"); break; + case "WZB" : arSettings=Array(arActBtn[GroepVar], "clsWizardBtnOrange", "clsWizardBtnAct", ""); break; + case "WZB2" : arSettings=Array(arActBtn[GroepVar], "clsWizardBtnGray", "clsWizardBtnOrange", ""); break; + default : alert ('Onbekend type'); return; break; + } + if (isUndef(arSettings[3])) arSettings[3]=arSettings[2]; + ToggleButtonXtd(obj,OnOff,arSettings[0],arSettings[1],arSettings[2],arSettings[3]); +} + +function ClickButtonObj(obj, GroepVar) { + if (!obj) return; + if (!ValidateClick(GroepVar)) return; + var arSettings=Array(); + var ActBtnRef='arActBtn["'+GroepVar+'"]'; + switch (GroepVar) + { + //case "xx" : arSettings=Array(ActiveButton, blnForceAct, ExecRtn ); break; + //----------- ------------ ----------- ------- + case "STAP" : arSettings=Array(ActBtnRef, false , "BtnStapClickExec(NewButton,OldButton);" ); break; + case "DS" : arSettings=Array(ActBtnRef, true , "BtnDesignClickExec(NewButton);" ); break; + case "KL" : arSettings=Array(ActBtnRef, true , "SetKleurValue(NewButton,GroepVar);" ); break; // "BtnLadeKlrClickExec(NewButton);" + case "KB" : arSettings=Array(ActBtnRef, false , "SetKleurValue(NewButton,GroepVar);" ); break; + case "RK" : arSettings=Array(ActBtnRef, false , "SetKleurValue(NewButton,GroepVar);" ); break; + case "KX" : arSettings=Array(ActBtnRef, false , "SetKleurValue(NewButton,GroepVar);" ); break; + case "KV" : arSettings=Array(ActBtnRef, false , "SetKleurValue(NewButton,GroepVar);" ); break; + case "KVIE" : arSettings=Array(ActBtnRef, false , "" ); break; // IE : inschuif element + case "DFL_FB" : arSettings=Array(ActBtnRef, true , "SetDflValue(NewButton,GroepVar);" ); break; + case "DFL_BM" : arSettings=Array(ActBtnRef, true , "SetDflValue(NewButton,GroepVar);" ); break; + case "DFL_WD" : arSettings=Array(ActBtnRef, true , "SetDflValue(NewButton,GroepVar);" ); break; + case "DFL_ASM" : arSettings=Array(ActBtnRef, true , "SetDflValue(NewButton,GroepVar);" ); break; + case "DFL_VPK" : arSettings=Array(ActBtnRef, true , "SetDflValueVPK(NewButton,GroepVar);"); break; + case "MOPT_VPK": arSettings=Array(ActBtnRef, true , "" ); break; + case "MRC" : arSettings=Array(ActBtnRef, true , "SyncMButtons(NewButton,OldButton);" ); break; + case "MRD" : arSettings=Array(ActBtnRef, true , "SyncMButtons(NewButton,OldButton);" ); break; + default : alert ('Onbekend type'); return; break; + } + ClickButtonObjXtd(obj,GroepVar,arSettings[0],arSettings[1],arSettings[2]); +} + +function ValidateClick(GroepVar) { + if (!GroepVar) return true; + if (isUndef(arValidateClick[GroepVar])) return true; + return arValidateClick[GroepVar].Rtn(); +} + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function TaalIndex (Taal) { + var Ndx; + switch (Taal) + { + case "N" : Ndx=0; break; + case "F" : Ndx=1; break; + case "E" : Ndx=2; break; + case "D" : Ndx=3; break; + default : Ndx=0; break; + } + return (Ndx); +} + +function GetParamValue (sURL, Param, Default) { + var sURLUpper; + sURLUpper = sURL.toUpperCase() + "&"; + Param = Param.toUpperCase(); + if (!Default) Default=""; + + var Pos = sURLUpper.indexOf (Param + "="); + if (Pos==-1) return Default; + Pos = Pos + Param.length + 1; + return sURL.substring (Pos, sURLUpper.indexOf("&", Pos)); +} + +function SetDivsHidden(ExcludeDivName) { + var i; + var DivID; + var coll = document.getElementsByTagName("DIV"); + if (coll!=null) { + if (! ExcludeDivName) ExcludeDivName=''; + for (i=0; i < coll.length; i++) { + DivID=DollarGet(coll[i].getAttribute('id')); + if ((DivID.indexOf('divStap')==0) && (DivID != ExcludeDivName)) { + coll[i].style.visibility='hidden'; + } + } + } +} + +function InitialObjectHeight(ObjID,InitH) { + if (isUndef(InitH)) { + if (document.getElementById(ObjID)) return document.getElementById(ObjID).offsetHeight; + return; + } + return InitH; +} + +// Added on 11/02/2009 +function ResizeDivsStap() { + try { + var coll = document.getElementsByTagName("DIV"); + var CH = document.body.clientHeight; + InitHWizT = InitialObjectHeight("tblWizard",InitHWizT); + InitHDivStap = InitialObjectHeight("divStap1",InitHDivStap); + InitHDivMT = InitialObjectHeight("divMTable",InitHDivMT); + var InitH = InitHWizT; + var AddH = 0; + if (InitH>0 && CH>0 && (CH-InitH>10)) { + AddH = Math.round(1 / (1/(CH-InitH-10) + 1/600) ); // returns a value between 0 and 600 for Arg from 0 to 99999 + } +// alert("tblWizard.H="+InitH + " CH=" + CH + " AddH=" + AddH); + if (AddH>0 && InitHDivStap>0 && coll!=null) { + var DivID; + for (var i=0; i < coll.length; i++) { + DivID=DollarGet(coll[i].getAttribute('id')); + if ((DivID.indexOf('divStap')==0) ) { + coll[i].style.height=InitHDivStap+AddH; + if (coll[i].parentNode.tagName=="TD") coll[i].parentNode.height=coll[i].style.height; + } + } + if (document.getElementById("divMTable")) document.getElementById("divMTable").style.height=InitHDivMT+(AddH < 70 ? AddH : Math.max(70, AddH-50)); // if AddH < 70 then AddH; if between 70 and 120 then 70; if AddH > 120 then AddH-50 + } + } + catch (exception) { + alert ("Debug Info (DivStap) : \n" + exception); + } +} + +function BtnStapClickExec(NewButton,OldButton) { + var NewDiv=document.getElementById(NewButton.replace("btn","div")); + var OldDiv=document.getElementById(OldButton.replace("btn","div")); + if (OldDiv) { OldDiv.style.visibility="hidden"; OldDiv.style.zIndex=-1; } + if (NewDiv) { NewDiv.style.visibility="visible"; NewDiv.style.zIndex=1; } + + if (NewButton=="btnStap1") PDataBtnClick(); + else if (NewButton=="btnStap2") KlrBtnClick(); + else if (NewButton=="btnStap3") MatenBtnClick(); + else if (NewButton=="btnStap4") OvzBtnClick(); +} + +function ValidateStap() { + var ActBtn=arActBtn["STAP"]; + if (ActBtn=="btnStap1") { + var blnValid=ValidatePData(); + if (blnValid) UpdatePDataModified(true); + return blnValid; + } + // Else + return true; +} + +function initClickEvents() { + arValidateClick["STAP"]=new Object(); + arValidateClick["STAP"].Rtn = ValidateStap; + // zzTestRoutine2(); +} + +function initJSArraysOLD () { + // Moved to Wizard.csp header +/* + arKlrValue['DS']="GS"; +// arKlrValue['KL']="MG"; // volgt uit DS := GS; +// arKlrValue['FB']="S"; +*/ +} + +function TestHTMLWiz () { + return (document.location.href.indexOf(".csp")==-1); +} + +function init () { + var DefaultTaal = "N"; + var DefaultButton = "btnStap1"; + if (OrdID && OrdID.length) DefaultButton = "btnStap2"; + if (TestHTMLWiz()) DefaultButton = "btnStap3"; // temp: for development + + var sURL = document.location.href; + if (ActiveTaal=="") ActiveTaal = GetParamValue (sURL, "Taal", DefaultTaal); + ActiveTaal = ActiveTaal.toUpperCase(); + + // Initialisatie van andere objecten + initClickEvents(); + arModified=Array(); + SetDivsHidden(); + if (blnAutoResize) ResizeDivsStap(); // Added on 11/02/2009 + initJSArrays(); + initPData(); + initKleur(); + initMaten(); + initOvz(); + + if (g_IDFrom && g_IDFrom.length) { + GetDataFlds(g_IDFrom); // OrdID is replaced by g_IDFrom + FillDataFlds (); + if (blnNewFromOrd) { + // "Copy into New" : force to check arMData and calc prices + arModified["KLR"]=true; + MDataSyncKlr=false; + } + if (false) { + alert("NMFB"); + arKlrValue["DFL_FB"]="Z"; + SimulButtonClick("divDFL_FB_Z","DFL_FB"); + } + } + + var InitButton = GetParamValue (sURL, "Button", DefaultButton); + if (InitButton != "btnStap1") arActBtn["STAP"]="btnStap1"; + if (InitButton != "") SimulButtonClick(InitButton, "STAP"); + + blnDocInited=true; +} Index: WS/TBX/DataIOSoap/GetKlant.cls.xml =================================================================== diff -u --- WS/TBX/DataIOSoap/GetKlant.cls.xml (revision 0) +++ WS/TBX/DataIOSoap/GetKlant.cls.xml (revision 2) @@ -0,0 +1,65 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.TBX.DataIOSoap + + +%Client,%Action,KLNr:%String +WS.TBX.KlantMini +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +WS.TBX.KlantMini + + + + + +%Library.String + + + + Index: Res/PI/ProfAfw.cls.xml =================================================================== diff -u --- Res/PI/ProfAfw.cls.xml (revision 0) +++ Res/PI/ProfAfw.cls.xml (revision 2) @@ -0,0 +1,99 @@ + + + + +Profiel afwerking +persistent +Res.PI.Items + + +%Integer + + + +%Library.String + + + + +%Library.String + + + + +Lengte basisprofiel (=ongezaagd) in meters +%Library.Float + + + +Res.PI.Kost + + + + +Res.PI.ProfType + + + + +Ophalen van de Profiel Afwerkingen met beperking volgens ProfielType +%Library.SQLQuery +(ProfielType:%Library.String) +SELECT ID, ItemID, Omschrijving, Sort +FROM ProfAfw +WHERE (ProfType = :ProfielType) +ORDER BY Sort + + + + + + + +Lijst van alle profielen met afwerking +%Library.SQLQuery +(Taal:%Library.String) +SELECT PA.ID, PA.ItemID, (PA.ItemID || ' - ' || PTT.TaalOms || '-' || PAT.TaalOms) Oms +FROM Res_PI.ProfAfw PA, Res_PI.ProfAfw_TaalOms PAT, Res_PI.ProfType_TaalOms PTT +WHERE (PA.ID=PAT.ProfAfw) AND (PA.ProfType=PTT.ProfType) AND + (PAT.element_key=:Taal) AND (PTT.element_key=:Taal) AND + (PA.ItemID not LIKE 'P0%') AND (PA.ItemID not LIKE 'VUL%') AND (PA.ItemID not LIKE 'PSS%') +ORDER BY PA.Sort + + + + + + +%Library.CacheStorage +ProfAfwDefaultData + +"PA" + +Gewicht + + +ProfKost + + +ProfType + + +KortTekst + + +Lengte + + +KostCode + + +ProfKostOLD + + +OLDProfKostOLD + + + + + Index: _vhisie/TBX/TBox WebOrder SFS_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder SFS_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder SFS_N.xsl (revision 2) @@ -0,0 +1,496 @@ + + + + + + +EUR + + + + SFS unimarket - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    ID:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
         
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr +41 71 727 52 04
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    Totaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKLEURKEUZE : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEM+RUG:

    RELINGEN:

    BOXSIDE:

    VULLING/GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breedte

    +

    WD

    +

    Diepte

    +

    Gew

    +

    FB *

    +

    Box

    +

    Diverse

    +

    Aant

    + +

    Ink. Prijs/stPrijs/st Info

    + +
    + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

    * Box : Verhoogde zijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + Boxcover zonder vulling + (Code ) + + + +
    Index: Res/PI/TemplateKader.cls.xml =================================================================== diff -u --- Res/PI/TemplateKader.cls.xml (revision 0) +++ Res/PI/TemplateKader.cls.xml (revision 2) @@ -0,0 +1,166 @@ + + + + +Templates waarop KaderDeur-objecten gebaseerd worden. +Bedoeld voor een snelle, efficiënte invoer van de data +persistent +%VHMacro +Res.PI.Items +0 + + +Prod.GADef.KaderDeur +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Derde.Klant.Klant +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Komt meestal overeen met het ItemID, maar kan specifiek gekozen worden +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Analoog aan %ExistsId() method, maar deze is case-INsensitive. +Geeft 0/1 terug +1 +ItemID:%String +1 +%String + + + + + +Zoekt naar item(s) met hetzelfde ID, maar wel op een NIET-hoofdlettergevoelige methode +1 +ItemID:%String +1 +%String + + + + + +Geeft het hoogste volgnummer voor de sortering van de templates (v/e bepaalde klant) +1 +KlantID:%String +1 +%String + + + + + +De objecten van deze klasse moeten dynamisch gegenereerd worden, i.e. via routines in plaats van Fixed Data. +1 +ItemID:%String,PICode:%String,GADefOID:%String,KlantID:%String,Sort:%Integer,Omschrijving:%String +Res.PI.TemplateKader + + + + + +De objecten van deze klasse moeten dynamisch gegenereerd worden, i.e. via routines in plaats van Fixed Data. +0 +1 +code + +0 +0 + + + + + +Toont de log gecreëerd door de FillObjects method. +0 +1 +code + +0 +0 + + + + + +Ophalen van de Template Kaderdeuren per klant +%Library.SQLQuery +KlantID:%Library.Integer +0 +ID AS GADefTemplate_ID +FROM TemplateKader +WHERE (Klant = :KlantID) OR (Klant = "") +ORDER BY Sort]]> +0 + + + + + +%Library.CacheStorage +TemplateKaderDefaultData + +listnode +"TK" + +GADefTemplate + + +Klant + + +PICode + + + + + Index: _vhisie/TBX/TestDataOptLMC.csp =================================================================== diff -u --- _vhisie/TBX/TestDataOptLMC.csp (revision 0) +++ _vhisie/TBX/TestDataOptLMC.csp (revision 2) @@ -0,0 +1,229 @@ + + + + + + + + + + + + + TEST OPTIMA DATAOPT + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + +  #(..WebTextValue("MainBadCode",Taal,"O"))# + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       #(..WebTextValue("Taal",Taal,"L"))#: #(arSwitchTL("N")_" - "_arSwitchTL("F")_" - "_arSwitchTL("E")_" - "_arSwitchTL("D"))#
    Analyse QueryString:
    QueryString:
    DATAOPT:
     
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Decrypted values:  
    DATAOPT:
    #(..WebTextValue("Taal",Taal,"L"))#:
    Client Number: Client Name:
    Reduction: E-mail:
     
     
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Encrypted URL:   
    DATAOPT: +
    +   Check: #($G(DataOptCheck))# +
     
    Step 1:  +
    #($G(arStepsOPT(1)))#
    +
    Step 2:  +
    #($G(arStepsOPT(2)))#
    +
    --> Hex:  +
    #($G(arStepsOPT("2Hex")))#
    +
    Step 3:  +
    #($G(arStepsOPT(3)))#
    +
    Step 4:  +
    #($G(arStepsOPT(4)))#
    +
     
    +
    +
    +
    + +
    + + + + + \ No newline at end of file Index: Res/InternePersoon.cls.xml =================================================================== diff -u --- Res/InternePersoon.cls.xml (revision 0) +++ Res/InternePersoon.cls.xml (revision 2) @@ -0,0 +1,374 @@ + + + +persistent +1 +VHOpslag +%Persistent +0 + + +vanhoecke.be + + + +\\Notes01\Shared + + + +%Boolean +1 + + + +%String + + + +%Boolean + + + +%Boolean + + + +1 +1 +ID +1 + + + +%Integer + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + + + + + + +Geeft een lijst van regios als externe vertegenwoordiger +1 +IPNr +%String + + + + + + + + + +Geeft een lijst van regios als internen vertegenwoordiger +1 +IPNr +%String + + + + + + + + + +Geeft de firma NV, BV, HALUX +1 +IPNr +%String +19)&&(Regio<30) "BV" + ;Quit "NV" + + w !,"Firma" + Quit:(IPNr="") "" + Quit $P($G(^vhUSER("D",IPNr)),"\",16) +]]> + + + +1 +ID:%String +%Boolean + + + + +1 +ID:%String +%Boolean + + + + +1 +UserID:%String,KlantNr:%String +%String + + + + +1 +ID:%String +%Boolean + + + + +1 +ID:%String,MagKennisAnkerAanmaken:%Boolean + + + + +1 +ID:%String,MagKennisAnkerVerwijderen:%Boolean + + + + +1 +Device + + + + + + + + +Name + + + + +%SQLQuery +select %ID as ID, Naam, Active, MagKennisAnkerAanmaken, MagKennisAnkerVerwijderen, Initialen, eMail, SharedMap, NaamKort, GeoDevice, WindowsLoginNaam +from Res.InternePersoon +order by Naam + + + +%SQLQuery +select %ID,Naam from Res.InternePersoon +where Active=1 +order by Naam + + + + + +%SQLQuery +select %ID,Naam from Res.InternePersoon +where MagKennisAnkerAanmaken=1 +order by Naam + + + + + +1 + +0 +%Boolean + + + + +%Save method to +provide notification that the object is being saved. It is called before +any data is written to disk. + +

    insert will be set to 1 if this object is being saved for the first time. + +

    If this method returns an error then the call to %Save will fail.]]> +insert:%Boolean +1 +%Status + + + + +%CacheSQLStorage +^Res.InternePersoonS + +data +^vhUSER +delimited + +"D" + + +{ID} + + + Set {Active}=$D(^vhUSER("D",{ID},"M")) + + +"\" +16 + + +"\" +8 + + +"\" +4 + + +"\" +14 + + +"\" +15 + + +"\" +5 + + +"\" +2 + + +"\" +6 + + +"\" +7 + + +"\" +"M" +13 + + + + + Index: DW/WWW/HTTPLogTBXHein.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBXHein.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBXHein.cls.xml (revision 2) @@ -0,0 +1,160 @@ + + + + +Logging van tbx.tandem-box.de +persistent +1 +%Persistent + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXHeinD +HTTPLogTBXHeinDefaultData +^DW.WWW.HTTPLogTBXHeinD +^DW.WWW.HTTPLogTBXHeinI +^DW.WWW.HTTPLogTBXHeinS + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +Flag + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + + + + Index: TTreeViewExCNTs.inc.rou =================================================================== diff -u --- TTreeViewExCNTs.inc.rou (revision 0) +++ TTreeViewExCNTs.inc.rou (revision 2) @@ -0,0 +1,192 @@ + //User moet dit gebruiken om te verwijzen naar nodedata + #Define uNDFull(%un) Hulp(%un) + #Define uND(%un,%v) Hulp(%un,+%v) + #Define uNDE(%un,%v,%e) Hulp(%un,+%v,%e) + + //Te gebruiken intern in TreeViewEx component + #Define NDFull $$$uNDFull(..UN) + #Define ND(%v) $$$uND(..UN,%v) + #Define NDE(%v,%e) $$$uNDE(..UN,%v,%e) + + //Generic Constants + #Define gcItemHeight 1 + #Define gcTVItemHeight 2 + #Define gcBackgroundColor 3 + #Define gcPreBufferCount 4 + #Define gcMaxBufferCount 5 + #Define gcLoadDefaultRows 6 + #Define gcUseFontCorrTable 7 + ;gcTVItemHeight: Property van TMTreeView, eigenlijk gekoppeld aan TreeView via Font.Size... + + //Generic Nodes + #Define gnFetch "FS" + #Define gnList "LS" + #Define gnDefinition "LD" + + //Definition Constants + #Define dcProgram 1 + #Define dcFetchID 2 + #Define dcVolgNr 3 + + //Row Constants + #Define rcLinkerlijnDikte 1 + #Define rcLinkerlijnColor 2 + #Define rcOnderlijnDikte 3 + #Define rcOnderlijnColor 4 + #Define rcBovenlijnDikte 5 + #Define rcBovenlijnColor 6 + #Define rcBackgroundColor 7 + #Define rcTextColor 8 + #Define rcStructure 9 + #Define rcPixelFormat 10 + #Define rcBorderSpaceLeft 11 + #Define rcSpaceToTxt 12 + #Define rcShadowColor 13 + #Define rcButtonPlus 14 + #Define rcButtonMin 15 + #Define rcBorderSpaceTop 16 + #Define rcHeight 17 + #Define rcAutoBuildDummyPre 18 + #Define rcAutoBuildDummyPost 19 + #Define rcRTLength 20 + #Define rcRTVBackground 21 + #Define rcRTVFlip 22 + #Define rcRTIsHeader 23 + ;rcRTLength: Property wordt runtime opgebouwd, som van $$$ccLength + ;rcRTVBackground: Bevat Bitmap pre-cached, indien=0, nog geen pre-cache uitgevoerd + ;rcRTVFlip: Background wo op deze bitmap 'geflipt' om hierop txt te plaatsen + + //Column Constants + #Define ccVolgNr "VNR" + #Define ccType "TYPE" + #Define ccBackgroundColor "BGC" + #Define ccTextColor "TC" + #Define ccFormat "FMT" + #Define ccLength "LEN" + #Define ccAantalDecimalen "ADEC" + #Define ccFontType "FN" + #Define ccFontSize "FSI" + #Define ccFontStyle "FST" + #Define ccListOpties "LO" + #Define ccListResource "LR" + #Define ccFetchCode "FC" + #Define ccFetchExecute "FE" + ;#Define ccFetchTransformatie "FT" + #Define ccFormatTransformatie "FMTT" + #Define ccEditeerbaar "EDIT" + #Define ccRechterlijnDikte "RLD" + #Define ccRechterlijnColor "RLC" + #Define ccTextFlags "TXTFL" + #Define ccVisible "VIS" + #Define ccCaption "CAP" + #Define ccRTXBegin "RTxB" + #Define ccRTXEnd "RTxE" + ;ccRTXBegin,End: Runtime berekend: |--------|, 1e '|' is ccRTxBegin, 2e ccRTxEnd en '---...' is ccLength + + //Column Nodes + #Define cnFormat "VF" + #Define cnExecute "VE" + + //Fetch Constants + #Define fcFetchType 1 + #Define fcRijFormatDefault 2 + #Define fcSelectFmtDefault 3 + #Define fcHeaderFormat 4 + #Define fcKeyName 5 + #Define fcListPiece 6 + #Define fcDelimiter 7 + + //Fetch Nodes + #Define fnName "N" + #Define fnInitialisation "I" + #Define fnEXESelf "E" + #Define fnEXEOrder "O" + #Define fnEXEObjQuery "OQ" + #Define fnEXEDynSQL "DS" + #Define fnFetchExec "FE" + #Define fnRijFormatSelectie "RFS" + #Define fnCheckIfSubnodes "SN" + + //------------------ SPECIFICS ----------------------- + + //RowStructures + #Define srsNone "NONE" + #Define srsObject "OBJ" + #Define srsList "LST" + #Define srsPiece "PC" + + //ColumnTypes + #Define sctChar "CHAR" + #Define sctDAChar "DACHAR" + #Define sctMemo "MEMO" + #Define sctNumeric "NUM" + #Define sctFloat "FLOAT" + #Define sctPopupItem "PI" + #Define sctIcon "ICON" + #Define sctUserDefinedCmp "UCMP" + + //---------------------------------------------------- + //Names for aBTN + #Define inExpandBtn 1 + #Define inCollapseBtn 2 + #Define inSelExpandBtn 3 + #Define inSelCollapseBtn 4 + + //Blobnames + #Define bnExpandBtn "ICON_PacmanExpanded" + #Define bnCollapseBtn "ICON_PacmanCollapsed" + #Define bnExpandBtn3D "ICON_PacmanExpanded" + #Define bnCollapseBtn3D "ICON_PacmanCollapsed" + ;#Define bnExpandBtn "TTreeViewEx_ExpandBtn" + ;#Define bnCollapseBtn "TTreeViewEx_CollapseBtn" + ;#Define bnExpandBtn3D "TTreeViewEx_ExpandBtn3D" + ;#Define bnCollapseBtn3D "TTreeViewEx_CollapseBtn3D" + + //ComponentNames + #Define cmpUserDefined 0 + #Define cmpEdit 1 + #Define cmpDAEdit 2 + #Define cmpComboBox 3 + #Define cmpMemo 4 + + //---------------------------------------------------- + //Indexing stuff + #Define ildProgram 1 + #Define ildFetchID 2 + #Define ildRijFormatDefault 3 + #Define ildSelectFmtDefault 4 + #Define ildHeaderFormat 5 + + //---------------------------------------------------- + //Node.Text inhoud: + //$LB($LB(F1,F2,F3,...),Bookmark,HasChildren,NodesFetched,IsHeader,...) + #Define ntFieldData 1 + #Define ntBookmark 2 + #Define ntHasChildren 3 + #Define ntNodesFetched 4 + #Define ntIsHeader 5 + #Define ntIsSelectable 6 + #Define ntIsDrawable 7 + #Define ntVBackground 8 + #Define ntVFlip 9 + #Define ntSelVBackground 10 + #Define ntSelVFlip 11 + #Define ntProgram 12 + #Define ntRowID 13 + #Define ntSelRowID 14 + #Define ntBSpaceLeft 15 + #Define ntBSpaceTop 16 + #Define ntSelBSpaceLeft 17 + #Define ntSelBSpaceTop 18 + #Define ntIsDummy 19 + + //---------------------------------------------------- + //Constants related to pre-caching bitmap buffer - old school - niet meer gebruikt in versie 2 + + #Define pcAssocNode 1 + #Define pcRoot "RT" + #Define pcCount "CNT" + #Define pcNextNode "NN" + #Define pcPrevNode "PN" + #Define pcLastNodeAdded "LN" + #Define Ground "GND" \ No newline at end of file Index: csp/tbx/testrequest.cls.xml =================================================================== diff -u --- csp/tbx/testrequest.cls.xml (revision 0) +++ csp/tbx/testrequest.cls.xml (revision 2) @@ -0,0 +1,300 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +KLNr +cache +%String + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,(..HyperEventBody()) + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Do ..Include("Header.csp") + Write !,$c(9,9,9)_"
    " + Write "" + Write "
    ",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    TEST PAGINA

    ",! + Write $c(9,9,9,9)_"

    KlantNr: "_($G(KLNr))_"

    ",! + Write $c(9,9,9,9)_"

     

    ",! + Write $c(9,9,9,9)_"

    Klik de testbutton om na te gaan of de functie ""XMLHTTPRequest"" werkt.
    ",! + Write $c(9,9,9,9)_"Deze functie is noodzakelijk voor de werking van de TandemBox-website.

    ",! + Write $c(9,9,9,9)_"

     

    ",! + Write $c(9,9,9,9)_"

    " + Write "" + Write "" + Write "Test Button" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9,9)_"

     

    ",! + Write $c(9,9,9,9)_"

    Result: " + Write "" + Write "

    ",! + Write $c(9,9,9,9)_"

     

    ",! + Write $c(9,9,9,9)_"

    In het vakje hierboven moet een willekeurig getal tussen 1 en 100 verschijnen, telkens op de ""Test Button"" geklikt wordt.
    ",! + Write $c(9,9,9,9)_"Als dit het geval is, dan zou de volledige ingave+berekening van TandemBox producten ook moeten werken.

    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"  " + Write "" + Write "<< BACK" + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write !,"
    ",! + Write " ",! + Write "
    ",! + Write !,"" + Write !,$c(9,9,9)_"
    ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_""_($S(blnVHEPN:"Van Hoecke - ",1:"")_"TandemBox - Test REQUEST")_"",! + Write $c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,(..HyperEventHead()) + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..Include("PRGACNTs.INC") + Write !,!,!,!,!,!,!,! + Set %session.AppTimeout = 905 + // Set %session.BrokerImplementation=1 ; 1: JavaVM - 2: XmlHttp + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set blnVHEPN=(sDomVERW="VHEPN") + Set blnHEIN=(sDomVERW="HEIN") + Set blnLMC=(sDomVERW="LMC") + Set blnDUPO=(sDomVERW="DUPO") + Set blnHELMY=(sDomVERW="HELMY") + Set blnSFS=(sDomVERW="SFS") + Set blnMBHO=(sDomVERW="MBHO") + Set VERW="VHEPN" + Set KLNr=$$SesDataFromRq^cspBasis.Library("KLNR",,"") + Set wsID="" + Set sMode="HYPER" + Set Taal="N" + Set lbExtras=$LB("UseXMLHTTP="_##class(%CSP.UserAgent).XMLHttpRequest(%request.UserAgent))_$LB("WebBrowser="_%request.UserAgent) + Do ##class(cspBasis.GAProdTBox).AddToLog("TESTPAGE",sDomain,KLNr,sMode,wsID,VERW,Taal,"",lbExtras) + Quit 1 + +]]> + + + +iso-8859-1 + + + +text/html + + + +c:\cachesys\csp\vhisie\TBX\TestRequest.csp + + + +/vhisie/TBX/TestRequest.csp + + + +1 + + + +62215,44262 + + + +0 + +
    +
    Index: Res/PI/Definitie.cls.xml =================================================================== diff -u --- Res/PI/Definitie.cls.xml (revision 0) +++ Res/PI/Definitie.cls.xml (revision 2) @@ -0,0 +1,198 @@ + + + +persistent +%Library.Persistent + + +%TimeStamp + + + +%TimeStamp + + + +%String +1 + + + + +Naam vd Klasse +%String + + + + +Naam van de tabel die door programma's kan gebruikt worden om de tabel aan te duiden +%Library.String + + + +%String +1 + + + + + +Res.PI.Items +one +array +TabelID +1 + + + +%Boolean + + + + +Index voor property Groep +Groep + + + + +Uniekheid index voor property Naam +Naam +1 + + + + +Ophalen van het ID via de naam +1 +expression +Naam:%Library.String +%String + + + + + +Ophalen van alle items in cache + + + + + +Opslaan van de objecten. Als default worden alleen de gewijzigde objecten opgeslagen (%this.%IsModified), als ModOnly=False is worden alle objecten opgeslagen. +ModOnly:%Integer=1 + + + + + +Ophalen v.d. verschillende groepen +%SQLQuery +() +SELECT DISTINCT Groep +FROM Res_PI.Definitie +ORDER BY Groep + + + + + + + +Ophalen v.d. verschillende Tabellen behorend tot één groep +%SQLQuery +(Groep:%String) +SELECT ID, Omschrijving, KlasseNaam, DatumWijziging, TaalAfhankelijk +FROM Res_PI.Definitie +WHERE (Groep = :Groep) +ORDER BY Omschrijving + + + + + + + +Ophalen van het object met ID = :TabelID +%SQLQuery +(TabelID:%Integer) +SELECT KlasseNaam, Omschrijving, TaalAfhankelijk, Groep +FROM Res_PI.Definitie +WHERE (ID = :TabelID) + + + + + + + +Ophalen van het object met Naam=:naam +%SQLQuery +(Naam:%Integer) +SELECT ID +FROM Res_PI.Definitie +WHERE (Naam = :Naam) + + + + + + +%Library.CacheStorage +^ResooDefinitieD +DefinitieDefaultData +^ResooDefinitieD +^ResooDefinitieI +^Res.PI.DefinitieS + +%%CLASSNAME +node +0 + + + +DatumCreatie + + +DatumWijziging + + +Groep + + +KlasseNaam + + +Naam + + +Omschrijving + + +TaalAfhankelijk + + + + + Index: _vhisie/TBX/ShowCookie.csp =================================================================== diff -u --- _vhisie/TBX/ShowCookie.csp (revision 0) +++ _vhisie/TBX/ShowCookie.csp (revision 2) @@ -0,0 +1,26 @@ + + + + +ShowCookie + + + + + + +Password from Cookie for HEIN : #(PSW)#
    +Password from Cookie for VHEPN: #(PSW2)#
    +
    +To WSOrder VHEPN + + + + + Index: Prod/GADef/BT/ProductieWijze.cls.xml =================================================================== diff -u --- Prod/GADef/BT/ProductieWijze.cls.xml (revision 0) +++ Prod/GADef/BT/ProductieWijze.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + + +Mogelijke wijzes voor productie van Kaderdeuren (Prod.GADef.KD) +persistent +%Library.Persistent,Res.PI.Abstract + + +0 +1 +1 +ItemID +1 + + + + +Ophalen van alle items van deze tabel +%Library.SQLQuery + +0 +SELECT ID, ItemID, Omschrijving, VolgNr +FROM Prod_GADef_BT.ProductieWijze +ORDER BY VolgNr + +0 + + + + + +%Library.CacheStorage +^Res.PI.Items("PRWD") +ProductieWijzeDefaultData +^Res.PI.Items("PRWD") +^Res.PI.Items("PRWI") +^Prod.GAD.ProductieWijzeS + +%%CLASSNAME +node +0 + + +listnode + +Omschrijving + + +VolgNr + + + +TaalOms +subnode +"TaalOms" + + + + Index: WS/TBX/EM/OrderLijn.cls.xml =================================================================== diff -u --- WS/TBX/EM/OrderLijn.cls.xml (revision 0) +++ WS/TBX/EM/OrderLijn.cls.xml (revision 2) @@ -0,0 +1,574 @@ + + + +serial +vhLib.Macro +1 +%SerialObject,%XML.Adaptor +0 + + + +Algemene data per lijn +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +KleurKeuze: +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Maten e.a. specifieke input data: +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Xml-tag was vroeger "ALG_FBEVEST", nu is FB per lijn en niet meer algemeen in het order. +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Standaard Lade. Waarde: $$$tbxCodeStdLade = "Std" is gedefinieerd in %VHMacro.INC +%String + + + + + +ORGALUX Product (PRNr) +%String + + + + + +Info Diverse, is een array van ListItem objecten, wordt berekend in blTBox. +Geeft een opsomming van verschillende properties (XML:te tonen in één kolom) +WS.TBX.EM.ListItem +1 +list + + + + + + +Berekende properties voor Proxy-klasse. +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + + +Toevoegsel (in EUR) aan de berekende prijs. Afhankelijk van de array-Key:
    +FB-S : 1.07
    +FB-I : 1.84
    +FB-A : N/A (Not applicable: mag dus niet in selectie/lijst getoond worden)
    +FB-Z : 0
    ]]>
    +%String +array + +
    + + +WS.TBX.EM.ActieGegevens +array + + + + + + +METHODS +======= + +0 +%ArrayOfDataTypes + + + + + +Return $LB() van de values van ItemDIV. +0 +%List +W")) + Quit LB +]]> + + + + +Voegt de Actie toe aan de lijst. +ActieCode is de key, mag niet leeg zijn +Korting vult de korting in. +ActieCode:%String,Korting:%String + + + + + +Geeft een Iterator die loopt over de ActieItems van deze TBXLijn. Dit zijn objecten van het type "ActieGegevens" (=WS.TBX.EM.ActieGegevens) +TECH.Iterator + + + + + + + + +ActieCode + + + + +ActieCode +WS.TBX.EM.ActieGegevens + + + + +%Float + + + + +Taal:%String +%ListOfDataTypes + + + + + +Creëert een arDataRow Array van het huidige WSLijn-object (arDataRow als .local doorgeven) +Output arDataRow-structuur: + arDataRow(...) + arDataRow("KLR",...) +arDataRow:%String +0 + + For Key="KL","KB","RK","KX","KV","DS" Do + . Set arDataRow("KLR",Key)=$zobjproperty(%this,"Item"_Key) + . ;Set arDataRow("KLR",Key)=..Item + Set arDataRow("DIV")=..ItemDIVToLB() ; Returns $LB() + Quit +]]> + + + + +Vult de data (array) in het WSLijn-object in. +Input arDataRow-structuur: + arDataRow(...) + arDataRow("KLR",...) +arDataRow:%String +0 +=$G(arData("LN",i,Key)) + For Key="KL","KB","RK","KX","KV","DS" Do + . Set $zobjproperty(WSLn,"Item"_Key)=$G(arDataRow("KLR",Key)) + . ;Set WSLn.Item=$G(arDataRow("KLR",Key)) + Set:(WSLn.ItemBM="I")&&(WSLn.ItemDK=80) WSLn.ItemBM="LR" + ;Set WSLn.ItemDIV=$G(arDataRow("DIV")) // ListOfObjects, ReadOnly : Calculated property !!! + Quit +]]> + + + + +Vult de data (array) in het WSLijn-object in. +Input arDataRow-structuur: zie method "..FillFromArray()" +1 +arDataRow:%String +0 +WS.TBX.EM.OrderLijn +1 + + Quit:('$$$aHasSubNodes(arDataRow)) "" + Set WSLn=##class(WS.TBX.EM.OrderLijn).%New() + Do WSLn.FillFromArray(.arDataRow) + Quit WSLn +]]> + + + +%Library.CacheSerialState +OrderLijnState +^WS.TBX.E.OrderLijnS + +"WS.TBX.EM.OrderLijn" + +Exclude + + +GAMeta + + +ItemBM + + +ItemBX + + +ItemCB + + +ItemDK + + +ItemDS + + +ItemLD + + +ItemLT + + +ItemOPVL + + +ItemSB + + +ItemWD + + +KostPrijs + + +LijnNr + + +Qty + + +ItemFB + + +ItemKB + + +ItemKL + + +ItemKX + + +ItemRK + + +ItemSTDL + + +AddPrs + + +ItemVPK + + +ItemSPZK + + +ItemDIV + + +ItemOLP + + +ItemASM + + +ItemBGRP + + +AKPrijs + + +ItemKV + + +KlantRef + + +ItemDWV + + +ItemFS + + +ActieKorting + + +ActieItems + + + +
    +
    Index: Derde/KlachtRef.cls.xml =================================================================== diff -u --- Derde/KlachtRef.cls.xml (revision 0) +++ Derde/KlachtRef.cls.xml (revision 2) @@ -0,0 +1,15 @@ + + + + +Referenties naar documenten (order, leveringsbon, faktuur, toelevering,...) van uit een klacht +serial + +%Library.SerialObject + + +%Library.CacheSerialState +^Derde.KlachtRefS + + + Index: Prod/GAData/Item/tmpDev2.mac.rou =================================================================== diff -u --- Prod/GAData/Item/tmpDev2.mac.rou (revision 0) +++ Prod/GAData/Item/tmpDev2.mac.rou (revision 2) @@ -0,0 +1,138 @@ +XMLWrite ; Parameters: DevObj,Taal,Opties,XSLURL +#define HTML(%v) $ZCVT(%v,"O","HTML") +#define Attrib(%n,%v) $$PARAMFILL^XMLWRITE(%n,$$$HTML(%v)) + + Quit:(..MetaItem.Code="KST") + Do BEGINTAG^XMLWRITE(DevObj,"ITEM",$$$Attrib("ID",..Code), + $S($G(Opties)["GAO":$$$Attrib("OMS",..Get("Oms")),1:""), + $$$Attrib("Label",..Label), + $$$Attrib("SubGroep",..SubGroepCode), + $$$Attrib("Meta",..MetaItem.Code)) + Do WRITELN^XMLWRITE(DevObj) + Do ..MetaItem.XMLWrite(%this,DevObj,Taal,.Opties,Key) + Do ENDTAG^XMLWRITE(DevObj,"ITEM",1) + Quit + + + +CalcKost() ; Parameters: (geen) + New KPKost,Key,KPlaatsID,KP + Set KPlaatsID=..Get("KostPlaats") + Set KP=##class(Prod.GAMeta.BT.KostPlaats).%OpenId(KPlaatsID) + Set KPKost=$S(KP:KP.Kost(), 1:0) + Do:(KP) KP.%Close() + Quit $J((KPKost*..Get("TijdKost")/3600)+..CalcMat(),0,4) + +CalcMat() ; Parameters: (geen) + Quit ..KostLoop("M") + +CalcTijd() ; Parameters: (geen) + Quit ..KostLoop("T") + +CalcTijdMulti() ; Parameters: (geen) + ; Berekent de TijdWerk en de TijdKost geeft dit terug als $LB(TijdWerk,TijdKost) + ; Alleen bij Staffel>1 kan er verschil optreden tussen beide waarden : zie method emKost.StaffelCorr() + Quit ..KostLoop("T2") + +KostLoop() ; Parameters: KostType +#define NumWithZeros(%v) $TR($J(%v,3)," ","0") +#define KDelim "-" + New Som1,Som2,Self,Meta,Staffel,ChildID,Templ,TPDItem,KostArray,emKost,Key,blnTijdKost,SubKost,lbIDs,i + Set (Som1,Som2)=0 + Set Self=%this + Set Meta=..MetaItem + Set Staffel=Self.Val("Staffel") + Set:('Staffel) Staffel=1 + ; Nieuwe prijzen : "prijslijst klanten" bestaat niet meer ==> in commentaar gezet op 22/10/04 door WimV. + ;Set:(('..Product.Klant) || (..Product.Klant.Prijsklasse="P")) Staffel=1 ; Voor prijslijst klanten mag de productiestaffel niet toegekend worden + Set ChildID=..Code + Set Templ=..Product.TemplateTmp + Set TPDItem=Templ.Product.DataItemsGetChildAt(ChildID) + Set KostArray=$S(KostType="M":TPDItem.KostMat,1:TPDItem.KostTijd) ; MatKost of TijdKost - array of objects + Set blnTijdKost=(KostType="T2") + If (..Autos.IsDefined("LoopList")) Do + . Set %KostType=KostType + . Set lbIDs=..EvalTemplAuto("LoopList") ; lbIDs=1 --> std kost; lbIDs="" --> geen kostcalc ! + . Kill %KostType + If ($G(lbIDs,1)=1)||('$$IsList^vhLib(lbIDs)) Do + . Do kstLoopParams($$$KDelim_ChildID) + . Set lbIDs="" + For i=1:1:$LL(lbIDs) Do:($LD(lbIDs,i)) + . Set %LoopKey=$LI(lbIDs,i) + . Do kstLoopParams($$$KDelim_ChildID_"#"_i_$S(%LoopKey="":"", 1:$$$KDelim_%LoopKey)) + Kill %LoopKey + Quit $S(blnTijdKost:$LB($J(Som1,0,2),$J(Som2,0,2)), 1:$J(Som1,0,2)) +kstLoopParams(LoopKey) + ; Looping door de kosttijd/mat elementen + Set Key="" + For Set emKost=KostArray.GetNext(.Key) Quit:Key="" Do + . Quit:(+emKost.StaffelMin>Staffel) ; Min is ingevuld en Staffel is kleiner dan Min + . Quit:(emKost.StaffelMax)&&(emKost.StaffelMax'>Staffel) ; Max is ingevuld en Staffel is groter dan Max + . Set %KeyKDtl=Key_$G(LoopKey) + . ;d:(LoopKey["#") WL^vhDBG("%KeyKDtl : "_%KeyKDtl) + . Set SubKost=emKost.Calc(Staffel) + . Set Som1=Som1+SubKost + . Set:(blnTijdKost) Som2=Som2+emKost.StaffelCorr(SubKost,Staffel) + Kill %KeyKDtl + Quit + + + ; opgeroepen via Prod.GAMeta.EM.KostTijd +StaffelCorr() ; Param : Waarde,Staffel + Quit Waarde*1 + ; Indien Staffel=10 dan niet ineens delen door 10 maar wel door 5 + //Set:(Staffel=10)&(%this.Variabelen["Staffel") TijdKost=TijdKost*2 + + ; opgeroepen via Prod.GAMeta.EM.KostTijd +CalcOne() ; Parameters: Staffel,BldDtl + New Multi,Reductie,Tijd,TijdKost,Mat,TijdViaMin,MatViaMin,MatBasis2,MatMultiplicant2,MatMin2,Waarde,WaardeViaMin + Set Multi=$J($$caoEvalExec(..Multiplicant),0,4) + Set Reductie=$J($$caoEvalExec(..Reductie),0,4) + Set Waarde=(Multi*..AParam)+..BParam + Set:(Waarde) Waarde=$S(Waarde>..Min:Waarde,1:..Min) + Set WaardeViaMin=(Waarde=..Min) + Set Waarde=Waarde*Reductie ; Reductie in rekening brengen ... + Set:($L(%KeyKDtl)) arKDtl(%KeyKDtl)=$LB(Waarde,Multi,Reductie) ; Debug voor de waarden van het KostDtl-object + ;Do caoBuildKostDtls ; Oude methode voor Debug-info + Quit Waarde +caoEvalExec(sExec) + Quit:($L(sExec,"`")=1) sExec + New RetVal + Do EXEC^vhRES($P(sExec,"`",1),$P(sExec,"`",2),"RetVal",,"caoTRAP^"_$ZN) ; RetVal wordt teruggekregen + Quit RetVal +caoTRAP + New msg + Set msg="EXECUTE FOUT: "_sTyp_"`"_sExecTxt_"`"_$G(sParList) + Do WLFMT^vhDBG(msg,"A") + Do WLFMT^vhDBG("Bij .EM.KostTijd-object, oms="_..Omschrijving,"A") + Do:($D(MApplication)) MApplication.MessageBox(msg) ; Foutmelding voor Makova + Set RetVal="" ; 0.001 + Quit 1 ; Doorgeven errormelding + /* +caoBuildKostDtls + If 0, Mat!Tijd,CalcObj Do + .Set CalcDtlObj=##class(Prod.GADef.emKadPrijsDtl).%New() + .Set CalcDtlObj.Groep=%this.KostGroep + .Set CalcDtlObj.KostCode=%this.ItemID ; voor array elementen ==> element_key + .Set CalcDtlObj.KostPlaats=%this.KostPlaats + .Set CalcDtlObj.SortNr=%this.Sort + .Set CalcDtlObj.Multiplicant=Multi + .Set CalcDtlObj.Reductor=Reductie + .Set CalcDtlObj.Tijd=$J(Reductie*Tijd,0,0) + .Set CalcDtlObj.TijdKost=TijdKost + .Set CalcDtlObj.TijdViaMin=TijdViaMin + .Set CalcDtlObj.Variabelen=$$EVALVAR(%this.Variabelen) + .Set VolgNr=VolgNr+1 + .Do CalcObj.Details.SetAt(CalcDtlObj,VolgNr) + .Do CalcDtlObj.%Close() + Quit +EVALVAR(Vars) + New Result,I,Var,Val + Set Result="" + For I=1:1:$L(Vars,";") Do + .Set Var=$P(Vars,";",I) + .Quit:'$L(Var) + .X "Set Val=$G("_Var_",""???"")" + .Set Result=Result_"; "_Var_"="_Val + Quit $E(Result,3,999) + */ \ No newline at end of file Index: WS/TBX/SFS/OrderServiceInternal.cls.xml =================================================================== diff -u --- WS/TBX/SFS/OrderServiceInternal.cls.xml (revision 0) +++ WS/TBX/SFS/OrderServiceInternal.cls.xml (revision 2) @@ -0,0 +1,87 @@ + + + + +Web service for SFS to confirm orders +This is the internal version, called by our proxy running in the DMZ +vhLib.Macro +1 +%SOAP.WebService +0 + + + +Name of the WebService. +OrderServiceInternal + + + + +URL for invoking the WebService. +http://iserv.vanhoecke.be/csp/hadev + + + +http://iserv.vanhoecke.be/csp/hadev + + + +http://cache02/csp/admin1 + + + + +SOAP Namespace for the WebService +http://www.vanhoecke.be/SFS + + + +1 +SecureKey:%String,EDInr:%Integer,sfsref:%String,sfsDeliveryDate:%String +ConfirmOrderResult +1 + zoniet fout genereren. + ;If wsOrd.KLNummer '= "55946" Do Do ..ReturnFault(##class(WS.WSServerFault).%New("Test customer not valid", ..#SERVICENAME, "CO")) + ;. Do oLogger.ErrorMail("CHK_CUST_wsORD","Customer "_wsOrd.KLNummer_" not valid") + + set sfsref = $get(sfsref) + If $piece(wsOrd.Opmerking1,$$$CRLF) '= sfsref Do + . Set wsOrd.Opmerking1 = $get(sfsref)_ $$$CRLF _wsOrd.Opmerking1 + + Set wsOrd.LeverTijd = $g(sfsDeliveryDate) + + Do oLogger.Info("SFS_ORDER","EDINr: "_EDInr_" sfsref : "_sfsref _ " Levertijd : "_$g(sfsDeliveryDate)) + + Set scSaved = wsOrd.%Save() + If 'scSaved Do Do ..ReturnFault(##class(WS.WSServerFault).%New("Order not saved", ..#SERVICENAME, "CO")) + . Do oLogger.Error("SAVE_wsORD","EDInr: "_EDInr_" not saved : "_$$ParseStatus^vhLib.System(scSaved)) + + + Set scOrdered = ##class(APPS.TBXWeb.OrderHandling).Order(wsID,"VHEPN","SFS") + If 'scOrdered Do Do ..ReturnFault(##class(WS.WSServerFault).%New("Order not confirmed", ..#SERVICENAME, "CO")) + . Do oLogger.Error("wsORD_ORDER","Order not confirmed : "_$$ParseStatus^vhLib.System(scOrdered)) + + Do oLogger.Info("wsORD_ORDER","Order "_EDInr_" ordered") + + // Return EDI number for testing purposes + Quit ##class(ConfirmOrderResult).%New(EDInr,3) + //Quit ##class(ConfirmOrderResult).%New(EDInr,$$ProductieDagen^FLOWHALUX()) +]]> + + + Index: APPS/TBXWeb/OrderChecker.cls.xml =================================================================== diff -u --- APPS/TBXWeb/OrderChecker.cls.xml (revision 0) +++ APPS/TBXWeb/OrderChecker.cls.xml (revision 2) @@ -0,0 +1,221 @@ + + + +vhLib.Macro,TECH.Error +1 +%RegisteredObject +0 + + + +Maximum aantal werkdagen dat een order niet verwerkt mag zijn. +M.a.w. indien groter dan MaxWerkdagenNietVerwerkt en nog niet geïmporteerd, dan vermelden in de mail. +1 + + + + +Oproepen via + Set sc=##class(APPS.TBXWeb.OrderChecker).MailNietVerwerkteOrdersTEST() w sc,! +1 +%Status + + + + +%Status + + + + + +TabelArray als .local doorgeven +TabelArray:%String +1 +%Status + + + + + +TabelArray als .local doorgeven + +1 +..#MaxDagenNietVerwerkt { + Set TabelArray($Increment(cntRows))=$$LCVTSimple^vhLib( $LB(TBXOrder.OrderNrGet(), TBXOrder.KLNummer, TBXOrder.KLNaam, " " , DagenNietVerwerkt, $$FormatDateTime^vhLib("dd-mm-yyyy hh:nn:ss",SubmitTS), "", TBXOrder.WebDomain) ,$$$TAB) + } + ;Write ID_" SubmittedOn "_$$FormatDateTime^vhLib("dd-mm-yyyy hh:nn:ss",SubmitTS)_" "_TBXOrder.WebDomain_" "_$S(DagenNietVerwerkt>..#MaxDagenNietVerwerkt:" DagenNietVerwerkt : "_DagenNietVerwerkt, 1:"")_$$$CRLF + } + + If cntRows>0 { + Set TabelArray(0)=$$LCVTSimple^vhLib( $LB("EDI nr.", "KlantNr", "KlantNaam", " ", "#Dagen", "Verzonden op", " ", "Domein"), $$$TAB) + } + Quit +]]> + + + +SubmittedDatum:%String,RefDatum:%String=$H +1 +%Integer + + + + +1 +%ListOfDataTypes + '2011-01-01') + AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) + ORDER BY SubmitTS, ID + + +SELECT SubmitTS, ID, BonType, TransferLog, $LIST($LIST(TransferLog,1),2) AS OffID, KLNummer, KLNaam, WebDomain + FROM WS_TBX.WebOrder + WHERE (WebDomain <> 'www.tandem-box.com') AND (NOT BonType in ('BBON','OFF')) + AND (SubmitTS > '2011-01-01') + AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) + ORDER BY WebDomain, SubmitTS, ID + + */ + + Set lbSQLParams = "" + Set SQLQuery = "SELECT ID FROM WS_TBX.WebOrder WHERE (WebDomain = 'www.tandem-box.com') AND (NOT BonType in ('OFF','OFFAV')) AND (SubmitTS > '2011-01-01') AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) ORDER BY SubmitTS, ID" + Set Lijst=..GeefLijstOrderIDs(SQLQuery,lbSQLParams) + + Set SQLQuery = "SELECT ID FROM WS_TBX.WebOrder WHERE (WebDomain <> 'www.tandem-box.com') AND (NOT BonType in ('BBON','OFF')) AND (SubmitTS > '2011-01-01') AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) ORDER BY WebDomain, SubmitTS, ID" + Set Lijst2=..GeefLijstOrderIDs(SQLQuery,lbSQLParams) + + Set Lijst=##Class(TECH.ListUtils).CopyList(Lijst2,Lijst) + + Quit Lijst +]]> + + + + +De SQLQuery moet een veld met naam "ID" in de SELECT statement bevatten +SQLQuery:%String,lbSQLParams:%List +1 +%ListOfDataTypes + + + + + Eenmalig uitgevoerd op 25/05/2011 op WWW01 - HADEV + +Oproepen via + Set sc=##class(APPS.TBXWeb.OrderChecker).FixSFSSubmitToVH() w sc,! ]]> +1 +%Status + + + + Index: WS/TBX/DataIOWWW.cls.xml =================================================================== diff -u --- WS/TBX/DataIOWWW.cls.xml (revision 0) +++ WS/TBX/DataIOWWW.cls.xml (revision 2) @@ -0,0 +1,153 @@ + + + + +Web Service voor Import/Export van data +Class WS.TBX.DataIOWWW Extends %VHSys.SOAP.WebService [ ProcedureBlock ] +%VHMacro,BL.EC.Common +1 +%SOAP.WebService +0 + + + +Name of the WebService. +TBX.DataIOWWW + + + + +This is the URL used to access the web service. + Location on CacheWWW/hadev : "http://iserv.vanhoecke.be/csp/hadev"; + Location on CacheWWW/demo : "http://iserv.vanhoecke.be/csp/demo"; +http://iserv.vanhoecke.be/csp/hadev + + + + +TODO: change this to actual SOAP namespace. +SOAP Namespace for the WebService +http://tempuri.org + + + + +WSOrdToWWW stuurt een WS.TBX.Order object naar de server. +Deze bewaart het order, zodat het later kan geopend worden via de TBoxWeb applicatie. +Geeft als resultaat terug : $LB(wsID, KLNr, qsREF, FullUrl, Taal, sc) +1 +WSOrd:WS.TBX.Order,SecureKey:%String,Opties:%String +%List +1 + + + + + +Opvragen van het WS.TBX.Order object van de WWW-server. +Geeft als resultaat terug : WS.TBX.Order object of "" +1 +WSOrderID:%String,SecureKey:%String +WS.TBX.Order +1 + + + + + +Aanpassen van een property-waarde van het WS.TBX.Order object op de WWW-server. +Geeft als resultaat terug : status "" (succes) of ErrorMsg +1 +WSOrderID:%String,SecureKey:%String,ProptName:%String,ProptValue:%String +%String +1 + + + + + +Verwijderen van het WS.TBX.Order object op de WWW-server. +Geeft als resultaat terug : status "" (succes) of ErrorMsg +1 +WSOrderID:%String,SecureKey:%String +%String +1 + + + + + +PeekServer +1 +%String +1 + + + + + +Controleren of de WebMethod toegelaten is. +Anders kan iedereen op het WWW deze SOAP-methods uitvoeren. DANGER !!! +1 +SecureKey:%String +1 +%Boolean + + + + +1 +lbArgs:%List +%String + + + + Index: _vhisie/TBX/SelectVulstukKleur.csp =================================================================== diff -u --- _vhisie/TBX/SelectVulstukKleur.csp (revision 0) +++ _vhisie/TBX/SelectVulstukKleur.csp (revision 2) @@ -0,0 +1,251 @@ + + + + + + + + + + TANDEMBOX intivo - #(..WebTextValue("VS_VulstukKleur",Taal,"L"))# + + + + + + + + + + +

    +  #("TANDEMBOX intivo - "_..WebTextValue("VS_VulstukKleur",Taal,"L"))#  +

    + + + + + + + + + + + + +
    +
    +
    +
    +
    #($S(KV="ZV":..WebTextValue("VSMat_ZV",Taal,"L",$LB("U")),1:..WebTextValue("VSMat_"_$G(VSM,DisplayVSM),Taal,"L",$LB("U"))_" : "_..WebTextValue("KLV_"_KV,Taal,"L",)))#
    +
    +
    +
    + #(..WebTextValue("VS_Info",Taal,"L"))# +
    +
    + + + + + + + + + + + +
    #(..WebTextValue("VSMat_"_$LG(lbVSMat,ctrVSMat),Taal,"L",$LB("U")))#
    +
    +
    + + + +
    +
    + + + +
    + + + + + +
    #(..WebTextValue("KLV_"_idVSKleur,Taal,"L"))#
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + #("OK"_..WebTextValue("",Taal,"L"))#   #(..WebTextValue("Annuleren",Taal,"L"))# +
    + + + + + + + + Index: _vhisie/TBX/TBox WebOrder HELMY_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder HELMY_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder HELMY_N.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Destil - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    (BTW)  
    STRAAT/NR:
     
    POSTCODE:
     
    GEMEENTE:
     
    TELEFOON:
     
    FAX:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr 0031-492 509 229
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    Totaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKLEURKEUZE : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEM+RUG:

    RELINGEN:

    BOXSIDE:

    VULLING/GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breedte

    +

    WD

    +

    Diepte

    +

    Gew

    +

    FB *

    +

    Box

    +

    Diverse

    +

    Aant

    + +

    Ink. Prijs/stPrijs/st Info

    + +
    + + + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

    * Box : Verhoogde zijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + Boxcover zonder vulling + (Code ) + + + +
    Index: DW/WWW/SysLogTBX.cls.xml =================================================================== diff -u --- DW/WWW/SysLogTBX.cls.xml (revision 0) +++ DW/WWW/SysLogTBX.cls.xml (revision 2) @@ -0,0 +1,347 @@ + + + + +Logging van www.tandem-box.com en tbx.tandem-box.de +persistent +APPS.TBXWeb +1 +%Persistent +0 + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Csp Session ID +%String + + + + +Domain (converted) +%String + + + + +KlantNr +%String + + + + +User Action +%String + + + + +Entry Mode for the Wizard +%String + + + + +WSOrderID +%String + + + + +BonType : OFFERTE / BESTELBON / INKOOPORDER +%String + + + + +Combinatie van de waarden TotAantal en TotPrijs van het WSOrder ("\"-delimited) +%String + + + + +Verwerker +%String + + + + +VHISIE user: als gebruiker ingelogd is via VHISIE +%String + + + + +Actieve Taal +%String + + + + +Actieve Taal +%List + + + + +Domain (converted) +%String +1 + Set {*}=##class(DW.WWW.SysLogTBX).DomeinKortTrans({Domein}) +1 + + + +bitmap +KlantNr + + + +WSOrderID + + + +LogTime + + + +bitmap +Actie + + + +%String + + + + +1 +Domein:%String +%String + + + + + +Oude methode om een WSOrder in de historiek van een klant zichtbaar te maken. +Nieuwe methode maakt gebruik van de property ShowInHist van WS.TBX.Order + +Oproepen via + sc=##class(DW.WWW.SysLogTBX).ChangeClientIP(LogID,"192.168.200.97",) w sc,! +1 +SysLogID:%String,NewIP:%String,blnSave:%Boolean=0 +%Status + + + + +%Library.CacheStorage +^DW.WWW.SysLogTBXD +SysLogTBXDefaultData +^DW.WWW.SysLogTBXD +^DW.WWW.SysLogTBXI +^DW.WWW.SysLogTBXS + +listnode + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + +CspSessionID + + +Domein + + +KlantNr + + +Actie + + +WizardMode + + +WSOrderID + + +WSBonType + + +WSTotals + + +Verwerker + + +VhisieLogin + + +Taal + + +Extras + + + + + Index: _vhisie/TBX/TBox WebOrder VH_E.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder VH_E.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder VH_E.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Van Hoecke - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI No.:  +
    NAME:
     
    (BTW)  
    STREET:
     
    POSTAL CODE:
     
    CITY:
     
    TELEPHONE:
     
    FAX:
     
    E-MAIL:
     
    DELIVERY:
     
    REFERENCE:
     
    + + + + + +
    + + + + +
    + + OFFER REQUEST + OFFER + ORDER + ORDER + Unknown: [] + +
    +
    +   +
    Send fax to (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standard drawer (from stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Don't deliver:

     

    Total:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + This offer is valid for 30 days, until +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : DrawersidesCOLORS : Components
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BOTTOM+BACK:

    BARS:

    BOXSIDE:

    FILLING/GLASS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # ERROR #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Width

    +

    CT

    +

    Depth

    +

    Wght

    +

    FF *

    +

    Box

    +

    Divers

    +

    Qty

    + +

    Ink. Prijs/stPrice/p. Info

    + +
    + + + + +

    * FF : Front fixation (Legend)

    +

    + + + + + + +
    +

    +
    + + + + + : + Screw version + INSERTA + EXPANDO + for aluminium front + drevel + none + (Code ) + + + + + + + + + +

    * Box : Raised sides (Legend)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Double bar + Simple bar + Without bar/raised sides + Double-sided BOXSIDE + Glass BOXSIDE + BOXCAP + BOXCOVER with ... + BOXCOVER without filling + (Code ) + + + +
    Index: Prod/Kenmerk/BT/RootDir.cls.xml =================================================================== diff -u --- Prod/Kenmerk/BT/RootDir.cls.xml (revision 0) +++ Prod/Kenmerk/BT/RootDir.cls.xml (revision 2) @@ -0,0 +1,149 @@ + + + + +Directory is het Absolute pad; "" (leeg) = relatief pad gebruiken.]]> +persistent +%Library.Persistent,Res.PI.Abstract +0 + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + + +1 +1 +ItemID,ToepasType,Computer,NameSpace +1 + + + +1 +DirCode:%Library.String,ToepasType:%Library.String,Computer:%Library.String,NameSpace:%Library.String +%Library.String + + + + +1 +DirCode:%Library.String,ToepasType:%Library.String,Computer:%Library.String,NameSpace:%Library.String +Prod.Kenmerk.BT.RootDir + + + + +1 +generator + +%Library.Status + + + + + +Geeft een lijst van de Distinct items +%Library.SQLQuery +SELECT DISTINCT ItemID + FROM Prod_Kenmerk_BT.RootDir + ORDER BY ItemID + + + + + +%Library.CacheStorage +^Res.PI.Items("RDIRD") +RootDirDefaultData +^Res.PI.Items("RDIRD") +^Res.PI.Items("RDIRI") +^Prod.Ken.RootDirS + +%%CLASSNAME +node +0 + + + +Directory + + +Omschrijving + + +VolgNr + + + +TaalOms +subnode +"TaalOms" + + + + Index: _vhisie/TBX/TestDataOptSFS.csp =================================================================== diff -u --- _vhisie/TBX/TestDataOptSFS.csp (revision 0) +++ _vhisie/TBX/TestDataOptSFS.csp (revision 2) @@ -0,0 +1,229 @@ + + + + + + + + + + + + + TEST DATAOPT SFS + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + +  #(..WebTextValue("MainBadCode",Taal,"O"))# + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       #(..WebTextValue("Taal",Taal,"L"))#: #(arSwitchTL("N")_" - "_arSwitchTL("F")_" - "_arSwitchTL("E")_" - "_arSwitchTL("D"))#
    Analyse QueryString:
    QueryString:
    DATAOPT:
     
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Decrypted values:  
    DATAOPT:
    #(..WebTextValue("Taal",Taal,"L"))#:
    Client Number: Client Name:
    Reduction: E-mail:
     
     
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Encrypted URL:   
    DATAOPT: +
    +   Check: #($G(DataOptCheck))# +
     
    Step 1:  +
    #($G(arStepsOPT(1)))#
    +
    Step 2:  +
    #($G(arStepsOPT(2)))#
    +
    --> Hex:  +
    #($G(arStepsOPT("2Hex")))#
    +
    Step 3:  +
    #($G(arStepsOPT(3)))#
    +
    Step 4:  +
    #($G(arStepsOPT(4)))#
    +
     
    +
    +
    +
    + +
    + + + + + \ No newline at end of file Index: TWebBrowserCNTs.inc.rou =================================================================== diff -u --- TWebBrowserCNTs.inc.rou (revision 0) +++ TWebBrowserCNTs.inc.rou (revision 2) @@ -0,0 +1,45 @@ + //-------------------------------------------------------------------------------- + //BrowserNavConstants Enumerated Type, used by TWebBrowser.Navigate(...,Flags,...) + //-------------------------------------------------------------------------------- + + ;Open the resource or file in a new window. + #Define navOpenInNewWindow 1 + + ;Do not add the resource or file to the history list. The new page replaces the current page in the list. + #Define navNoHistory 2 + + ;Not currently supported. + #Define navNoReadFromCache 4 + + ;Not currently supported. + #Define navNoWriteToCache 8 + + ;If the navigation fails, the autosearch functionality attempts to navigate common root domains + ;(.com, .edu, and so on). If this also fails, the URL is passed to a search engine. + #Define navAllowAutosearch 16 + + ;Causes the current Explorer Bar to navigate to the given item, if possible. + #Define navBrowserBar 32 + + ;If the navigation fails when a hyperlink is being followed, this constant specifies that the + ;resource should then be bound to the moniker using the BINDF_HYPERLINK flag. + #Define navHyperlink 64 + + + //-------------------------------------------------------------------------------- + //TargetFrameName + //-------------------------------------------------------------------------------- + + ;Load the link into a new unnamed window. + #Define tfnBlank "_BLANK" + + ;Load the link into the immediate parent of the document the link is in. + #Define tfnParent "_PARENT" + + ;Load the link into the same window the link was clicked in. + #Define tfnSelf "_SELF" + + ;Load the link into the full body of the current window. + #Define tfnTop "_TOP" + + ;User defined target frame also possible... \ No newline at end of file Index: APPS/TBXWeb/Actie.cls.xml =================================================================== diff -u --- APPS/TBXWeb/Actie.cls.xml (revision 0) +++ APPS/TBXWeb/Actie.cls.xml (revision 2) @@ -0,0 +1,170 @@ + + + +1 +persistent +1 +%Persistent +0 + + + +Is de ID van het object +%String +1 + + + + +Datum formaat = yyyy-mm-dd +%String +1 + + + + +Datum formaat = yyyy-mm-dd +%String +1 + + + +1 +1 +ActieCode +1 + + + +%String + + + + + +Datum in $H-formaat doorgeven. +Default implementatie kijkt of de datum binnen de actieperiode valt. +Kan eventueel in concrete acties nog geherdefiniëerd worden. +Datum:%String +%Boolean + + + + +1 +Shop:%String +%Boolean + + + + +1 +Klant:%String +%Boolean + + + + + +Bepaalt of de actie van toepassing is voor een TBXOrder +1 +TBXOrder:WS.TBX.Order +%Boolean + + + + + +Bepaalt of de actie van toepassing is voor een product en lijn +1 +TBXLijn:WS.TBX.EM.OrderLijn,GADataProduct:Prod.GAData.Product +%Boolean + + + + + +Geef de korting voor een product en lijn +1 +TBXLijn:WS.TBX.EM.OrderLijn,GADataProduct:Prod.GAData.Product +%Float + + + +Datum:%String,Shop:%String,Klant:%String +%Boolean + + + + + +Geeft een list van actieve Actie-objecten terug voor de gegeven specificaties +1 +Datum:%String,Shop:%String,Klant:%String +%ListOfObjects + + + + + +Datum in $H-formaat doorgeven +Datum:%String +1 +%Boolean +$ZDH(..DatumGeldigTot,3)) 0 + + Quit 1 +]]> + + + +%Library.CacheStorage +^APPS.TBXWeb.ActieD +ActieDefaultData +^APPS.TBXWeb.ActieD +^APPS.TBXWeb.ActieI +^APPS.TBXWeb.ActieS + + +%%CLASSNAME + + +DatumGeldigVan + + +DatumGeldigTot + + + + + Index: vhLib/Macro.inc.rou =================================================================== diff -u --- vhLib/Macro.inc.rou (revision 0) +++ vhLib/Macro.inc.rou (revision 2) @@ -0,0 +1,110 @@ + + // Koppeling tussen User en IP adres / IO-device = +#define IctUserFromIP(%ip) $$$IctUserFromIP4($P(%ip,".",4)) +#define IctUserFromIP4(%ip4) $Case(%ip4, 15:"pv", 27:"cw", 97:"wv", 127:"jbl", 138:"wro", 150:"pra", 191:"csc" , 195:"jcl", 204:"fma" , 205:"csc", :"") + +#define UserFromDevice(%v) $$$TextBetween(%v,"|TNT|","_") +#define IctUserFromDevice(%v) $Select($$$UserFromDevice(%v)?1(1"pv",1"cw",1"wv",1"jbl",1"wro",1"pra",1"jcl",1"fma",1"csc"):$$$UserFromDevice(%v), 1:"") + +#define IctSysOp "ICT_SysOp@vanhoecke.be" +#define IctMeldingen "ICT_Meldingen@vanhoecke.be" + + // Constants +#define CRLF $C(13,10) +#define TAB $C(9) +#define NUL $C(0) +#define D "\" +#define PI 3.141592 + + // Math +#define Min(%v1,%v2) $S(%v1<%v2:%v1, 1:%v2) +#define Max(%v1,%v2) $S(%v1>%v2:%v1, 1:%v2) +#define Not(%v) '(%v) +#define ValIsBetween(%v,%min,%max) ((%v'<(%min))&&(%v'>(%max))) + +#define true 1 +#define True 1 +#define false 0 +#define False 0 + +#define Timestamp(%timearg) $zdatetime(%timearg,3,,6) + + // Cache Objects ($$$METH... --> zie %occReference2.INC) +#define Server $ZU(110) +#define NSpace $ZU(5) +#define IsClassMethod(%cls,%mth) $$$METHclassmethod($$$MGINFO,%cls,%mth) +#define IsWebMethod(%cls,%mth) $$$METHwebmethod($$$MGINFO,%cls,%mth) +#define MethodID(%cls,%mth) $$$METHid($$$MGINFO,%cls,%mth) +#define IsMethod(%cls,%mth) ($$$MethodID(%cls,%mth)>0) + + // String +#define Strip(%v) $ZSTRIP(%v,"<>CW") +#define Trim(%v) $ZSTRIP(%v,"<>W") +#define DePunc(%v) $TR($G(%v),",?;.:/=+-_&|'(!)~{}[]^`%$=<>""","") +#define DeSpace(%v) $translate(%v," ","") +#define UCase(%v) $ZCVT(%v,"U") +#define LCase(%v) $ZCVT(%v,"L") + // FCase: First character UpperCase, rest is unchanged +#define FCase(%v) $ZCVT($E(%v,1),"U")_$E(%v,2,$L(%v)) +#define Right(%v,%n) $E(%v,$L(%v)-%n+1,999) +#define RightN(%v,%n) $E(%v,$L(%v)-%n+1,999) +#define Right1(%v) $E(%v,$L(%v)) +#define LastPiece(%v,%d) $P(%v, %d, $L(%v,%d)) +#define TextBetween(%v,%f,%t) $P($P(%v,%f,2),%t,1) +#define Replace(%v,%f,%t) $$Replace^vhLib.String(%v,%f,%t) + // PieceFind: analoog aan $Find(String,SubString) en $ListFind(), maar nu ook de Delimiter opgeven +#define PieceFind(%s,%ss,%d) $L($P(%s,%ss),%d) + // StartsWith and StartsWithVar : als de tweede parameter (%ss) een variabele is, gebruik $$$StartsWithVar(), voor vaste tekst als zoekstring: gebruik $$$StartsWith() . +#define StartsWith(%s,%ss) (%s?1%ss.E) +#define StartsWithVar(%s,%ss) (($P(%s,%ss,1)="")&&($L(%s))) +#define Contains(%s,%ss) ($F(%s,%ss)>0) + + + //Excel format +#define ExcelNum(%v) $$ExcelNum^vhLib(%v) +#define ExcelDat(%v) $$EXTDATE^vhDTyp(%v,"DK") +#define ExcelDateAsNum(%v) %v-21548 + + // Arrays +#define aHasData(%v) $D(%v)#10 +#define aHasSubNodes(%v) $D(%v)>1 +#def1arg ArrayTT(%r) $C(13,10)_$$ArrayToText^vhLib(%r) +#define MDToText(%o,%p) $C(13,10)_$$ArrayToText^vhLib(%p,%o,%p) + + // ListBuilds +#define LCVT(%v) $$LCVT^vhLib(%v) +#define IsList(%v) $$IsList^vhLib(%v) +#define LBDeleteAt(%lb,%i) $LI(%lb,1,%i-1)_$LI(%lb,%i+1,-1) +#define DoLBDeleteAt(%lb,%i) Set $LI(%lb,%i,%i)="" +#define DoLBDeleteAtIf(%c,%lb,%i) Set:(%c) $LI(%lb,%i,%i)="" + /* + // Gebruik van LBDeleteAt: + // =-=-=-=-=-=-=-=-=-=-=-= + $$$DoLBDeleteAt(MyLB,5) + $$$DoLBDeleteAtIf(Cond,MyLB,5) + If (cond) $$$DoLBDeleteAt(MyLB,5) + */ + +#define ClassParameter(%v) ##class(%Library.CompiledParameter).%OpenId(%v).Default + +#define AddErrorToList(%List,%Code,%Desc) set %List = %List _ $listbuild($listbuild(%Code,%Desc)) + +#define SystemMail(%v) """"_%v_""" " + +#define Lock(%i,%t) Lock +^LOCKS(%i):%t +#define LockObj(%o,%i,%t) Lock +^LOCKS(%o.%ClassName(1),%i):%t +#define LockObjCon(%p,%o,%i,%t) Lock:%p +^LOCKS(%o.%ClassName(1),%i):%t + +#define UnLock(%i) Lock -^LOCKS(%i) +#define UnLockObj(%o,%i) Lock -^LOCKS(%o.%ClassName(1),%i) +#define UnLockObjCon(%p,%o,%i) Lock:%p -^LOCKS(%o.%ClassName(1),%i) + + +#define StripC0(%Local) $S($C(0)[$G(%Local):"",1:%Local) + + +#define LeftPadding(%s,%l,%c) $translate($justify(%s,%l)," ",$select(%c="":0,1:%c)) + + +#define ConfigGetString(%s) ##class(TECH.Config.ConfigMgr).Instance().GetString(%s) +#define ConfigGetBoolean(%s) ##class(TECH.Config.ConfigMgr).Instance().GetBoolean(%s) \ No newline at end of file Index: Prod/GAMeta/BT/TBStabilisator.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBStabilisator.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBStabilisator.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBSBD") +TBStabilisatorDefaultData +^Res.PI.Items("PR;GA;TBSBD") +^Res.PI.Items("index","PR;GA;TBSB") +^Res.PI.Items("stream","PR;GA;TBSB") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Prod/GADef/KaderDeur.cls.xml =================================================================== diff -u --- Prod/GADef/KaderDeur.cls.xml (revision 0) +++ Prod/GADef/KaderDeur.cls.xml (revision 2) @@ -0,0 +1,2488 @@ + + + + Afspraken i.v.m. Posities van Beslag en Boringen: +
    • +Standaard zijn posities STEEDS gemeten van Links (X), van Boven (Y) en vanaf de Rug (Z)
    • +AfstandRand is steeds relatief (t.o.v. de buitenrand van het profiel)
    • +Negatieve posities zijn gemeten van de tegenovergestelde kant:
      +| PosX < 0 ==> X = KD.Breedte - PosX
      +| PosY < 0 ==> Y = KD.Hoogte - PosY
      +| PosZ < 0 ==> Z = KD.ProfType.Dikte - PosZ
    • +De negatieve posities zijn
      +- te tonen als positieve waarden in de User Interface
      +- op te slaan in Caché als negatieve waarden
      +- in XML eveneens als negatieve waarden op te slaan met ev. een Attribute "omschrijving", bvb. "OMS=Van onderkant"
      + +
    ]]>
    +persistent +Prod.GADef.AfgeleidDef,%VHSys.Library + + +
  • +"S" : Standaard scharnier
  • +"LB" : LadeBeslag
  • +"VS" : Vouwdeur Vouwbeslag Scharnierdeel
  • +"VV" : Vouwdeur Vouwbeslag Vouwdeel
  • +"VB" : Vouwdeur ophang Boven
  • +"VO" : Vouwdeur ophang Onder
  • +"GA" : Glijder schuifdeur Links Boven
  • +"GB" : Glijder schuifdeur Rechts Boven
  • +"GC" : Glijder schuifdeur Links Onder
  • +"GD" : Glijder schuifdeur Rechts Onder
  • +"KC" : Klapschaar klapdeur
  • +"KH" : Klapdeur opHanger

    + +!!! Kodes moeten steeds uit 2 letters bestaan (uitz. "S"), maar mogen echter geen "S" bevatten !!!]]> +Prod.GADef.emKadBeslag +array +0 + + + +Prod.GADef.emKadBoring +array +0 + + + + +Breedte van de kaderdeur in mm +%Library.Float + +0 + + + + +%Library.Float + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + + + +%Library.String +list +0 + + + + + + + +Hoogte van de kaderdeur in mm +%Library.Float + +0 + + + + + +Onderdelen voor Herstellingen of voor Los Profiel. +Bij los profiel ("LPR") mag slechts 1 profiel aangeduid zijn. +%Library.String +list +0 + + + + + + + +Bij een kaderdeur : Draairichtingen van de deur : Links, Rechts of Zonder +Bij een een ladefront : Inliggend en Opliggend +Res.PI.OphangPlaats + +0 + + + + +Mogelijke wwarden voor OpmType: "BPAF"]]> +%Library.List + +0 + + + +Prod.GADef.BT.ProductieWijze + +0 + + + + +Breedte van de kaderdeur in mm +Res.PI.ProfAfw + +0 + + + + +Speciale prijs voor profiel. Deze prijs wordt genomen bij het berekenen van de profielkost en niet de standaard prijs +%Library.Float + +0 + + + + +Breedte van de kaderdeur in mm +Res.PI.ProfType + +0 + + + + +Default: "Prod.GADef.TemplGeneral" (voor templates); "" (leeg voor finale objecten)]]> +%Library.String + +0 + + + + +Bevat code van het TemplateKader-object indien het product opgebouwd is door een template. +%Library.String + +0 + + + +Res.PI.Toepas + +0 + + + +]]> +%Library.String + +0 + + + + + + +Breedte van de kaderdeur in mm +Prod.GADef.emKadVulling + +0 + + + + +Speciale prijs voor vulling. Deze prijs wordt genomen bij het berekenen van de vullingskost en niet de standaard prijs. De vulling extras worden nog steeds bijgeteld. +%Library.Float + +0 + + + +%Library.TimeStamp + +0 + + + +%Library.Stream +characterstream +0 +1 + + + +code +IsNew:%Library.Boolean=1 +0 +%Library.Status + + + + + +Deze RelPos kan een formula zijn die geanalyseerd en geevalueerd wordt.
    +Indien geen omrekening mogelijk, zal de waarde RelPos teruggegeven worden.
    +Mogelijke waarden voor sCode zijn: X, Y, Z, S]]>
    +code +sCode:%Library.String,RelPos:%Library.String,PrevVal:%Library.String,NextVal:%Library.String +0 +%Library.String +0) RelPos ; Return value immediatly + Quit:($G(sCode)="") RelPos ; Return value immediatly + New AbsPos,MaxSize,Plaats,FirstChar,RelVal + ; Determine MaxSize + If sCode="S" Do + . ;Set Plaats=%this.ProfielPlaatsGet(emBeslag, BeslagKey, PosKey) + . Set Plaats=$S(%this.Toepassing.ItemID="KLS":"PB", 1:"PL") ; temporary determination. "PL" or "PR" is not important. + . Set MaxSize=$S((Plaats="PL")!(Plaats="PR"):%this.Hoogte, (Plaats="PB")!(Plaats="PO"):%this.Breedte, 1:0) + Else Set MaxSize=$CASE(sCode, "X":%this.Breedte, "Y":%this.Hoogte, "Z":%this.ProfType.Dikte, :0) + + Set AbsPos=RelPos + ; Calculate Absolute Position for RelPos; overwrite AbsPos + Set FirstChar=$$$UCase($E(RelPos,1,1)) + Set RelVal=$$$CNum($E(RelPos,2,999)) + ;Set RelVal=(+)$TR($E(RelPos,2,999), "," , ".") + + If FirstChar=$$$CENTER Do ; From center + . Set AbsPos=(MaxSize/2)+RelVal + . ;X "Set AbsPos="_(MaxSize/2)_RelVal + Else If FirstChar=$$$OPPOSITE Do ; From opposite side + . Set AbsPos=MaxSize-RelVal + Else If FirstChar=$$$KEEPOPPOS Do ; From opposite side, but KEEP it; + . ; Make value negative, and keep it at the end, DO NOT calculate to definitive Absolute Position !!! + . Set AbsPos=-$ZABS(RelVal) + Else If FirstChar=$$$PREVIOUS Do ; From Previous Value: PrevVal must exit and must be numeric + . Quit:($G(PrevVal)="") + . Set:(PrevVal=0)!(+PrevVal'=0) AbsPos= $$$CNum(PrevVal)+RelVal + Else If FirstChar=$$$NEXT Do ; From Next Value: NextVal must exit and must be numeric + . Quit:($G(NextVal)="") + . Set:(NextVal=0)!(+NextVal'=0) AbsPos= $$$CNum(NextVal)+RelVal + Else If $$$UCase($E(RelPos,1,2))=$$$INTERNP Do ; From Interne Kant van het Profiel + . Set RelVal=$$$CNum($E(RelPos,3,999)) + . Set AbsPos=%this.ProfType.Breedte+RelVal + Else If $$$UCase($E(RelPos,1,2))=$$$OINTERNP Do ; From OPPOSITE Interne Kant van het Profiel + . Set RelVal=$$$CNum($E(RelPos,3,999)) + . Set AbsPos=%this.ProfType.Breedte+RelVal + . Set AbsPos=-AbsPos + Else Do + . ; Other codes for Beslag Special Relative Postitions + . Quit + Set:(AbsPos<0)&(FirstChar'=$$$KEEPOPPOS) AbsPos=MaxSize+AbsPos ; Substract = add Negative Number + Quit AbsPos + +]]> +
    + + + +Is bijvoorbeeld nodig wanneer de Hoogte of Breedte van het object gewijzigd worden.]]> +code +Opties:%Library.String +0 +0)!(emPos.LengtePos' + + + + +CSP-Method creëert een object via parameters (FillObjectViaParam) en berekent de Prijs ervan. +1 +code +ObjectName:%Library.String,Aantal:%Library.Integer=1,MuntCode:%Library.String="EUR",ProfType:%Library.String,Hoogte:%Library.Float,Breedte:%Library.Float,Beslag:%Library.String,QtyBeslag:%Library.Integer=0,QtyGlasBoor:%Library.Integer=0,QtyProf1:%Library.String,QtyProf2:%Library.String,QtyProf3:%Library.String,QtyProf4:%Library.String,Vulling:%Library.String,VullingExtra:%Library.String,KlantID:%Library.String +0 +0:%sVal, 1:0) + + Quit:($G(ObjectName)="") + Quit:($G(Hoogte)="") + Quit:($G(Breedte)="") + Quit:($G(KlantID)="") + New KadObj,Prijs,objMunt,sData,Korting,LogDate,LogTime + + Set sData=$G(^KLDATA(KlantID),"") + Set Korting=+$P(sData, "\", 5) + Set Hoogte=$$$CDec(Hoogte) + Set Breedte=$$$CDec(Breedte) + Set Aantal=$$$CPosNum(Aantal)\1 + Set:(Aantal=0) Aantal=1 + Set QtyBeslag=$$$CPosNum(QtyBeslag)\1 + Set QtyGlasBoor=$$$CPosNum(QtyGlasBoor)\1 + Set:($G(MuntCode)'="") objMunt=##CLASS(Res.Munt).%OpenId(MuntCode) + + Set KadObj=##CLASS(Prod.GADef.KaderDeur).%New() + Do KadObj.FillObjectViaParam(ProfType,Hoogte,Breedte,Beslag,QtyBeslag,QtyGlasBoor,QtyProf1,QtyProf2,QtyProf3,QtyProf4,Vulling,VullingExtra) + ;Set:($G(Vulling)="") KadObj.Gemonteerd="K" + + Set OK=KadObj.%Save() + Set Prijs=KadObj.LijstPrijs(Aantal,$G(objMunt),0,1)*(1-Korting) + + Set Prijs=$$RND(Prijs,$S(MuntCode="BEF":3,MuntCode="NLG":2,MuntCode="EUR":2,1:"R"),MuntCode) + + Set LogDate=$P($H,",",1) + Set LogTime=$P($H,",",2) + Set:(OK) ^LOG(LogDate, $O(^LOG(LogDate,""),-1)+1)="KL\"_KlantID_"\CSP\"_LogTime_"\"_KadObj.%Id()_"\"_Aantal_"\"_$J(Prijs,0,2)_" "_$G(MuntCode)_"\"_KadObj.KortTekst() + + ;&JS + &JS<#(ObjectName)#=#($J(Prijs,0,2))#;> + Quit + + + + + ; Afronding +RND(VrkPrs,Round,Munt) + If "R"[Round Quit $$AUTORND(VrkPrs,Munt) + If Round=1 Set VrkPrs=$J(VrkPrs*100+.499999,0,0)/100 + If Round=2 Set VrkPrs=VrkPrs+.049999*100\5*5/100 + If Round<3 Quit $J(VrkPrs,0,2) + If Round=3 Quit VrkPrs+.99999\1 + If Round=4 Quit VrkPrs+4.99999\5*5 + If Round=5 Quit VrkPrs\1 ; Afronden naar beneden TIJDELIJK + If Round=6 Quit $J(VrkPrs,0,2) + If Round=7 Quit $J($J(VrkPrs,0,1),0,2) + If Round=8 Quit $J(VrkPrs,0,0) + If Round=9 Quit $J(VrkPrs/5,0,0)*5 + Quit VrkPrs + ; + ; Automatische afronding +AUTORND(VrkPrs,Munt) + New ABdCfrs,FaMunt + Set FaMunt="EUR",ABdCfrs=3-($L(VrkPrs*1000\1)-3) + Set:ABdCfrs>$S(Munt=FaMunt:2,1:2) ABdCfrs=$S(Munt=FaMunt:2,1:2) + ;Set:ABdCfrs>$S(Munt=FaMunt:1,1:2) ABdCfrs=$S(Munt=FaMunt:1,1:2) + Set VrkPrs=VrkPrs*(10**ABdCfrs)+.999999\1/(10**ABdCfrs) + Quit VrkPrs + +]]> + + + + +Mogelijke waarden voor OutputType: MSG, LOGOPM]]> +code +OutputType:%Library.String="MSG" +0 +%Library.String + + + + +]]> +code + +0 +%Library.Boolean + + + + + +Onmiddellijke controle op de Breedte van het profiel +code +0 +%Library.String +0) LMin=128 + Set:($G(LMax)'>0) LMax=3000-(2*20) ; 20mm marge langs beide kanten + + Set:(%this.BreedteLMax) OK="F;Maximale breedte kleiner dan "_LMax_"mm" + Quit OK + +]]> + + + + +Controle van de verhouding tussen Hoogte en Breedte van de kaderdeur. +ToepasID is optioneel, maar overheerst aan de property Toepassing +code +ToepasID:%Library.String +0 +%Library.String + Nieuwe controles via ..ControleBeperkAfm() + + If $G(ToepasID)="",(%this.ToepassingGetObjectId()="") Quit "" + Quit:(%this.Breedte="") "" + Quit:(%this.Hoogte="") "" + New OK,TID + Set OK="" + Set TID=$G(ToepasID,"") + Set:(TID="") TID=%this.Toepassing.ItemID + If "KD;VDS;VDV;VDT"[TID Do + . Set:%this.Breedte>%this.Hoogte OK="W;Breedte is groter dan de hoogte" + Else If "LF;KLS;KLC"[TID Do + . Set:%this.Hoogte>%this.Breedte OK="W;Hoogte is groter dan de breedte" + Else Do + . Quit + + Quit OK + +]]> + + + + +Onmiddellijke controle op de Hoogte van het profiel +code +0 +%Library.String +0) LMin=128 + Set:($G(LMax)'>0) LMax=3000-(2*20) ; 20mm marge langs beide kanten + + Set:(%this.HoogteLMax) OK="F;Maximale hoogte kleiner dan "_LMax_"mm" + Quit OK + +]]> + + + + +Mogelijke "Operations" zijn:
  • +LeftRight : OphangPlaats wisselt L-R, boringen worden gespiegeld over de lengte-as
  • +.]]> +code +SpecialOperation:%Library.String,Opties:%Library.String +0 + + + + + +Copy maken van KaderDeur in een nieuw object. +Verschillende CopyModes: "FullCopy" (=Default), "Empty" +code +CopyMode:%Library.String="FullCopy" +0 +Prod.GADef.KaderDeur + + + + + +Berekent het Aantal scharnieren in functie van het Gewicht en de Hoogte van de kaderdeur. +De parameter "Gewicht" is optioneel. +code +Gewicht:%Library.Integer +0 +%Library.Integer +0) 0 + ;If KdGw<0 Quit 0 + ;If KdGw=0 Quit 0 + + ;Set AantS=$S('(%this.Hoogte>900)&'(KdGw>5):2,'(%this.Hoogte>1600)&'(KdGw>11):3,'(%this.Hoogte>2200)&'(KdGw>16):4,1:5) + If (%this.Hoogte'>900)&(KdGw'>5) Set AantS=2 + Else If (%this.Hoogte'>1600)&(KdGw'>11) Set AantS=3 + Else If (%this.Hoogte'>2200)&(KdGw'>16) Set AantS=4 + Else Set AantS=5 + + Quit AantS + +]]> + + + + +Ophalen van het dossiernr indien het nog niet bestaat dan invullen +code +0 + + + + + +Param1,..,Param5, zijn optioneel, en afhankelijk van de op te roepen routine.]]> +code +KDTemplateID:%Library.String,Param1:%Library.String,Param2:%Library.String,Param3:%Library.String,Param4:%Library.String,Param5:%Library.String +0 + + + + + +Creatie van een kaderdeur door het ingeven van de parameters nodig voor de prijsberekening. +Deze prijsberekening kan dan gebruikt worden voor prijslijsten aan te maken in bv. Excel +code +Params:%Library.String +0 + NewViaParamList + ;ProfType,Hoogte,Breedte,Beslag,QtyBeslag,QtyGlasBoor,QtyProfOnder,QtyProfBoven,QtyProfRechts,QtyProfLinks,Vulling,VullingExtra,IsGemonteerd,Verpakking,ProfPrijs,VulPrijs) + Do %this.FillObjectViaParam($P(Params,"\",1),$P(Params,"\",2),$P(Params,"\",3),$P(Params,"\",4),$P(Params,"\",5),$P(Params,"\",6),$P(Params,"\",7),$P(Params,"\",8),$P(Params,"\",9),$P(Params,"\",10),$P(Params,"\",11),$P(Params,"\",12),$P(Params,"\",13),$P(Params,"\",14),$P(Params,"\",15),$P(Params,"\",16)) + Quit + +]]> + + + + +Cratie van een kaderdeur door het ingeven van de parameters nodig voor de prijsberekening. +Deze prijsberekening kan dan gebruikt worden voor prijslijsten aan te maken in bv. Excel +code +ProfType:%Library.String,Hoogte:%Library.Integer,Breedte:%Library.Integer,Beslag:%Library.String,QtyBeslag:%Library.Integer,QtyGlasBoor:%Library.Integer,QtyProfO:%Library.String,QtyProfB:%Library.String,QtyProfR:%Library.String,QtyProfL:%Library.String,Vulling:%Library.String,VullingExtra:%Library.Boolean,IsGemonteerd:%Library.Boolean,Verpakking:%Library.String,ProfKostSpec:%Library.Float="",VulKostSpec:%Library.Float="" +0 + ObjectViaParam + ;Parameters : ProfAfw,Hoogte,Breedte,Beslag,QtyBeslag,QtyGlasBoor,QtyProfO,QtyProfB,QtyProfR,QtyProfL,Vulling,VullingExtra,IsGemonteerd,Verpakking,ProfPrijs,VulPrijs + New caObj,TabelProfType,TabelProfAfw,TabelVul,TabelVulExtra,TabelToepas,TabelBeslag + Set caObj=%this + Set TabelProfType=##class(Res.PI.Definitie).IDViaNaam("ProfType") + ;Kill ^Dump("NewViaParam") + ;Set ^Dump("NewViaParam",$O(^Dump("NewViaParam",""),-1)+1)="Tabel ProfType" + Set TabelProfAfw=##class(Res.PI.Definitie).IDViaNaam("ProfAfw") + Set TabelVul=##class(Res.PI.Definitie).IDViaNaam("Vulling") + Set TabelVulExtra=##class(Res.PI.Definitie).IDViaNaam("VullingExtra") + Set TabelToepas=##class(Res.PI.Definitie).IDViaNaam("Toepas") + Set TabelOphang=##class(Res.PI.Definitie).IDViaNaam("OphangPlaats") + Set TabelBeslag=##class(Res.PI.Definitie).IDViaNaam("Beslag") + ;Set ^Dump("NewViaParam",$O(^Dump("NewViaParam",""),-1)+1)="Na tabellen" + + ;Set caObj=##class(Prod.GADef.Kaderdeur).%New() + ;Set ^Dump("NewViaParam",$O(^Dump("NewViaParam",""),-1)+1)="Na caObj *"_$G(ProfType)_"*" + + Do caObj.ToepassingSetObjectId(TabelToepas_"||"_"KD") ; Kaderdeur + Do caObj.OphangPlaatsSetObjectId(TabelOphang_"||"_"L") ; Draairichting + Do caObj.ProfTypeSetObjectId(TabelProfType_"||"_$P(ProfType,"-")) + ;Set ^Dump("NewViaParam",$O(^Dump("NewViaParam",""),-1)+1)="Na invullenProfType" + Do caObj.ProfAfwSetObjectId(TabelProfAfw_"||"_ProfType) + ;Set ^Dump("NewViaParam",$O(^Dump("NewViaParam",""),-1)+1)="Na invullenProfafw" + Set caObj.Hoogte=Hoogte + Set caObj.Breedte=Breedte + Set caObj.Gemonteerd=$S($G(IsGemonteerd)'=""&("K;KV;L"[$G(IsGemonteerd)):IsGemonteerd,$G(Vulling)'=""&(caObj.ProfType.VulCode'="A"):"KV",1:"L") + Set:caObj.Gemonteerd="KV"&$G(Vulling)="" caObj.Gemonteerd="K" ; Gemonteerd met vulling maar er is geen vulling + Set:caObj.ProfType.VulCode="A" caObj.Gemonteerd="L" ; Afboordingsprofieel nooit gemonteerd + Set Verpakking=$G(Verpakking) + Set:Verpakking=""!("BLKE"'[Verpakking) Verpakking=$S(caObj.Gemonteerd'["K":"L",1:"K") ; Default naar LOS en KRIMP + Set:caObj.ProfType.VulCode="A"&(Verpakking="K") Verpakking="L" ; Afboordingsprofiel nooit KRIMP + Set caObj.Verpakking=Verpakking + Set:ProfKostSpec caObj.ProfAfwKostSpecial=$TR(ProfKostSpec,",",".") + Set:VulKostSpec caObj.VullingKostSpecial=$TR(VulKostSpec,";",".") + ;Set ^Dump("NewViaParam",$O(^Dump("NewViaParam",""),-1)+1)="NaMontagefType" + Do fvpBeslag(.caObj,$G(Beslag),$G(QtyBeslag),Hoogte) + Do fvpVulling(.caObj,$G(Vulling),$G(VullingExtra)) + Do fvpBoringen(.caObj,$G(QtyGlasBoor),"VUL") + Do fvpBoringen(.caObj,$G(QtyProfO),"PO") + Do fvpBoringen(.caObj,$G(QtyProfB),"PB") + Do fvpBoringen(.caObj,$G(QtyProfR),"PR") + Do fvpBoringen(.caObj,$G(QtyProfL),"PL") + Quit + +fvpBoringen(caObj,QtyBoring,BorPlaats) + New I,BorDType,BorOne,BorDiam,BorType + For I=1:1:$L(QtyBoring,";") Do + .Set BorOne=$P(QtyBoring,";",I) + .Quit:BorOne="" + .Set BorOne=$$UPCASE^vhRtn1(BorOne) + .Set BorDType="K" + .Set:BorOne["K" BorDType="K" + .Set:BorOne["G" BorDType="G" + .Set BorType="ON" + .Set:BorOne["I" BorType="IN" + .Set:BorOne["E" BorType="EX" + + .Set BorQty=+BorOne + .Set BorDiam=$S(BorDType="K":I,1:20+I) + .For J=1:1:BorQty Do fvpBoring(caObj,BorDiam,BorPlaats,BorType) + Quit + +fvpBoring(caObj,Diam,BorPlaats,BorType) + ; BorType wordt niet meer gebruikt + New emBoring + Set emBoring=##class(Prod.GADef.emKadBoring).%New() + If BorPlaats="VUL" Do ;Glasboring + . Set emBoring.XPos=caObj.Breedte/2 + . Set emBoring.YPos=caObj.Hoogte/2 + . Set emBoring.BoorDiameter=Diam + . Set emBoring.BoringType="ON" ; Onderzijde + . Set emBoring.BoorDiepte=-1 ; Doorboring + . Set emBoring.BoringPlaats=BorPlaats ; Glas + Else Do ; Boring kader + . If caObj.ProfType.ConstructAfm.GetAt("AZG")<10 Do ;Glasprofiel + .. If BorPlaats="PR" Do + ... Set emBoring.XPos=caObj.Breedte-(caObj.ProfType.ConstructAfm.GetAt("AZG")+3) + ... Set emBoring.YPos=caObj.Hoogte/2 + .. Else If BorPlaats="PL" Do + ... Set emBoring.XPos=caObj.ProfType.ConstructAfm.GetAt("AZG")+3 + ... Set emBoring.YPos=caObj.Hoogte/2 + .. Else If BorPlaats="PB" Do + ... Set emBoring.XPos=caObj.Breedte/2 + ... Set emBoring.YPos=caObj.ProfType.ConstructAfm.GetAt("AZG")+3 + .. Else Do ;"PO" + ... Set emBoring.XPos=caObj.Breedte/2 + ... Set emBoring.YPos=caObj.Hoogte-(caObj.ProfType.ConstructAfm.GetAt("AZG")+3) + .. Set emBoring.BoorDiameter=Diam + .. Set emBoring.BoringType=BorType ; Doorboring + .. ;Set emBoring.BoringPlaats="K" ; Kader en Glas + .. Set emBoring.BoorDiepte=-1 ; Doorboring + .. Set emBoring.BoringPlaats=BorPlaats ; Kader + . Else Do ; + .. If BorPlaats="PR" Do + ... Set emBoring.XPos=caObj.Breedte-10 + ... Set emBoring.YPos=caObj.Hoogte/2 + .. Else If BorPlaats="PL" Do + ... Set emBoring.XPos=10 + ... Set emBoring.YPos=caObj.Hoogte/2 + .. Else If BorPlaats="PB" Do + ... Set emBoring.XPos=caObj.Breedte/2 + ... Set emBoring.YPos=10 + .. Else Do ;"PO" + ... Set emBoring.XPos=caObj.Breedte/2 + ... Set emBoring.YPos=caObj.Hoogte-10 + .. Set emBoring.BoorDiameter=Diam + .. Set emBoring.BoringType=BorType ; Onderzijde + .. Set emBoring.BoorDiepte=-1 ; Doorboring + .. Set emBoring.BoringPlaats=BorPlaats ; Kader + Do caObj.Boringen.SetAt(emBoring,caObj.Boringen.Count()+1) + Do emBoring.%Close() + Quit + +fvpBeslag(caObj,Beslag,QtyBeslag,Hoogte) + New emBeslag,I,emBeslagPos + Quit:'QtyBeslag + Set emBeslag=##class(Prod.GADef.emKadBeslag).%New() + Do emBeslag.BeslagSetObjectId(TabelBeslag_"||"_Beslag) + For I=1:1:QtyBeslag Do + .Set emBeslagPos=##class(Prod.GADef.emKadBeslagPos).%New() + .Set emBeslagPos.LengtePos=I*Hoogte\(QtyBeslag+1) + .Do emBeslag.Positie.SetAt(emBeslagPos,I) + .Do emBeslagPos.%Close() + Do caObj.Beslag.SetAt(emBeslag,"S") + Do emBeslag.%Close() + Quit + +fvpVulling(caObj,Vulling,VullingExtra) + New emVulling,I + Set VullingExtra=$G(VullingExtra) + Quit:Vulling="" + Set emVulling=##class(Prod.GADef.emKadVulling).%New() + Do emVulling.VullingSetObjectId(TabelVul_"||"_Vulling) + For I=1:1:$L(VullingExtra,";") Do ; HARD, INV of ... + . Quit:'$L($P(VullingExtra,";",I)) + . Do emVulling.VullingExtra.InsertObjectId(TabelVulExtra_"||"_$P(VullingExtra,";",I)) + Set caObj.Vulling=emVulling + Do emVulling.%Close() + Quit + +]]> + + + + +Creatie van een kaderdeur door het ingeven van de parameters nodig voor de prijsberekening. +Deze prijsberekening kan dan gebruikt worden voor prijslijsten aan te maken in bv. Excel +code +Params:%Library.String +0 +KastHoogte Set KastHoogte=Hoogte + If Breedte'>0 Quit + If Hoogte'>0 Quit + If Toepas="KD"!($E(Toepas,1,2)="VD"),OphangPl'="L",OphangPl'="R" Quit + If Toepas="LF",OphangPl'="I",OphangPl'="O" Quit + ; Creatie + If Toepas="KD" Do DEUR^Prod.GADef.KaderDeur.TemplSVDX(%this,KastHoogte,Hoogte,Breedte,$P(Profiel,"-"),Profiel,Vulling,VulExtra,OphangPl) + If Toepas="LF" Do LADE^Prod.GADef.KaderDeur.TemplSVDX(%this,Hoogte,Breedte,$P(Profiel,"-"),Profiel,Vulling,VulExtra,OphangPl) + If $E(Toepas,1,2)="VD" Do VOUW^Prod.GADef.KaderDeur.TemplSVDX(%this,KastHoogte,Hoogte,Breedte,$P(Profiel,"-"),Profiel,Vulling,VulExtra,OphangPl,$E(Toepas,3)) + Quit + +]]> + + + + +CalcMode = "SimVul" berekent het gewicht met een geSimuleerde Vulling (10 kg/m²).]]> +code +CalcMode:%Library.String="" +0 +%Library.Float +0) GVulling=10000 ; g/m² + + Set KdGw=0 + Set:(%this.ProfType.Hoek) KdGw=KdGw+(4*%this.ProfType.Hoek.Gewicht) ; 4 verbinders + ; Set KdGw=KdGw+(2*(%this.Breedte+%this.Hoogte)/1000*%this.ProfAfw.Gewicht) ; Gewicht Profiel + Set KdGw=KdGw+(%this.KadOmtrek()*%this.ProfAfw.Gewicht) ; Gewicht Profiel + ; Set KdGw=KdGw+((%this.Hoogte/1000*%this.Breedte/1000)*GVulling) ; Gewicht Vulling + Set KdGw=KdGw+(%this.VulOpp()*GVulling) ; Gewicht Vulling + Set KdGw=KdGw+(%this.KadOpp()*1000) ; Gewicht Verpakking + Set KdGw=KdGw/1000 ; Omzetting g naar kg + Quit KdGw + +]]> + + + + +GenPRNr is een verplichte parameter.]]> +code +GenPRNr:%Library.Integer,QtyStaffel:%Library.String=1 +0 + + + + + +Lopendemeter van een kaderdeur in m +expression +0 +%Library.Float + + + + + +Oppervlakte van een kaderdeur in m2 +expression +0 +%Library.Float + + + + + +Oppervlakte van een kaderdeur in m2 +expression +0 +%Library.Float + + + + +code +0 +%Library.String +3:8,1:9),11)=%this.Dossier + . Set Ophang=$S($L(%this.OphangPlaats):%this.OphangPlaats.KortTekst,1:"") + . Set:Ophang="" Ophang=$E(%this.Toepassing.KortTekst,2) + . Set $E(KortT,12,21)=$E(KortT,5)_Ophang_$J($J(%this.Hoogte,0,0)_"x"_$J(%this.Breedte,0,0),8) + . Set KortT=$E(KortT,1,21) + . Set:(%this.Vulling.Vulling) $E(KortT,22,23)=%this.Vulling.Vulling.KortTekst + . Set $E(KortT,24,25)=%this.ProfAfw.KortTekst + .; + Quit $E(KortT,1,25) + +]]> + + + + +Er wordt bepaald of de kostprijs moet HERberekend worden of niet.]]> +code +QtyStaffel:%Library.Integer=1,Munt:Res.Munt="",BldDtl:%Library.Boolean=0,ForceRecalc:%Library.Boolean=0 +0 +%Library.Float + + + + +code +Staffel:%Library.Integer,caoKadPrijs:Prod.GADef.KadPrijs="" +0 +%Library.Float + + + + + +Formateer de langtekst van een product in de geselecteerde taal +code + +0 +45 Set Oms=Oms+1,Oms(Oms)=Txt + .. Else Set Oms(Oms)=Oms(Oms)_","_Txt + + ; Return Oms via .Local + Quit + +]]> + + + + +Dit is een oproep van de method "KostPrijs" en het resultaat wordt vermenigvuldigd met vaste factor.]]> +code +QtyStaffel:%Library.Integer=1,Munt:Res.Munt="",BldDtl:%Library.Boolean=0,ForceRecalc:%Library.Boolean=0 +0 +%Library.Float + + + + + +Geeft de lengte terug van het profiel op ProfPlaats (in mm). +Kan voor LosProfiel automatisch ProfPlaats bepalen. +code +ProfPlaats:%Library.String +0 +%Library.Float + + + + + +Specifiek voor 'Los Profiel'. Geeft 0 als Plaats overeenkomt met de plaats van het los profiel en geeft 1 +indien de plaats NIET overeenkomt. +Bij volledige KaderDeur (=alles behalve 'Los Profiel') geeft steeds 0 terug. +code +Plaats:%Library.String +0 +%Library.Boolean + + + + + +Open van een kaderdeur object via Dossier-code +1 +code +Dossier:%Library.String +0 +Prod.GADef.KaderDeur + + + + + +ClearByType verwijdert alle listitems waarbij OpmType overeenkomt.]]> +code +OpmType:%Library.String +0 + + + + + +Bij Boring moet het emKadBoring object mee doorgegeven worden.
    +Bij Scharnier moet de BeslagKey en PosKey mee doorgegeven worden.
    +Result : PL;PR;PB;PO]]>
    +code +emObject:%Library.String,BeslagKey:%Library.String,PosKey:%Library.String +0 +%Library.String +0) Set Plaats="PL" + Else If (emObject.XPos-(%this.Breedte-%this.ProfType.Breedte)\1'<0)&(emObject.XPos'>%this.Breedte) Set Plaats="PR" + Else If (emObject.YPos'<0)&(emObject.YPos-%this.ProfType.Breedte\1'>0) Set Plaats="PB" + Else If (emObject.YPos-(%this.Hoogte-%this.ProfType.Breedte)\1'<0)&(emObject.YPos'>%this.Hoogte) Set Plaats="PO" + Else Set Plaats="" + If Plaats="PL" Do + . Set:(emObject.YPos +
    + + + +Creëert nieuw object: uitgaande van het huidige, vereenvoudigde object beschreven door SVEDEX +code +KastHoogte:%Library.String,blnStdDeur:%Library.Boolean +0 +Prod.GADef.KaderDeur + + + + + +Dit element wordt bepaald door [Plaats], [Kant] en [Diam].
    +
    +Structuur van de arrays:
    +TelV = aantal in vulling
    +TelV(Diam) = aantal per diameter in vulling
    +TelP(Kant,Plaats) = aantal per kant (BO,ON,IN,EX) van het profiel, per plaats (PL,PR,PB,PO)
    +TelP(Kant,Plaats,Diam) = aantal per diameter per kant en per plaats in het profiel
    ]]>
    +1 +code + +0 + +
    + + + +"TelP,TelV" zijn arrays, doorgegeven BY REFERENCE !
    +Opvulling van de array(s) is beschreven in de Class Method
    ]]>
    +code + +0 +0:objBoring.BoorGlasDiameter,1:Diam) + . Do ..TelBoringAdd(.TelP, .TelV, "VUL","ON",DiamG,1) + If objBoring.BoringPlaats="VUL" Quit ; Boring is alleen in de Vulling + ; Boring in het Profiel + Set:(objBoring.AfschuinDiameter>0) Diam=Diam_"+"_objBoring.AfschuinDiameter + Set Plaats=..ProfielPlaatsGet(objBoring) + Set Kant=objBoring.BoringType + Set:(Kant="") Kant="ON" + Quit:(..NietOpProfiel(Plaats)) ; Stopt enkel voor 'Los Profiel' en verschillende Plaats + Do ..TelBoringAdd(.TelP, .TelV, Plaats,Kant,Diam,1) + Quit +tlbBeslagTellen(TelP,TelV, BeslagKey) + New emBeslag,BType,Plaats + Set emBeslag=..Beslag.GetAt(BeslagKey) + Set BType=emBeslag.Beslag.TekeningCode + + If (BType="35M")&(..ProfType.VulCode="A") Do Quit ; Afboordingsprofiel + . ; Alleen de 35mm Scharnierpot in rekening brengen + . Set Plaats=..ProfielPlaatsGet(emBeslag,BeslagKey,"") + . Quit:(..NietOpProfiel(Plaats)) ; Stopt enkel voor 'Los Profiel' en verschillende Plaats + . Do ..TelBoringAdd(.TelP, .TelV, Plaats,"ON",35,emBeslag.Positie.Count()) + + ; Else Do Normaal beslag en profiel: alle boringen meetellen + New PosKey,AllNums + Set PosKey="" + For Do emBeslag.Positie.GetNext(.PosKey) Quit:(PosKey="")!(PosKey'?.N) Do + Set AllNums=(PosKey="") ; If PosKey="" then For-loop has run to end and all keys are numeric + If AllNums Do + . Do tlbBeslagBoringenTellen(.TelP, .TelV, emBeslag, BeslagKey,1, emBeslag.Positie.Count()) + Else Do + . ; Loop through all keys and "Count Boringen" for each separate BeslagPos. + . Set PosKey="" + . For Do emBeslag.Positie.GetNext(.PosKey) Quit:PosKey="" Do + .. Do tlbBeslagBoringenTellen(.TelP, .TelV, emBeslag, BeslagKey,PosKey, 1) + Quit +tlbBeslagBoringenTellen(TelP,TelV, emBeslag,BeslagKey,PosKey,ListCount) + ; Boringen nodig voor het Beslag + New objBoring + New Diam,Kant,BoorKey + Set Plaats=..ProfielPlaatsGet(emBeslag, BeslagKey, PosKey) + Quit:(Plaats="") + Quit:(..NietOpProfiel(Plaats)) ; Stopt enkel voor 'Los Profiel' en verschillende Plaats + Set BoorKey="" + For Do emBeslag.Beslag.Boringen.GetNext(.BoorKey) Quit:BoorKey="" Do + . Set objBoring=emBeslag.Beslag.Boringen.GetAt(BoorKey) + . Set Kant=objBoring.BoringType + . Set:(Kant="") Kant="ON" + . Set Diam=objBoring.BoorDiameter + . Set:(objBoring.AfschuinDiameter>0) Diam=Diam_"+"_objBoring.AfschuinDiameter + . Do ..TelBoringAdd(.TelP, .TelV, Plaats,Kant,Diam,$G(ListCount,1)) + Quit + +]]> +
    + + + +bvb: TranslateMe="p+120" en RelPosPrev="c-50" resulteert in "c+70",
    +want "p" (in "p+120") verwijst naar "c-50" (RelPosPrev).]]>
    +1 +code +TranslateMe:%Library.String,RelPosPrev:%Library.String="",RelPosNext:%Library.String="" +0 +%Library.String +0) "" ; TranslateMe ; "No Transform" + Quit:(RefPos?1(1"N",1"P",1"n",1"p").E) TranslateMe ; When RefPos is also a Prev/Next formula, do not translate. + + New Code,LenCode,RelVal,RefPosVal,TransVal + Set RelVal=+$TR($E(TranslateMe,2,999), "," , ".") + Set:($E(RefPos,1)="-") RefPos="ML"_RefPos + + ; Determine Length of Code + Set LenCode=0 + For Quit:($E(RefPos,LenCode+1,LenCode+1)'?1A) Do + . Set LenCode=LenCode+1 + + Set Code=$E(RefPos,1,LenCode) + Set RefPosVal=+$TR($E(RefPos,LenCode+1,999), "," , ".") + Set TransVal=RefPosVal+RelVal + + Quit:(Code="ML") $S(TransVal<0:TransVal, 1:"-"_-TransVal) + Quit Code_$S(TransVal'<0:"+", 1:"")_TransVal + +]]> +
    + + + +Breedtevan de vulling (Breedte kader - AftrekVoorGlas) in mm +expression +0 +%Library.Float + + + + + +Creëert een Prod.GADef.Vulling object vertrekkend van het kaderdeur object +code +0 +Prod.GADef.Vulling + + + + + +Hoogte van de vulling (Hoogte kader - AftrekVoorGlas) in mm +expression +0 +%Library.Float + + + + + +Lopendemeter van een kaderdeur in m2 +expression +0 +%Library.Float + + + + + +Oppervlakte van de vulling in m2 +expression +0 +%Library.Float + + + + + +Oppervlakte van de vulling in m2 +expression +0 +%Library.Float + + + + + + +Opties :
  • +VMLH : Header toevoegen
  • +VMLC : Comment toevoegen
  • +.]]> +code +DevObj:%Library.Stream,Opties:%Library.String +0 +"_NL) + . Do XMLConstructVerbinders ;(%this,DevObj,$G(Opties)) + . Do WRITE^XMLWRITE(DevObj,NL) + + ; Beslag + Do:(%this.Beslag.Count()>0) WRITE^XMLWRITE(DevObj,""_NL) + If %this.Toepassing.ItemID'="GL" Do + . Set Key="" + . For Do %this.Beslag.GetNext(.Key) Quit:Key="" Do + .. Do %this.Beslag.GetAt(Key).XMLVectorWrite(DevObj,Key,%this,$G(Opties)) + .. Do WRITE^XMLWRITE(DevObj,NL) + + ; Boringen + Do:(%this.Boringen.Count()>0) WRITE^XMLWRITE(DevObj,""_NL) + Set Key="" + For Do %this.Boringen.GetNext(.Key) Quit:Key="" Do + . Do %this.Boringen.GetAt(Key).XMLVectorWrite(DevObj,%this,$G(Opties)) + Do WRITE^XMLWRITE(DevObj,NL) + + ; Schuine hoeken + If (%this.Toepassing.ItemID'="GL")&&(%this.ProductieWijzeGetObjectId()'="LPR") Do + . Do WRITE^XMLWRITE(DevObj,""_NL) + . Do XMLConstructSchuineHoeken ;(%this,DevObj,$G(Opties)) + . Do WRITE^XMLWRITE(DevObj,NL) + + ; Other elements + + ; End DrawObject GROUP + Do ENDTAG^XMLWRITE(DevObj,"v:GROUP") + Do WRITE^XMLWRITE(DevObj,NL) + + ; Afmetingen van de KaderDeur (TextBox) + Do WRITE^XMLWRITE(DevObj,"
    ") + Do WRITE^XMLWRITE(DevObj,NL) + Do XMLTekstAfmetingen ;(%this,DevObj,$G(Opties)) + Do WRITE^XMLWRITE(DevObj,NL) + + If Opties["VMLH" Do + . Do WRITE^XMLWRITE(DevObj,NL) + . Do WRITE^XMLWRITE(DevObj,NL) + . Do ENDTAG^XMLWRITE(DevObj,"BODY"_NL) + . ;Do WRITE^XMLWRITE(DevObj,NL) + . Do WRITE^XMLWRITE(DevObj,NL) + . Do ENDTAG^XMLWRITE(DevObj,"HTML"_NL) + . ;Do WRITE^XMLWRITE(DevObj,NL) + + Quit + + +XMLConstructKader ;(%this,DevObj,Opties) + ; Example XML-Code: + ; ======= ======== + ; + ; + ; + ; + ; + ; + + New Param1,Param2,Param3,Param4,Param5 + New Offset1, Offset2 + New BorderS, FillS + + ; Outer Rectangle + Set Param1="style='left:0; top:0; width:"_(%this.Breedte\1)_"; height:"_(%this.Hoogte\1)_";'" + Set Param2="fillcolor=""#F0F0F0""" + Do TAGONLY^XMLWRITE(DevObj,"v:RECT", "ID=""KDOuter""", "CLASS=""clsHidePrint""", Param1, Param2) + Do WRITE^XMLWRITE(DevObj,NL) + + ; Middle Rectangle + Set Offset1="" + Set BorderS="" + Set FillS="" + Do %this.ProfType.XMLVectorTussenRand(%this.Vulling.Vulling, .Offset1, .BorderS, .FillS) + Set Param1="style='left:"_(0+Offset1\1)_"; top:"_(0+Offset1\1)_"; width:"_(%this.Breedte-(2*Offset1)\1)_"; height:"_(%this.Hoogte-(2*Offset1)\1)_";'" + Set Param2="color=""rgb(180,209,184)""" + Set Param3="opacity="""_$S(FillS="T":0, FillS="S":1, 1:FillS)_"""" + Set Param4="dashstyle="""_$S(BorderS="LD":"longdash",BorderS="D":"dash",1:"solid")_"""" + Do BEGINTAG^XMLWRITE(DevObj,"v:RECT", "ID=""KDMiddle""", "CLASS=""clsHidePrint""", Param1) + Do TAGONLY^XMLWRITE(DevObj,"v:fill",Param2,Param3) + Do TAGONLY^XMLWRITE(DevObj,"v:stroke",Param4) + Do ENDTAG^XMLWRITE(DevObj,"v:RECT") + Do WRITE^XMLWRITE(DevObj,NL) + + ; Inner Rectangle + Set Offset1=%this.ProfType.Breedte + Set Param1="style='left:"_(0+Offset1\1)_"; top:"_(0+Offset1\1)_"; width:"_(%this.Breedte-(2*Offset1)\1)_"; height:"_(%this.Hoogte-(2*Offset1)\1)_";'" + Set Param2="fillcolor="""_$S($L(%this.Vulling.Vulling):"rgb(224,255,224)",1:"white")_"""" + Do TAGONLY^XMLWRITE(DevObj,"v:RECT", "ID=""KDInner""", "CLASS=""clsHidePrint""", Param1, Param2) + Do WRITE^XMLWRITE(DevObj,NL) + + Quit + +XMLConstructLosProf ;(%this,DevObj,Opties) + ; Idem als XMLConstructLosProf, maar Kader is volledig in stippellijn, één Profiel wordt sterk geaccentueert + New Param1,Param2,Param3,Param4,Param5,strVML + New Offset1,Offset2, CX,CY,ProfL + New BorderS,FillS + + Set Offset1=..ProfType.Breedte + If ProfPlaats="PR" Set Offset1=(..Breedte\1)-((..Breedte-(2*Offset1))\1+(Offset1\1)) ; Opgelet .\1 is GEEN LINEAIRE bewerking + Else If ProfPlaats="PO" Set Offset1=(..Hoogte\1)-((..Hoogte-(2*Offset1))\1+(Offset1\1)) ; Opgelet .\1 is GEEN LINEAIRE bewerking + + Set CX=$S(ProfPlaats="PR":..Breedte\1, 1:0) ; Rechtse profiel : Corner is Rechts-Boven + Set CY=$S(ProfPlaats="PO":..Hoogte\1, 1:0) ; Onderste profiel : Corner is Links-Onder + Set ProfL=..LosProfLengte(ProfPlaats) + + Set strVML=$$ProfONCorner^VHSys.Library.VMLLib(CX,CY,ProfL,Offset1,ProfPlaats,"#F0F0F0","black",,,$G(Opties)) + Do:($L(strVML)) WRITE^XMLWRITE(DevObj,strVML_NL) + + ; Outer Rectangle + Set Param1="style='left:0; top:0; width:"_(%this.Breedte\1)_"; height:"_(%this.Hoogte\1)_";'" + Set Param3="opacity=""0""" + Set Param4="dashstyle=""dash""" + Do BEGINTAG^XMLWRITE(DevObj,"v:RECT", "ID=""KDOuter""", "CLASS=""clsHidePrint""", Param1) + Do TAGONLY^XMLWRITE(DevObj,"v:fill",Param3) + Do TAGONLY^XMLWRITE(DevObj,"v:stroke",Param4) + Do ENDTAG^XMLWRITE(DevObj,"v:RECT") + Do WRITE^XMLWRITE(DevObj,NL) + + ; Middle Rectangle + Set Offset2="" + Set BorderS="" + Set FillS="" + Do %this.ProfType.XMLVectorTussenRand(%this.Vulling.Vulling, .Offset2, .BorderS, .FillS) + Set Param1="style='left:"_(0+Offset2\1)_"; top:"_(0+Offset2\1)_"; width:"_(%this.Breedte-(2*Offset2)\1)_"; height:"_(%this.Hoogte-(2*Offset2)\1)_";'" + Set Param3="opacity=""0""" + ;Set Param4="dashstyle=""shortdash""" + Do BEGINTAG^XMLWRITE(DevObj,"v:RECT", "ID=""KDMiddle""", "CLASS=""clsHidePrint""", Param1) + Do TAGONLY^XMLWRITE(DevObj,"v:fill",Param3) + Do TAGONLY^XMLWRITE(DevObj,"v:stroke",Param4) + Do ENDTAG^XMLWRITE(DevObj,"v:RECT") + Do WRITE^XMLWRITE(DevObj,NL) + + ; Inner Rectangle + ;Set Offset1=%this.ProfType.Breedte + Set Param1="style='left:"_(0+Offset1\1)_"; top:"_(0+Offset1\1)_"; width:"_(%this.Breedte-(2*Offset1)\1)_"; height:"_(%this.Hoogte-(2*Offset1)\1)_";'" + Set Param3="opacity=""0""" + ;Set Param4="dashstyle=""dash""" + Do BEGINTAG^XMLWRITE(DevObj,"v:RECT", "ID=""KDInner""", "CLASS=""clsHidePrint""", Param1) + Do TAGONLY^XMLWRITE(DevObj,"v:fill",Param3) + Do TAGONLY^XMLWRITE(DevObj,"v:stroke",Param4) + Do ENDTAG^XMLWRITE(DevObj,"v:RECT") + Do WRITE^XMLWRITE(DevObj,NL) + + + + + Quit + +XMLConstructGlas ;(%this,DevObj,Opties) + ; + ; + New Param1,Param2,Offset1 + + ; Outer Rectangle + If %this.ProfType.ItemID'="VUL" Do + . Set Param1="style='left:0; top:0; width:"_(%this.Breedte\1)_"; height:"_(%this.Hoogte\1)_";'" + . Do BEGINTAG^XMLWRITE(DevObj,"v:RECT", "ID=""KDOuter""", Param1) + . Do TAGONLY^XMLWRITE(DevObj,"v:fill","color=""#F0F0F0""","opacity=""0""") + . Do TAGONLY^XMLWRITE(DevObj,"v:stroke","dashstyle=""dash""") + . Do ENDTAG^XMLWRITE(DevObj,"v:RECT") + . Do WRITE^XMLWRITE(DevObj,NL) + + Set Offset1=%this.ProfType.ConstructAfm.GetAt("AG") + Set Param1="style='left:"_(0+Offset1\1)_"; top:"_(0+Offset1\1)_"; width:"_(%this.Breedte-(2*Offset1)\1)_"; height:"_(%this.Hoogte-(2*Offset1)\1)_";'" + Set Param2="fillcolor=""rgb(224,255,224)""" ; _$S($L(%this.Vulling.Vulling):"rgb(224,255,224)",1:"white")_"""" + Do TAGONLY^XMLWRITE(DevObj,"v:RECT", "ID=""KDGlas""", "CLASS=""clsHidePrint""", Param1, Param2) + Do WRITE^XMLWRITE(DevObj,NL) + Quit + + +XMLConstructSchuineHoeken ;(%this,DevObj,Opties) + ; Example XML-Code: + ; ======= ======== + ; + Quit:('%this.ProfType) + Quit:(%this.ProfType.Breedte'>0) + New Param,Offset + Set Offset=%this.ProfType.Breedte + ; for each corner: from outer rectangle to inner rectangle. + Set Param="from=""0,0"" to="""_(0+Offset\1)_","_(0+Offset\1)_"""" + Do TAGONLY^XMLWRITE(DevObj,"v:line", Param) + Set Param="from="""_(%this.Breedte\1)_",0"" to="""_(%this.Breedte-Offset\1)_","_(0+Offset\1)_"""" + Do TAGONLY^XMLWRITE(DevObj,"v:line", Param) + Set Param="from=""0,"_(%this.Hoogte\1)_""" to="""_(0+Offset\1)_","_(%this.Hoogte-Offset\1)_"""" + Do TAGONLY^XMLWRITE(DevObj,"v:line", Param) + Set Param="from="""_(%this.Breedte\1)_","_(%this.Hoogte\1)_""" to="""_(%this.Breedte-Offset\1)_","_(%this.Hoogte-Offset\1)_"""" + Do TAGONLY^XMLWRITE(DevObj,"v:line", Param) + Do WRITE^XMLWRITE(DevObj,NL) + Quit + + +XMLConstructVerbinders ;(%this,DevObj,Opties) + ; Generates VML-code for the 4 "hoekverbinders" + Quit:('%this.ProfType.Hoek) + New KDVerbinder,VKey,VKeys,i,ProfP + Set KDVerbinder=%this.ProfType.Hoek + Set ProfP=$TR($G(ProfPlaats),"P","") ; Als ProfPlaats = "PB" , dan is ProfP = "B" + Set VKeys=$LB("LB","RB","RO","LO") + For i=1:1:$LL(VKeys) Do + . Set VKey=$LI(VKeys,i) + . If $L(ProfP) Quit:(VKey'[ProfP) + . Do KDVerbinder.XMLVectorWrite(DevObj, VKey, $S($E(VKey)="R":%this.Breedte,1:0), $S($E(VKey,2)="O":%this.Hoogte,1:0), $G(Opties)) + Quit + + +XMLTekstAfmetingen ;(%this,DevObj,Opties) + ; Example XML-Code: + ; ======= ======== + ; + ; + ;H:600 mm x B:1500 mm KBA-EV Float helder + ; + + New Param1,Param2,Value1,NL + Set NL=$C(13)_$C(10) + Set Param1="style='position:relative; width:250pt; height:20pt;'" + Set Param2="coordsize=""1000,1000"" " + Do BEGINTAG^XMLWRITE(DevObj,"v:shape", "ID=""DRAWTEXT""", Param1, Param2) + Do WRITE^XMLWRITE(DevObj,NL) + Set Param1="style='v-text-anchor:middle;'" + Set Value1="Vooraanzicht: " + Set Value1=Value1_"H:"_%this.Hoogte_" mm x B:"_%this.Breedte_" mm" + Set Value1=Value1_$S(%this.Toepassing.ItemID="GL":"", 1:" "_%this.ProfAfw.ItemID) + Set Value1=Value1_$S(%this.Vulling.Vulling="":"", 1:" "_%this.Vulling.Vulling.Omschrijving) + Do TAGWRITE^XMLWRITE(DevObj,"v:textbox", $$ConvertToHTML^vhRtn1(Value1), Param1) + Do WRITE^XMLWRITE(DevObj,NL) + Do ENDTAG^XMLWRITE(DevObj, "v:shape") + Do WRITE^XMLWRITE(DevObj,NL) + Quit + +]]>
    + + + + + +Opties :
  • +GAF : Full XML-beschrijving; i.e. met tag < PRODUCTEN >
  • +GAV : VML-code toevoegen
  • +GA0 : met Omschrijving van de data in de XML-tags
  • +VMLH,VMLC : Opties voor VML-gedeelte: zie KaderDeur.XMLVectorWrite
  • +. + +

    +XSLURL : Toevoegen van de reference naar de XSL. Indien Leeg (""), tags worden weggelaten.]]> +code +DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String +0 +") + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITELN^XMLWRITE(DevObj) + Do:($G(Opties)["GAF") BEGINTAG^XMLWRITE(DevObj,"PRODUCTEN") + Do WRITELN^XMLWRITE(DevObj) + + Set blnLosProf=(%this.ProductieWijzeGetObjectId()="LPR") + Set Tag="PROD_"_%this.Toepassing.ItemID_"_STD" + If %this.ProductieWijze Set Toepas=$CASE(%this.ProductieWijze.ItemID, "LPR":"Profiel", :"") + Set:($G(Toepas)="") Toepas=%this.Toepassing.OmsGet(Taal) + ;Do BEGINTAG^XMLWRITE(DevObj,Tag,$S($G(Opties)["GAO":$$PARAMFILL^XMLWRITE("OMS",$ZCVT(Toepas,"O","HTML")),1:"")) + Do BEGINTAG^XMLWRITE(DevObj,Tag,$S($G(Opties)["GAO":$$$Attrib("OMS",Toepas),1:"")) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"DOSSIERNR",%this.Dossier) + Do WRITELN^XMLWRITE(DevObj) + + If $L(%this.TemplateUsed) Do + . Do TAGWRITE^XMLWRITE(DevObj,"TEMPLATECODE",%this.TemplateUsed) + . Do WRITELN^XMLWRITE(DevObj) + + If %this.Toepassing.ItemID'="GL" Do + . Do xmlwPROFIEL(DevObj,%this) + . Do WRITELN^XMLWRITE(DevObj) + + If 'blnLosProf Do + . Do %this.Vulling.XMLWrite(DevObj,Taal,$G(Opties),%this) + . Do WRITELN^XMLWRITE(DevObj) + + Set Key="" + For Set emObj=%this.Beslag.GetNext(.Key) Quit:Key="" Do + . Do emObj.XMLWrite(DevObj,Taal,$G(Opties),Key,%this) + . Do WRITELN^XMLWRITE(DevObj) + + Set Key="" + For Set emObj=%this.Boringen.GetNext(.Key) Quit:Key="" Do + . Do emObj.XMLWrite(DevObj,Taal,$G(Opties),%this) + . Do WRITELN^XMLWRITE(DevObj) + + Do:(%this.OphangPlaats) TAGWRITE^XMLWRITE(DevObj,"OPHANGPLAATS",%this.OphangPlaats.ItemID,$S($G(Opties)["GAO":$$$Attrib("OMS",%this.OphangPlaats.OmsGet(Taal)),1:"")) + Do TAGWRITE^XMLWRITE(DevObj,"HOOGTE",%this.Hoogte,"UNIT=""mm""") + Do TAGWRITE^XMLWRITE(DevObj,"BREEDTE",%this.Breedte,"UNIT=""mm""") + Do WRITELN^XMLWRITE(DevObj) + + Do xmlwKaderOpties(DevObj,%this) + + If $G(Opties)["GAV" Do ; Tekening opnemen + . Do BEGINTAG^XMLWRITE(DevObj,"DRAW", "xmlns:v=""urn:schemas-microsoft-com:vml""") + . Do %this.XMLVectorWrite(DevObj,$G(Opties)) + . Do ENDTAG^XMLWRITE(DevObj,"DRAW") + . Do WRITELN^XMLWRITE(DevObj) + + Do ENDTAG^XMLWRITE(DevObj,Tag) + Do WRITELN^XMLWRITE(DevObj) + + Do:($G(Opties)["GAF") ENDTAG^XMLWRITE(DevObj,"PRODUCTEN") + Do:($G(Opties)["GAF") WRITE^XMLWRITE(DevObj,NL) + Quit + +xmlwPROFIEL(DevObj,Obj) + Do BEGINTAG^XMLWRITE(DevObj,"PROFIEL") + Do TAGWRITE^XMLWRITE(DevObj,"PROFTYPE",Obj.ProfType.ItemID,$S($G(Opties)["GAO":$$$Attrib("OMS",%this.ProfType.OmsGet(Taal)),1:"")) + + Do TAGWRITE^XMLWRITE(DevObj,"PROFAFW",Obj.ProfAfw.KortTekst,$S($G(Opties)["GAO":$$$Attrib("OMS",%this.ProfAfw.OmsGet(Taal)),1:"")) + + Do ENDTAG^XMLWRITE(DevObj,"PROFIEL") + Quit + +xmlwKaderOpties(DevObj,Obj) + New Param,HList,Key,HVal,tmpOpm,i + ; Montage + Set Param="" + If Obj.Toepassing.ItemID="GL" Do ; "Alleen Glas" is altijd Los/niet gemonteerd + . Set Param="" + Else If Obj.Gemonteerd="KV" Do ; Kader en Vulling gemonteerd + . Set Param="" + Else If Obj.Gemonteerd="K" Do ; alleen Kader gemonteerd + . Set Param="Kader gemonteerd geleverd"_$S(Obj.Vulling.Vulling'="":", vulling los/afzonderlijk", 1:", geen vulling gekozen") + Else If Obj.Gemonteerd="L" Do ; Los geleverd, niet gemonteerd + . Set Param=$S(blnLosProf:"", Obj.Vulling.Vulling'="":"Kader en vulling niet gemonteerd geleverd", 1:"") + Else Set Param="fout: gemonteerd code="_Obj.Gemonteerd + Do TAGWRITE^XMLWRITE(DevObj,"MONTAGE",Obj.Gemonteerd,$S(($G(Opties)["GAO")&(Param'=""):$$$Attrib("OMS",Param),1:"")) + ; Verpakking + Set Param="" + If Obj.Toepassing.ItemID="GL" Do ; "Alleen Glas" is Krimp verpakt + . Set Param="" + Else If Obj.Verpakking="K" Do ; Krimp verpakking + . Set Param="" + Else If Obj.Verpakking="B" Do ; Bulk verpakt + . Set Param="Bulk verpakt" + Else If Obj.Verpakking="E" Do ; Verpakking voor Export + . Set Param="Verpakking voor Export" + Else If Obj.Verpakking="L" Do ; Los verpakt + . Set Param=$S(blnLosProf:"", 1:"Onderdelen zijn los verpakt") + Else If Obj.Verpakking="" Do ; Los verpakt + . Set Param="" + Else Set Param="fout: verpakking code="_Obj.Verpakking + Do TAGWRITE^XMLWRITE(DevObj,"VERPAKKING",Obj.Verpakking,$S(($G(Opties)["GAO")&(Param'=""):$$$Attrib("OMS",Param),1:"")) + ; ProductieWijze + If %this.ProductieWijze Do + . New Param2 + . Set Param=$CASE(%this.ProductieWijze.ItemID, "LPR":"LOS PROFIEL", "HHA":"Herstelling en montage door HALUX", "HKL":"Herstelling; montage door de KLANT", :%this.ProductieWijze.Omschrijving) + . Set Param=$$$HTML(Param) + . Set Param2=$$$HTML(%this.ProductieWijze.OmsGet(Taal)) + . Do TAGWRITE^XMLWRITE(DevObj,"PRODUCTIEWIJZE",%this.ProductieWijze.ItemID,$S($G(Opties)["GAO":$$$Attrib("OMS",Param),1:""),$S($G(Opties)["GAO":$$$Attrib("OMSK",Param2),1:"")) + + If Obj.Onderdelen.Count() Do + . Set Param="" + . Set HList="" + . Set Key="" + . For Set HVal=Obj.Onderdelen.GetNext(.Key) Quit:Key="" Do + .. Set:($L(HList)) HList=HList_";" ; Skip first time + .. Set:($L(Param)) Param=Param_" + " ; Skip first time + .. Set HList=HList_HVal + .. Set Param=Param_Obj.OnderdelenLogicalToDisplay(HVal) + . Set:(Param'="") Param="Alleen productie van "_Param + . Do TAGWRITE^XMLWRITE(DevObj,"ONDERDELEN",HList,$S(($G(Opties)["GAO")&(Param'=""):$$$Attrib("OMS",Param),1:"")) + + Set tmpOpm=..Opmerking + For i=1:1:$LL(tmpOpm) Do + . If $$IsList^vhLib($LG(tmpOpm,i)) Do + .. Do xmlwAddOpmerking($LG($LG(tmpOpm,i),2)) + . Else Do xmlwAddOpmerking($LG(tmpOpm,i)) + + Quit +xmlwAddOpmerking(sOpm) + Do:($L($G(sOpm))) TAGWRITE^XMLWRITE(DevObj,"OPMERKING",$$$HTML(sOpm)) + Quit + +]]> + + + + +Method voor oproep via ActiveX +CStreamParent is het object dat een Property "CStream" bevat, waarnaar de output geschreven zal worden. +CStreamParent is default: %this. +code +Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String,CStreamParent:%Library.RegisteredObject +0 + + + + +%CacheStorage +PSKaderdeurDefaultData + +Beslag +subnode +"BSL" + + +Boringen +subnode +"BOR" + + +"KAD" + +Breedte + + +Hoogte + + +Vulling + + +ProfAfw + + +ProfType + + +Gemonteerd + + +Herstelling + + +Toepassing + + +DraaiRicht + + +OphangPlaats + + +Dossier + + +XMLStreamC + + +Verpakking + + +KostPrijs + + +WijzigTijdStip + + +ProfAfwKostSpecial + + +VullingKostSpecial + + +TemplateRoutine + + +TemplateUsed + + +ConstructKostSpecial + + +Opmerking + + + +"KaderDeur" + +Onderdelen + + +ProductieWijze + + +HerstellingOLD + + +CStream + + + + + Index: csp/hpp.cls.xml =================================================================== diff -u --- csp/hpp.cls.xml (revision 0) +++ csp/hpp.cls.xml (revision 2) @@ -0,0 +1,121 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "" + Write "Hits per produktgroep (alleen pdf's) " + Write "" + Write "" + Write "
    " + Write "",! + Write " ",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "Cataloog" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write " " + Write "
    " + Write "",! + Write " ",! + Write " " +%csp00002 If '(queryHPP.Next()) Goto %csp00001 ;{ + Write !," ",! + Write " " + Write "" + Write (queryHPP.Get("Cataloog")) + Write "" + Write "",! + Write " " + Write "
    " + Write "" + Write (queryHPP.Get("Aantal")) + Write "" + Write "
    " + Write "",! + Write " " + Write "" + Write "" + Write " "_($J(queryHPP.Get("Aantal")*100/TotHits,0,0))_"% " + Write "" + Write "",! + Write " ",! + Write " " + Goto %csp00002 +%csp00001 ;} + Write !," ",! + Write " " + Write "" + Write "Totaal" + Write "" + Write "",! + Write " " + Write "
    " + Write (TotHits) + Write "
    " + Write "",! + Write "  ",! + Write " ",! + Write "",! + Write "
    " +]]>
    +
    + + +c:\cachesys\csp\httplog\hpp.csp + + + +/csp/httplog/hpp.csp + + + +59913,32153 + +
    +
    Index: Prod/GAMeta/BT/TBBlumotion.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBBlumotion.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBBlumotion.cls.xml (revision 2) @@ -0,0 +1,61 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBBMD") +TBBlumotionDefaultData +^Res.PI.Items("PR;GA;TBBMD") +^Res.PI.Items("index","PR;GA;TBBM") +^Res.PI.Items("stream","PR;GA;TBBM") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: HTTPLog.mac.rou =================================================================== diff -u --- HTTPLog.mac.rou (revision 0) +++ HTTPLog.mac.rou (revision 2) @@ -0,0 +1,47 @@ +CountSessionDuration(site,arrTimeTable) ; arrTimeTable doorgeven als .local (ByREf) + New querySessDur,i + Kill arrTimeTable + For i=1:1:7 Do Set arrTimeTable(i)=0 + Set querySessDur=##class(%ResultSet).%New("DW.WWW.Log:StaticSessionDuration") + Do querySessDur.Execute(site) + For Quit:'querySessDur.Next() Do + . New Level,Duur + . Set Duur=$G(querySessDur.Data("Duur")) + . Set Level=$S(Duur<60:1,(Duur>59)&&(Duur<300):2,(Duur>299)&&(Duur<600):3,(Duur>599)&&(Duur<900):4,(Duur>899)&&(Duur<1800):5,(Duur>1799)&&(Duur<3600):6,Duur>3599:7) + . Set arrTimeTable(Level)=$I(arrTimeTable(Level)) + Quit + +BuildSessionMatrix(site,arrMatrix,arrTopScore) ; arrMatrix doorgeven als .local + Kill arrMatrix,arrTopScore + New qryMatrix,T + Set T=1 + Set qryMatrix=##class(%ResultSet).%New("DW.WWW.Log:GetSessionMatrix") + Do qryMatrix.Execute(site) + For Quit:'qryMatrix.Next() Do + . Set arrMatrix(qryMatrix.Data("Expression_1"),qryMatrix.Data("Expression_2"))=qryMatrix.Data("Aantal") + . If T<11 Do Set arrTopScore(qryMatrix.Data("Expression_1"),qryMatrix.Data("Expression_2"))="TOP10" + . If (T>10) && (T<21) Do Set arrTopScore(qryMatrix.Data("Expression_1"),qryMatrix.Data("Expression_2"))="TOP20" + . Set T=$I(T) + Quit + +ConvertAll() + Do ##class(DW.CSP.BLogic).ConvertData("Van Hoecke") + Do ##class(DW.CSP.BLogic).ConvertData("Orgalux") + Do ##class(DW.CSP.BLogic).ConvertData("Tandembox VH") + Do ##class(DW.CSP.BLogic).ConvertData("Tandembox Hein") + Do ##class(DW.CSP.BLogic).ConvertData("Tandembox Optima") + Quit + +TestWRO(Site) + New querySessDur + Set querySessDur=##class(%ResultSet).%New("DW.WWW.Log:GetSessionDuration") + Do querySessDur.Execute(Site) + For Quit:('querySessDur.Next()) Do + . New objSessDur + . Set objSessDur=##class(DW.WWW.StaticSessDur).%New() + . Set objSessDur.SessieID=querySessDur.Get("SessieID") + . Set objSessDur.Duur=querySessDur.Get("Duur") + . Set objSessDur.Site=Site + . Do objSessDur.%Save() + . Set objSessDur="" + \ No newline at end of file Index: Derde/Abstract/Derde.cls.xml =================================================================== diff -u --- Derde/Abstract/Derde.cls.xml (revision 0) +++ Derde/Abstract/Derde.cls.xml (revision 2) @@ -0,0 +1,139 @@ + + + +%Library.RegisteredObject +0 + + +%Library.String + + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + + + +Property DatumCreatieOfLaatsteWijziging As %Library.Date; +E-mail adres voor de ganse firma +%Library.String + + + + +verouderd zie ^PERS +%Library.String + + + +%Library.Integer + + + +Res.Land + + + +%Library.String +1 + Set {*}=$$LAND^vhRtn1({Land}) +1 + + + + +%Library.String + + + + + +Waarde: BF, HFL, FF of MTL +%Library.String + + + + +%Library.String + + + + +%Library.Integer +1 + + + + +Format: Numeric:4 of Char: 3-Char: 18 +%Library.String + + + + +%Library.String + + + + + +Waarde: N, F of D +%Library.String + + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + + +Waarde tussen 7000 en 7300 +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + Index: TECH/CSP/CSPApplicatie.cls.xml =================================================================== diff -u --- TECH/CSP/CSPApplicatie.cls.xml (revision 0) +++ TECH/CSP/CSPApplicatie.cls.xml (revision 2) @@ -0,0 +1,165 @@ + + + +%RegisteredObject +0 + + +1 + + + + +ApplicatieNaam:%String + + + + + + + + + + + + + + + + +CSPUrl:%String +%String + + + + +ApplicatieNaam:%String +%Boolean + + + + +CSPApplicatie:%String +%String + + + + +CSPApplicatie:%String="" +%String + + + + +Namespace:%String="" +%ListOfDataTypes + + + + +CSPApplicatie:%String="" +%ListOfDataTypes + + + + +1 +cspFile:%String +%String + + + + Index: TECH/IO.cls.xml =================================================================== diff -u --- TECH/IO.cls.xml (revision 0) +++ TECH/IO.cls.xml (revision 2) @@ -0,0 +1,39 @@ + + + +1 +%RegisteredObject +0 + + +%String +1 + + + +%Stream + + + + + + + + Index: _vhisie/TBX/TBoxWizMatenCtrls.js =================================================================== diff -u --- _vhisie/TBX/TBoxWizMatenCtrls.js (revision 0) +++ _vhisie/TBX/TBoxWizMatenCtrls.js (revision 2) @@ -0,0 +1,761 @@ +// Constants: +var c_TBoxVersion=107; + +var arXBS=Array(); +arXBS["DR"]="=="; +arXBS["ER"]="---"; +arXBS["ZR"]=" "; + +function TBoxAppVersion () { +// TBoxAppVersion can be called to check if the cached version of the JS-files is up to date (use try() cacht(exception) to avoid script errors) + return c_TBoxVersion; +} + +// Conversion lookups +function DSFromLadeKlr (KL) { + alert ("Function DSFromLadeKlr() has been disabled"); +/* + if (KL=="") return "" + if (KL=="MG") return "GS"; + if (KL=="WI") return "WS"; + if (KL=="AL") return "AS"; + if (KL=="IN") return "IS"; + if (KL=="BA") return "BA"; + return ""; +*/ +} +function KLASFromLCode (LT) { + if (LT=="") return ""; + if (LT=="DS") return "SP"; // Spoelbak + if (LT.indexOf("DS2") > -1) return "SP2"; // Spoelbak type 2 + if (LT.indexOf("BS2") > -1) return "SP2"; // Spoelbak type 2 + if (LT.indexOf("MS2") > -1) return "SP2"; // Spoelbak type 2 + if (LT.indexOf("DLS") > -1) return "SP2"; // Spoelbak type 2 + if (LT.indexOf("MY") > -1) return "SY"; // Sifonlade + if (LT.indexOf("BY") > -1) return "SY"; // Sifonlade + if (LT.indexOf("DY") > -1) return "SY"; // Sifonlade + if (LT.indexOf("CLY") > -1) return "SY"; // Sifonlade + if (LT.indexOf("CMY") > -1) return "SY"; // Sifonlade + if (LT.indexOf("DLY") > -1) return "SY"; // Sifonlade + if (LT.indexOf("MB") > -1) return "B"; // Buro + else return "L"; // Lade +// return ""; +} +function BLFromLCode (LT) { + // Binnenlade/Lade from LadeCode + if (LT=="") return ""; + if (LT.indexOf("/Z") > -1) return "B"; + else return "L"; +// return ""; +} +function ZWFromLCode (LT) { + var RH=RugHFromLCode (LT); + if (RH=="") return ""; + if (LT.indexOf("DL") > -1) return "L"; + if (LT.indexOf("CL") > -1) return "L"; + if (LT.indexOf("CM") > -1) return "M"; + if (RH=="M" || RH=="B" || RH=="D") return (LT.substring(0,1)=="I" ? "IM" : "M"); // IntraBox zijwand : "IM" (pseudo-code) + if (RH=="K" || RH=="C") return "K"; + if (RH=="N") return "N"; + return ""; +} +function GTFromLCode (LT) { + if (LT=="") return ""; + if (LT.substring(0,1)=="I") return "E"; + else return "V"; +// return ""; +} +function RugHFromLCode (LT) { + if (LT=="") return ""; + if (LT.indexOf("N") > -1) return "N"; + if (LT.indexOf("CM")> -1) return "CM"; // Intivo CM : pseudo-code voor RugH + if (LT.indexOf("CL") > -1) return "CL"; // Intivo CL : pseudo-code voor RugH + if (LT.indexOf("DL") > -1) return "D"; // Intivo DL + if (LT.indexOf("MS") > -1) return "M"; // Spoelbak + if (LT.indexOf("MY") > -1) return "M"; // Sifonlade + if (LT.indexOf("M") > -1) return "M"; + if (LT.indexOf("BS") > -1) return "B"; // Spoelbak + if (LT.indexOf("B") > -1) return "B"; + if (LT=="DS") return ""; // Spoelbak type 1 + if (LT.indexOf("DS") > -1) return "D"; // Spoelbak + if (LT.indexOf("D") > -1) return "D"; + if (LT.indexOf("K") > -1) return "K"; + if (LT.indexOf("C") > -1) return "C"; + return ""; +} + +// Table lists lookups +function GetFBListFromLCode (LT) { + if (LT=="") return "*"; + if (BLFromLCode(LT)=="B") return "Z"; // Binnenlade + var ZW=ZWFromLCode (LT); + if (ZW=="L") return "S;E;NM"; + if (DC=="I") return "S;I;NM"; // + Drevel + if (DC=="A") return "S;I;A;NM"; + return "S;I;A;NM"; // + Drevel +} +function GetBGRPListFromRugH (RH,BL) { + if (BL != "B") return "X"; // geen binnenlade + if (RH=="" || RH=="*") return "H;Z;G;M"; + if (RH=="CM") return "R;RG;RM"; // antaro CM/Z : front reling + if (RH=="C" || RH=="D" || RH=="CL") return (DC=="I" ? "R;RG;RM;V" : "H"); // intivo DL/Z heeft geen greep + if (RH=="M" || RH=="B" || RH=="K") return "Z;G;M"; // behalve voor intivo + return ""; +} + +/* // fnc GetBSListFromRugH() is DEPRECATED. It has been replaced by global array arDS_BX[DS + "_" + LT] +function GetBSListFromRugH (RH,KLAS) { + if (RH=="" || RH=="*") return "*" // "DR;ER;ZR;BD;BC;BZ";BF; + if (RH=="M" || RH=="N" || RH=="K") return "ZR"; + if (RH=="B" || RH=="C") return "ER"; + if (RH=="D" && KLAS=="SP2") return "DR;ER;BD"; // Spoelbak + if (RH=="D" && DC=="I") return "BC;BK;BZ"; // Intivo DL // prev: "BRO8;DIA8;DFZ8;GRI8;BK;KZ" + if (RH=="CL" && DC=="I") return "BC;BZ"; // Intivo CL + if (RH=="D") return "DR;ER;BD;BG"; // prev: "DR;ER;BD;BC;BZ;BF" + return ""; +} +*/ + +// Transform functions +function SetDSFromLadeKlr () { + alert ("Function SetDSFromLadeKlr() has been disabled"); +/* + // DS is a global variable + var KL=DollarGet(arKlrValue["KL"]); + if (KL=="BE") KL="BA"; + DS=DSFromLadeKlr(KL); +// if (DS != "GS") alert ("Ladekleur:" + KL + " -> Design:" + DS); +*/ +} +function DKInfoTransform (DK) { + if (DK=="" || isUndef(DK)) return ""; + if (DK==25) return "E"; + if (DK > 0) return "V"; + return ""; +} +function WDInfoTransform (WD) { + if (WD==CodeBinMaat) return "|←→|"; // "|<-->|" + return WD; +} +function BXInfoTransform (BX) { + return (isUndef(arXBS[BX]) ? BX : arXBS[BX]); +} +function FBInfoTransform (FB,Taal) { + Taal = Taal || ActiveTaal; + if (FB=="" || isUndef(FB)) return ""; + if (FB=="NM") return "-"; + if (FB=="Z") return ""; + if (FB=="S" && Taal=="F") return "Vis"; + return FB; +} + + +// ------------------------------------------------------------- +// GetLists From Beperk Matrix: combinaties Design - Type - Diepte - Draagkracht +function GetListLTFromBPM (DS) { + var tmpAr=arBPM[DS]; + if (!tmpAr) return ""; + var iLT, D=";", lst=""; + for (var i=0; i-1)) { + iLD=tmpAr[i][cItemLD]; + if ((D+lst+D).indexOf(D+iLD+D)<0) lst=lst+D+iLD; + } + } + return lst.substring(1); +} +function GetListDKFromBPM (DS,LT,LD) { + var tmpAr=arBPM[DS]; + if (!tmpAr) return ""; + var iDK, D=";", lst=""; + var allLT=(LT=="" || LT=="*"); + var allLD=(DollarGet(LD)=="" || LD=="*"); + for (var i=0; i-1) cboSPZijkantOnExit (); + else { + var FirstVal=cPiecesToArray(SPZKList, ";")[0]; + SetSPZijkantValue(FirstVal); + } */ +} + + +// ------------------------------------------------------------- +// Events for cboLadeDiepte +function cboLDiepteChange () { + UpdateDKrachtChoices (GetValCbo(LTFieldName)); +} +function cboLDiepteOnExit () { + var cboLD=document.getElementById(LDFieldName); + if (cboLD.selectedIndex==-1 || cboLD.options[cboLD.selectedIndex].disabled) SetLDiepteValue(""); +} +function SetLDiepteValue (NewVal) { + SetValCbo(LDFieldName,NewVal); + cboLDiepteChange(); +} +function GetLDListFromLCode (LT) { + return GetListLDFromBPM(DS,LT); // ,GetValCbo(DKFieldName) +} +function UpdateLDiepteChoices (LT) { + var LDList=GetLDListFromLCode(LT); + UpdateCboItems (LDFieldName, ";"+LDList, ";"); + if (LDList=="*" || LDList=="" || LDList.indexOf(";")>-1) cboLDiepteOnExit (); + else { + var FirstVal=cPiecesToArray(LDList, ";")[0]; + SetLDiepteValue(FirstVal); + } +} + +// ------------------------------------------------------------- +// Events for cboGewicht +function cboDraagKrachtChange () { + var DKInfo=DKInfoTransform (GetValCbo(DKFieldName)); + var DKInfoVTL=""; + if (DKInfo !="") DKInfoVTL=jsVTL("GT_"+DKInfo,null,"L"); // "GT_"+DKInfo+"_kort" + var lblDKInfo=document.getElementById("lblDKInfo"); + if (lblDKInfo) lblDKInfo.innerHTML= (DKInfoVTL=="" ? "" : "("+DKInfoVTL+")"); +} +function cboDraagKrachtOnExit () { + var cboDK=document.getElementById(DKFieldName); + if (cboDK.selectedIndex==-1 || cboDK.options[cboDK.selectedIndex].disabled) SetDraagKrachtValue(""); +} +function SetDraagKrachtValue (NewVal) { + SetValCbo(DKFieldName,NewVal); + cboDraagKrachtChange(); +} +function GetDKListFromLCode (LT) { + return GetListDKFromBPM(DS,LT,GetValCbo(LDFieldName)); +// var GT=GTFromLCode (LT); +// return GetDKListFromGT (GT); +} +function UpdateDKrachtChoices (LT) { + var DKList=GetDKListFromLCode(LT); + UpdateCboItems (DKFieldName, ";"+DKList, ";"); + if (DKList=="*" || DKList=="" || DKList.indexOf(";")>-1) cboDraagKrachtOnExit (); + else { + var FirstVal=cPiecesToArray(DKList, ";")[0]; + SetDraagKrachtValue(FirstVal); + } +} +function CheckDraagKracht (DK,LD,BM) { + if (BM=="T") { + if (LD <= 0) return ""; + else if (LD<350) return (DK != 20 ? 20 : ""); + else if (LD<450) return (DK != 30 ? 30 : ""); + else if (true) return (DK != 50 ? 50 : ""); + } + else { + if (DK==20) return 30; + } + return ""; +} + +// ------------------------------------------------------------- +// Events for cboFBevest +function cboFBevestChange () { +} +function cboFBevestOnExit () { + var cboFB=document.getElementById(FBFieldName); + if (cboFB.selectedIndex==-1 || cboFB.options[cboFB.selectedIndex].disabled) SetFBevestValue(""); // alert ("This value is not allowed. Choose an item in black letters, from the list."); +} +function SetFBevestValue (NewVal) { + SetValCbo(FBFieldName,NewVal); + cboFBevestChange(); +} +function SetFBevestDFL (LT) { + var CurVal=GetValCbo(FBFieldName); + var FBList=GetFBListFromLCode(LT); + if (FBList=="") alert ("Error. No fbevest values to choose from."); + else if (FBList=="*") SetFBevestValue(CurVal); + else { + var arFBList=cPiecesToArray(FBList, ";"); + var NewVal=CurVal; + if (NewVal=="" || (NewVal != "" && FBList.indexOf(NewVal)==-1)) NewVal=GetFBDefault(FBList); + if (NewVal=="" && arFBList.length==1) NewVal=arFBList[0]; + SetFBevestValue(NewVal); + } +} +function UpdateFBevestChoices (LT) { + UpdateCboItems (FBFieldName, ";"+GetFBListFromLCode(LT), ";"); + SetFBevestDFL (LT); +} +function GetFBDefault (AllowedItems) { + AllowedItems = AllowedItems || ""; + var NewDFL=GetDefaultFromData("FB",AllowedItems); + if (NewDFL=="") NewDFL=GetDefaultFromSettings("FB",AllowedItems); + return NewDFL; +} + +// ------------------------------------------------------------- +// Events for cboBoxside +function cboBoxsideChange () { + var BS=GetValCbo(BSFieldName); + var cboBX=document.getElementById(BSFieldName); + var lblBSInfo=document.getElementById("lblBSInfo"); + if (lblBSInfo) lblBSInfo.innerHTML= (BS=="" ? "" : "["+BXInfoTransform(BS)+"]"); + if (cboBX.selectedIndex==-1 || cboBX.options[cboBX.selectedIndex].disabled) SetLadeImage ("",""); + else SetLadeImage (); + DivSetVisible("MTN_KlrVulstuk",(BS=="COV" || BS=="BG")); // (blnShowKV=(BS=="COV" || BS=="BG"); +} +function cboBoxsideOnExit () { + var cboBX=document.getElementById(BSFieldName); + if (cboBX.selectedIndex==-1 || cboBX.options[cboBX.selectedIndex].disabled) SetBoxsideValue(""); // alert ("This value is not allowed. Choose an item in black letters, from the list."); + //SetLadeImage (); +} +function SetBoxsideValue (NewVal) { + SetValCbo(BSFieldName,NewVal); + cboBoxsideChange(); +} +function SetBoxsideDFL (LT) { + if (!blnSyncBoxside) return; + if (isUndef(LT)) LT=GetValCbo(LTFieldName); + var BSList=GetBSListFromLCode(LT,DS); + if (BSList=="") alert ("Error. No boxside values to choose from."); + else if (BSList=="*") SetBoxsideValue(""); + else { + var NewVal=GetDefaultFromData("BX",BSList); + if (NewVal=="") NewVal=cPiecesToArray(BSList, ";")[0]; // Select first from BSList. + SetBoxsideValue(NewVal); + } +} +function GetBSListFromLCode (LT,DS) { +// return GetBSListFromRugH (RugHFromLCode(LT), KLASFromLCode(LT)); + var lst=""; + var arBX=DollarGet(arDS_BX[DS + "_" + LT]); + if (arBX && arBX.length) { lst = cArrayToPieces(arBX, ";"); } + return lst; +} +function UpdateBoxsideChoices (LT) { + UpdateBXChoicesFromLT (LT); +} +function UpdateBXChoicesFromLT (LT) { + UpdateCboItems (BSFieldName, ";"+GetBSListFromLCode(LT,DS), ";"); + SetBoxsideDFL (LT); +} +function UpdateBXChoicesFromDesign (DC) { + SetBoxsideValue(""); + var arBX=DollarGet(arDC_BX[DC]); + if (arBX && arBX.length) { UpdateCboItemsShowHide (BSFieldName, ";"+cArrayToPieces(arBX, ";"), ";"); } + else { UpdateCboItemsShowHide (BSFieldName, "*", ";"); } +} + +function GetKVAsText(KlrValue) +{ var KlrText; + if ( g_DCM =="I" ) { // uitbreiding kleurkeuze inschuifelementen intivo + if ( KlrValue == "ZV" ) { KlrText=GetInnerHTML("divKVIE_EigenVulling"); } + else { KlrText = InschfElmnt.MatOms + ' : ' + InschfElmnt.Oms ; } + } + else { + KlrText=GetInnerHTML("div"+"KV"+"_"+KlrValue); + if (KlrValue != "ZV") KlrText="" + KlrText; } + return KlrText; // ..WebTextValue("VullingGlas",Taal,"L") +} + + function SetVulstukKleur () { + var KlrValue=arKlrValue["KV"]; + var KlrText; + if (isUndef(KlrValue)) { KlrText=""; } + else { KlrText = GetKVAsText(KlrValue); } + SetInnerHTML("MTN_KlrVulstuk",KlrText); + SetInnerHTML("MTN_KlrVulstukBGRP",KlrText); +} + +// ------------------------------------------------------------- +// Events for cboBinnenGreep +function cboBinnenGreepChange () { + var BGRP=GetValCbo(BGRPFieldName); + SetLadeImage (); +// alert ("MTN_KlrVulstukBGRP visible : " + (BGRP=="V")); + DivSetVisible("MTN_KlrVulstukBGRP",(BGRP=="V")); // blnShowKV=(BGRP=="V"); +} +function cboBinnenGreepOnExit () { + var cboBGRP=document.getElementById(BGRPFieldName); + if (cboBGRP.selectedIndex==-1 || cboBGRP.options[cboBGRP.selectedIndex].disabled) SetBinnenGreepValue(""); // alert ("This value is not allowed. Choose an item in black letters, from the list."); + //SetLadeImage (); +} +function SetBinnenGreepValue (NewVal) { + SetValCbo(BGRPFieldName,NewVal); + cboBinnenGreepChange(); +} +function SetBinnenGreepDFL (LT) { + if (isUndef(LT)) LT=GetValCbo(LTFieldName); + var BGRPList=GetBGRPListFromLCode(LT); + if (BGRPList=="") alert ("Error. No 'BinnenGreep' values to choose from."); + else if (BGRPList=="*") SetBinnenGreepValue(""); + else { // Select first from BGRPList. + var NewVal=cPiecesToArray(BGRPList, ";")[0]; + SetBinnenGreepValue(NewVal); + } +} +function GetBGRPListFromLCode (LT) { + return GetBGRPListFromRugH (RugHFromLCode(LT), BLFromLCode(LT)); +} +function UpdateBinnenGreepChoices (LT) { + UpdateCboItems (BGRPFieldName, ";"+GetBGRPListFromLCode(LT), ";"); + SetBinnenGreepDFL (LT); +} +function SetBinnenGreepDFLonAdd() { + var LT=GetValCbo(LTFieldName); + if (GetValCbo(BGRPFieldName) != "") return; + var BGRPList=GetBGRPListFromLCode(LT); + if (BGRPList=="") return; + else if (BGRPList=="*") return; + else if (BGRPList.indexOf(";")<0) { // Only 1 item in the BGRPList --> set as new value. + var NewVal=BGRPList; + SetBinnenGreepValue(NewVal); + } +} + +// ------------------------------------------------------------- +// Events for cboFrontSteun +function cboFrontSteunChange () { +} +function cboFrontSteunOnExit() { + var cboFS=document.getElementById(FSFieldName); + if (cboFS.selectedIndex==-1 || cboFS.options[cboFS.selectedIndex].disabled) SetFrontSteunValue(""); // alert ("This value is not allowed. Choose an item in black letters, from the list."); +} +function SetFrontSteunValue (NewVal) { + SetValCbo(FSFieldName,NewVal); + cboFrontSteunChange(); +} +function GetFSListFromLCode (LT,DC) { + var lst=""; + DC="XX"; // applies to any DC + var arFS=DollarGet(arDCLC_FS[DC + "_" + LT]); + if (arFS && arFS.length) { lst = cArrayToPieces(arFS, ";"); } + return lst; +} +function UpdateFrontSteunChoices (LT) { + UpdateCboItems (FSFieldName, ";"+GetFSListFromLCode(LT,DC), ";"); +// SetFrontSteunDFL (LT); +} + +// ------------------------------------------------------------- +// Events for cboDwarsVd +function cboDwarsVdChange () { +} +function cboDwarsVdOnExit () { + var cboDWV=document.getElementById(DWVFieldName); + if (cboDWV.selectedIndex==-1 || cboDWV.options[cboDWV.selectedIndex].disabled) SetDwarsVdValue(""); // alert ("This value is not allowed. Choose an item in black letters, from the list."); +} +function SetDwarsVdValue (NewVal) { + SetValCbo(DWVFieldName,NewVal); + cboDwarsVdChange(); +} +function GetDWVListFromLCode (LT,DC) { + var lst=""; + DC="XX"; // applies to any DC + var arDWV=DollarGet(arDCLC_DWV[DC + "_" + LT]); + if (arDWV && arDWV.length) { lst = cArrayToPieces(arDWV, ";"); } + return lst; +} +function UpdateDwarsVdChoices (LT) { + UpdateCboItems (DWVFieldName, ";"+GetDWVListFromLCode(LT,DC), ";"); +// SetDwarsVdDFL (LT); +} + +// ------------------------------------------------------------- +// Events for txtAantal +function txtAantalOnKeyDown (evt) { + evt = evt || event; // (evt) ? evt : ((event) ? event : null); + if (evt && evt.keyCode==13) { + btnInputAddClick(); // Trigger buttonClick "Toevoegen" + } +} + +// ------------------------------------------------------------- +// Events for Blumotion + Tip-on +function chkBlumotionOnClick (objChk) { + var value; + var blnTipon=GetValChk("chkTipon"); + if (objChk.checked) { + if (blnTipon==true) SetValChk("chkTipon",false); + value="I"; + } + else { + // chkBlumotion.checked == false : + if (true || DC=="I" || DC=="A") { // vanaf 30/04/2010 voor alle Design ! + if (blnTipon==true) { + value="T"; + } + else { + // alert("Ofwel 'Blumotion' ofwel 'Tipon' is verplicht bij intivo en antaro lades."); + objChk.checked=true; + return; + } + } + else { // standaard design : + value=(blnTipon ? "T" : "Z"); + } + } + if (!isUndef(value)) SetValTxt("txtBlumotion",BlumotionValueToJS(value)); +} +function chkTiponOnClick (objChk) { + var value; + var blnBlumotion=GetValChk("chkBlumotion"); + if (objChk.checked) { + if (blnBlumotion) SetValChk("chkBlumotion",false); + value="T"; + CheckSBwithTipon(); + } + else { + // chkTipon.checked == false : + if (true || DC=="I" || DC=="A") { // vanaf 30/04/2010 voor alle Design ! + if (blnBlumotion==false) SetValChk("chkBlumotion",true); + value="I"; + } + else { // standaard design : + value=(blnBlumotion ? "I" : "Z"); + } + } + if (!isUndef(value)) SetValTxt("txtBlumotion",BlumotionValueToJS(value)); +} +function BlumotionValueToJS (value) { + if (value=="I" || value=="v") return "v"; + if (value=="T") return "T"; + if (value=="Z" || value=="" ) return ""; + return ""; +} +function SetBlumotionValue (NewVal) { + SetValChk("chkBlumotion",NewVal=="v"); + SetValChk("chkTipon",NewVal=="T"); + CheckSBwithTipon(); + SetValTxt("txtBlumotion",BlumotionValueToJS(NewVal)); +} +function GetBlumotionValue () { + return GetValTxt("txtBlumotion"); +} +function UpdateBMChoices(DC) { + // In case of radio-buttons, the choices must be updated for DC=="I" (intivo). + // In case of checkboxes, value is controled by the OnClick events, so no update necessary. +} +/* +function optBlumotionOnClick (evt) { + evt = evt || event; + target = evt.target || evt.srcElement; + if (target) optBlumotionOnClickV(target.value); +} +function optBlumotionOnClickV (value) { + SetValTxt("txtBlumotion",BlumotionValueToJS(value)); +} +function UpdateBMChoices(DC) { + var blnDisableZ = (DC=="I"); // Intivo should always be with blumotion or tip-on. + oRadioBMZ=document.getElementById("optBM_Z"); + if (oRadioBMZ) { + oRadioBMZ.disabled=blnDisableZ; + oHideCtrl=oRadioBMZ; + if (oHideCtrl.parentNode.tagName=="LABEL") oHideCtrl=oHideCtrl.parentNode + oHideCtrl.style.display=(blnDisableZ ? "none" : "inline"); + } +} +*/ + +// ------------------------------------------------------------- +// Events for Stabilisator +function chkStabilisatorOnClick (objChk) { + if (objChk.checked) CheckSBwithTipon(); +} +function CheckSBwithTipon () { + if (GetValChk("chkTipon")==false) return; + if (GetValChk("chkStabilisator")) { + alert("De combinatie 'Tipon' EN 'Stabilisator' is niet mogelijk."); + SetValChk("chkStabilisator",false); + } +} Index: TECH/SourceCodeUtils.cls.xml =================================================================== diff -u --- TECH/SourceCodeUtils.cls.xml (revision 0) +++ TECH/SourceCodeUtils.cls.xml (revision 2) @@ -0,0 +1,83 @@ + + + +1 +%RegisteredObject +0 + + +1 +InternalName +%Boolean + + + + +1 +InternalName:%String +%String + + + + +1 +InternalName:%String +%Boolean + + + + +1 +InternalName:%String +%String + + + + Index: _vhisie/TBX/MainOrderDtl.csp =================================================================== diff -u --- _vhisie/TBX/MainOrderDtl.csp (revision 0) +++ _vhisie/TBX/MainOrderDtl.csp (revision 2) @@ -0,0 +1,493 @@ + + + + + + + + + + + + + + + + + + + + + + +
     #(..WebTextValue("Order",Taal,"L"))# 
    + #(..WebTextValue("Order",Taal,"L"))# + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(..WebTextValue("Algemene gegevens",Taal,"L"))#
    #(..WebTextValue("KLNaam",Taal,"L"))# :
    #(WSOrd.KLNaam)##($G(arWSVTL("BonType")))##(..WebTextValue("Nummer_Kort",Taal,"L"))# : #(WSOrd.OrderNr)#
    #(..WebTextValue("Commissie",Taal,"L"))# :
    #(WSOrd.Commissie)#
    #(..WebTextValue("Levertijd",Taal,"L"))# :
    #(WSOrd.LeverTijd)#
    #(..WebTextValue("Kleurkeuze",Taal,"L"))#
    +
    #(..WebTextValue("Design",Taal,"L")_"/"_..WebTextValue("Ladezijden",Taal,"L"))# :
    + +
    +
    #($G(arWSVTL("KLR_DS")))#
    + +
    +
    #($TR(..WebTextValue("Bodem&Rug",Taal,"L")," ",""))# :
    + +
    #($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue("Relingen",Taal,"L"))# :
    +
    + +
    #($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue($S(0:"VerhoogdeZijwand",1:"VullingGlas_"_dcID),Taal,"L"))# :
    +
    +
    +
    #($G(arWSVTL("KLR_KB")))#
    + +
    #($G(arWSVTL("KLR_RK")))#
    +
    + +
    #($G(arWSVTL("KLR_KV")))#
    +
    +
    #(..WebTextValue("Maten",Taal,"L"))#
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(arVTL("TH","LT") )##(arVTL("TH","CB") )##(arVTL("TH","WD") )##(arVTL("TH","LD") )##(arVTL("TH","DK") )##(arVTL("TH","FB") )##(arVTL("TH","BX") )##(arVTL("TH","DIV"))##(arVTL("TH","Aant"))# #(..WebTextValue("PrijsAKPrefix",Taal,"L"))# #(..WebTextValue("PrijsPerStukTH",Taal,"L"))##(..WebTextValue($S(WSOrd.TotPrijs>0:"PrijsPerStukTH", 1:"InfoTH"),Taal,"L"))#
    #(arWSVTL("LN",i,"LT"))##(arWSVTL("LN",i,"CB"))##(arWSVTL("LN",i,"WD"))##(arWSVTL("LN",i,"LD"))##(arWSVTL("LN",i,"DK"))##(arWSVTL("LN",i,"FB"))##(arWSVTL("LN",i,"BX"))##(arWSVTL("LN",i,"DIV"))##(arWSVTL("LN",i,"AANT"))# #(arWSVTL("LN",i,"PRIJS"))#
    +

    #(..WebTextValue("NietMeeleveren",Taal,"L"))#: #($G(arWSVTL("NietMee")))#

    +
     #(..WebTextValue("PrijsTotaal",Taal,"L"))#:#(WSOrd.TotAantal)# #($S($G(arWSVTL("TotPrijs"))="":" ",1:arWSVTL("TotPrijs")))#
    + +

    + #(..WebTextValue("Aankoopprijzen",Taal,"L"))# +

    +
    + +

    + #($G(arShow("WSErrorsInfo","TEXT")))# + #(..WebTextValue("MeerInfo",Taal,"L"))# ... +

    +
    + +

    + #($G(arShow("VervaldagOFF","TEXT")))# +

    +
    + +

    + Die Bruttopreise verstehen sich ab Werk, zuz�glich der gesetzlichen Mehrwertsteuer. +

    +
    + +

    + #(..WebTextValue("NotRegUserInfo",Taal,"O"))# +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + #(..WebTextValue("BtnRecalcOrder",Taal,"L"))# +  : #(..WebTextValue($S((RedenVervallen="NieuweActie"):"Actie_SFS_GRATIS_KORPUSSCHIENEN_2011_NieuweActie", (RedenVervallen="ActieVervallen"):"Actie_SFS_GRATIS_KORPUSSCHIENEN_2011_ActieVervallen", 1:"VervallenRecalc"),Taal,"L"))#
      + + + #($G(arShow("Submit","TEXT"),"Verzenden"))# + + #($G(arShow("Submit","TEXT"),"Verzenden"))# + + #($S($L($G(arShow("Submit","INFO"))):" : "_$G(arShow("Submit","INFO")), 1:""))#
    +
    + #($G(arShow("SubmitAgain","INFO")))# +
    #(..WebTextValue("AfdrukVersieInfo",Taal,"L",$LB("F")))#
      + + #(..WebTextValue("Afdrukbare versie",Taal,"L"))# + + #(..WebTextValue("Afdrukbare versie",Taal,"L"))# + +   +  : #(..WebTextValue("AfdrukVersieInfo",Taal,"L"))#. + +
       « #(..WebTextValue("ToonXML",Taal,"L"))# » +    « #(..WebTextValue("PrintEnSluit",Taal,"L"))# » +
    +
      + #(..WebTextValue("ToonXML",Taal,"L"))# +  
    #(..WebTextValue("SwitchViewMode",Taal,"O",$LB("F")))#
     #(..WebTextValue($S(1:"BtnShowVKPrijs",1:"BtnSwitchViewMode"),Taal,"L"))# + +  : #(..WebTextValue("SwitchViewMode",Taal,"O"))# 
    #(..WebTextValue("BookmarkPage",Taal,"O",$LB("F")))#
     #(..WebTextValue("BookmarkPage",Taal,"L"))# : #($P(..WebTextValue("BookmarkPage",Taal,"O"),",",1))# 
    #(..WebTextValue("BookmarkPage",Taal,"O",$LB("F")))# (Ctrl-D)
      + #($G(arShow("SubmitToVHEPN","TEXT"),"Verzenden"))# + #($S($L($G(arShow("SubmitToVHEPN","INFO"))):" : "_arShow("SubmitToVHEPN","INFO"), 1:""))#
       +  : #(..WebTextValue("VerzondenToVH",Taal,"L"))#   + « #($$$LCase(..WebTextValue("VerzendenOpnieuw",Taal,"L")))# »
    +    #(arShow("SubmitToVHEPNAgain","INFO"))# +
    +  
      + #(..WebTextValue("BtnSubmitAdmin",Taal,"L"))# +  : de bestelling naar ADMIN verzenden (verdere verwerking noodzakelijk)
       +  : deze bestelling is naar ADMIN verzonden !   + « #(..WebTextValue("BtnSubmitAdmin",Taal,"L"))# »
    +    #(arShow("SubmitAdminAgain","INFO"))# +
    +
    +    --> wijzig verpakking: bulk (#(WzgBulkValue)#) + / bulk MET (#("O")#) + / per stuk + +
    +
     #(..WebTextValue("BtnCalcOrder",Taal,"L"))# : de prijzen berekenen via de web-wizard
     #(..WebTextValue("BtnModifyOrder",Taal,"L"))# : #(..WebTextValue("ModifyOrder",Taal,"O"))#
    +
    Index: Prod/GAData/KostDtl.cls.xml =================================================================== diff -u --- Prod/GAData/KostDtl.cls.xml (revision 0) +++ Prod/GAData/KostDtl.cls.xml (revision 2) @@ -0,0 +1,248 @@ + + + +persistent +%Library.Persistent,%XML.Adaptor + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Prod.GAData.Product +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +0 +1 +1 +Product,Aantal,SortNr +1 + + + +%Library.CacheStorage +^Prod.GAData.ProductKostD +KostDtlDefaultData +^Prod.GAData.ProductKostD +^Prod.GAData.ProductKostI +^Prod.GAD.KostDtlS + +%%CLASSNAME +node +0 + + +listnode + +Groep + + +KostCode + + +KostPlaats + + +MatKost + + +MatViaMin + + +Multiplicant + + +Reductor + + +Tijd + + +TijdKost + + +TijdViaMin + + +Variabelen + + + + + Index: csp/vhLibError.cls.xml =================================================================== diff -u --- csp/vhLibError.cls.xml (revision 0) +++ csp/vhLibError.cls.xml (revision 2) @@ -0,0 +1,675 @@ + + + + listbuild) +uitgevoerd via de classmethods Act...(). Deze laatste kunnen op zich nog eens "Custom" routines oproepen. +De foutgegevens en eventueel extra info kan via de array arErrInfo worden doorgegeven. +Het uiteindelijke resultaat is meestal een ErrorPage, JS alert msg of een Redirect url.]]> +User +vhLib.Macro,vhLib.cspError +cache +%CSP.Error +0 + + + +Parameter moet aangepast worden in afgeleide klasse +/csp/wss/vhLibError.csp + + + +59836,58461 + + + + +CustomEHandlerInitTEMPLATE() +Deze method moet hernoemd worden naar CustomEHandlerInit() en de code ge-uncomment worden. +Stel dan in welke ACTIONS bij een foutmelding uitgevoerd worden. +1 +lbErrTypes +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") ; $LB("","OnPageMinimum") + Quit + */ +]]> + + + +1 +lbErrTypes +0) + Kill tmpAr + Do @("dehBuildAr"_ErrType) + Merge %cspEHandler(ErrType)=tmpAr + Quit +dehBuildArPageLoadError ; PageLoadError + Set tmpAr("ACTIONS")=$LB("LogDB","Email","ErrPage") + Set tmpAr("ACTIONS","LogDB")=$LB("DFL") + Set tmpAr("ACTIONS","Email")=$LB("""CSPserver "_$system.Server.HostName()_""" ",$LB($$$EmailToSysOp),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,0) + Set tmpAr("ACTIONS","ErrPage")=$LB("~") + Quit +dehBuildArPreHTTPTimeOut ; PreHTTPTimeOut + Set tmpAr("ACTIONS")=$LB("ErrPage") ; or RedirURL + Set tmpAr("ACTIONS","ErrPage")=$LB("~") + Quit +dehBuildArHyperEventError ; HyperEventError + Set tmpAr("ACTIONS")=$LB("LogDB","Email","JSAlert") + Set tmpAr("ACTIONS","LogDB")=$LB("DFL") + Set tmpAr("ACTIONS","Email")=$LB("""CSPserver "_$system.Server.HostName()_""" ",$LB($$$EmailToSysOp),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,0) + Set tmpAr("ACTIONS","JSAlert")=$LB("Error returned by server call") + Quit +dehBuildArHyperEventTimeOut ;HyperEventTimeOut + Set tmpAr("ACTIONS")=$LB("JSAlert") + Set tmpAr("ACTIONS","JSAlert")=$LB("Session TimeOut") + Quit +]]> + + + + +Method to OVERRIDE when defining custom %cspEHandler for "HyperEventTimeOut". +Deze definities zijn globaal voor de hele CSP-application; het is immers niet mogelijk om +bij "HyperEventTimeOut" de OrigCSPClassName te detecteren om daar de CustomEH array in te vullen. +1 + + + + +1 +%Boolean +1 + + + + + +If an error occurs while processing a HyperEvent then this method is called. +This method will write out javascript code that will be executed on the browser. +1 + + + + + listbuild) uit]]> +1 +FromMethod:%String +0) + . ;Set blnMatch=(blnMatch)&&("...") ; Other criteria + . If blnMatch Set MatchNode=i + Quit MatchNode +hceExecuteEHAtion(Action) + // Possible values for Action: + Quit:($LF($LB("ErrPage","JSAlert","Email","LogDB","Redir","CustomCOS","CustomJS"),$G(Action))'>0) + New lbActionDefs + Set lbActionDefs=arActs("ACTIONS",Action) + ;d $$$DBG("Execute action "_Action_" values="_$$$LCVT(lbActionDefs)) + If Action="ErrPage" Do + . Do ..ActErrPage(lbActionDefs) + Else If Action="JSAlert" Do + . New tmpMsg + . ;Set tmpMsg="TestMessage by WimV:"_$$$CRLF_##class(%CSP.LogError).ErrString() + . If $G(arActs("MSG",Action,1))'="" Set tmpMsg=arActs("MSG",Action,1) + . Else Set tmpMsg=$LG(lbActionDefs,1) + . Do ..ActJSAlert($LB(tmpMsg,1)) + Else If Action="Email" Do + . New tmpBody + . If $G(arActs("MSG",Action,1))'="" Set tmpBody=arActs("MSG",Action,1) + . Else Set tmpBody=$LG(lbActionDefs,4) + . Do ..ActEmail($LB($LG(lbActionDefs,1),$LG(lbActionDefs,2),$LG(lbActionDefs,3),tmpBody,0,$LG(lbActionDefs,6)),.arErrInfo) + Else If Action="LogDB" Do + . Do ..ActLogDB(lbActionDefs,.arErrInfo) + Else If Action="Redir" Do + . Do ..ActRedir($LB($LG(arActs("ACTIONS",Action),1)),.arErrInfo,"") + Else If Action="CustomCOS" Do + . + Else If Action="CustomJS" Do + . + Else Do + . ; Nothing + Quit +]]> + + + + +Vult de basis error info in de Array arErrInfo op. +De array arErrInfo als .local doorgeven +1 + + + + + +1 +FromMethod:%String,ErrNumber:%Integer +%String + + + + + +Geeft de ClassName terug van de klasse of csp-page van waaruit de Error gegenereerd werd. +1 +FromMethod:%String + + + + +1 +%Status + + + + +1 +%Status + + &html< + + + Error + + +

    Error on CSP page.

    + #($S(blnDirect:"", $L($G(cls)_$G(mth)):"

    [no OnPage method: wrong value specified: Class="""_$G(cls)_""" , method="""_$G(mth)_"""]

    ", 1:""))# +
    > + Do opmDisplayErrorHidden + &html< + > + Quit $$$OK +opmDisplayErrorHidden + // Internet Explorer doesn't work without this routine !!! (WHY? don't know) + &html<
    > + New ErrorInfo + Do ..DecomposeError(%request.Get("Error:ErrorCode"),.ErrorInfo) + Do ..DisplayError(.ErrorInfo) + &html<
    > + Quit +]]>
    +
    + + + +lbArgs=$LB(classname, methodname) +1 + + + + + + +lbArgs=$LB(message As %String, UseQuoteJS As %Boolean = 1) +1 + + + + + + +lbArgs=$LB(From,lbTo,Subject,Body,BodyIsStream=0,blnHTML=0) +1 + +%Status +" +#define DflSubject "CSP ERROR" + Quit:($G(lbArgs)=$LB("Skip")) "" ; Don't send E-mail + New From,lbTo,Subject,Body,BodyIsStream,blnHTML,msg,CustomMsg,sc,tmpStream + Set From=$LG(lbArgs,1, $$$DflFrom) + Set lbTo=$LG(lbArgs,2) + Set Subject=$LG(lbArgs,3, $$$DflSubject) + Set Body=$LG(lbArgs,4) + Set BodyIsStream=0 ; $LG(lbArgs,5,0) + Set blnHTML=$LG(lbArgs,6,0) + Quit:(lbTo="")||($LG(lbTo,1)="") "" + Set tmpStream="" + If Body="" Do + . Do actMailBodyMinimum + Else If Body="§DFL_HTML§" Do + . Do actMailBodyDflHTML + Else If Body="§DFL_TEXT§" Do + . Do actMailBodyDflText + Else If Body="~" Do + . Set Body="" + Else Do ; Nothing. Use values as passed by lbArgs + +#If ($ZCVT($ZUTIL(110),"U")'["WWW") + Do ; Send to SoapSysOp only on WWW; else replace by "WV" + . New i + . Set i=$LF(lbTo,"ICT_SOAPSysOp@vanhoecke.be") + . Set:(i>0) $LI(lbTo,i)="wv@vanhoecke.be" +#EndIf + ; Send E-mail + If $IsObject($G(tmpStream)) Do + . Set sc=$$SendMiniMailXtd^vhLib.Mail(From,lbTo,Subject,tmpStream,1,blnHTML) + Else Do + . Set sc=$$SendMiniMailXtd^vhLib.Mail(From,lbTo,Subject,Body,$G(BodyIsStream,0),blnHTML) + If 'sc ; Set errmsg=$$ParseStatus^vhLib(sc)_" From="_From + Set tmpStream="" + Quit sc +actMailBodyMinimum + Set Body="CSP ERROR: "_$$$CRLF_##class(%CSP.LogError).ErrString()_$$$CRLF + Set blnHTML=0 + Quit +actMailBodyDflText + Set Body="" + Set Body=Body_"CSP ERROR:"_$$$CRLF + Set Body=Body_""_$$$CRLF + Set Body=Body_##class(%CSP.LogError).ErrString()_$$$CRLF + Set Body=Body_""_$$$CRLF + Set Body=Body_"--- End of message ---"_$$$CRLF + Set blnHTML=0 + Quit +actMailBodyDflHTML + Do IOToStream^vhLib(.tmpStream,$LB("CLASSM","%CSP.Error","OnPage")) + Set blnHTML=1 + Quit +]]> + + + + +lbArgs=$LB(LogType,Applic,lbCustomLog) +lbCustomLog=$LB(mth,cls,blnWithInfo[=1]) + waarbij cls de ClassName van de op te roepen klasse is (en mth de method); + pre-defined values: §OrigCSP§ (="" leeg) - CSP page / §ErrH§ - this error page +1 + + Short + ; Type: [HTML] + Quit $LB(Time,FromMethod,Applic,,,,,,RefNd,$G(Type)) +actLogNodesShort(NewNode) ; NewNode als .local doorgeven + New tmpAr,ErrorInfo + If $D(arErrInfo("ErrorInfo")) Do + . Merge ErrorInfo=arErrInfo("ErrorInfo") + Else Do ; in case arErrInfo not supplied + . Do ..DecomposeError(%request.Get("Error:ErrorCode"),.ErrorInfo) + Set tmpAr=$$actLogNodeMainData(CurTime,$G(FromMethod),,,Applic) + Set tmpAr($$$KeepNd)=0 + If $O(ErrorInfo($O(ErrorInfo(""))))="" Do + . Merge tmpAr($$$LogNd)=ErrorInfo($O(ErrorInfo(""))) + Else Do + . Merge tmpAr($$$LogNd)=ErrorInfo + Set NewNode=$$actLogAddToGlobal("S",.tmpAr) + Quit (NewNode>0) +actLogNodesLong(NewNode) ; NewNode als .local doorgeven +#define MaxBlockSize 32000 + New tmpStream,tmpAr,sub,sLine,tmpLen + Set tmpStream=##class(%Library.FileCharacterStream).%New() + Do IOToStream^vhLib(.tmpStream,$LB("CLASSM","%CSP.Error","OnPage")) + Set tmpAr=$$actLogNodeMainData(CurTime,$G(FromMethod),,"HTML",Applic) + Set tmpAr($$$KeepNd)=0 + Set tmpAr($$$LogNd)=0 + Set tmpLen=$$$MaxBlockSize+1 + Do tmpStream.Rewind() + For Quit:(tmpStream.AtEnd) Do + . Set sLine=tmpStream.ReadLine() + . If (tmpLen+$L(sLine))>$$$MaxBlockSize Do + .. Set sub=$INCREMENT(tmpAr($$$LogNd)) + .. Set tmpAr($$$LogNd,sub)="" + .. Set tmpLen=0 + . Set tmpAr($$$LogNd,sub)=tmpAr($$$LogNd,sub)_sLine + . Set tmpLen=tmpLen+$L(sLine) + ; Replace unnecessary HTML tags/attributes (font formatting) + Set sub="" + For Set sub=$O(tmpAr($$$LogNd,sub)) Quit:(sub="") Do + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub)," face=""Verdana,Arial,Helvetica,sans-serif""","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub)," face=""Verdana, Arial, Helvetica, sans-serif""","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub),"","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub),"","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub),"","") + Set NewNode=$$actLogAddToGlobal("L",.tmpAr) + Set tmpStream="" + Quit (NewNode>0) + +actLogAddToGlobal(NdType,arNewLog) ; arNewLog als .local doorgeven + New NewNode,i,Cnt + Set NewNode=$Increment($$$globLog(NdType)) + Merge $$$globLog(NdType,NewNode)=arNewLog + Do:($G($$$globLog("DEF",NdType,"MaxNodes"))>0) actLogCleanUp + Quit NewNode +actLogCleanUp + Set Cnt=1 + Set i=NewNode + For Set i=$O($$$globLog(NdType,i),-1) Quit:(i<1) Do + . Quit:($G($$$globLog(NdType,i,$$$KeepNd),0)) + . Set Cnt=Cnt+1 + . If Cnt>$$$globLog("DEF",NdType,"MaxNodes") Kill $$$globLog(NdType,i) + Quit +]]> + + + + +lbArgs=$LB(Url) +1 + + + + + +1 + +%String + + + + + +lbArgs=$LB() +1 + + + + + + +lbArgs=$LB() +1 + + + +
    +
    Index: Prod/GAMeta/BT/TBOndSpecial.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBOndSpecial.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBOndSpecial.cls.xml (revision 2) @@ -0,0 +1,62 @@ + + + + +Speciale onderdelen; bijvoorbeeld: alleen rug en bodem +persistent +1 +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBODSP") +TBOndSpecialDefaultData +^Res.PI.Items("PR;GA;TBODSP") +^Res.PI.Items("index","PR;GA;TBODSP") +^Res.PI.Items("stream","PR;GA;TBODSP") + +BeperkGUI +subnode +"BeperkGUI" + + +ProductKenmerken +subnode +"ProductKenmerken" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TaalOms" + + + + Index: csp/tbx/mainnews.cls.xml =================================================================== diff -u --- csp/tbx/mainnews.cls.xml (revision 0) +++ csp/tbx/mainnews.cls.xml (revision 2) @@ -0,0 +1,80 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write $c(9)_"",! + Write $c(9)_"",! + Write "",! + Write !,! + ;Set UrlHowTo="Help/HowTo_"_$S(Taal?1(1"N",1"F",1"E",1"D"):Taal,1:"N")_".htm" + ;Set AhrefBL="BLUMOTION" + ;Set BlumotionVTL=..WebTextValue("MainInfoNew03",Taal,"O") + ;Set BlumotionVTL=$$$Replace(BlumotionVTL,"BLUMOTION",AhrefBL) + Write ! + Set DefaultsVTL=..WebTextValue("MainInfoNew01",Taal,"O") + Write !,"" + Write !,$c(9)_"",! + Write $c(9,9) + If '((+$H<61696)) Goto %csp00001 ;{ + Write "" + Write "
    " +%csp00001 ;} + Write !,$c(9,9)_(DefaultsVTL),! + Write $c(9,9) + Write !,!,$c(9)_"",! + Write "",! + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"» " + Write "" + Write (..WebTextValue("MainInfoTipsKlik",Taal,"L")) + Write "" + Write "! ",! + Write $c(9,9)_(..WebTextValue("MainInfoTips",Taal,"O")),! + Write !,$c(9)_"",! + Write "" +]]>
    +
    + + +c:\cachesys\csp\vhisie\TBX\MainNews.csp + + + +/vhisie/TBX/MainNews.csp + + + +61649,48749 + +
    +
    Index: Prod/GADef/BT/BeperkAfm/tmpDev.mac.rou =================================================================== diff -u --- Prod/GADef/BT/BeperkAfm/tmpDev.mac.rou (revision 0) +++ Prod/GADef/BT/BeperkAfm/tmpDev.mac.rou (revision 2) @@ -0,0 +1,130 @@ +ControleAfm() ; Parameters: Toepassing,BeslagCode,Hoogte,Breedte,Gewicht,BeslagQty,OutputType + Quit:('$G(Toepassing)) 0 + Quit:(+$G(Hoogte)'>0) 0 + Quit:(+$G(Breedte)'>0) 0 + Quit:(Toepassing.ItemID="KD")&&(BeslagQty'>0) 1 + New rs,ObjArray,BeperkAr,tmpObj,Cnt + Kill ObjArray + Set Cnt=0 + Set rs=##class(%ResultSet).%New("Prod.GADef.BT.BeperkAfm:BeperkToepasBeslag") + Do rs.Execute(Toepassing.%Id(),BeslagCode) + For Quit:'rs.Next() Do + . Set tmpObj=##class(Prod.GADef.BT.BeperkAfm).%OpenId(rs.Get("ID")) + . Quit:('tmpObj) + . Set ObjArray(rs.Get("ID"))=tmpObj + . Set Cnt=Cnt+1 + Do rs.%Close() + Quit:(Cnt=0) 1 ; Geen Beperkingen voor Toepassing en BeslagCode. + ; Else + Merge BeperkAr=ObjArray + New key,msg + Set msg="" + Do:(+$G(Gewicht)>0) cafBeperkGewicht + Do cafBeperkHoogte + Do cafBeperkBreedte + Do:(+$G(BeslagQty)>0) cafBeperkBeslagQty + Do cafCloseObjects + Quit:($L($G(msg))) "0;"_msg + Quit 1 +cafBeperkGewicht +#define FactG 1000 + Quit:('$D(BeperkAr)) + New tmpAr + Set key="" + For Set key=$O(BeperkAr(key)) Quit:(key="") Do + . If $$cafIsBetween(Gewicht, BeperkAr(key).GewMin,BeperkAr(key).GewMax) Set tmpAr(key)=BeperkAr(key) + If '$D(tmpAr) Do + . ; Voor geen enkel object valt Gewicht binnen de grenzen ==> Min. en Max. bepalen van alle objecten in BeperkAr + . New tmpMin,tmpMax + . Set key="" + . For Set key=$O(BeperkAr(key)) Quit:(key="") Do + .. Do cafUpdateMinMax(.tmpMin,.tmpMax, BeperkAr(key).GewMin,BeperkAr(key).GewMax) + . Do cafSetErrorMsg("Gewicht (in kg)",Gewicht/$$$FactG,tmpMin/$$$FactG,tmpMax/$$$FactG) + Kill BeperkAr + Merge:($D(tmpAr)) BeperkAr=tmpAr + Quit +cafBeperkHoogte + Quit:('$D(BeperkAr)) + New tmpAr + Set key="" + For Set key=$O(BeperkAr(key)) Quit:(key="") Do + . If $$cafIsBetween(Hoogte, BeperkAr(key).H1,BeperkAr(key).H2) Set tmpAr(key)=BeperkAr(key) + If '$D(tmpAr) Do + . ; Voor geen enkel object valt Hoogte binnen de grenzen ==> Min. en Max. bepalen van alle objecten in BeperkAr + . New tmpMin,tmpMax + . Set key="" + . For Set key=$O(BeperkAr(key)) Quit:(key="") Do + .. Do cafUpdateMinMax(.tmpMin,.tmpMax, BeperkAr(key).H1,BeperkAr(key).H2) + . Do cafSetErrorMsg("Hoogte",Hoogte,tmpMin,tmpMax) + Kill BeperkAr + Merge:($D(tmpAr)) BeperkAr=tmpAr + Quit +cafBeperkBreedte + Quit:('$D(BeperkAr)) + New tmpAr,IPLBreedteAr + Set key="" + For Set key=$O(BeperkAr(key)) Quit:(key="") Do + . Set IPLBreedteAr(key,"Min")=$$cafInterpoleerBMin(BeperkAr(key)) + . Set IPLBreedteAr(key,"Max")=$$cafInterpoleerBMax(BeperkAr(key)) + . If $$cafIsBetween(Breedte, IPLBreedteAr(key,"Min"),IPLBreedteAr(key,"Max")) Set tmpAr(key)=BeperkAr(key) + If '$D(tmpAr) Do + . ; Voor geen enkel object valt Breedte binnen de grenzen ==> Min. en Max. bepalen van alle objecten in BeperkAr + . New tmpMin,tmpMax + . Set key="" + . For Set key=$O(BeperkAr(key)) Quit:(key="") Do + .. Do cafUpdateMinMax(.tmpMin,.tmpMax, IPLBreedteAr(key,"Min"),IPLBreedteAr(key,"Max")) + . Do cafSetErrorMsg("Breedte",Breedte,tmpMin,tmpMax,$$cafPrefixHoogte) + Kill BeperkAr + Merge:($D(tmpAr)) BeperkAr=tmpAr + Quit +cafBeperkBeslagQty + Quit:('$D(BeperkAr)) + New tmpAr + Set key="" + For Set key=$O(BeperkAr(key)) Quit:(key="") Do + . If $$cafIsBetween(BeslagQty, BeperkAr(key).BslQtyMin,BeperkAr(key).BslQtyMax) Set tmpAr(key)=BeperkAr(key) + If '$D(tmpAr) Do + . ; Voor geen enkel object valt BeslagQty binnen de grenzen ==> Min. en Max. bepalen van alle objecten in BeperkAr + . New tmpMin,tmpMax + . Set key="" + . For Set key=$O(BeperkAr(key)) Quit:(key="") Do + .. Do cafUpdateMinMax(.tmpMin,.tmpMax, BeperkAr(key).BslQtyMin,BeperkAr(key).BslQtyMax) + . Do cafSetErrorMsg("Beslag Aantal",BeslagQty,tmpMin,tmpMax) + Kill BeperkAr + Merge:($D(tmpAr)) BeperkAr=tmpAr + Quit +cafIsBetween(Value,Min,Max) + Quit:($G(Min)="")&&($G(Max)="") 1 + Quit (Value'Max) +cafUpdateMinMax(tmpMin,tmpMax,CurMin,CurMax) + If $G(CurMin)'="" Set:('$D(tmpMin))||(CurMintmpMax) tmpMax=CurMax + Quit +cafInterpoleerBMin(obj) + Quit $$cafInterpoleer(Hoogte,obj.H1,obj.H2,obj.BMin1,obj.BMin2) +cafInterpoleerBMax(obj) + Quit $$cafInterpoleer(Hoogte,obj.H1,obj.H2,obj.BMax1,obj.BMax2) +cafInterpoleer(HUser,H1,H2,B1,B2) + Quit:(H1=H2) $S(HUser=H1:B1, 1:"") + Quit (B2-B1)*(HUser-H1)/(H2-H1) + B1 +cafPrefixHoogte() +#define NumDsp(%v) $TR(+$J(%v,0,2),".",",") + Quit "Voor Hoogte="_$$$NumDsp(Hoogte)_" geldt:"_$C(13,10) +cafSetErrorMsg(Label,Value,tmpMin,tmpMax,Prefix) +#define NumDsp(%v) $TR(+$J(%v,0,2),".",",") + If OutputType="LOGOPM" Do + . Set msg=""""_Label_""" bevat een ongewone waarde ("_$$$NumDsp(Value)_"). Deze is niet volgens de normen. - � -" + Else Do + . Set msg=$G(Prefix)_""""_Label_""" bevat een ongeldige waarde ("_$$$NumDsp(Value)_")."_$C(13,10) + . If tmpMin=tmpMax Set msg=msg_""""_Label_""" moet gelijk zijn aan "_$$$NumDsp(tmpMin)_"." + . Else Set msg=msg_""""_Label_""" moet liggen tussen de grenzen "_$$$NumDsp(tmpMin)_" - "_$$$NumDsp(tmpMax)_"." + Quit +cafCloseObjects + ; Alle geopende Objecten sluiten + New ObjID + Set ObjID="" + For Set ObjID=$O(ObjArray(ObjID)) Quit:(ObjID="") Do + . Set tmpObj=$G(ObjArray(ObjID)) + . Do:(tmpObj) tmpObj.%Close() + Kill ObjArray + Quit \ No newline at end of file Index: WS/EC/WebShopProxy/Transfer.cls.xml =================================================================== diff -u --- WS/EC/WebShopProxy/Transfer.cls.xml (revision 0) +++ WS/EC/WebShopProxy/Transfer.cls.xml (revision 2) @@ -0,0 +1,95 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.MsgDescriptor +WS.EC.WebShopProxy + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.Stream +characterstream + + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + Index: WS/TBX/CalcSoap/WSOrdToAdmin.cls.xml =================================================================== diff -u --- WS/TBX/CalcSoap/WSOrdToAdmin.cls.xml (revision 0) +++ WS/TBX/CalcSoap/WSOrdToAdmin.cls.xml (revision 2) @@ -0,0 +1,75 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.TBX.CalcSoap + + +%Client,%Action,WSOrd:WS.TBX.Order,Opties:%String,ClientAddress:%String +%Library.List +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.List + + + + + +WS.TBX.Order + + + + +%Library.String + + + + +%Library.String + + + + Index: Prod/GADef/BT/BeperkAfm.cls.xml =================================================================== diff -u --- Prod/GADef/BT/BeperkAfm.cls.xml (revision 0) +++ Prod/GADef/BT/BeperkAfm.cls.xml (revision 2) @@ -0,0 +1,285 @@ + + + + +Bevat beperkingen op afmetingen, gewicht en andere eigenschappen +persistent +%Library.Persistent,Res.PI.Abstract + + + +Maximale Breedte bij hoogte H1 +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Maximale Breedte bij hoogte H2 +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Minimale Breedte bij hoogte H1 +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Minimale Breedte bij hoogte H2 +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Maximum aantal voor het gespecifieerde beslag +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Minimum aantal voor het gespecifieerde beslag +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Maximaal gewicht voor de afmetingen (B.,H.) in gram. +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Minimaal gewicht voor de afmetingen (B.,H.) in gram. +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Beperking: MINIMALE hoogte +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Beperking: MAXIMALE hoogte +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.PI.Toepas +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +ItemID +1 + + + +0 +1 +code +Toepassing:Res.PI.Toepas,BeslagCode:%Library.String,Hoogte:%Library.String,Breedte:%Library.String,Gewicht:%Library.Float,BeslagQty:%Library.Integer,OutputType:%Library.String="MSG" +0 +%Library.Boolean +0 + + + + +%Library.SQLQuery +(ToepasID:%Library.String,BeslagCode:%Library.String) +0 +SELECT ID,Omschrijving + FROM Prod_GADef_BT.BeperkAfm + WHERE (Toepassing=:ToepasID) AND (BeslagCode=:BeslagCode OR BeslagCode="" OR BeslagCode IS NULL) + +0 + + + + + +%Library.CacheStorage +^Res.PI.Items("BPAFD") +BeperkAfmDefaultData +^Res.PI.Items("BPAFD") +^Res.PI.Items("BPAFI") +^Prod.GAD.BeperkAfmS + +%%CLASSNAME +node +0 + + +listnode + +BMax1 + + +BMax2 + + +BMin1 + + +BMin2 + + +BeslagCode + + +BslQtyMax + + +BslQtyMin + + +GewMax + + +GewMin + + +H1 + + +H2 + + +Omschrijving + + +Toepassing + + +VolgNr + + + +TaalOms +subnode +"TaalOms" + + + + Index: vhRtn1.mac.rou =================================================================== diff -u --- vhRtn1.mac.rou (revision 0) +++ vhRtn1.mac.rou (revision 2) @@ -0,0 +1,589 @@ +vhRtn1 ;Routine library 1 [ 03/28/2003 10:27 AM ] + +%J() ; Nieuw index voor ^HULP + Set sJC=$G(sJC)+1 + If sJC>990 Set sJC=1 Set:$O(^HULP($J+1*1000),-1)\100=$J sJC=$O(^HULP($J+1*1000),-1)#1000+1 + Quit $J*1000+sJC + +%JDECR(%J,HulpRef) ; Vrijgeven van %J + ; of te wel %J of te wel HulpRef meegeven als parameter + If $G(%J) Quit:$J*1000+sJC'=%J + If $L($G(HulpRef)) Quit:$NAME(^HULP($J*1000+sJC))'=HulpRef + Set sJC=sJC-1 + Kill:$G(%J) ^HULP(%J) + Kill:$L($G(HulpRef)) @HulpRef + Quit + + ; Vervangen of verwijderen van verschillende substrings + ; Eerst wordt alle occurences van string F1 vervangen door T1 + ; daarna van F2, ... +REPLACE5(String,F1,T1,F2,T2,F3,T3,F4,T4,F5,T5) + New I,P + For I=1:1:5 Quit:'$D(@("F"_I)) Do + .Set P=1 + .For Set P=$F(String,@("F"_I),P) Quit:'P Do + ..Set $E(String,P-$L(@("F"_I)),P-1)=@("T"_I) + ..Set P=P-$L(@("F"_I))+$L(@("T"_I)) + Quit String + + ; Vervangen of verwijderen van een substring in een string + ; Indien From gedefinieerd is dan wordt pas na de From-de occurence van de substring F de string vervangen + ; Indien Cnt is ingevuld dan worden er slecht Cnt vervangingen uitgevoerd +REPLACE(String,F,T,From,Cnt) + New P,I + Set P=1 + For I=1:1:$G(From) Set P=$F(String,F,P) Quit:'P + Quit:'P + Set:'$G(Cnt) Cnt=9999 + For Quit:'Cnt Set P=$F(String,F,P) Quit:'P Do + .Set $E(String,P-$L(F),P-1)=T + .Set P=P-$L(F)+$L(T) + .Set Cnt=Cnt-1 + Quit String + + ; Extractie van de keywords uit een string + ; Return : Keywords gescheiden door "\" +KEYLIST(String,BBExcl) + New S,R,I + Set:'$D(BBExcl) BBExcl="EXCLKEY" + Set S="",String=$$UPTRIMA(String) + For I=1:1:$L(String," ") S R=$P(String," ",I) If $L(R)>2,'$D(^BB("D",BBExcl,R)) Set S=S_"\"_R + Quit $P(S,"\",2,99) + + ;Omzetten van de karakters naar UpperCase +UPCASE(String) + Quit $TR(String,"azertyuiopqsdfghjklmwxcvbn�����","AZERTYUIOPQSDFGHJKLMWXCVBNEAECE") + + ;Omzetten van de karakters naar LowerCase +LOCASE(String) + Quit $TR(String,"AZERTYUIOPQSDFGHJKLMWXCVBN","azertyuiopqsdfghjklmwxcvbn") + ; De eerste letters van een woord behouden + ; De volgende letters van een woord in lowercase zetten + ; Woorden worden gescheiden door een leesteken zoals : Blanko, Komma,Punt,Dubbel punt, Punt-Komma, Slash, Uitroepteken, Vraagteken, Koppelteken. +INITCAP(S) New N,R,U ; + Set U=1 + For N=1:1:$L(S) Do + .Set $E(S,N)=$S(U:$E(S,N),1:$TR($E(S,N),"AZERTYUIOPQSDFGHJKLMWXCVBN","azertyuiopqsdfghjklmwxcvbn")) + .Set U=0 S:" . /:\?!,-"[$E(S,N) U=1 + Quit S + + ;Omzetten naar UpperCase en trimmen van niet ALPHA/SPATIE karakters +UPTRIMA(String) + Set String=$$UPCASE(String) + Quit:String?1.U String + New S,I + Set S="" + For I=1:1:$L(String) Set:$E(String,I)?1U!($E(String,I)=" ") S=S_$E(String,I) + Quit S + + ;Omzetten naar UpperCase en trimmen van niet ALPHA/NUMERIEKE karakters +UPTRIMAN(String) + Set String=$$UPCASE(String) + Quit:String?.U String + New S,I + Set S="" + For I=1:1:$L(String) Set:$E(String,I)?1U!($E(String,I)?1N) S=S_$E(String,I) + Quit S + + ;Extractie van de numerieke karakters +TRIMN(String) + Quit:String?.N String + New S,I + Set S="" + For I=1:1:$L(String) Set:$E(String,I)?1N S=S_$E(String,I) + Quit S + +#define UCase(%v) $ZCVT(%v,"U") + + ;Identnummer trimmen tot numeriek + 1e char mag een letter zijn. + ;Is gewoon een uitbreiding op TRIMN() . Een meer specifieke implementatie is ook mogelijk. +TRIMIDENT(String) ; [IDENT] Added by WimV on 11/02/2011 + New S,I + Set S="" + Set:($E(String,1)?1AN) S=S_$$$UCase($E(String,1)) + Set S=S_$$TRIMN($E(String,2,99)) + Quit S + + ;Extractie van de initialen +INITIAL(String) + New S,I + Set String=$$UPTRIMA(String),S="" + For I=1:1:$L(String," ") Set S=S_$E($P(String," ",I),1) + Quit S + + ;Lijst verwerking + ;Verwijderen van een waarde uit een lijst +REMLIST(List,Ref,Delim) + Quit:List'[Ref List + S:'$D(Delim) Delim=";" + New J + For J=1:1:$L(List,Delim)+1 Quit:$P(List,Delim,J)=Ref + Quit $P(List,Delim,1,J-1)_$S($P(List,Delim,J+1,999)'=""&($P(List,Delim,1,J-1)'=""):Delim,1:"")_$P(List,Delim,J+1,999) + + ; Verwijderen van een local of global Ref met verschillende sleutel waarden uit list +KILL(Ref,List) + New X,Y + Quit:'$L(List) + Set List=$TR(List,"\",";") + For Y=1:1:$L(List,";") Set X=$P(List,";",Y) Kill @Ref + Quit + + ; Invullen van de local of global definitie Ref met verschillende sleutelwaarden uit list +SET(Ref,List,Val) + New X,Y + Set:'$D(Val) Val="""""" + Quit:'$L(List) + Set List=$TR(List,"\",";") + For Y=1:1:$L(List,";") Set X=$P(List,";",Y) X "Set "_Ref_"="_Val + Quit + + ; Copieren van een deelboom in een global of local +COPYTREE(sFromNr,sToNr,sRef) + New sRF,sRT,sKey + Set:$E(sRef,$L(sRef))'="(" $E(sRef,$L(sRef))="" + Set sRF=sRef_$S($E(sRef,$L(sRef))="(":"",1:",")_"sFromNr)" + Set sRT=sRef_$S($E(sRef,$L(sRef))="(":"",1:",")_"sToNr)" + Merge @sRT=@sRF + Quit +COPYBOOM(sRF,sRT) + Merge @sRT=@sRF + Quit +COPYREC(sRF,sRT,sNiv) ;Recursieve copy + Merge @sRT=@sRF + Quit + +WARN w *7 Quit + +LINE(Type,Len,Vert) + New L,I,V,C + Set:'$D(Vert) Vert="" + Set L=$J("",Len) + Set:Type'="B" L=$TR(L," ",$$C(9)) + If Vert="" Quit L + If Type="" For I=1:1:$L(Vert,";") Do VERT($P(Vert,";",I)) Set $E(L,V)=C + If Type="B" Do + .For I=1:1:$L(Vert,";") Do + ..Do VERT($P(Vert,";",I)) + ..Set $E(L,V)=$S(C="":$$C(10),1:C) + If Type="S" Do + .For I=1:1:$L(Vert,";") Do + ..Do VERT($P(Vert,";",I)) + ..Xecute "For V="_V_" Set $E(L,V)=$S(C="""":$S(V=1:$$C(7),V=Len:$$C(6),1:$$C(11)),1:C)" + If Type="F" Do + .For I=1:1:$L(Vert,";") Do + ..Do VERT($P(Vert,";",I)) + ..Xecute "For V="_V_" Set $E(L,V)=$S(C="""":$S(V=1:$$C(1),V=Len:$$C(2),1:$$C(5)),1:C)" + If Type="L" Do + .For I=1:1:$L(Vert,";") Do + ..Do VERT($P(Vert,";",I)) + ..Xecute "For V="_V_" Set $E(L,V)=$S(C="""":$S(V=1:$$C(3),V=Len:$$C(4),1:$$C(8)),1:C)" + Quit L +VERT(v) + If v["$" Set V=$P(v,"$") + Else Set V=+v + Set C=$E(v,$L(V)+1,$L(v)) + If $L(C) Xecute "Set C="_C + Quit +C(Piece) + New C + Xecute "Set C=$C("_$P($P(FG,D,Piece),"*",2)_")" + Quit C + ; + ; Wrappen van text binnen kantlijnen + ; sLen : Afstand kantlijn + ; sRef : Bevat naam van een local of global ref + ; sRec : Bevat paste-gegevens met D gescheiden + ; .sWrap : Local waarin de verschillende tekstlijnen gestoken worden + ; .sWrap = Aantal lijnen + ; .sWrap(n) = Tekstlijn + ; Indent : Empty : Automatische indent met 1. of - * of blanko's + ; 0 : Geen indent + ; n : Indent van n op de 2de en volgende lijnen + ; Opmerking : Met ~ in de tekst wordt er een nieuwe lijn genomen. +WRAP(sLen,sRef,sRec,sWrap,sIndent) + New sTxt,sI,sJ,sS,sT,sO,sMem + Set sRec=$G(sRec) + Set (sMemInd,sIndent)=$G(sIndent) + Set sTxt="" + If ",("[$E(sRef,$L(sRef)) Set sI="",sRef=sRef_"sI)" For Set sI=$O(@sRef) Quit:sI="" Set sTxt=sTxt+1,sTxt(sTxt)=@sRef + Else Set sTxt=1,sTxt(1)=@sRef + Kill sWrap + Set sWrap=0 + Set sS="" + For sJ=1:1:sTxt Do + .For Set sI=$P(sTxt(sJ),"@",2) Quit:sI'?1.2N Do + ..Set sTxt(sJ)=$P(sTxt(sJ),"@")_$P(sRec,D,sI)_$P(sTxt(sJ),"@",3,99) + .Set sOMem=1 + .If $L(sTxt(sJ)) For sO=1:1:$L(sTxt(sJ),"~") Do + ..Set sT=$P(sTxt(sJ),"~",sO) + ..If sLen,$L(sT)!(sOMem'=sO) For sI=1:1:$L(sT," ") Do + ...If $L(sS)+$L($P(sT," ",sI))+sIndent>sLen!(sOMem'=sO) Do + ....Set sWrap=sWrap+1,sWrap(sWrap)=$J("",sIndent)_$E(sS,1,$L(sS)-1) + ....If sIndent="" Set sIndent=0 If sS?1.2N1"."1" "1.E!("- ~* ~ "[$E(sS,1,2)) Set sIndent=$L($P(sS," ",1))+1 For sIndent=sIndent:1:99 Quit:$E(sS,sIndent+1)'=" " + ....Set sS="" + ....Set:sO'=sOMem sIndent=sMemInd + ....Set sOMem=sO + ...Set sS=sS_$P(sT," ",sI)_" " + ..Set:'sLen sWrap=sWrap+1,sWrap(sWrap)=sT + Set:$L(sS)>1 sWrap=sWrap+1,sWrap(sWrap)=$J("",sIndent)_$E(sS,1,$L(sS)-1) + Quit:sLen + If sWrap For Quit:sWrap(sWrap)'=""!'sWrap Kill sWrap(sWrap) Set sWrap=sWrap-1 + Quit + +ISEURO() + Quit ''$$FADEF(11,1) + +EURO(Bedrag,Munt,NoSa,NoRound) + New Euro,FaMunt + If '$D(Q) New Q Set Q="K" + If '$D(D) New D Set D="\" + Set Munt=$G(Munt),Bedrag=$G(Bedrag),NoSa=$G(NoSa),NoRound=$G(NoRound) + Set FaMunt=$$FADEF() Set:Munt="" Munt=FaMunt + Set Euro=Bedrag*$$MUNT("EUR",,,NoSa,Munt) Set:'NoRound Euro=$J(Euro,0,$$MUNT("EUR",4,,NoSa)) + Quit Euro + +MUNT(Munt,Par1,Par2,NoSa,ToMunt) + ; Par1 1 = Afkorting + ; Par2 = 0 Oude + ; = 1 Nieuwe + ; Anders default + ; 2 = Omschrijving + ; 3 = Pariteit + ; Par2 = 1 Aankoop + ; = 2 Verkoop + ; = 3 financieel + ; = 11 Aankoop (invers) + ; = 12 Verkoop (invers) + ; = 13 financieel (invers) + ; 4 = Afronding + ; 5 = Omrekenen + ; Par2 = om te rekenen bedrag (Bedrag#Round) + ; Round = 1 : afronden volgens ToMunt + If $G(Munt)="?" Do HELPFUNC($ZN,"MUNT") Quit "" + New R,FaMunt + Set FaMunt=$$FADEF() + Set Munt=$G(Munt) Set:Munt="" Munt=FaMunt + Set ToMunt=$G(ToMunt) Set:ToMunt="" ToMunt=FaMunt + Set Munt=$$MUNTKODE(Munt),ToMunt=$$MUNTKODE(ToMunt) + Set Par1=$G(Par1,3),Par2=$G(Par2,2),NoSa=$G(NoSa),R=@("^"_Q_"BA(11,Munt)") + If NoSa="S",$D(@("^"_Q_"BA(NoSa,11,Munt)")) Set R=@("^"_Q_"BA(NoSa,11,Munt)") + If NoSa="E",$D(@("^"_Q_"BA(NoSa,11,Munt)")) Set R=@("^"_Q_"BA(NoSa,11,Munt)") + If Par1=1 Do + .Set R=$P(R,D) + .If Par2'=0,Par2'=1 + .Else Set R=$$MUNTKODE(R,Par2) + Else If Par1=2 Set R=$P(R,D,2) + Else If Par1=3 Set R=$$MUNTPAR(Munt,Par2,NoSa,ToMunt) + Else If Par1=4 Set R=$P(R,D,7) + Else If Par1=5 Do + .New Round + .Set Round=$P(Par2,"#",2),Par2=$P(Par2,"#") + .Set R=Par2/$$MUNT(Munt,,,NoSa,ToMunt) Set:Round R=$J(R,0,$$MUNT(ToMunt,4)) + Else Do + .Set R="" + .For Par1=1:1:4 Set R=R_D_$$MUNT(Munt,Par1,Par2) + .Set $E(R)="" + Quit R + +MUNTPAR(Munt,Type,NoSa,ToMunt) + ; Type 1 = Aankoop + ; Type 2 = Verkoop + ; Type 3 = Financieel + ; Type 11 = Aankoop (invers) + ; Type 12 = Verkoop (invers) + ; Type 13 = Financieel (invers) + If $G(Munt)="?" Do HELPFUNC($ZN,"MUNTPAR") Quit "" + New MuntPar,FaMunt + Set FaMunt=$$FADEF() + Set Munt=$G(Munt) Set:Munt="" Munt=FaMunt + Set Munt=$$MUNTKODE(Munt) + Set Type=$G(Type,2),NoSa=$G(NoSa) + Set MuntPar=$P(@("^"_Q_"BA(11,Munt)"),D,3,6) + If $G(NoSa)="S",$D(@("^"_Q_"BA(NoSa,11,Munt)")) Set MuntPar=$P(@("^"_Q_"BA(NoSa,11,Munt)"),D,3,6) + If $G(NoSa)="E",$D(@("^"_Q_"BA(NoSa,11,Munt)")) Set MuntPar=$P(@("^"_Q_"BA(NoSa,11,Munt)"),D,3,6) + If Type\10 Set MuntPar=$P(MuntPar,D,Type#10+1)/$P(MuntPar,D) + Else Set MuntPar=1/($P(MuntPar,D,Type+1)/$P(MuntPar,D)) + If $D(ToMunt) Do + .Set:ToMunt="" ToMunt=FaMunt + .Set ToMunt=$$MUNTKODE(ToMunt) + .Set MuntPar=MuntPar/$$MUNTPAR(ToMunt,Type,NoSa) + Quit MuntPar + +MUNTKODE(Munt,OldNew) + ; OldNew = 0 Oude + ; = 1 Nieuwe + New R,Versie6 + Set Munt=$G(Munt),OldNew=$G(OldNew),Versie6=$$ISVERS6 + Set:Munt="" Munt=$$FADEF() + If OldNew'=0,OldNew'=1 Set OldNew="" + Set:OldNew Versie6=1 + If OldNew=0 Do + .Set:Munt="BEF" Munt="BF" + .Set:Munt="DEM" Munt="DM" + .Set:Munt="FRF" Munt="FF" + .Set:Munt="CHF" Munt="FS" + .Set:Munt="NLG" Munt="HFL" + .Set:Munt="ITL" Munt="LIT" + .Set:Munt="ATS" Munt="OSH" + .Set:Munt="ESP" Munt="PTS" + Else If Versie6 Do + .Set:Munt="BF" Munt="BEF" + .Set:Munt="DM" Munt="DEM" + .Set:Munt="FF" Munt="FRF" + .Set:Munt="FS" Munt="CHF" + .Set:Munt="HFL" Munt="NLG" + .Set:Munt="LIT" Munt="ITL" + .Set:Munt="OSH" Munt="ATS" + .Set:Munt="PTS" Munt="ESP" + Else Do + .If Munt="BEF",$D(^KBA(11,"BF")) Set Munt="BF" + .Else If Munt="BF",$D(^KBA(11,"BEF")) Set Munt="BEF" + .Else If Munt="DEM",$D(^KBA(11,"DM")) Set Munt="DM" + .Else If Munt="DM",$D(^KBA(11,"DEM")) Set Munt="DEM" + .Else If Munt="FRF",$D(^KBA(11,"FF")) Set Munt="FF" + .Else If Munt="FF",$D(^KBA(11,"FRF")) Set Munt="FRF" + .Else If Munt="CHF",$D(^KBA(11,"FS")) Set Munt="FS" + .Else If Munt="FS",$D(^KBA(11,"CHF")) Set Munt="CHF" + .Else If Munt="NLG",$D(^KBA(11,"HFL")) Set Munt="HFL" + .Else If Munt="HFL",$D(^KBA(11,"NLG")) Set Munt="NLG" + .Else If Munt="ITL",$D(^KBA(11,"LIT")) Set Munt="LIT" + .Else If Munt="LIT",$D(^KBA(11,"ITL")) Set Munt="ITL" + .Else If Munt="ATS",$D(^KBA(11,"OSH")) Set Munt="OSH" + .Else If Munt="OSH",$D(^KBA(11,"ATS")) Set Munt="ATS" + .Else If Munt="EST",$D(^KBA(11,"PTS")) Set Munt="PTS" + .Else If Munt="PTS",$D(^KBA(11,"EST")) Set Munt="EST" + Quit Munt + +LAND(Key,Par1,Par2,Par3,Par4) + ; Par1 1 = Afkorting + ; Par2 1 = eventueel vertaling naar nieuwe kode + ; Par2 2 = eventueel vertaling naar oude kode + ; 2 = Omschrijving + ; Par2 = Taalkode (N,F,D,E - default N) + ; Par3 = Omzetten naar upcase (dafault 1 = ja) + ; I = Invers (Key is de landkode oude of nieuwe) + ; L = Leverancier + ; Key = LEVNr + ; Par2 1 = Afkorting + ; Par3 1 = eventueel vertaling naar nieuwe kode + ; Par3 2 = eventueel vertaling naar oude kode + ; Par2 2 = Omschrijving + ; Par3 = Taalkode (N,F,D,E - default leverancier) + ; Par4 = Omzetten naar upcase (dafault 1 = ja) + ; K = Klant + ; Key = KLNr + ; Par2 1 = Afkorting + ; Par3 1 = eventueel vertaling naar nieuwe kode + ; Par3 2 = eventueel vertaling naar oude kode + ; Par2 2 = Omschrijving + ; Par3 = Taalkode (N,F,D,E - default klant) + ; Par4 = Omzetten naar upcase (dafault 1 = ja) + If $G(Key)="?" Do HELPFUNC($ZN,"LAND") Quit "" + New R,FaLand,Invers + Set Key=$G(Key),Par1=$G(Par1,1),Par2=$G(Par2),Par3=$G(Par3),Par4=$G(Par4) + Set:Key="" FaLand=$$FADEF(3),Key=$$LAND(FaLand,"I") + Set Key=$$UPCASE(Key) + If 'Key,Par1'="I",'Par2 Set Key=$$LAND(Key,"I") + Else Set R=Key + If Par1=1 Do + .Set R="" Set:$L(Key) R=$G(^ISO(0,"ISO.LAND",Key,0)),R=$P(R,D) Set:R="" R=Key + .Set:Par2=1 R=$S(R="B":"BE",R="L":"LU",R="D":"DE",R="F":"FR",R="I":"IT",R="A":"AT",R="S":"SE",R="M":"MA",R="EGY":"EG",1:R) + .Set:Par2=2 R=$S(R="BE":"B",R="LU":"L",R="DE":"D",R="FR":"F",R="IT":"I",R="AT":"A",R="SE":"S",R="MA":"M",R="EG":"EGY",1:R) + Else If Par1=2 Do + .Set:Par2="" Par2="N" Set:Par3="" Par3=1 + .Set R="" Set:$L(Key) R=$G(^ISO(0,"ISO.LAND",Key,0)) + .Set R=$P(R,D,$F("NFDE",Par2)-2*10+2) + .Set:Par3 R=$$UPCASE(R) + Else If Par1="I" Do + .Set R="" + .For Set R=$O(^ISO(0,"ISO.LAND",R)) Quit:R="" If $P(^ISO(0,"ISO.LAND",R,0),D)=Key Quit + .Quit:$L(R) + .Set R=$$LAND(Key,1,1) + .If R=Key Set R="" + .Else Set R=$$LAND(R,"I") + Else If Par1="K" Do + .Set:Par2="" Par2=1 + .If Par2=2,Par3="" Set Par3=$P(^KKL(^KK1(Key),0),D,9) Set:Par3="" Par3="N" + .Set Key=$P(^KKL(^KK1(Key),0),D,8),Invers='Key Set:Invers Key=$$LAND(Key,"I") + .Set R=$$LAND(Key,Par2,Par3,Par4) + .If Invers,Par2=1,Par3'=1 Set R=$$LAND(R,1,2) + Else If Par1="L" Do + .Set:Par2="" Par2=1 + .If Par2=2,Par3="" Set Par3=$P(^KLE(^KL1(Key),0),D,9) Set:Par3="" Par3="N" + .Set Key=$P(^KLE(^KL1(Key),0),D,8),Invers='Key Set:Invers Key=$$LAND(Key,"I") + .Set R=$$LAND(Key,Par2,Par3,Par4) + .If Invers,Par2=1,Par3'=1 Set R=$$LAND(R,1,2) + Quit R + +BTWPERC(Kode) + Quit $S(Kode="":"",'$D(@("^"_Q_"BA(18,Kode)")):"",1:+@("^"_Q_"BA(18,Kode)")) + + ; Omzetting van $I naar het normale $I voor LAT-poorten die voor een tweede keer ingelogd zijn. +NORMDEV(%I) + New CFG,Vol,I,ZD + Set CFG=$$CONFIG^cQ9(),Vol="MGR" + If %I?1.N,%I>0,%I<11 Do + .Set ZD=$ZDEV(%I) + .Quit:ZD=%I + .Set I="" + .For Set I=$O(^[Vol]SYS(CFG,"DDB",I)) Quit:I="" Do + ..Set:$P(^(I),",",2)=ZD %I=I + Quit %I + + ; Opvragen van de USER record in %LOG("DDB") +USER(%I) + New User + Set %I=$$NORMDEV(%I) + Set (%I,User)=$$IO^cQ5(%I) + Set User=$$USERNAME^vhUSER($$DEVUSER^vhUSER(%I)) + If User="",$D(^cLOG(boot,"DDB",$$CONFIG^cQ9(),%I)) Set User=^(%I) + Quit User + ; +FLATASCI(R) + New FVAN,FNAAR + Do VANNAAR^vhTERMINA("") + Quit $TR(R,FVAN,FNAAR) + ; +HEX(From) + New I,To + Set To="" + For I=1:1:$L(From,",") Set To=To_$C($ZH($P(From,",",I))) + Quit To + ; +GETWW(Type,MinLen,MaxLen) + ;Type="AaNS" + New String,WachtW,Rnd + Set String="" + Set:Type["N" String=String_"1234567890" + Set:Type["A" String=String_"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + Set:Type["a" String=String_"abcdefghijklmnopqrstuvwxyz" + Set:Type["S" String=String_"@&$���#""!?+=[]()<:/;>" + For I=1:1:$P($H,",",1) Set Rnd=$R($P($H,",",1)) + For I=1:1:$P($H,",",2) Set Rnd=$R($P($H,",",1)) + Set WachtW="" + For Do Quit:$L(WachtW)'50 + .Set Rnd=$R($L(String))+1 + .Set WachtW=WachtW_$E(String,Rnd) + Quit WachtW + ; +ALFAKEY(NKey,Type) + ;Type="AaNS" Opgegeven volgorde is belangrijk + ; Deze routine is niet geschikt om bv. HEXADECIMAAL omzettingen te doen + New I,String,AKey,Val + Set String="" + For I=1:1 Quit:$E(Type,I)="" Do + .Set:$E(Type,I)="N" String=String_"1234567890" + .Set:$E(Type,I)="A" String=String_"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + .Set:$E(Type,I)="a" String=String_"abcdefghijklmnopqrstuvwxyz" + .Set:$E(Type,I)="S" String=String_"@&$���#""!?+=[]()<:/;>" + Set AKey="" + For Quit:NKey=0 Do + .Set Val=NKey#$L(String) + .Set:Val=0 Val=$L(String) + .Set NKey=NKey-Val\$L(String) + .Set AKey=$E(String,Val)_AKey + Quit AKey + ; +FADEF(Piece,IntForm) + ;Piece 1 = Munt boekhouding + ; 2 = Taalkode firma + ; 3 = Landkode firma + ; 4 = Kenletters BTW nummers Belgie + ; 5 = Telefoonzone firma + ; 6 = Boekjaar overgang Euro + ; 7 = Muntkode Euro + ; 8 = Decimalen Euro + ; 9 = Munt voor de overgang naar Euro + ; 10 = Decimalen van de munt voor de overgang naar Euro + ; 11 = Conversiedatum + ; IntForm = 1 intern formaat + ; 12 = BEF n.v.t. + If $G(Piece)="?" Do HELPFUNC($ZN,"FADEF") Quit "" + New R + Set Piece=$G(Piece,1),IntForm=$G(IntForm),R=^KBA(39) + Do:IntForm + .If Piece=11,$L($P(R,D,Piece)) Set $P(R,D,Piece)=$$INTDATE^vhDTyp($P(R,D,Piece)) + Quit $P(R,D,Piece) + ; +CALCKORT(Bedrag,Korting1,Korting2) + Quit Bedrag*(100-$G(Korting1)/100)*(100-$G(Korting2)/100) + ; +TRIMNAAM(Naam) + New NaamOut,tmpNaam + Set tmpNaam=$$UPCASE(Naam) + Quit:($$TRMNM2("VAN DE ","VD ")) NaamOut + Quit:($$TRMNM2("VANDE ","VD ")) NaamOut + Quit:($$TRMNM2("VAN DER ","VD ")) NaamOut + Quit:($$TRMNM2("VANDER ","VD ")) NaamOut + Quit:($$TRMNM2("VAN DEN ","VD ")) NaamOut + Quit:($$TRMNM2("VANDEN ","VD ")) NaamOut + Quit:($$TRMNM2("VAN HET ","VH ")) NaamOut + Quit:($$TRMNM2("VANHET ","VH ")) NaamOut + Quit:($$TRMNM2("OP DE ","OD ")) NaamOut + Quit:($$TRMNM2("OPDE ","OD ")) NaamOut + Quit:($$TRMNM2("OP DEN ","OD ")) NaamOut + Quit:($$TRMNM2("OPDEN ","OD ")) NaamOut + Quit:($$TRMNM2("VAN ","V ")) NaamOut + Quit:($$TRMNM2("DE ","D ")) NaamOut + Quit:($$TRMNM2("DER ","D ")) NaamOut + Quit:($$TRMNM2("DEN ","D ")) NaamOut + Quit:($$TRMNM2("B.V. ","")) NaamOut + Quit Naam +TRMNM2(Lang,Kort) + Quit:(Lang="") 0 + Set Lang=$$UPCASE(Lang) + If $E(tmpNaam,1,$L(Lang))=Lang Do Quit 1 + . Set NaamOut=Kort_$E(Naam,$L(Lang)+1,999) + Quit 0 + +HELPFUNC(Routine,Label) + New I,R,V + Xecute "Set R=$T("_Label_"^"_Routine_")" + Do:$L(R) + .Write !,R + .Set V=$L($P(R,"(")) + .For I=1:1 Xecute "Set R=$T("_Label_"+"_I_"^"_Routine_")" Set R=$P(R," ",2,999) Quit:$E(R)'=";" Write !?V,$P(R,";",2,99) + Quit + ; +ISVERS6() + Quit ''$D(^DMS) + ; + +ConvertToHTML(str) + ;Quit $ZCVT(str,"O","HTML") + ; Previous method + New MyStr,sFind,sRepl,I,J,strLen + ; Replace '&' + Set MyStr=$$REPLACE(str,"&","&") + ; Replace all characters with ASCII-value 128 or above by &#xxx; (xxx represents the ASCII-value) + Set strLen=$L(MyStr) + Set I=0 + For Quit:($INCREMENT(I)>strLen) Do:($ASCII($E(MyStr,I))>127) + . Set $E(MyStr,I,I)="&#"_$ASCII($E(MyStr,I))_";" + . Set strLen=$L(MyStr) + ; Replace some other characters + Set sFind="'""<>" + Set sRepl="'/"/</>" + For I=1:1:$L(sFind) Do + . For Quit:(MyStr'[$E(sFind,I)) Do + .. Set J=$F(MyStr,$E(sFind,I))-1 + .. Set $E(MyStr,J,J)=$P(sRepl,"/",I) + Set MyStr=$$REPLACE(MyStr,$C(13,10),"
    ") + Quit MyStr + + + /* +ConvertToHTMLprev(str) + ;Quit $ZCVT(str,"O","HTML") + ; Previous method + New MyStr,sFind,sRepl,I,J + Set MyStr=$$REPLACE(str,"&","&") + Set sFind="'""<>���������������������" + ;Set sRepl="′/&qout;/</>/à/â/ä/ç/è/é/ê/ë/È/É/Ë/ô/ö/ü/€/£/§/°/±/Ø/Å" + Set sRepl="'/"/</>/à/â/ä/ç/è/é/ê/ë/È/É/Ë/ô/ö/ü/∈/£/§/°/±/Ø/Å" + For I=1:1:$L(sFind) Do + . For Quit:(MyStr'[$E(sFind,I)) Do + .. Set J=$F(MyStr,$E(sFind,I))-1 + .. Set $E(MyStr,J,J)=$P(sRepl,"/",I) + Quit MyStr + */ \ No newline at end of file Index: _vhisie/TBX/MainNews.csp =================================================================== diff -u --- _vhisie/TBX/MainNews.csp (revision 0) +++ _vhisie/TBX/MainNews.csp (revision 2) @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + +
    + #(DefaultsVTL)# + + + + + + + + » #(..WebTextValue("MainInfoTipsKlik",Taal,"L"))#! + #(..WebTextValue("MainInfoTips",Taal,"O"))# + + + Index: BLKPIKlacht.inc.rou =================================================================== diff -u --- BLKPIKlacht.inc.rou (revision 0) +++ BLKPIKlacht.inc.rou (revision 2) @@ -0,0 +1,49 @@ + #Define cmRoot BL.KPI.Klacht + #Define cmMain ##class($$$cmRoot.Main) + + #Define cmDSKlacht ##class(DS.KPI.Klacht.LevelDef) + + ;Macro's gebruikt bij $$$cmMain.BuildStat: StatNodes begin en einde + ;#Define snBAantalKlanten "snBAKLN" + ;#Define snBAantalKlachten "snBAKLC" + ;#Define snBBedrag "snBB" + ;#Define snBAantalNAKlachten "snBANAKLC" + ;#Define snBKlachten "snBKLC" + ;#Define snBKlanten "snBKLN" + ;#Define snEAantalKlanten "snEAKLN" + ;#Define snEAantalKlachten "snEAKLC" + ;#Define snEBedrag "snEB" + ;#Define snEAantalNAKlachten "snEANAKLC" + ;#Define snEKlachten "snEKLC" + ;#Define snEKlanten "snEKLN" + + ;#Define snBAantalKlanten 1 + ;#Define snBAantalKlachten 2 + ;#Define snBBedrag 3 + ;#Define snBAantalNAKlachten 4 + ;#Define snEAantalKlanten 5 + ;#Define snEAantalKlachten 6 + ;#Define snEBedrag 7 + ;#Define snEAantalNAKlachten 8 + + #Define snBAantalKlanten 1 + #Define snEAantalKlanten 2 + #Define snBAantalKlachten 3 + #Define snEAantalKlachten 4 + #Define snBBedrag 5 + #Define snEBedrag 6 + #Define snBAantalNAKlachten 7 + #Define snEAantalNAKlachten 8 + + #Define snBKlachten 1 + #Define snBKlanten 2 + #Define snEKlachten 3 + #Define snEKlanten 4 + + ;Te gebruiken voor TrendGrafiek (geen begin/eind) + #Define snAantalKlanten 1 + #Define snAantalKlachten 2 + #Define snBedrag 3 + #Define snAantalNAKlachten 4 + #Define snKlachten 5 + #Define snKlanten 6 \ No newline at end of file Index: csp/errorvh.cls.xml =================================================================== diff -u --- csp/errorvh.cls.xml (revision 0) +++ csp/errorvh.cls.xml (revision 2) @@ -0,0 +1,674 @@ + + + + listbuild) +uitgevoerd via de classmethods Act...(). Deze laatste kunnen op zich nog eens "Custom" routines oproepen. +De foutgegevens en eventueel extra info kan via de array arErrInfo worden doorgegeven. +Het uiteindelijke resultaat is meestal een ErrorPage, JS alert msg of een Redirect url.]]> +User +%VHMacro,ErrorVHCNTs +cache +%CSP.Error +0 + + + +Parameter moet aangepast worden in afgeleide klasse +/csp/hadev/ErrorVH.csp + + + +59836,58461 + + + + +CustomEHandlerInitTEMPLATE() +Deze method moet hernoemd worden naar CustomEHandlerInit() en de code ge-uncomment worden. +Stel dan in welke ACTIONS bij een foutmelding uitgevoerd worden. +1 +lbErrTypes +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") ; $LB("","OnPageMinimum") + Quit + */ +]]> + + + +1 +lbErrTypes +0) + Kill tmpAr + Do @("dehBuildAr"_ErrType) + Merge %cspEHandler(ErrType)=tmpAr + Quit +dehBuildArPageLoadError ; PageLoadError + Set tmpAr("ACTIONS")=$LB("LogDB","Email","ErrPage") + Set tmpAr("ACTIONS","LogDB")=$LB("DFL") + Set tmpAr("ACTIONS","Email")=$LB("""CSPserver "_$system.Server.HostName()_""" ",$LB($$$EmailToSysOp),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,0) + Set tmpAr("ACTIONS","ErrPage")=$LB("~") + Quit +dehBuildArPreHTTPTimeOut ; PreHTTPTimeOut + Set tmpAr("ACTIONS")=$LB("ErrPage") ; or RedirURL + Set tmpAr("ACTIONS","ErrPage")=$LB("~") + Quit +dehBuildArHyperEventError ; HyperEventError + Set tmpAr("ACTIONS")=$LB("LogDB","Email","JSAlert") + Set tmpAr("ACTIONS","LogDB")=$LB("DFL") + Set tmpAr("ACTIONS","Email")=$LB("""CSPserver "_$system.Server.HostName()_""" ",$LB($$$EmailToSysOp),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,0) + Set tmpAr("ACTIONS","JSAlert")=$LB("Error returned by server call") + Quit +dehBuildArHyperEventTimeOut ;HyperEventTimeOut + Set tmpAr("ACTIONS")=$LB("JSAlert") + Set tmpAr("ACTIONS","JSAlert")=$LB("Session TimeOut") + Quit +]]> + + + + +Method to OVERRIDE when defining custom %cspEHandler for "HyperEventTimeOut". +Deze definities zijn globaal voor de hele CSP-application; het is immers niet mogelijk om +bij "HyperEventTimeOut" de OrigCSPClassName te detecteren om daar de CustomEH array in te vullen. +1 + + + + +1 +%Boolean +1 + + + + + +If an error occurs while processing a HyperEvent then this method is called. +This method will write out javascript code that will be executed on the browser. +1 + + + + + listbuild) uit]]> +1 +FromMethod:%String +0) + . ;Set blnMatch=(blnMatch)&&("...") ; Other criteria + . If blnMatch Set MatchNode=i + Quit MatchNode +hceExecuteEHAtion(Action) + // Possible values for Action: + Quit:($LF($LB("ErrPage","JSAlert","Email","LogDB","Redir","CustomCOS","CustomJS"),$G(Action))'>0) + New lbActionDefs + Set lbActionDefs=arActs("ACTIONS",Action) + ;d $$$DBG("Execute action "_Action_" values="_$$$LCVT(lbActionDefs)) + If Action="ErrPage" Do + . Do ..ActErrPage(lbActionDefs) + Else If Action="JSAlert" Do + . New tmpMsg + . ;Set tmpMsg="TestMessage by WimV:"_$$$CRLF_##class(%CSP.LogError).ErrString() + . If $G(arActs("MSG",Action,1))'="" Set tmpMsg=arActs("MSG",Action,1) + . Else Set tmpMsg=$LG(lbActionDefs,1) + . Do ..ActJSAlert($LB(tmpMsg,1)) + Else If Action="Email" Do + . New tmpBody + . If $G(arActs("MSG",Action,1))'="" Set tmpBody=arActs("MSG",Action,1) + . Else Set tmpBody=$LG(lbActionDefs,4) + . Do ..ActEmail($LB($LG(lbActionDefs,1),$LG(lbActionDefs,2),$LG(lbActionDefs,3),tmpBody,0,$LG(lbActionDefs,6)),.arErrInfo) + Else If Action="LogDB" Do + . Do ..ActLogDB(lbActionDefs,.arErrInfo) + Else If Action="Redir" Do + . Do ..ActRedir($LB($LG(arActs("ACTIONS",Action),1)),.arErrInfo,"") + Else If Action="CustomCOS" Do + . + Else If Action="CustomJS" Do + . + Else Do + . ; Nothing + Quit +]]> + + + + +Vult de basis error info in de Array arErrInfo op. +De array arErrInfo als .local doorgeven +1 + + + + + +1 +FromMethod:%String,ErrNumber:%Integer +%String + + + + + +Geeft de ClassName terug van de klasse of csp-page van waaruit de Error gegenereerd werd. +1 +FromMethod:%String + + + + +1 +%Status + + + + +1 +%Status + + &html< + + + Error + + +

    Error on CSP page.

    + #($S(blnDirect:"", $L($G(cls)_$G(mth)):"

    [no OnPage method: wrong value specified: Class="""_$G(cls)_""" , method="""_$G(mth)_"""]

    ", 1:""))# +
    > + Do opmDisplayErrorHidden + &html< + > + Quit $$$OK +opmDisplayErrorHidden + // Internet Explorer doesn't work without this routine !!! (WHY? don't know) + &html<
    > + New ErrorInfo + Do ..DecomposeError(%request.Get("Error:ErrorCode"),.ErrorInfo) + Do ..DisplayError(.ErrorInfo) + &html<
    > + Quit +]]>
    +
    + + + +lbArgs=$LB(classname, methodname) +1 + + + + + + +lbArgs=$LB(message As %String, UseQuoteJS As %Boolean = 1) +1 + + + + + + +lbArgs=$LB(From,lbTo,Subject,Body,BodyIsStream=0,blnHTML=0) +1 + +%Status +" +#define DflSubject "CSP ERROR" + Quit:($G(lbArgs)=$LB("Skip")) "" ; Don't send E-mail + New From,lbTo,Subject,Body,BodyIsStream,blnHTML,msg,CustomMsg,sc,tmpStream + Set From=$LG(lbArgs,1, $$$DflFrom) + Set lbTo=$LG(lbArgs,2) + Set Subject=$LG(lbArgs,3, $$$DflSubject) + Set Body=$LG(lbArgs,4) + Set BodyIsStream=0 ; $LG(lbArgs,5,0) + Set blnHTML=$LG(lbArgs,6,0) + Quit:(lbTo="")||($LG(lbTo,1)="") "" + Set tmpStream="" + If Body="" Do + . Do actMailBodyMinimum + Else If Body="§DFL_HTML§" Do + . Do actMailBodyDflHTML + Else If Body="§DFL_TEXT§" Do + . Do actMailBodyDflText + Else If Body="~" Do + . Set Body="" + Else Do ; Nothing. Use values as passed by lbArgs + +#If ($ZCVT($ZUTIL(110),"U")'["WWW") + Do ; Send to SoapSysOp only on WWW; else replace by "WV" + . New i + . Set i=$LF(lbTo,"ICT_SOAPSysOp@vanhoecke.be") + . Set:(i>0) $LI(lbTo,i)="wv@vanhoecke.be" +#EndIf + ; Send E-mail + If $IsObject($G(tmpStream)) Do + . Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,tmpStream,1,blnHTML) + Else Do + . Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,$G(BodyIsStream,0),blnHTML) + If 'sc ; Set errmsg=$$ParseStatus^vhLib(sc)_" From="_From + Set tmpStream="" + Quit sc +actMailBodyMinimum + Set Body="CSP ERROR: "_$$$CRLF_##class(%CSP.LogError).ErrString()_$$$CRLF + Set blnHTML=0 + Quit +actMailBodyDflText + Set Body="" + Set Body=Body_"CSP ERROR:"_$$$CRLF + Set Body=Body_""_$$$CRLF + Set Body=Body_##class(%CSP.LogError).ErrString()_$$$CRLF + Set Body=Body_""_$$$CRLF + Set Body=Body_"--- End of message ---"_$$$CRLF + Set blnHTML=0 + Quit +actMailBodyDflHTML + Do IOToStream^vhLib(.tmpStream,$LB("CLASSM","%CSP.Error","OnPage")) + Set blnHTML=1 + Quit +]]> + + + + +lbArgs=$LB(LogType,Applic,lbCustomLog) +lbCustomLog=$LB(mth,cls,blnWithInfo[=1]) + waarbij cls de ClassName van de op te roepen klasse is (en mth de method); + pre-defined values: §OrigCSP§ (="" leeg) - CSP page / §ErrH§ - this error page +1 + + Short + ; Type: [HTML] + Quit $LB(Time,FromMethod,Applic,,,,,,RefNd,$G(Type)) +actLogNodesShort(NewNode) ; NewNode als .local doorgeven + New tmpAr,ErrorInfo + If $D(arErrInfo("ErrorInfo")) Do + . Merge ErrorInfo=arErrInfo("ErrorInfo") + Else Do ; in case arErrInfo not supplied + . Do ..DecomposeError(%request.Get("Error:ErrorCode"),.ErrorInfo) + Set tmpAr=$$actLogNodeMainData(CurTime,$G(FromMethod),,,Applic) + Set tmpAr($$$KeepNd)=0 + If $O(ErrorInfo($O(ErrorInfo(""))))="" Do + . Merge tmpAr($$$LogNd)=ErrorInfo($O(ErrorInfo(""))) + Else Do + . Merge tmpAr($$$LogNd)=ErrorInfo + Set NewNode=$$actLogAddToGlobal("S",.tmpAr) + Quit (NewNode>0) +actLogNodesLong(NewNode) ; NewNode als .local doorgeven +#define MaxBlockSize 32000 + New tmpStream,tmpAr,sub,sLine,tmpLen + Set tmpStream=##class(%Library.FileCharacterStream).%New() + Do IOToStream^vhLib(.tmpStream,$LB("CLASSM","%CSP.Error","OnPage")) + Set tmpAr=$$actLogNodeMainData(CurTime,$G(FromMethod),,"HTML",Applic) + Set tmpAr($$$KeepNd)=0 + Set tmpAr($$$LogNd)=0 + Set tmpLen=$$$MaxBlockSize+1 + Do tmpStream.Rewind() + For Quit:(tmpStream.AtEnd) Do + . Set sLine=tmpStream.ReadLine() + . If (tmpLen+$L(sLine))>$$$MaxBlockSize Do + .. Set sub=$INCREMENT(tmpAr($$$LogNd)) + .. Set tmpAr($$$LogNd,sub)="" + .. Set tmpLen=0 + . Set tmpAr($$$LogNd,sub)=tmpAr($$$LogNd,sub)_sLine + . Set tmpLen=tmpLen+$L(sLine) + ; Replace unnecessary HTML tags/attributes (font formatting) + Set sub="" + For Set sub=$O(tmpAr($$$LogNd,sub)) Quit:(sub="") Do + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub)," face=""Verdana,Arial,Helvetica,sans-serif""","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub)," face=""Verdana, Arial, Helvetica, sans-serif""","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub),"","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub),"","") + . Set tmpAr($$$LogNd,sub)=$$$Replace(tmpAr($$$LogNd,sub),"","") + Set NewNode=$$actLogAddToGlobal("L",.tmpAr) + Set tmpStream="" + Quit (NewNode>0) + +actLogAddToGlobal(NdType,arNewLog) ; arNewLog als .local doorgeven + New NewNode,i,Cnt + Set NewNode=$Increment($$$globLog(NdType)) + Merge $$$globLog(NdType,NewNode)=arNewLog + Do:($G($$$globLog("DEF",NdType,"MaxNodes"))>0) actLogCleanUp + Quit NewNode +actLogCleanUp + Set Cnt=1 + Set i=NewNode + For Set i=$O($$$globLog(NdType,i),-1) Quit:(i<1) Do + . Quit:($G($$$globLog(NdType,i,$$$KeepNd),0)) + . Set Cnt=Cnt+1 + . If Cnt>$$$globLog("DEF",NdType,"MaxNodes") Kill $$$globLog(NdType,i) + Quit +]]> + + + + +lbArgs=$LB(Url) +1 + + + + + +1 + +%String + + + + + +lbArgs=$LB() +1 + + + + + + +lbArgs=$LB() +1 + + + +
    +
    Index: Prod/GADef/Banco.cls.xml =================================================================== diff -u --- Prod/GADef/Banco.cls.xml (revision 0) +++ Prod/GADef/Banco.cls.xml (revision 2) @@ -0,0 +1,2002 @@ + + + + Afspraken i.v.m. Posities van Beslag en Boringen: +
    • +Standaard zijn posities STEEDS gemeten van Links (X), van Boven (Y) en vanaf de Rug (Z)
    • +AfstandRand is steeds relatief (t.o.v. de buitenrand van het profiel)
    • +Negatieve posities zijn gemeten van de tegenovergestelde kant:
      +| PosX < 0 ==> X = KD.Breedte - PosX
      +| PosY < 0 ==> Y = KD.Hoogte - PosY
      +| PosZ < 0 ==> Z = KD.ProfType.Dikte - PosZ
    • +De negatieve posities zijn
      +- te tonen als positieve waarden in de User Interface
      +- op te slaan in Caché als negatieve waarden
      +- in XML eveneens als negatieve waarden op te slaan met ev. een Attribute "omschrijving", bvb. "OMS=Van onderkant"
      + +
    ]]>
    +0 +0 +persistent +0 +0 +Prod.GADef.AfgeleidDef,%VHSys.Library +0 + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Alle gegevens nodig voor de prijsberekening worden opgeslagen in deze array. +De sleutel begint met +A : Afmetingen (scherm 1) +P : Profielen (scherm 2) +V : Verbinders (scherm 3) +D : Diverse (scherm 4) +en wordt gevolgt met een volgnummer van 3 cijfers bv. A001 +Een object is meestal (behalve de A's) gelinkt met Res.PI.BancoDtl, voor de prijszetting van de elementen. + +Enkele vaste sleutels: +A001 : Hoogte +A002 : Breedte +A003 : Diepte +Prod.GADef.emBanDtl +0 +0 +array +0 +0 +0 +0 +0 +0 + + + +Prod.GADef.emBanDtl +0 +0 + +0 +0 +0 +0 +0 +1 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +1 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +%Library.String +0 +0 +list +0 +0 +0 +0 +0 +0 + + + + + + + +Welke type van Banco er gedefinieerd wordt +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Deze property wordt als $LISTBUILD gebruikt. +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Default: "Prod.GADef.TemplGeneral" (voor templates); "" (leeg voor finale objecten)]]> +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Bevat code van het TemplateKader-object indien het product opgebouwd is door een template. +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.PI.Toepas +0 +0 + +0 +0 +0 +0 +0 +0 + + + +]]> +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Stream +0 +0 +characterstream +0 +0 +0 +0 +0 +1 + + + +0 +0 +code +IsNew:%Library.Boolean=1 +0 +%Library.Status +0 + + + + + +Berekenen van het aantal zaagsnedes, boringen of montagetijd. +Vertrekkend van de reeds ingeven details en de vermenigvuldigingsfactoren in Res.PI.BancoDtl +Optie : +"Z" : Zaagsnedes = som van het aantal profielen +"B" : Boringen = somproduct van het aantal koppelstukken/voeten met Res.PI.BancoDtl.BoorQty +"M" : Montage = somproduct van het aantal koppelstukken/voeten met Res.PI.BancoDtl.MontageTijd +"T" : Draadtappen = somproduct van het aantal koppelstukken/voeten met Res.PI.BancoDtl.DraadTapTijd +"F" : Frees = somproduct van het aantal koppelstukken/voeten met Res.PI.BancoDtl.FreesTijd +0 +0 +code +Optie:%Library.String +0 +%Library.Float +0 + + + + +0 +0 +code + +0 +%Library.List +0 + + + + + +Onmiddellijke controle op de Breedte van het profiel +0 +0 +code + +0 +%Library.String +0 +0) LMin=128 + Set:($G(LMax)'>0) LMax=3000-(2*20) ; 20mm marge langs beide kanten + + Set:(%this.BreedteLMax) Ok="F;Maximale breedte kleiner dan "_LMax_"mm" + Quit Ok + +]]> + + + + +Onmiddellijke controle op de Hoogte van het profiel +0 +0 +code + +0 +%Library.String +0 +0) LMin=128 + Set:($G(LMax)'>0) LMax=3000-(2*20) ; 20mm marge langs beide kanten + + Set:(%this.HoogteLMax) Ok="F;Maximale hoogte kleiner dan "_LMax_"mm" + Quit Ok +]]> + + + +0 +0 +code +ElementKey:%Library.String +0 +%Library.List +0 + + + + + +Copy maken van KaderDeur in een nieuw object. +Verschillende CopyModes: + +"FullCopy" (geen statics!) +"FromTemplate" +"FullAndStatic" +"Empty" +0 +0 +code +CopyMode:%Library.String="FullCopy" +0 +Prod.GADef.Banco +0 + + + + +0 +0 +code +MainKey:%Library.String,Omschrijving:%Library.String +0 +%Library.List +0 +999 Do Set MaxKey=999 ;OVERRIDE WANNEER KEY TE GROOT WORDT + . Set MaxKey=$Extract(MainKey,1,2) _ $Extract(1000+MaxKey,2,4) + . Set tmpBancoDtl=##class(Prod.GADef.emBanDtl).%New() + . Set tmpBancoDtl.Omschrijving=Omschrijving + . Set tmpBancoDtl.EvalFormule=0 + . Set tmpBancoDtl.EvalAantal=0 + . Do tmpBancoDtl.BancoResSetObjectId(%this.SearchBancoRes(MaxKey)) + . Do %this.BanDtl.SetAt(tmpBancoDtl,MaxKey) + . Set ResultList=$LB(MaxKey) + . Do tmpBancoDtl.%Close() + Else Do + . Set ResultList=$LB("C","Kritieke fout: bij het toevoegen van de nieuwe lijn kon geen unieke sleutel gemaakt worden!" _ $C(13,10) _ "Details: poging om lijn toe te voegen aan de (onbekende) groep '" _ $Get(MainKey) _ "'.") + + Quit ResultList + +cnbErrorHandler + Set ResultList=$LB("C","Er is een onbekende fout opgetreden bij het toevoegen van een lijn aan de groep '"_ + $Extract($Get(MainKey),1,2) _ "'!" _ $C(13,10) _ "Caché Error: " _ $ZError) + Quit ResultList +]]> + + + +0 +0 +code +ElementKey:%Library.String +0 +%Library.List +0 + + + + + +Ophalen van het dossiernr indien het nog niet bestaat dan invullen +0 +0 +code + +0 +0 + + + + +0 +0 +code +Formule:%Library.String +0 +%Library.Float +0 + + + + + +Param1,..,Param5, zijn optioneel, en afhankelijk van de op te roepen routine.]]> +0 +0 +code +KDTemplateID:%Library.String,Param1:%Library.String,Param2:%Library.String,Param3:%Library.String,Param4:%Library.String,Param5:%Library.String +0 +0 + + + + +0 +1 +code +CreateNewBanco:%Library.Boolean,TemplateItemID:%Library.String,ParamList:%Library.String,Aantal:%Library.Integer +0 +%Library.List +0 + + + + +0 +0 +code +ElementKey:%Library.String +0 +%Library.List +0 + + + + +0 +0 +code +ElementKey:%Library.String +0 +%Library.List +0 + + + + + +Berekent het gewicht van de banco a.d.h. van de details (profielen, voeten en koppelstukken) +0 +0 +code + +0 +%Library.Float +0 + + + + + +GenPRNr is een verplichte parameter.]]> +0 +0 +code +GenPRNr:%Library.Integer,QtyStaffel:%Library.String=1 +0 +0 + + + + +0 +0 +code + +0 +%Library.String +0 + + + + + +Er wordt bepaald of de kostprijs moet HERberekend worden of niet.]]> +0 +0 +code +QtyStaffel:%Library.Integer=1,Munt:Res.Munt="",BldDtl:%Library.Boolean=0,ForceRecalc:%Library.Boolean=1 +0 +%Library.Float +0 + + + + +0 +0 +code +Staffel:%Library.Integer,caoKadPrijs:Prod.GADef.KadPrijs="" +0 +%Library.Float +0 + + + + + +Formateer de langtekst van een product in de geselecteerde taal +0 +0 +code + +0 +0 + + + + + +Dit is een oproep van de method "KostPrijs" en het resultaat wordt vermenigvuldigd met vaste factor.]]> +0 +0 +code +QtyStaffel:%Library.Integer=1,Munt:Res.Munt="",BldDtl:%Library.Boolean=0,ForceRecalc:%Library.Boolean=0 +0 +%Library.Float +0 + + + + + +Open Object voegt de nodige statische groepen toe aan de klasse +0 +1 +code +ObjectID:%Library.String +0 +Prod.GADef.Banco +0 + + + + + +Oppervlakte van een kaderdeur in m2 +0 +0 +expression + +0 +%Library.Float +0 + + + + +0 +0 +code +MainKey:%Library.String +0 +%Library.List +0 + + + + +0 +1 +code +handle:%Library.Binary +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +1 +code +handle:%Library.Binary +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +1 +code +handle:%Library.Binary +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +0 +code + +0 +%Library.List +0 +P (Na P beginnen de 'diversen') + ; Controlen of het aantal 'AUTO'-matisch moet berekend worden + ; ------------------------------------------------------------------------------- + Set tmpBancoKey="CA000" + for Set tmpBancoDtl=%this.BanDtl.GetNext(.tmpBancoKey) Quit:"QRSTUVWQYZ"[$Extract(tmpBancoKey,2) Quit:tmpBancoKey="" Do + . Set AUTO=0 + . If tmpBancoDtl.Aantal["AUTO" Do + .. Set AUTO=$Get(KoppelArray1(tmpBancoDtl.BancoResGetObjectId()),0)+$Get(KoppelArray2(tmpBancoDtl.BancoResGetObjectId()),0) + .. Set tmpBancoDtl.EvalAantal = $$brcEvaluate(tmpBancoDtl.Aantal) + . Else Do + .. Set tmpBancoDtl.EvalAantal=$$brcEvaluate(tmpBancoDtl.Aantal) + . do tmpBancoDtl.SommeerDiversen(.DiversenArray) + + ; ------------------------------------------------------------------------------- + ; STAP 4: Groep C doorlopen, van subgroep Q->Z (De 'diversen') + ; Controlen of het aantal 'AUTO'-matisch moet berekend worden + ; ------------------------------------------------------------------------------- + Set tmpBancoKey="CQ000" + for Set tmpBancoDtl=%this.BanDtl.GetNext(.tmpBancoKey) Quit:$Extract(tmpBancoKey)'="C" Quit:tmpBancoKey="" Do + . If tmpBancoDtl.Aantal["AUTO" Do + .. If tmpBancoDtl.BancoRes.Berekend'="" Do + ... Set AUTO=$Get(DiversenArray(tmpBancoDtl.BancoRes.Berekend),0) + .. Else Do + ... Set AUTO=0 + .. Set tmpBancoDtl.EvalAantal = $$brcEvaluate(tmpBancoDtl.Aantal) + . Else Do + .. If tmpBancoDtl.Aantal="" Do Set tmpBancoDtl.Aantal=0 + .. Set tmpBancoDtl.EvalAantal=$$brcEvaluate(tmpBancoDtl.Aantal) + + ;EXIT + Quit ResultList + + ; =============================================================================== + ; FUNCTIE: Bereken van formules via labels + ; ------------------------------------------------------------------------------- +brcEvaluate(Expression) + Quit:Expression="" "" + Quit:Expression?.N Expression ; Integer + Quit:Expression?.N1"."1.N Expression ; Float + + Set $ZT="brcEvalTrap" + Set Val=-1 + Set Y="Set Val="_$TR($$UPCASE^vhRtn1(Expression),",",".") + Xecute Y + Set $ZT="brcErrorHandler" + + If Val<0 Do + . Set ResultList=$LB("I","Op de lijn '" _ tmpBancoDtl.Omschrijving _ "' geeft de evaluatie van '" _ Expression _ "' een negatief resultaat terug(" _ Val _ ")!") + Quit Val + +brcEvalTrap + Set ResultList=$LB("I","Er is een fout opgetreden op de lijn '" _ tmpBancoDtl.Omschrijving _ "' bij het evalueren van de formule '"_ + $Get(Expression) _ "'!") + Quit Val + +brcErrorHandler + Set ResultList=$LB("C","Er is een onbekende fout opgetreden bij het uitrekenen van de banco, gebruik makend van de sleutel '"_ + $Get(tmpBancoKey) _ "'!" _ $C(13,10) _ "Caché Error: " _ $ZError) + Quit ResultList +]]> + + + + +Opslaan van het object als een template om later gebruikt te worden bij kreatie van een product +0 +0 +code +Code:%Library.String,Omschrijving:%Library.String,KlantNr:%Library.String +0 +%Library.String +0 + + + + +0 +0 +code +ElementKey:%Library.String +0 +Res.PI.BancoDtl +0 + + + + +0 +0 +code +ElementKey:%Library.String +0 +%Library.String +0 + + + + +0 +0 +code +SourceBanDtlKey:%Library.String,DestBanDtlKey:%Library.String +0 +%Library.List +0 + + + + + +Oppervlakte van een kaderdeur in m2 +0 +0 +expression + +0 +%Library.Float +0 + + + + + + +Opties :
  • +GAF : Full XML-beschrijving; i.e. met tag < PRODUCTEN >
  • +GAO : met Omschrijving van de data in de XML-tags
  • +. + +

    +XSLURL : Toevoegen van de reference naar de XSL. Indien Leeg (""), tags worden weggelaten. + +
    +Deze XML lijst wordt ook gebruikt als zaaglijst, daarom moeten de aantallen vermenigvuldigd kunnen worden met het aantal bestelde banco's + +
    +ImagePath: het path naar de bancoimages (zonder filename!)]]> +0 +0 +code +DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String,ImagePath:%Library.String,Aantal:%Library.String +0 +0 +") + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITELN^XMLWRITE(DevObj) + + ;Optie "F" van ull, geeft de extra tag 'producten' + Do:(Opties["GAF") BEGINTAG^XMLWRITE(DevObj,"PRODUCTEN") + Do WRITELN^XMLWRITE(DevObj) + + ;MainTag: BancoStd + Do BEGINTAG^XMLWRITE(DevObj,"PROD_BANCO_STD") + Do WRITELN^XMLWRITE(DevObj) + + ;Extra's: DossierNr + Do:$L(%this.Dossier) TAGWRITE^XMLWRITE(DevObj,"DOSSIERNR",%this.Dossier),WRITELN^XMLWRITE(DevObj) + + ;Type Tag: B4, B5, ... + Do TAGWRITE^XMLWRITE(DevObj,"TYPE",%this.HoofdGroep) + Do WRITELN^XMLWRITE(DevObj) + + ;Gemonteerd (Half,...) + Do TAGWRITE^XMLWRITE(DevObj,"GEMONTEERD",%this.Gemonteerd) + Do WRITELN^XMLWRITE(DevObj) + + ;Toevoegen Templategegevens + New tmpID, tmpObj + Set tmpID=$S(%this.TemplateUsed="":"", 1:##class(Res.PI.Definitie).IDViaNaam("TEMPLATEBANCO") _ "||" _ %this.TemplateUsed) + If ##Class(Res.PI.TemplateBanco).%ExistsId(tmpID) Do + . Do BEGINTAG^XMLWRITE(DevObj,"TEMPLATE") + . Set tmpObj=##Class(Res.PI.TemplateBanco).%OpenId(tmpID) + . Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",tmpObj.Omschrijving) + . Do TAGWRITE^XMLWRITE(DevObj,"CODE",%this.TemplateUsed) + . Do TAGWRITE^XMLWRITE(DevObj,"ImagePath",ImagePath) ;ImagePath=parameter + . Do TAGWRITE^XMLWRITE(DevObj,"ImageFileName",tmpObj.ImageFileName) + . Do tmpObj.%Close() + . Do ENDTAG^XMLWRITE(DevObj,"TEMPLATE",1) + + ;SubTags: basis, profiel, koppelstukken & diversen + Do xwBASIS + Do xwPROFIEL + Do xwKOPPEL + Do xwDIV + + ;Afsluiten MainTag + Do ENDTAG^XMLWRITE(DevObj,"PROD_BANCO_STD",1) + + ;Afsluiten eventuele extra tag 'producten' + Do:(Opties["GAF") ENDTAG^XMLWRITE(DevObj,"PRODUCTEN") + + Quit + + ;-------------------------------------------------------------------------------------- + ;XML Sub Routine: Basis afmetingen (extra parameters Hoogte, Breedte, Diepte, ...) + ;-------------------------------------------------------------------------------------- +xwBASIS + New Key,SubKey,caBanDtl + Set Key="AA000" + Set SubKey=" " + For Set caBanDtl=%this.BanDtl.GetNext(.Key) Quit:$E(Key)'="A" Quit:Key="" Do + . If SubKey'=$E(Key,1,2) Do + .. Do BEGINTAG^XMLWRITE(DevObj,"BASISSEN") + .. Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.BancoRes.GroepOmschrijving) + .. Set SubKey=$E(Key,1,2) + . Do BEGINTAG^XMLWRITE(DevObj,"BASIS",$$PARAMFILL^XMLWRITE("KEY",Key)) + . Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.Omschrijving) + . Do TAGWRITE^XMLWRITE(DevObj,"LABEL",caBanDtl.ProgLabel) + . Do TAGWRITE^XMLWRITE(DevObj,"FORMULE",caBanDtl.Formule) + . Do TAGWRITE^XMLWRITE(DevObj,"EVALFORMULE",caBanDtl.EvalFormule) + . Do TAGWRITE^XMLWRITE(DevObj,"STRIPPEDBANCORES",$$xwStripID(caBanDtl.BancoResGetObjectId())) + . Do TAGWRITE^XMLWRITE(DevObj,"OPTIES",caBanDtl.Opties) + . Do ENDTAG^XMLWRITE(DevObj,"BASIS",1) + . If SubKey'=$E(%this.BanDtl.Next(Key),1,2) Do + .. Do ENDTAG^XMLWRITE(DevObj,"BASISSEN",1) + Quit + + ;-------------------------------------------------------------------------------------- + ;XML Sub Routine: Profielen + ;-------------------------------------------------------------------------------------- +xwPROFIEL + New Key,SubKey,caBanDtl + Set Key="BA000" + Set SubKey=" " + For Set caBanDtl=%this.BanDtl.GetNext(.Key) Quit:$E(Key)'="B" Quit:Key="" Do + . If SubKey'=$E(Key,1,2) Do + .. Do BEGINTAG^XMLWRITE(DevObj,"PROFIELEN") + .. Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.BancoRes.GroepOmschrijving) + .. Set SubKey=$E(Key,1,2) + . Do BEGINTAG^XMLWRITE(DevObj,"PROFIEL",$$PARAMFILL^XMLWRITE("KEY",Key)) + . Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.Omschrijving) + . Do TAGWRITE^XMLWRITE(DevObj,"FORMULE",caBanDtl.Formule) + . Do TAGWRITE^XMLWRITE(DevObj,"EVALFORMULE",caBanDtl.EvalFormule) + . Do TAGWRITE^XMLWRITE(DevObj,"AANTAL",caBanDtl.Aantal) + . Do TAGWRITE^XMLWRITE(DevObj,"EVALAANTAL",caBanDtl.EvalAantal) + . Do TAGWRITE^XMLWRITE(DevObj,"TOTAAL",caBanDtl.EvalFormule * caBanDtl.EvalAantal) + . Do TAGWRITE^XMLWRITE(DevObj,"STRIPPEDBANCORES",$$xwStripID(caBanDtl.BancoResGetObjectId())) + . Do TAGWRITE^XMLWRITE(DevObj,"KOPPELSTUK1",$$xwStripID(caBanDtl.KoppelStuk1GetObjectId())) + . If caBanDtl.KoppelStuk1'="" Do + .. Do TAGWRITE^XMLWRITE(DevObj,"KS1OPTIES",caBanDtl.KoppelStuk1.Opties) + . Do TAGWRITE^XMLWRITE(DevObj,"KOPPELSTUK2",$$xwStripID(caBanDtl.KoppelStuk2GetObjectId())) + . If caBanDtl.KoppelStuk2'="" Do + .. Do TAGWRITE^XMLWRITE(DevObj,"KS2OPTIES",caBanDtl.KoppelStuk2.Opties) + . Do TAGWRITE^XMLWRITE(DevObj,"OPTIES",caBanDtl.Opties) + . Do ENDTAG^XMLWRITE(DevObj,"PROFIEL",1) + . If SubKey'=$E(%this.BanDtl.Next(Key),1,2) Do + .. Do ENDTAG^XMLWRITE(DevObj,"PROFIELEN",1) + Quit + + ;-------------------------------------------------------------------------------------- + ;XML Sub Routine: Voeten,verbinders en koppelstukken + ;-------------------------------------------------------------------------------------- +xwKOPPEL + New Key,SubKey,caBanDtl + Set Key="CA000" + Set SubKey=" " + For Set caBanDtl=%this.BanDtl.GetNext(.Key) Quit:"QRSTUVWXYZ"[$E(Key,2) Quit:Key="" Do + . If SubKey'=$E(Key,1,2) Do + .. Do BEGINTAG^XMLWRITE(DevObj,"KOPPELS") + .. Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.BancoRes.GroepOmschrijving) + .. Set SubKey=$E(Key,1,2) + . Do BEGINTAG^XMLWRITE(DevObj,"KOPPEL",$$PARAMFILL^XMLWRITE("KEY",Key)) + . Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.Omschrijving) + . Do TAGWRITE^XMLWRITE(DevObj,"AANTAL",caBanDtl.Aantal) + . Do TAGWRITE^XMLWRITE(DevObj,"EVALAANTAL",caBanDtl.EvalAantal) + . Do TAGWRITE^XMLWRITE(DevObj,"EENHEID",caBanDtl.BancoRes.Eenheid) + . Do TAGWRITE^XMLWRITE(DevObj,"STRIPPEDBANCORES",$$xwStripID(caBanDtl.BancoResGetObjectId())) + . Do TAGWRITE^XMLWRITE(DevObj,"OPTIES",caBanDtl.Opties) + . Do ENDTAG^XMLWRITE(DevObj,"KOPPEL",1) + . If SubKey'=$E(%this.BanDtl.Next(Key),1,2) Do + .. Do ENDTAG^XMLWRITE(DevObj,"KOPPELS",1) + Quit + + ;-------------------------------------------------------------------------------------- + ;XML Sub Routine: Zagen, Boren, Montagetijd, ... + ;-------------------------------------------------------------------------------------- +xwDIV + New Key,SubKey,caBanDtl + Set Key="CQ000" + Set SubKey=" " + For Set caBanDtl=%this.BanDtl.GetNext(.Key) Quit:$E(Key)'="C" Quit:Key="" Do + . If SubKey'=$E(Key,1,2) Do + .. Do BEGINTAG^XMLWRITE(DevObj,"DIVERSEN") + .. Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.BancoRes.GroepOmschrijving) + .. Set SubKey=$E(Key,1,2) + . Do BEGINTAG^XMLWRITE(DevObj,"DIVERSE",$$PARAMFILL^XMLWRITE("KEY",Key)) + . Do TAGWRITE^XMLWRITE(DevObj,"OMSCHRIJVING",caBanDtl.Omschrijving) + . Do TAGWRITE^XMLWRITE(DevObj,"AANTAL",caBanDtl.Aantal) + . Do TAGWRITE^XMLWRITE(DevObj,"EVALAANTAL",caBanDtl.EvalAantal) + . Do TAGWRITE^XMLWRITE(DevObj,"EENHEID",caBanDtl.BancoRes.Eenheid) + . Do TAGWRITE^XMLWRITE(DevObj,"STRIPPEDBANCORES",$$xwStripID(caBanDtl.BancoResGetObjectId())) + . Do TAGWRITE^XMLWRITE(DevObj,"OPTIES",caBanDtl.Opties) + . Do ENDTAG^XMLWRITE(DevObj,"DIVERSE",1) + . If SubKey'=$E(%this.BanDtl.Next(Key),1,2) Do + .. Do ENDTAG^XMLWRITE(DevObj,"DIVERSEN",1) + Quit + + ;-------------------------------------------------------------------------------------- + ; StripID (bijv. 11||4B410 -> 4B410 + ;-------------------------------------------------------------------------------------- + +xwStripID(paID) + New tmpResult + Set tmpResult=$E(paID,$L(##class(Res.PI.Definitie).IDViaNaam("BANCODTL"))+3,$L(paID)) + Quit tmpResult +]]> + + + +%Library.SQLQuery +paMainKey,paBancoID:%String +0 +SELECT Max(Element_Key) +FROM Prod_GADef.Banco_BanDtl +WHERE (Left(Element_Key,2)=UPPER(:paMainKey)) AND (Banco=:paBancoID) + +0 + + + + + +%Library.Query +paBancoObject,paBeginLetter:%String +0 +0 + + + + + +%Library.Query +paType,paBancoORef:%String +0 +SELECT +FROM Banco + +0 + + + + + + +Bij het uitvoeren van deze query wordt een set teruggegeven met alle +mogelijke profielen + een boolean die bepaalt of het profiel voorkomt +in de banco. +%Library.Query +paType,paBancoORef:%String +0 +0 + + + + + +%Library.CacheStorage +BancoDefaultData + +BanDtl +subnode +"BanDtl" + + +listnode +"Banco" + +Aantal + + +Breedte + + +Diepte + + +Dossier + + +Gemonteerd + + +Herstelling + + +Hoogte + + +Kostprijs + + +Opmerking + + +TemplateRoutine + + +TemplateUsed + + +Toepassing + + +Verpakking + + +WijzigTijdStip + + +HoofdGroep + + +CStream + + + + + Index: Flow/OrderWMS/Hoofding.cls.xml =================================================================== diff -u --- Flow/OrderWMS/Hoofding.cls.xml (revision 0) +++ Flow/OrderWMS/Hoofding.cls.xml (revision 2) @@ -0,0 +1,352 @@ + + + +persistent +VHOpslag +%Library.Persistent + + +1 +1 +ConsolidatieNr + + + +Sys.cTimeStamp + +0 + + + +%Library.Integer + +0 + + + +Sys.cTimeStamp + +0 + + + +Sys.cTimeStamp + +0 + + + +Sys.cTimeStamp + +0 + + + +%Library.String + +0 + + + + +Derde.Klant.Klant + +0 + + + +Flow.OrderWMS.Lijn +children + +Hoofding +1 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + + +%Library.String + +0 + + + + +%String +1 + +0 + Set {*}=##class(Flow.OrderWMS.Hoofding).VerwerkingSoftwareLijst({ConsolidatieNr}) + +1 + + + +Sys.cTimeStamp + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +code +IsNew:%Library.Boolean=1 +cache +0 +%Library.Status + + + + +code +IsNew:%Library.Boolean=1 +cache +0 +%Library.Status + + + + +1 +code +oid:%Library.ObjectIdentity +cache +0 +%Library.Status +Id + Set oid=$LI(oid,1) + + //Check if oid is valid, if not return error + Quit:('##class(Flow.OrderWMS.Hoofding).%ExistsId(oid)) $$$ERROR($$$GeneralError,"Hoofding.OnDelete: object '"_oid_"' does not exist!") + + //Open object to delete + New tmpHoofding + Set tmpHoofding=##class(Flow.OrderWMS.Hoofding).%OpenId(oid) + + //Check if created object is valid + Quit:(tmpHoofding=$$$NULLOREF) $$$ERROR($$$GeneralError,"Hoofding.OnDelete: unable to open object '"_oid_"'!") + + //Delete indices (IncludeLijnen=0, childindices wo verwijderd via Lijn.%OnDelete) + New tmpResult + Set tmpResult=tmpHoofding.DeleteIndex(0) + + //Close temp. object + Do tmpHoofding.%Close() + + Quit tmpResult +]]> + + + +code +IncludeLijnen:%Library.Boolean=1 +cache +0 +%Library.Status + + + + +code +IncludeLijnen:%Library.Boolean=1 +cache +0 +%Library.Status + + + + +code +cache +0 +%Library.String + + + + +code +cache +0 +%Library.String + + + + +code + + + + +1 +code +CONSNr + + + + +%Library.CacheSQLStorage +^Flow.Ord.HoofdingS + +data +^ORDW +delimited + +"D" + + +{ConsolidatieNr} + + +"\" +22 + + +"\" +3 + + +"\" +24 + + +"\" +23 + + +"\" +6 + + +"\" +1 + + +"\" +7 + + +"\" +21 + + +"\" +20 + + +"\" +17 + + +"\" +5 + + +"\" +2 + + +"\" +4 + + + + + Index: _vhisie/TBX/TBoxWizPData.js =================================================================== diff -u --- _vhisie/TBX/TBoxWizPData.js (revision 0) +++ _vhisie/TBX/TBoxWizPData.js (revision 2) @@ -0,0 +1,250 @@ + +/* +// General variabels: +var arPData=Array(); +var arCheckPData=Array(); +var KlantFormType; +*/ + +var blnValidatePData=true; + +function initCheckPData () { + // The values are initial settings; they may be modified upon the user's choices + // Reset every time that the PData-step is (re)-displayed + arCheckPData["Naam"]=(blnLMC ? 0 : 1); + arCheckPData["Tel/Fax/EMail"]=(blnLMC ? 0 : 1); + arCheckPData["EMail"]=(blnLMC ? 0 : 3); + arCheckPData["KLRef"]=1; + arCheckPData["LeverTijd"]=(blnVHEPN || (blnHEIN && KlantFormType=="OFF") ? 0 : 3); + arCheckPData["BTWNr"]=(blnVHEPN && (BTWInputMode==3) ? 3 : 0); +} + +function ValidatePData () { + if (!blnValidatePData) return true; + var tmpPData= Array(); + GetFieldsPData (tmpPData); + if ((arCheckPData["Naam"]==1) && tmpPData["Naam"]=="") { + msg="'" + GetObjAttribValue("txtKL_Naam","lbl","Naam") + "' " + jsVTL("jsDVerplichtGegeven"); // "is een verplicht gegeven"; + alert (msg); + SafeFocusSet(document.getElementById("txtKL_Naam")); + return false; + } + if ((arCheckPData["Tel/Fax/EMail"]==1) && (tmpPData["Telefoon"]=="") && (tmpPData["Fax"]=="") && (tmpPData["EMail"]=="")) { + msg="'" + jsVTL("jsContactGegevens",undefined,"L") + "' (Tel./Fax/E-mail): " + jsVTL("jsDVerplichtTelFaxMail"); // "gelieve minstens ��n waarde in te vullen"; + alert (msg); + SafeFocusSet(document.getElementById("txtKL_Telefoon")); + return false; + } + if (arCheckPData["BTWNr"]==3) { + if (tmpPData["BTWNr"]=="") { + msg="'" + GetObjAttribValue("txtKL_BTWNr","lbl","BTWNr") + "' " + jsVTL("jsDVerplichtGegeven"); // "is een verplicht gegeven"; + alert (msg); + SafeFocusSet(document.getElementById("txtKL_BTWNr")); + return false; + } + if (! IsValidBTW(tmpPData["BTWNr"])) { + msg="'" + GetObjAttribValue("txtKL_BTWNr","lbl","BTWNr") + "' " + jsVTL("jsDMogelijkFout") + ". "+"\n\n"+"BE-###-###-###"+"\n"+"NL-###-###-###.B##" ; // "is mogelijk niet correct ingevuld"; + alert (msg); + SafeFocusSet(document.getElementById("txtKL_BTWNr")); + return false; + } + } + if ((arCheckPData["KLRef"]==1) && tmpPData["Commissie"]=="") { + msg="'" + GetObjAttribValue("txtKL_Commissie","lbl","KlantReferentie") + "' " + jsVTL("jsDVerplichtGegeven"); // "is een verplicht gegeven"; + alert (msg); + SafeFocusSet(document.getElementById("txtKL_Commissie")); + return false; + } + if ((arCheckPData["LeverTijd"]==1) && tmpPData["LeverTijd"]=="") { + msg="'" + GetObjAttribValue("txtKL_LeverTijd","lbl","Levertijd") + "' " + jsVTL("jsDVerplichtGegeven"); // "is een verplicht gegeven"; + alert (msg); + SafeFocusSet(document.getElementById("txtKL_LeverTijd")); + return false; + } + // Optioneel: waarschuwing + var MatchEMail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/ ; + if ((arCheckPData["EMail"]==3) && (tmpPData["EMail"]!="") && (! MatchEMail.test(tmpPData["EMail"]))) { + msg="'" + GetObjAttribValue("txtKL_EMail","lbl","EMail adres") + "' " + jsVTL("jsDMogelijkFout") + ". " + jsVTL("jsDTochDoorgaan"); // "is mogelijk niet correct ingevuld. Wil je toch doorgaan?"; + if (! confirm (msg)) { + SafeFocusSet(document.getElementById("txtKL_EMail")); + return false; + } + else arCheckPData["EMail"]=0; // Set EMail checking to false + } + if ((arCheckPData["KLRef"]==3) && tmpPData["Commissie"]=="") { + msg="'" + GetObjAttribValue("txtKL_Commissie","lbl","KlantReferentie") + "' " + jsVTL("jsDNietIngevuld") + ". " + jsVTL("jsDTochDoorgaan"); // "is niet ingevuld. Wil je toch doorgaan?"; + if (! confirm (msg)) { + SafeFocusSet(document.getElementById("txtKL_Commissie")); + return false; + } + else arCheckPData["KLRef"]=0; // Set KLRef checking to false + } + if ((arCheckPData["LeverTijd"]==3) && tmpPData["LeverTijd"]=="") { + msg="'" + GetObjAttribValue("txtKL_LeverTijd","lbl","Levertijd") + "' " + jsVTL("jsDNietIngevuld") + ". " + jsVTL("jsDVerplichtBBON") + ". \n" + jsVTL("jsDTochDoorgaan"); +// msg="'" + GetObjAttribValue("txtKL_LeverTijd","lbl","Levertijd") + "' is niet ingevuld. Om een bestelling te plaatsen, is dit een verplicht gegeven. \nWil je toch doorgaan?"; + if (! confirm (msg)) { + SafeFocusSet(document.getElementById("txtKL_LeverTijd")); + return false; + } + else arCheckPData["LeverTijd"]=0; // Set LeverTijd checking to false + } + return true; +} + +function SetFieldsPData (arFlds) { + if (!arFlds) return; + SetValTxt("txtKL_Naam", arFlds["Naam"]); + SetValTxt("txtKL_StraatNr", arFlds["StraatNr"]); + SetValTxt("txtKL_PostNr", arFlds["PostNr"]); + SetValTxt("txtKL_WoonPlaats", arFlds["WoonPlaats"]); + SetValTxt("txtKL_Telefoon", arFlds["Telefoon"]); + SetValTxt("txtKL_Fax", arFlds["Fax"]); + SetValTxt("txtKL_EMail", arFlds["EMail"]); + SetValTxt("txtKL_Commissie", arFlds["Commissie"]); + SetValTxt("txtKL_LeverTijd", arFlds["LeverTijd"]); + SetValTxt("txtKL_AfdrukCode", arFlds["AfdrukCode"]); + SetValTxt("txtKL_Korting", arFlds["Korting"]); + SetValTxt("txtKL_BTWNr", arFlds["BTWNr"]); + chkFormTypeClickID(KlantFormType); +// OrdID= (arFlds["Naam"] || ""); +} + +function GetFieldsPData (arFlds) { + if (!arFlds) arFlds=Array(); + arFlds["Naam"]=GetValTxt("txtKL_Naam"); + arFlds["StraatNr"]=GetValTxt("txtKL_StraatNr"); + arFlds["PostNr"]=GetValTxt("txtKL_PostNr"); + arFlds["WoonPlaats"]=GetValTxt("txtKL_WoonPlaats"); + arFlds["Telefoon"]=GetValTxt("txtKL_Telefoon"); + arFlds["Fax"]=GetValTxt("txtKL_Fax"); + arFlds["EMail"]=GetValTxt("txtKL_EMail"); + arFlds["Commissie"]=GetValTxt("txtKL_Commissie"); + arFlds["LeverTijd"]=GetValTxt("txtKL_LeverTijd"); + arFlds["AfdrukCode"]=GetValTxt("txtKL_AfdrukCode"); + arFlds["Korting"]=GetValTxt("txtKL_Korting"); + arFlds["BTWNr"]=GetValTxt("txtKL_BTWNr"); +// arFlds["ID"]=OrdID; + arFlds["tmpKFType"]=KlantFormType; +} + +function SetPData () { + SetFieldsPData(arPData); +} + +function UpdatePDataModified (blnCheckModified) { // Modified by WimV on 27/08/2009 + var tmpPData= Array(); + GetFieldsPData (tmpPData); +// alert("CheckPDataModified(arPData,tmpPData): " + CheckPDataModified(arPData,tmpPData)); + if (CheckPDataModified(arPData,tmpPData)) { + GetFieldsPData(arPData); + arModified["PData"]=true; + } +} + +function CheckPDataModified (oldPData,newPData) { + function PDataDiffer (sKey) { + return (oldPData[sKey] != newPData[sKey]); + } + if (PDataDiffer("tmpKFType")) return true; + if (PDataDiffer("Naam")) return true; + if (PDataDiffer("StraatNr")) return true; + if (PDataDiffer("PostNr")) return true; + if (PDataDiffer("WoonPlaats")) return true; + if (PDataDiffer("Telefoon")) return true; + if (PDataDiffer("Fax")) return true; + if (PDataDiffer("Commissie")) return true; + if (PDataDiffer("LeverTijd")) return true; + if (PDataDiffer("EMail")) return true; + if (PDataDiffer("AfdrukCode")) return true; + if (PDataDiffer("Korting")) return true; + if (PDataDiffer("BTWNr")) return true; + return false; +} + +function GetWSOrdID () { + var OrdID; + OrdID=prompt("Geef waarde :", "1", "Input OrderID"); + return OrdID; +} +function GetDataFlds (OrdID) { + cspImportData(OrdID); + // DataStringToArrays(); // this is done in "cspImportData()" +} +function FillDataFlds () { + DataToKlrDFL(); + SetPData(); + initKleur(); + SetMData(); + MCheckSyncKlr(); + arModified["KLR"]=false; + arModified["MData"]=false; + UpdateOvzTable(); +} + +function DataToKlrDFL () { + // Input data overrules the Default values + var pdlNietMee=DollarGet(arPData["NietMee"]); + for (var i=0; i-1 ? 1 : 0); } + if (arMData.length>0 && !isUndef(arMData[0])) { arKlrValue['DFL_VPK']=DollarGet(arMData[0]["VPK"]); } +} + +function btnGetDataClick () { + var OrdID; + OrdID=GetWSOrdID(); + if (!OrdID || OrdID=="") return; + // else + GetDataFlds(OrdID); + FillDataFlds (); +} + +function chkFormTypeClickID(KFormType) { + chkFormTypeClick(document.getElementById('chkFT_' + KFormType)); +} +function chkFormTypeClick(objChk) { +// Loop through all checkboxes on a
    + if (!objChk || objChk.tagName != "INPUT") return; + var id=objChk.id; + var grp=objChk.parentNode; + if (grp && grp.tagName=='LABEL') grp=chk.parentNode.parentNode; + if (!grp || (grp.tagName != 'DIV')) return; + + var i; + var LoopID; + var coll = grp.getElementsByTagName("INPUT"); + if (coll!=null) { + for (i=0; i < coll.length; i++) { + LoopID = coll[i].getAttribute('id'); + if (LoopID==id) { + KlantFormType=LoopID.replace("chkFT_",""); + coll[i].checked=true; + } + else { + coll[i].checked=false; + } + } + } + if (blnHEIN) { arCheckPData["LeverTijd"]=(KlantFormType=="OFF" ? 0 : 3); } +} + +function initFormType () { + var blnShow=true; + KlantFormType=(KFTDefault || 'OFF'); + chkFormTypeClickID(KlantFormType); // zet initi�le waarde +} + +function PDataFocusFirst () { + if (blnNewFromOrd) SafeFocusSet (document.getElementById("txtKL_Commissie")); + else if (blnLMC) SafeFocusSet (document.getElementById("txtKL_Commissie")); + else SafeFocusSet (document.getElementById("txtKL_Naam")); +} + +function PDataBtnClick () { + initCheckPData(); + PDataFocusFirst(); +} + +function initPData () { + initFormType(); + initCheckPData(); +} + Index: Sys/cDateYYYYPMMB.cls.xml =================================================================== diff -u --- Sys/cDateYYYYPMMB.cls.xml (revision 0) +++ Sys/cDateYYYYPMMB.cls.xml (revision 2) @@ -0,0 +1,46 @@ + + + +datatype +DATE +DATE +DATE +%Library.Date + + +1 +expression +%val:%Library.Date +%Library.String + + + + +1 +expression +%val:%Library.Date +%Library.String + + + + +1 +expression +%val:%Library.Date +%Library.String + + + + +1 +expression +%val:%Library.String +%Library.Date + + + + Index: _vhisie/TBX/TBoxPrintPage_ORIG.js =================================================================== diff -u --- _vhisie/TBX/TBoxPrintPage_ORIG.js (revision 0) +++ _vhisie/TBX/TBoxPrintPage_ORIG.js (revision 2) @@ -0,0 +1,18 @@ + +var blnSkipOnFocus=false; + +function OnFocusW() { + if (blnSkipOnFocus) return; + if (window.opener==self) return; +// alert("Msg test !"); + // else + if (window.opener.NeedsUpdateP) { + blnSkipOnFocus=true; + alert("The data has changed. It will update now."); + window.opener.NeedsUpdateP=false; + window.opener.ShowPrintWin(); + } +} + +if (!window.opener) window.opener=self; +window.onfocus=OnFocusW; Index: csp/tbx/resitems.cls.xml =================================================================== diff -u --- csp/tbx/resitems.cls.xml (revision 0) +++ csp/tbx/resitems.cls.xml (revision 2) @@ -0,0 +1,526 @@ + + + + +JavaScript-file voor dynamisch opbouwen van JS-arrays +Haalt data uit de klassen Kenmerk.Basis.DataDefinitie en Prod.GAMeta.BT.LadeCode +In geval de JSArray gekopieerd wordt, bvb naar WWW, moet de data daar ook geïmporteerd worden (use "TBX Product Matrix.xls") +%VHMacro +1 +%CSP.Page +0 + + +text/javascript + + + +UTF-8 + + + +/VHISIE/TBX/ResItems.csp + + + +0 + + + +0 + + + + +Oproepen via + s sc=##class(csp.tbx.resitems).CreateJSAll() w sc,! +1 +%Status + + + + + +Oproepen via + s sc=##class(csp.tbx.resitems).CreateJSFile(,) w sc,! + s sc=##class(csp.tbx.resitems).CreateJSFile(,"I") w sc,! + s sc=##class(csp.tbx.resitems).CreateJSFile(,"S;B;F;I;MA;A") w sc,! +1 +FilePath:%String,TBoxDesign:%String +%Status + + + + +1 +%Status + + + + +1 +Kenmerk,Waarden INTO :UnID,:KMNaam,:KMWaarde FROM Kenm_Basis.DataDefinitie + WHERE (Kenmerk->Groep = :Groep) and (Kenmerk->Kenmerk %STARTSWITH 'TB')) + &sql(OPEN crsDW) + For &sql(FETCH crsDW) Quit:SQLCODE Set arKenm(UnID,KMNaam)=$LG(KMWaarde,1) + &sql(CLOSE crsDW) + Quit +cjsBuildArrayBPM(arKenm,arLCode,arBPM) ; Loop through arKenm, lookup LCode and build array arBPM (values sorted) +#define akKLAS arKenm(UnID,$$$KLAS) +#define akGT arKenm(UnID,$$$GT) +#define akLT arKenm(UnID,$$$LT) +#define akZW arKenm(UnID,$$$ZW) +#define akRH arKenm(UnID,$$$RH) +#define akDS arKenm(UnID,$$$DS) +#define akLD arKenm(UnID,$$$LD) +#define akDK arKenm(UnID,$$$DK) + ;New i,UnID,LCodeID + Set i="" + Set UnID="" + For Set UnID=$O(arKenm(UnID)) Quit:(UnID="") Do + . Quit:($G($$$akDS)="")||($G($$$akLD)="")||($G($$$akDK)="") + . Set LCodeID=$G(arLCode($G($$$akKLAS)_"-"_$G($$$akGT)_"-"_$G($$$akLT)_"-"_$G($$$akZW)_"-"_$G($$$akRH))) + . Quit:(LCodeID="") + . Quit:($$$DKExclude($$$akDK)) + . Set:('$D(arBPM($$$akDS,LCodeID))) arBPM($$$akDS,LCodeID)=$LB($G($$$akKLAS),$G($$$akZW),$G($$$akRH),$G($$$akLT)) + . Set arBPM($$$akDS,LCodeID,$$$akLD,$$$akDK)=arBPM($$$akDS,LCodeID) + Quit +cjsWriteJSArray(arBPM) + #define NotInList(%l,%i) ($LF(%l,%i)=0) + ;New iDS,iLC,iLD,iDK,pdlDK,blnNext + Write "var cItemLT=0;",! + Write "var cItemLD=1;",! + Write "var cItemDK=2;",! + Write "",! + Write "var arBPM=Array();",! + Kill arDC + Set (iDS,iLC,iLD,iDK)="" + For Set iDS=$O(arBPM(iDS)) Quit:(iDS="") Do + . Set DC=##class(BL.PR.GA.TandemBox).DesignCodeFromDS(iDS) + . Quit:($$cjsExcludeDS(iDS,DC)) + . Set arDC("LC",DC)="" + . Set arDC("DS",DC)=$G(arDC("DS",DC))_$LB(iDS) + . Set arDC("BX",DC)="" + . Write "arBPM["_$$$QuoteJS(iDS)_"]=Array(",! + . Set blnNext=0 + . For Set iLC=$O(arBPM(iDS,iLC)) Quit:(iLC="") Do + . . Quit:($$cjsExcludeLC(iLC,DC)) + . . For Set iLD=$O(arBPM(iDS,iLC,iLD)) Quit:(iLD="") Do + . . . Set pdlDK="" + . . . For Set iDK=$O(arBPM(iDS,iLC,iLD,iDK)) Quit:(iDK="") Set pdlDK=pdlDK_";"_iDK + . . . Set:($E(pdlDK,1)=";") $E(pdlDK,1)="" + . . . If blnNext Write ",",! + . . . Else Set blnNext=1 + . . . Write " Array("_$$$QuoteJS(iLC)_","_iLD_","_$$$QuoteJS(pdlDK)_")" + . . Set:($$$NotInList(arDC("LC",DC),iLC)) arDC("LC",DC)=arDC("LC",DC)_$LB(iLC) + . . Set arDC("I_DS-LC",iDS,iLC,"DC")=DC + . Write !,");",! + + Write ! + Write "var arDC_DS=Array();",! + Set DC="" + For Set DC=$O(arDC("DS",DC)) Quit:(DC="") Do + . Set lbItems=$G(arDC("DS",DC)) + . Quit:($LG(lbItems,1)="") + . Write "arDC_DS["_$$$QuoteJS(DC)_"]=Array(" + . Write $$$QuoteJS($LG(lbItems,1)) + . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . Write ");",! + Write ! + Write "var arDC_LC=Array();",! + Set DC="" + For Set DC=$O(arDC("LC",DC)) Quit:(DC="") Do + . Set lbItems=$G(arDC("LC",DC)) + . Quit:($LG(lbItems,1)="") + . Write "arDC_LC["_$$$QuoteJS(DC)_"]=Array(" + . Write $$$QuoteJS($LG(lbItems,1)) + . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . Write ");",! + Write ! + Do cjsBuildKVarray(.arDC) + Write "var arDC_KV=Array();",! + Set DC="" + For Set DC=$O(arDC("KV",DC)) Quit:(DC="") Do + . Set lbItems=$G(arDC("KV",DC)) + . Quit:($LG(lbItems,1)="") + . Write "arDC_KV["_$$$QuoteJS(DC)_"]=Array(" + . Write $$$QuoteJS($LG(lbItems,1)) + . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . Write ");",! + Write ! + Do cjsBuildBXarray(.arDC) + Write "var arDC_BX=Array();",! + Set DC="" + For Set DC=$O(arDC("BX",DC)) Quit:(DC="") Do + . Set lbItems=$G(arDC("BX",DC)) + . Quit:($LG(lbItems,1)="") + . Write "arDC_BX["_$$$QuoteJS(DC)_"]=Array(" + . Write $$$QuoteJS($LG(lbItems,1)) + . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . Write ");",! + Write ! + // Boxside keuzes per LadeCode + Write "var arDS_BX=Array();",! + Set (iDS,iLC)="" + For Set iDS=$O(arDC("BX-2",iDS)) Quit:(iDS="") Do + . For Set iLC=$O(arDC("BX-2",iDS,iLC)) Quit:(iLC="") Do + . . Set lbItems=$G(arDC("BX-2",iDS,iLC)) + . . Quit:($LG(lbItems,1)="") + . . Write "arDS_BX["_$$$QuoteJS(iDS_"_"_iLC)_"]=Array(" + . . Write $$$QuoteJS($LG(lbItems,1)) + . . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . . Write ");",! + Write ! + // Spoelbak Zijstukken per LadeCode + Write "var arDC_SPZK=Array();",! + Set (iDC,iLC)="" + For Set iDC=$O(arDC("SPZK",iDC)) Quit:(iDC="") Do + . For Set iLC=$O(arDC("SPZK",iDC,iLC)) Quit:(iLC="") Do + . . Set lbItems=$G(arDC("SPZK",iDC,iLC)) + . . Quit:($LG(lbItems,1)="") + . . Write "arDC_SPZK["_$$$QuoteJS(iDC_"_"_iLC)_"]=Array(" + . . Write $$$QuoteJS($LG(lbItems,1)) + . . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . . Write ");",! + Write ! + // Frontsteun keuzes per LadeCode + Write "var arDCLC_FS=Array(); // DC replaced by ""XX"", same items for every DC. ",! + Set (iDC,iLC)="" + For Set iDC=$O(arDC("FS",iDC)) Quit:(iDC="") Do + . Quit:(iDC'="XX") + . For Set iLC=$O(arDC("FS",iDC,iLC)) Quit:(iLC="") Do + . . Set lbItems=$G(arDC("FS",iDC,iLC)) + . . Quit:($LG(lbItems,1)="") + . . Write "arDCLC_FS["_$$$QuoteJS(iDC_"_"_iLC)_"]=Array(" + . . Write $$$QuoteJS($LG(lbItems,1)) + . . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . . Write ");",! + Write ! + // Dwarsverdeling keuzes per LadeCode + Write "var arDCLC_DWV=Array(); // DC replaced by ""XX"", same items for every DC. ",! + Set (iDC,iLC)="" + For Set iDC=$O(arDC("DWV",iDC)) Quit:(iDC="") Do + . Quit:(iDC'="XX") + . For Set iLC=$O(arDC("DWV",iDC,iLC)) Quit:(iLC="") Do + . . Set lbItems=$G(arDC("DWV",iDC,iLC)) + . . Quit:($LG(lbItems,1)="") + . . Write "arDCLC_DWV["_$$$QuoteJS(iDC_"_"_iLC)_"]=Array(" + . . Write $$$QuoteJS($LG(lbItems,1)) + . . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . . Write ");",! + Write ! + + // Kleur van Reling/Boxside keuzes per Design + Write "var arDS_KLR=Array();",! + Set iDS="" + For Set iDS=$O(arDC("I_DS-LC",iDS)) Quit:(iDS="") Do + . Set lbItems=$$cjsBuildRKlistForDS(iDS) + . Quit:($LG(lbItems,1)="") + . Write "arDS_KLR["_$$$QuoteJS("RK_"_iDS)_"]=Array(" + . Write $$$QuoteJS($LG(lbItems,1)) + . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . Write ");",! + ;Write ! + ;Write "var arDS_KLR_KX=Array();",! + Set iDS="" + For Set iDS=$O(arDC("I_DS-LC",iDS)) Quit:(iDS="") Do + . Set lbItems=$$cjsBuildKXlistForDS(iDS) + . Quit:($LG(lbItems,1)="") + . Write "arDS_KLR["_$$$QuoteJS("KX_"_iDS)_"]=Array(" + . ;Write "arDS_KLR_KX["_$$$QuoteJS(iDS)_"]=Array(" + . Write $$$QuoteJS($LG(lbItems,1)) + . For i=2:1:$LL(lbItems) Write ", "_$$$QuoteJS($LG(lbItems,i)) + . Write ");",! + Quit +cjsExcludeDS(iDS,DC) + Quit:(TBoxDesign'[DC) 1 + Quit:($LF(lbTBoxDesign,DC)=0) 1 + Quit:(DC="S" ) ($$$DSExclude4S(iDS)) + Quit:(DC="F" ) ($$$DSExclude4F(iDS)) + Quit:(DC="I" ) ($$$DSExclude4I(iDS)) + Quit:(DC="B" ) ($$$DSExclude4B(iDS)) + Quit:(DC="MA") ($$$DSExclude4MA(iDS)) + Quit:(DC="A" ) ($$$DSExclude4A(iDS)) + Quit 1 +cjsExcludeLC(iLC,DC) + Quit:(DC="S" ) ($$$LCExclude4S(iLC)) + Quit:(DC="F" ) ($$$LCExclude4F(iLC)) + Quit:(DC="I" ) ($$$LCExclude4I(iLC)) + Quit:(DC="B" ) ($$$LCExclude4B(iLC)) + Quit:(DC="MA") ($$$LCExclude4MA(iLC)) + Quit:(DC="A" ) ($$$LCExclude4A(iLC)) + Quit 1 +cjsBuildKVarray(arDC) ; arDC als .local doorgeven + Kill arDC("KV") + ;d WLIP^vhDBG(97,"cjsBuildKVarray") + Set (iDS,iLC)="" + For Set iDS=$O(arDC("I_DS-LC",iDS)) Quit:(iDS="") Do + . For Set iLC=$O(arDC("I_DS-LC",iDS,iLC)) Quit:(iLC="") Do + . . Set DC=arDC("I_DS-LC",iDS,iLC,"DC") + . . Set lbKV=$$cjsBuildKVlistForDS(iDS,DC) + . . ;Set arDC("KV-2",iDS,iLC)=lbKV + . . If $G(arDC("KV",DC))="" Set lbKVbyDC=lbKV + . . Else Do + . . . Set lbKVbyDC=arDC("KV",DC) + . . . For i=1:1:$LL(lbKV) Set:($$$NotInList(lbKVbyDC,$LI(lbKV,i))) lbKVbyDC=lbKVbyDC_$LB($LI(lbKV,i)) + . . Set arDC("KV",DC)=lbKVbyDC + Quit +cjsBuildBXarray(arDC) ; arDC als .local doorgeven + Kill arDC("BX") + ;d WLIP^vhDBG(97,"cjsBuildBXarray") + Set (iDS,iLC)="" + For Set iDS=$O(arDC("I_DS-LC",iDS)) Quit:(iDS="") Do + . For Set iLC=$O(arDC("I_DS-LC",iDS,iLC)) Quit:(iLC="") Do + . . Set lbDefsLC=arBPM(iDS,iLC) + . . Set DC=arDC("I_DS-LC",iDS,iLC,"DC") + . . Set arDC("SPZK",DC,iLC)=$$cjsBuildSPZKlistForLC(iLC,iDS,DC,$LI(lbDefsLC,1),$LI(lbDefsLC,3)) ; KLAS=$LI(lbDefsLC,1) RH=$LI(lbDefsLC,3) + . . Set arDC("FS",DC,iLC)=$$cjsBuildFSlistForLC(iLC,iDS,DC,$LI(lbDefsLC,1),$LI(lbDefsLC,3),$LI(lbDefsLC,4)) ; KLAS=$LI(lbDefsLC,1) RH=$LI(lbDefsLC,3) LT=$LI(lbDefsLC,4) + . . Set arDC("FS","XX",iLC)=arDC("FS",DC,iLC) ; Simplified version, because independant from DC + . . Set lbBX=$$cjsBuildBXlistForLC(iLC,iDS,DC,$LI(lbDefsLC,2),$LI(lbDefsLC,3)) ; ZW=$LI(lbDefsLC,2) RH=$LI(lbDefsLC,3) + . . ;d WL^vhDBG("iDS,iLC : "_iDS_" "_$J(iLC,5)_" : "_$J($LI(lbDefsLC,2),4)_" "_$J($LI(lbDefsLC,3),4)_" --> "_$$$LCVT(lbBX)) + . . Set arDC("BX-2",iDS,iLC)=lbBX + . . If $G(arDC("BX",DC))="" Set lbBXbyDC=lbBX + . . Else Do + . . . Set lbBXbyDC=arDC("BX",DC) + . . . For i=1:1:$LL(lbBX) Set:($$$NotInList(lbBXbyDC,$LI(lbBX,i))) lbBXbyDC=lbBXbyDC_$LB($LI(lbBX,i)) + . . Set arDC("BX",DC)=lbBXbyDC + . . Set arDC("DWV",DC,iLC)=$$cjsBuildDWVlistForLC(iLC,iDS,DC,$LI(lbDefsLC,1),$LI(lbDefsLC,3)) ; KLAS=$LI(lbDefsLC,1) + . . Set arDC("DWV","XX",iLC)=arDC("DWV",DC,iLC) ; Simplified version, because independant from DC + Quit +cjsBuildBXlistForLC(LC,DS,DC,ZW,RH) + Set BX="" + Set tmpLB="" + ;Set MatchDS="%;"_DS_";%" + Set MatchZW="%;"_ZW_";%" + Set MatchRH="%;"_RH_";%" + &SQL(DECLARE crsBXLC CURSOR FOR + SELECT BxBP1.TBBoxSide INTO :BX + FROM Prod_GAMeta_BT.TBBoxSide_BeperkGUI AS BxBP1, Prod_GAMeta_BT.TBBoxSide_BeperkGUI AS BxBP2 + WHERE (BxBP1.TBBoxSide = BxBP2.TBBoxSide) AND ($ListFind(BxBP1.TBBoxSide->FilterDC,:DC)>0) + AND (BxBP1.element_key = 'TBRugHoogte' and ((';' || BxBP1.BeperkGUI || ';') LIKE :MatchRH OR BxBP1.BeperkGUI="*")) + AND (BxBP2.element_key = 'TBZijwand' and ((';' || BxBP2.BeperkGUI || ';') LIKE :MatchZW OR BxBP2.BeperkGUI="*")) + ORDER BY BxBP1.TBBoxSide->VolgNr + ) + &SQL(OPEN crsBXLC) + For &SQL(FETCH crsBXLC) Quit:(SQLCODE) Set:($L(BX)) tmpLB=tmpLB_$LB(BX) + &SQL(CLOSE crsBXLC) + Quit tmpLB +cjsBuildSPZKlistForLC(LC,DS,DC,KLAS,RH) + Set SPZK="" + Set tmpLB="" + ;Set MatchDS="%;"_DS_";%" + Set MatchKLAS="%;"_KLAS_";%" + Set MatchRH="%;"_RH_";%" + &SQL(DECLARE crsSPZKLC CURSOR FOR + SELECT BxBP1.TBSPZijkant->ItemCode INTO :SPZK + FROM Prod_GAMeta_BT.TBSPZijkant_BeperkGUI AS BxBP1, Prod_GAMeta_BT.TBSPZijkant_BeperkGUI AS BxBP2 + WHERE (BxBP1.TBSPZijkant = BxBP2.TBSPZijkant) AND ($ListFind(BxBP1.TBSPZijkant->FilterDC,:DC)>0) + AND (BxBP1.element_key = 'TBRugHoogte' and ((';' || BxBP1.BeperkGUI || ';') LIKE :MatchRH OR BxBP1.BeperkGUI="*")) + AND (BxBP2.element_key = 'TBKlasse' and ((';' || BxBP2.BeperkGUI || ';') LIKE :MatchKLAS OR BxBP2.BeperkGUI="*")) + ORDER BY BxBP1.TBSPZijkant->VolgNr + ) + &SQL(OPEN crsSPZKLC) + For &SQL(FETCH crsSPZKLC) Quit:(SQLCODE) Set:($L(SPZK)) tmpLB=tmpLB_$LB(SPZK) + &SQL(CLOSE crsSPZKLC) + Quit tmpLB +cjsBuildFSlistForLC(LC,DS,DC,KLAS,RH,LT) + Set FS="" + Set tmpLB="" + ;Set MatchDS="%;"_DS_";%" + Set MatchKLAS="%;"_KLAS_";%" + Set MatchRH="%;"_RH_";%" + Set MatchLT="%;"_LT_";%" + &SQL(DECLARE crsFSLC CURSOR FOR + SELECT BxBP1.TBFrontSteun->ItemCode INTO :FS + FROM Prod_GAMeta_BT.TBFrontSteun_BeperkGUI AS BxBP1, Prod_GAMeta_BT.TBFrontSteun_BeperkGUI AS BxBP2 + WHERE (BxBP1.TBFrontSteun = BxBP2.TBFrontSteun) + AND (BxBP1.element_key = 'TBLadeType' and ((';' || BxBP1.BeperkGUI || ';') LIKE :MatchLT OR BxBP1.BeperkGUI="*")) + AND (BxBP2.element_key = 'TBKlasse' and ((';' || BxBP2.BeperkGUI || ';') LIKE :MatchKLAS OR BxBP2.BeperkGUI="*")) + ORDER BY BxBP1.TBFrontSteun->VolgNr + ) ; WHERE (...) AND ($ListFind(BxBP1.TBFrontSteun->FilterDC,:DC)>0) + &SQL(OPEN crsFSLC) + For &SQL(FETCH crsFSLC) Quit:(SQLCODE) Set:($L(FS)) tmpLB=tmpLB_$LB(FS) + &SQL(CLOSE crsFSLC) + Quit tmpLB +cjsBuildDWVlistForLC(LC,DS,DC,KLAS,RH) + Set DWV="" + Set tmpLB="" + ;Set MatchDS="%;"_DS_";%" + Set MatchKLAS="%;"_KLAS_";%" + Set MatchRH="%;"_RH_";%" + &SQL(DECLARE crsDWVLC CURSOR FOR + SELECT BxBP1.TBDwarsVerdeling->ItemCode INTO :DWV + FROM Prod_GAMeta_BT.TBDwarsVerdeling_BeperkGUI AS BxBP1, Prod_GAMeta_BT.TBDwarsVerdeling_BeperkGUI AS BxBP2 + WHERE (BxBP1.TBDwarsVerdeling = BxBP2.TBDwarsVerdeling) AND ($ListFind(BxBP1.TBDwarsVerdeling->FilterDC,:DC)>0) + AND (BxBP1.element_key = 'TBRugHoogte' and ((';' || BxBP1.BeperkGUI || ';') LIKE :MatchRH OR BxBP1.BeperkGUI="*")) + AND (BxBP2.element_key = 'TBKlasse' and ((';' || BxBP2.BeperkGUI || ';') LIKE :MatchKLAS OR BxBP2.BeperkGUI="*")) + ORDER BY BxBP1.TBDwarsVerdeling->VolgNr + ) + &SQL(OPEN crsDWVLC) + For &SQL(FETCH crsDWVLC) Quit:(SQLCODE) Set:($L(DWV)) tmpLB=tmpLB_$LB(DWV) + &SQL(CLOSE crsDWVLC) + Quit tmpLB +cjsBuildRKlistForDS(DS) + Set RK="" + Set tmpLB="" + Set MatchDS="%;"_DS_";%" + &SQL(DECLARE crsRKDS CURSOR FOR + SELECT TBRelingKleur INTO :RK + FROM Prod_GAMeta_BT.TBRelingKleur_BeperkGUI + WHERE (element_key = 'TBDesign' and ((';' || BeperkGUI || ';') LIKE :MatchDS OR BeperkGUI="*")) + ORDER BY TBRelingKleur->VolgNr + ) + &SQL(OPEN crsRKDS) + For &SQL(FETCH crsRKDS) Quit:(SQLCODE) Set:($L(RK)) tmpLB=tmpLB_$LB(RK) + &SQL(CLOSE crsRKDS) + Quit tmpLB +cjsBuildKXlistForDS(DS) + Set KX="" + Set tmpLB="" + Set MatchDS="%;"_DS_";%" + &SQL(DECLARE crsKXDS CURSOR FOR + SELECT TBBoxsideKleur INTO :KX + FROM Prod_GAMeta_BT.TBBoxsideKleur_BeperkGUI + WHERE (element_key = 'TBDesign' and ((';' || BeperkGUI || ';') LIKE :MatchDS OR BeperkGUI="*")) + ORDER BY TBBoxsideKleur->VolgNr + ) + &SQL(OPEN crsKXDS) + For &SQL(FETCH crsKXDS) Quit:(SQLCODE) Set:($L(KX)) tmpLB=tmpLB_$LB(KX) + &SQL(CLOSE crsKXDS) + Quit tmpLB +cjsBuildKVlistForDS(DS,DC) + Set KV="" + Set tmpLB="" + /* + Set MatchDS="%;"_DS_";%" + &SQL(DECLARE crsKVDS CURSOR FOR + SELECT TBVulstukKleur INTO :KV + FROM Prod_GAMeta_BT.TBVulstukKleur_BeperkGUI + WHERE (element_key = 'TBDesign' and ((';' || BeperkGUI || ';') LIKE :MatchDS OR BeperkGUI="*")) + ORDER BY TBVulstukKleur->VolgNr + ) + */ + &SQL(DECLARE crsKVDS CURSOR FOR + SELECT ItemCode INTO :KV + FROM Prod_GAMeta_BT.TBVulstukKleur + WHERE ($ListFind(FilterDC,:DC)>0) + ORDER BY VolgNr + ) + &SQL(OPEN crsKVDS) + For &SQL(FETCH crsKVDS) Quit:(SQLCODE) Set:($L(KV)) tmpLB=tmpLB_$LB(KV) + &SQL(CLOSE crsKVDS) + Quit tmpLB +]]> + + + +1 +lbErrTypes + + + + Index: _vhisie/TBX/tbx.css =================================================================== diff -u --- _vhisie/TBX/tbx.css (revision 0) +++ _vhisie/TBX/tbx.css (revision 2) @@ -0,0 +1,30 @@ +@media print { + BODY { background-image:none; background-repeat:no-repeat; background-color:white; } +} + + BODY { color:black; font-size:12px; line-height:15px; font-family:Arial,Helvetica; list-style-type:square; } + td { + color:black; + font-size:12px; + line-height:15px; + font-family:Arial,Helvetica; + list-style-type:square; +} + A { text-decoration:underline; color:#FF460A; } + A:hover { text-decoration:underline; } + A.clsInfo { cursor:help; } + .clsInfoSimul { text-decoration:underline; color:#FF460A; cursor:help; } + .clsLinkSimul { text-decoration:underline; color:#FF460A; } + + /* + DIV.clsScrollDiv { + scrollbar-face-color:#EEEEEE; + scrollbar-arrow-color:black; + scrollbar-track-color:#DADADA; + scrollbar-shadow-color:EEEEEE; + scrollbar-highlight-color:EEEEEE; + scrollbar-3dlight-color:#AAAAAA; + scrollbar-darkshadow-Color:#AAAAAA; + } + */ + Index: WS/EC/WebShopClient/GetTBXWebInfo.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/GetTBXWebInfo.cls.xml (revision 0) +++ WS/EC/WebShopClient/GetTBXWebInfo.cls.xml (revision 2) @@ -0,0 +1,65 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionID:%String +BL.EC.pxTBXWeb +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxTBXWeb + + + + + +%Library.String + + + + Index: csp/productnavig.cls.xml =================================================================== diff -u --- csp/productnavig.cls.xml (revision 0) +++ csp/productnavig.cls.xml (revision 2) @@ -0,0 +1,554 @@ + + + +User +cache +%CSP.Page,cspBasis.ProductNavig,cspBasis.ProductSearchCommon + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"" + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "
    ",! + Write $c(9,9,9) + Set urlBrochure=##class(Res.VertalingLink).GetLinkVertaling("PK","Nieuwigheden","LI",Taal,,"WWW") + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9)_"
    ",! + Write "",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9) + Set i="" + Write !,$c(9) +%csp00006 If '(..LoopArray(.MenuArray,.i)) Goto %csp00005 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00006 +%csp00005 ;} + Write !,$c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9) + Set i="" + Write !,$c(9) +%csp00008 If '(..LoopArray(.MenuArray,.i)) Goto %csp00007 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9) + Set ImgURL=##class(Res.VertalingLink).GetLinkVertaling("PK",$G(MenuArray(i)),"LB",Taal,,"WWW") + Write !,$c(9,9)_"",! + Write $c(9) + Goto %csp00008 +%csp00007 ;} + Write !,"" + Write !,$c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "
    " + Write "" + Write ""_(i)_"" + Write "" + Write "" + Write "" + Write "
    " + Write "" + Write "",! + Write $c(9,9,9) + Write "" + Write "" + Write "" + Write "
    " + Write "" + Write "
    ",! + Write ! + If '('blnShowSearch) Goto %csp00009 ;{ + Write !,$c(9) + If +$G(%request.Data("DBGCGI",1))'=0 Do + . Write !,$C(9)_"
    ",!
    +     . Write $$ArrayToText^vhLib("tmpRqCGI")
    +     . Write !,$C(9)_"
    ",! + Write !,$c(9)_" " + Write "" + Write ! +%csp00009 ;} + Write $c(9),! + Write ! + If '(blnInteractiveCSP) Goto %csp00010 ;{ + Write !,$c(9) + Set QSNonIActCSP=..CQueryString(.tmpRqData,$LB("Server")) + Set URLNonIActCSP="ProductNavig.csp?"_$S($L(QSNonIActCSP):QSNonIActCSP_"&", 1:"")_"Server=0" + Write !,$c(9)_"

    ",! + Write $c(9)_" "_$c(9)_(..WebTextValue("NonIActBefore",Taal,"L")) + Write "" + Write (..WebTextValue("NonIActLink",Taal,"L")) + Write "" + Write (..WebTextValue("NonIActAfter",Taal,"L")),! + Write $c(9)_"

    ",! +%csp00010 ;} + Write $c(9),! + Write !,$c(9) + Set i="" + Write ! +%csp00012 If '(..LoopArray(.MenuArray,.i)) Goto %csp00011 ;{ + Write !,"
    " + Write "..." + Write "
    " + Write ! + Goto %csp00012 +%csp00011 ;} + Write !,!,"" + Write !,! + If '(blnShowSearch) Goto %csp00013 ;{ + Write !,"
    " + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + If '(blnInteractiveCSP) Goto %csp00017 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Goto %csp00024 ;} +%csp00017 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! +%csp00024 ;} + Write !,"
    ",! + Write $c(9,9,9) + Kill ArHead + Set ArHead(1)=$G(%request.Data("ProductType",1)) + Set ArHead(1,1)=$G(%request.Data("SubType",1)) + Do ..VertaalMenus("ArHead","ArHeadVTL",Taal,GroepID) + Set ProdTypeLB="$LB($LB(""ProductType"","""_ArHead(1)_"""),$LB(""SubType"","""_ArHead(1,1)_"""))" + Set KenmI="ProductType" + Kill ArKM + Set ArKM(1,"IN")=ArHead(1) + Set ArKM(1,"VT")=$G(ArHeadVTL(1)) + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_(ArKM(1,"VT")),! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9,9) + Set KenmI="SubType" + Kill ArKM + Set ArKM(1,"IN")=ArHead(1,1) + Set ArKM(1,"VT")=$G(ArHeadVTL(1,1)) + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_(ArKM(1,"VT")),! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9)_"
    ",! + Write $c(9,9) + Do ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,"ArAllPR") + Set TotN=..PRZoekAantal(GroepID,ProdTypeLB) + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9) + If '(blnInteractiveCSP) Goto %csp00014 ;{ + Write !,$c(9,9,9,9,9)_""_(..WebTextValue("MetBeperk",Taal,"L"))_":
    ",! + Write $c(9,9,9) +%csp00014 ;} + Write !,$c(9,9,9,9,9)_""_(..WebTextValue("TotaalAantal",Taal,"L"))_":",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9) + If '(blnInteractiveCSP) Goto %csp00015 ;{ + Write !,$c(9,9,9,9,9)_"" + Write "" + Write (TotN) + Write "" + Write " "_(..WebTextValue("Product?en",Taal,"L"))_"
    ",! + Write $c(9,9,9) +%csp00015 ;} + Write !,$c(9,9,9,9,9)_"" + Write "" + Write (TotN) + Write "" + Write " "_(..WebTextValue("Product?en",Taal,"L"))_"",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "" + Write "
    ",! + Write $c(9,9,9) + If '(Taal="N") Goto %csp00016 ;{ + Write !,$c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9) +%csp00016 ;} + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9) + Write "" + Write (..WebTextValue("CriteriaSelecteren",Taal,"L"))_":" + Write "" + Write !,$c(9,9)_"
    ",! + Write $c(9,9)_"",! + Write $c(9,9,9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set KenmerkList = ##class(%ResultSet).%New("Prod.Kenmerk.MetaDefinitie"_":"_"LijstPerGroep") + Set KenmerkList.RuntimeMode=2 + Set %sc = KenmerkList.Execute((GroepID)) + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9) +%csp00019 If '(KenmerkList.Next()) Goto %csp00018 ;{ + Write !,$c(9,9,9) + Set KenmI=KenmerkList.GetDataByName("Kenmerk") + Kill ArKM + If "ProductType;SubType;Sleutel;Vereist;BOWeten;InfoSleutel"'[KenmI Do ..PrepareKenmerkValues(GroepID,KenmI,Taal,.ArKM,$G(ArHead(1,1))) + Set i="" + Write !,$c(9,9) + If '($L($G(ArKM))) Goto %csp00020 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9) +%csp00020 ;} + Write !,$c(9) + Goto %csp00019 +%csp00018 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    "_(ArKM)_":",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9) + If '((KenmI="Breedte")) Goto %csp00023 ;{ + Write !,$c(9,9,9,9,9)_"" + Write "" + Write " OF: " + Write "" + Write " cm" + Write "" + Write "",! + Write $c(9,9,9,9,9) +%csp00023 ;} + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "" + Write "",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_(..WebTextValue("CriteriumNVT",Taal,"L")),! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9) + Write "" + Write " " + Write "" + Write !,$c(9,9)_"
    ",! + Write "
    " + Write ! +%csp00013 ;} + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"ORGALUX : "_(..WebTextValue("ProdMenuTitel",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,! + Merge BaseQueryData=%request.Data + Kill BaseQueryData("ProductType") + Kill BaseQueryData("SubType") + Do ..ShowSearchArraySet(.BaseQueryData, "1") + Write $C(9)_"" + Write ! + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9) + Write "" + Write ! +%csp00002 ;} + Write !,!,! + If '(blnShowSearch) Goto %csp00003 ;{ + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !," " + If '(blnInteractiveCSP) Goto %csp00004 ;{ + Write !,$c(9) + Write "" + Write !," " +%csp00004 ;} + Write ! +%csp00003 ;} + Write !,"" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Merge tmpRqCGI=%request.CgiEnvs + Merge tmpRqData=%request.Data + Set blnShowSearch=(+$G(%request.Data("ShowSearch",1))'=0) ; Boolean (0/1) : al dan niet tonen van het ZoekScherm + Set blnInteractiveCSP=(+$G(%request.Data("Server",1),1)'=0) ; Boolean (0/1) : al dan niet interactief met CSP-Server + If (blnInteractiveCSP) Do + . New UserAgt + . Set UserAgt=tmpRqCGI("HTTP_USER_AGENT") + . If (UserAgt["Windows")&&(UserAgt["MSIE") ; Client has IE on Windows + . Else Set blnInteractiveCSP=0 + Do ##class(cspBasis.ProductNavig).InitializeCSP() + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,!,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +c:\cachesys\csp\olprodcat\ProductNavig.csp + + + +/csp/olprodcat/ProductNavig.csp + + + +0 + + + +59596,37381 + +
    +
    Index: _vhisie/TBX/DlgWait.js =================================================================== diff -u --- _vhisie/TBX/DlgWait.js (revision 0) +++ _vhisie/TBX/DlgWait.js (revision 2) @@ -0,0 +1,53 @@ +var Translate1; + +function GetTranslations () +{ + Translate1 = new Array ( + "De prijzen worden berekend.
    Even geduld ..." , + "Calculation en cours.
    un instant s.v.p...", + "The prices are being calculated.
    Please wait ...", + "Preise werden kalkuliert.
    Bitte warten ..."); +} + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function TaalIndex (Taal) { + var Ndx; + switch (Taal) + { + case "N" : Ndx=0; break; + case "F" : Ndx=1; break; + case "E" : Ndx=2; break; + case "D" : Ndx=3; break; + default : Ndx=0; break; + } + return (Ndx); +} + +function GetParamValue (sURL, Param, Default) { + var sURLUpper; + sURLUpper = sURL.toUpperCase() + "&"; + Param = Param.toUpperCase(); + if (!Default) Default=""; + + var Pos = sURLUpper.indexOf (Param + "="); + if (Pos==-1) return Default; + Pos = Pos + Param.length + 1; + return sURL.substring (Pos, sURLUpper.indexOf("&", Pos)); +} + +function docWriteMsg () { + var DefaultTaal = "N"; + var ActiveTaal = ""; + var sURL = document.location.href; + if (ActiveTaal=="") ActiveTaal = GetParamValue (sURL, "Taal", DefaultTaal); + ActiveTaal = ActiveTaal.toUpperCase(); + GetTranslations (); + + var Index=TaalIndex(ActiveTaal); + document.write (Translate1[Index]); +// document.write ("Test : " + Index + "
    " + Translate1[Index]); +} Index: _vhisie/TBX/MainHist.csp =================================================================== diff -u --- _vhisie/TBX/MainHist.csp (revision 0) +++ _vhisie/TBX/MainHist.csp (revision 2) @@ -0,0 +1,132 @@ + + + + + + + + + + + + +
    + #(..WebTextValue("Historiek",Taal,"L"))# + + + +
    + + + + + + + +

    #($CASE(sMode, "COMPLETE":"Overzicht VERKOOP", "PROCESS":"Overzicht INKOOP", "VIEW":"Overzicht (alleen lezen)", :"")_..WebTextValue("",Taal,"L"))#

    +
    + + + + + + + + + + + + + + + + + + + + +
     #(..WebTextValue("Historiek",Taal,"L"))# 
    + #(..WebTextValue("Historiek",Taal,"L"))# + + +
    + #(..WebTextValue("HistInfo",Taal,"L"))# +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(..WebTextValue("Nummer_Kort",Taal,"L"))##($S(CntKL=1:"",1:"Klant"))##(..WebTextValue("HistHKlantRef",Taal,"L"))##(..WebTextValue("HistHDatum",Taal,"L"))##(..WebTextValue("HistHTotPrijs",Taal,"L"))#
    #(arHistVTL("LN",i,"OrderNr"))##(arHistVTL("LN",i,"BonType"))##($G(arHistVTL("LN",i,"KLNaamDSP")))##(arHistVTL("LN",i,"Commissie"))##($G(arHistVTL("LN",i,"OrderDCM_DSP")))##(arHistVTL("LN",i,"TimeCust"))##($S(arHistVTL("LN",i,"TotPrs")>0:$J($$PrijsConvert^cspBasis.Library(arHistVTL("LN",i,"MuntCalc"),arHistVTL("LN",i,"TotPrs")),0,2)_" "_arHistVTL("LN",i,"Munt"), 1:" "))# 
    +
    +
    +
    Index: TECH/ListUtils.cls.xml =================================================================== diff -u --- TECH/ListUtils.cls.xml (revision 0) +++ TECH/ListUtils.cls.xml (revision 2) @@ -0,0 +1,138 @@ + + + + + Utility methods for %ListOfObjects. + + REMARK: Probably this functionality exists already somewhere.... + +1 +%RegisteredObject +0 + + +1 +Listbuild:%List +%ListOfDataTypes + + + + +1 +List:%ListOfDataTypes +%List + + + + +1 +sourceList:%ListOfObjects +%ListOfObjects + + + + + + Copy the list-items from sourceList into targetList. + Returns the targetList. + +1 +sourceList:%ListOfObjects,targetList:%ListOfObjects +%ListOfObjects + + + + +1 + +%Boolean + 0) + { + Do List.RemoveAt(Index) + Set Removed = 1 + } + Quit Removed +]]> + + + +1 +%ListOfObjects + + + + +1 +item +%ListOfObjects + + + + +1 +item1,item2 +%ListOfObjects + + + + +1 +item1,item2,item3 +%ListOfObjects + + + + Index: _vhisie/TBX/TBox WebOrder SFS_F.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder SFS_F.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder SFS_F.xsl (revision 2) @@ -0,0 +1,496 @@ + + + + + + +EUR + + + + SFS unimarket - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI No.:  +
    NOM:
     
    ID:
     
    E-MAIL:
     
    DÉLAI DE LIVRAISON:
     
    RÉFÉRENCE:
     
         
    + + + + + +
    + + + + +
    + + DEMANDE D'OFFRE + OFFRE + BON DE COMMANDE + ORDRE D'ACHAT + Unknown: [] + +
    +
    +   +
    Fax à n° +41 71 727 52 04
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Tiroir standard (de stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Ne pas livrer:

     

    Totale:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Cette offre est valable pour 30 jours, jusqu'a +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : Côtés tiroirCOULEURS : Composants
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FOND+DOS:

    TUBES:

    BOXSIDE:

    REMPLIS. / VERRE:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # ERREUR #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Largeur

    +

    EP

    +

    Profon

    +

    Pds

    +

    AF *

    +

    Box

    +

    Divers

    +

    Qté

    + +

    Ink. Prijs/stPrix/pce Info

    + +
    + + +

    * AF : Attache de façade (Légende)

    +

    + + + + + + +
    +

    +
    + + + + : + à visser + INSERTA + EXPANDO + pour cadre alu & Trespa + drevel + sans + (Code ) + + + + + + + + + +

    * Box : Côtés augmentés (Légende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Galérie double + Galérie simple + Sans galérie/côtés augmentés + BOXSIDE à double paroi + BOXSIDE en verre + BOXCAP + BOXCOVER avec ... + Boxcover sans verre + (Code ) + + + +
    Index: Prod/Kenmerk/DataDefinitie.cls.xml =================================================================== diff -u --- Prod/Kenmerk/DataDefinitie.cls.xml (revision 0) +++ Prod/Kenmerk/DataDefinitie.cls.xml (revision 2) @@ -0,0 +1,412 @@ + + + + +Vaste leggen van de kenmerken per product. +Er wordt bewust geen link gelegd naar MetaGroep of MetaDefinitie omdat anders bij gebruik van de waarden +swivel inwerking zou treden, dit mag niet om dat bv voor één kenmerk +meerdere waarden kunnen ingegeven worden. Dus bij wijzigen van een kenmerk +moeten voor een bepaald product alle waarden verzameld worden. +persistent +%Library.Persistent +0 + + +Prod.Kenmerk.MetaDefinitie + + + +Prod.Product + + + + +Meerdere waarde mogelijk +%Library.String +list + + + + +%Library.String + + + +Sys.cTimeStamp + + + +1 +1 +Product,Kenmerk + + + +IsNew:%Library.Boolean=1 +%Library.Status + + + + +]]> +1 +Oid:%Library.ObjectIdentity +%Library.Status + + + + + +Toevoegen van een kenmerk aan een product +Indien het kenmerk reeds bestaat wordt het oude eerst verwijderd +Indien Piece delimited dan Delimiter meegeven +$LB wordt automatisch herkent +Opmerking lege waarden worden niet opgeslagen +1 +GroepID,PRNr,Kenmerk,Values,Delimiter,UserID +%Status + + + + + +w $$ListToPieces^vhLib(##class(Prod.Kenmerk.DataDefinitie).Get("TB",89973,"BasisType"),";") +1 +GroepID,PRNr,Kenmerk +1 +%List + + + + + +Berekent de volledige URL voor de gegeven parameters. +De parameters bepalen de vertaling: + - GroepID, PRNr, Kenmerk definiëren de waarde voor het kenmerk (DataDefinitie) + - Taal, TextType, ToepasType zijn de vertalingsparameters, samen met de DirCode (berekende waarde) + +Oproepen via (test) : + w ##class(Prod.Kenmerk.DataDefinitie).GetFullURL("OL",107785,"Sleutel","N","LB","WWW") +1 +GroepID,PRNr,Kenmerk,Taal,TextType,ToepasType +1 +%List + + + + + +GroepID is optioneel +1 +PRNr,GroepID +%Boolean + + + + + +Verwijderen van de DataDefinitie-objecten (+DataIndex) van product (PRNr) van een groep +Als lbGroepIDs leeg is dan worden ALLE groepen verwijderd van het product +1 +PRNr:%Library.String,lbGroepIDs:%Library.List +%Library.Status + + + + +Intern:%Library.String,Type:%Library.String +%Library.String + SUBSTITUTIE vereist opstellen van taaldoorsnede + ... New Sleutels,AantalSleutels,SubLang,SleutelLoop,tmpSleutel + ... Set Sleutels=VTA.GetVertalingsSleutels(Type) + ... Set AantalSleutels=$LL(Sleutels) //Aantal te vertalen sleutels + ... Set SubLang="" + ... For SleutelLoop=1:1:AantalSleutels Do + .... Set tmpSleutel=$LI($LI(Sleutels,SleutelLoop),2) //Het eerste element bevat het type + .... If ##class(Res.VertalingAbstract).IsInternUniversal(tmpSleutel) Do //Wanneer sleutel vh type {%...} is dan is het een universele vertaling (groep %) + ..... Set SubLang=SubLang _ ##class(Res.VertalingAbstract).AvailableLanguages("%",tmpSleutel,Type) + .... Else Do + ..... Set SubLang=SubLang _ ##class(Res.VertalingAbstract).AvailableLanguages(VertalingsGroep,tmpSleutel,Type) + ... Set LanguagesOK=##class(Res.VertalingAbstract).GetLanguagesWithCountOK(SubLang,AantalSleutels) + .. Else Do //-> GEEN SUBSTITUTIE, gewoon languages opvragen + ... Set:(Intern'="") LanguagesOK=##class(Res.VertalingAbstract).AvailableLanguages(VertalingsGroep,Intern,Type) + + Quit LanguagesOK + + // ---< Pseudo-code >--- + // Loop doorheen vertalingstypes van MetaDef (array) + // . Loop doorheen elke VertalingsType (';' pieces) + // .. Als VertalingsType=Type Doe + // ... Als het om substitutie gaat + // .... Sleutels uitlezen + // .... Vertalingen van sleutels verkrijgen & samenvoegen + // .... Talen extraheren met correcte count + // ... Geen Substitutie + // .... Vertalingen van interne waarde verkrijgen +]]> + + + +1 +Params:%Library.String +%Library.String + + + + +1 +GroepID:%Library.String,Kenmerk:%Library.String +%Status + + + + + +Mogelijke waarden voor ListItems: bvb.: "*" , "1" , "1;2" , "1;2;5;7"
    +Als ListSep niet leeg is, worden de vertaalde items geconcateneerd (met ListSep as separator) tot één +element van de $LB().]]>
    +LBX:%Library.String,ListSep:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +%Library.String + +
    + + +X:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L",ClearCharEmpty:%Library.Boolean=0 +%Library.String + + + + +%Library.SQLQuery +paPRNr:%Library.String,paGroep:%Library.String +SELECT Count(ID) AS Aantal +FROM Prod_Kenmerk.DataDefinitie +WHERE ID Like :paPRNr || "||" || :paGroep || "||%" + + + + + +]]> +%Library.SQLQuery +GroepID:%Library.String,Kenmerk:%Library.String,SuperKenmerk:%Library.String,SuperKMWaarde:%Library.String +SELECT DISTINCT(Waarden) + FROM Prod_Kenmerk.DataDefinitie + WHERE Kenmerk=(:GroepID || '||' || :Kenmerk) AND + Product IN + (SELECT Product + FROM Prod_Kenmerk.DataDefinitie + WHERE Kenmerk=(:GroepID || '||' || :SuperKenmerk) AND + Waarden LIKE ("%" || :SuperKMWaarde) + ) + + + + + +%Library.SQLQuery +paPRNr:%Library.String +Groep) AS Groep +FROM Prod_Kenmerk.DataDefinitie +WHERE Product=:paPRNr]]> + + + + + + +Geeft een lijst van alle kenmerken met resp. waarden voor een gegeven ProductNummer. +%Library.SQLQuery +PRNr:%Library.String +Omschrijving,Kenmerk->Kenmerk), Waarden, Kenmerk->Groep->Code,Kenmerk->SubGroep +FROM Prod_Kenmerk.DataDefinitie +WHERE (Product = :PRNr) +ORDER BY Kenmerk->VolgNr]]> + + + + + + +Geeft een lijst van alle kenmerken toegelaten voor E-commeerce met de resp. waarden voor een gegeven ProductNummer. +%Library.SQLQuery +PRNr:%Library.String +Omschrijving,Kenmerk->Kenmerk), Waarden, Kenmerk->Groep->Code,Kenmerk->SubGroep +FROM Prod_Kenmerk.DataDefinitie +WHERE (Product = :PRNr) and (Kenmerk->ToelatenEC=1) +ORDER BY Kenmerk->VolgNr]]> + + + + + +%Library.CacheStorage +^Prod.Ken.DataDefinitieD +DataDefinitieDefaultData +^Prod.Ken.DataDefinitieD +^Prod.Ken.DataDefinitieI +^Prod.Ken.DataDefinitieS + +%%CLASSNAME +node +0 + + + +Waarden + + +WijzigGebruiker + + +WijzigTijdstip + + + +
    +
    Index: csp/statvh.cls.xml =================================================================== diff -u --- csp/statvh.cls.xml (revision 0) +++ csp/statvh.cls.xml (revision 2) @@ -0,0 +1,772 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"

    " + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryHPM = ##class(%ResultSet).%New("DW.WWW.Log"_":"_"HitPMaand") + Set queryHPM.RuntimeMode=2 + Set %sc = queryHPM.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryHPP = ##class(%ResultSet).%New("DW.WWW.Log"_":"_"HitPProductgroep") + Set queryHPP.RuntimeMode=2 + Set %sc = queryHPP.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryHPT = ##class(%ResultSet).%New("DW.WWW.Log"_":"_"HitPTaal") + Set queryHPT.RuntimeMode=2 + Set %sc = queryHPT.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write " " + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryHPD = ##class(%ResultSet).%New("DW.WWW.Log"_":"_"HitPDomein") + Set queryHPD.RuntimeMode=2 + Set %sc = queryHPD.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write "

    ",! + Write "",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "" + Write !,!," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " "_$c(9)_"",! + Write " ",! + Write " ",! + Write !,"" + Write !,! + If '(site="Van Hoecke") Goto %csp00009 ;{ + Write ! + ///Set QryHPP=queryHPP.Next() + Write !,"" + Write ! +%csp00011 If '(queryHPP.Next()) Goto %csp00010 ;{ + Write " ",! + Write "" + Write !,"",! + Write " ",! + Write " ",! + Write " ",! + Write "",! + Write " ",! + Write "" + Write ! +%csp00009 ;} + Write !," ",! + Write "" + Write $c(9)_" ",! + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write !,"" + Write $c(9),! + Write $c(9),! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "
    " + Write "" + Write "" + Write "" + Write "Statistieken "_(site)_" Website" + Write "" + Write "" + Write "" + Write "
    " + Write "
    " + Write "" + Write "" + Write " 
    ",! + Write $c(9),! + Write "" + Write $c(9),! + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Hits per maand " + Write "" + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write $c(9,9) +%csp00002 If '(queryHPM.Next()) Goto %csp00001 ;{ + Write !,$c(9,9) + Set Totaal=$G(Totaal)+queryHPM.Get("Hits") + Set HitPSession=$J(queryHPM.Get("Hits")/queryHPM.Get("Sessies"),0,2) + Set TotaalSession=$G(TotaalSession)+queryHPM.Get("Sessies") + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write $c(9,9),! + Write $c(9,9) + Goto %csp00002 +%csp00001 ;} + Write !," ",! + Write " ",! + Write " ",! + Write $c(9,9)_" " + Set TotaalHitPSession=$J($G(Totaal)/$G(TotaalSession),0,2) + Write !," ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Maand" + Write "" + Write "" + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Sessie" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Hit/Sessie" + Write "" + Write "
    " + Write "
    " + Write "" + Write (queryHPM.Get("Maand")),! + Write " " + Write "" + Write "" + Write "
    " + Write "" + Write !," "_(queryHPM.Get("Hits")),! + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write (queryHPM.Get("Sessies")),! + Write " " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write (HitPSession) + Write "" + Write "
    " + Write "
    " + Write "" + Write "Eindtotaal" + Write "" + Write "" + Write "
    " + Write "" + Write !," "_(Totaal),! + Write " " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write (TotaalSession) + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write (TotaalHitPSession) + Write "" + Write "
    " + Write "
    " + Write "" + Write "" + Write "

    ",! + Write $c(9) + Set Teller=1 + d queryHPM.Execute() + Write !,$c(9)_"",! + Write $c(9,9) +%csp00004 If '(queryHPM.Next()) Goto %csp00003 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Set Teller=$I(Teller) + Write !,$c(9,9) + Goto %csp00004 +%csp00003 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"(sorry, Java is not enabled on your browser)",! + Write $c(9)_"",! + Write $c(9)_"

    " + Write "" + Write "" + Write " 
    ",! + Write $c(9,9)_"",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Hits per hoofdgroep " + Write "" + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write $c(9,9) +%csp00006 If '(queryHPH.Next()) Goto %csp00005 ;{ + Write !,$c(9,9) + Set TotaalHoofdGroep=$G(TotaalHoofdGroep)+queryHPH.Get("Aantal") + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write $c(9,9) + Goto %csp00006 +%csp00005 ;} + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "
    " + Write "" + Write "Hoofdgroepen" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "
    " + Write "" + Write !," "_(queryHPH.Get("Categorie")),! + Write " " + Write "" + Write "" + Write "
    " + Write !," "_(queryHPH.Get("Aantal")),! + Write " " + Write "
    " + Write "
    " + Write "" + Write "Eindtotaal" + Write "" + Write "" + Write "
    " + Write (TotaalHoofdGroep) + Write "
    " + Write "
    ",! + Write " " + Write "" + Write "" + Write "
    ",! + Write $c(9) + Set Teller=1 + d queryHPH.Execute(site) + Write !,$c(9)_"",! + Write $c(9,9) +%csp00008 If '(queryHPH.Next()) Goto %csp00007 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Set Teller=$I(Teller) + Write !,$c(9,9) + Goto %csp00008 +%csp00007 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"(sorry, Java is not enabled on your browser)",! + Write $c(9)_" ",! + Write "
    " + Write "" + Write "" + Write " 
    ",! + Write $c(9,9)_"",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Hits per productgroep (alleen PDF's)" + Write "" + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Goto %csp00011 +%csp00010 ;} + Write !,!,"" + Write !,$c(9,9) + Set TotaalProductGroep=$G(TotaalProductGroep)+queryHPP.Get("Aantal") + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write $c(9,9) + ///Set QryHPP=queryHPP.Next() + Write !,!,$c(9),! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "
    " + Write "" + Write "Cataloog" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "
    " + Write "" + Write !," "_(queryHPP.Get("Cataloog")) + Write "" + Write "" + Write "
    " + Write !," "_(queryHPP.Get("Aantal")),! + Write " " + Write "
    " + Write "
    " + Write "" + Write "Eindtotaal" + Write "" + Write "" + Write "
    " + Write (TotaalProductGroep) + Write "
    " + Write "
    ",! + Write " " + Write "" + Write "" + Write "
    ",! + Write $c(9),! + Write $c(9) + Set Teller=1 + d queryHPP.Execute() + Write !,$c(9)_"",! + Write $c(9,9) +%csp00013 If '(queryHPP.Next()) Goto %csp00012 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Set Teller=$I(Teller) + Write !,$c(9,9) + Goto %csp00013 +%csp00012 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"(sorry, Java is not enabled on your browser)",! + Write $c(9)_" ",! + Write "
    " + Write "" + Write "" + Write " 
    ",! + Write $c(9)_" ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Hits per taalkeuze" + Write "" + Write "
    ",! + Write $c(9)_" ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " " +%csp00015 If '(queryHPT.Next()) Goto %csp00014 ;{ + Write !," " + Set TotaalTaal=$G(TotaalTaal)+queryHPT.Get("Aggregate_2") + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " " + Goto %csp00015 +%csp00014 ;} + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "
    " + Write "" + Write "Taal" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "
    " + Write "" + Write !," "_(queryHPT.Get("Taal")),! + Write " " + Write "" + Write "" + Write "
    " + Write !," "_(queryHPT.Get("Aggregate_2")),! + Write "
    " + Write "
    " + Write "" + Write "Eindtotaal" + Write "" + Write "" + Write "
    " + Write !," "_(TotaalTaal),! + Write " " + Write "
    " + Write "
    ",! + Write $c(9) + Set Teller=1 + d queryHPT.Execute() + Write !,$c(9)_"",! + Write $c(9,9) +%csp00017 If '(queryHPT.Next()) Goto %csp00016 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Set Teller=$I(Teller) + Write !,$c(9,9) + Goto %csp00017 +%csp00016 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"(sorry, Java is not enabled on your browser)",! + Write $c(9)_""_$c(9)_"
      
    ",! + Write $c(9)_" ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Hits per land/domein " + Write "" + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " " +%csp00019 If '(queryHPD.Next()) Goto %csp00018 ;{ + Write !," " + Set TotaalDomein=$G(TotaalDomein)+queryHPD.Get("Hits") + Set HitPSession=$J(queryHPD.Get("Hits")/queryHPD.Get("Sessies"),0,2) + Set TotaalSessiesDomein=$G(TotaalSessiesDomein)+queryHPD.Get("Sessies") + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " " + Goto %csp00019 +%csp00018 ;} + Write !," ",! + Write " ",! + Write " ",! + Write " " + Set TotaalHitPSessionDomein=$J($G(TotaalDomein)/$G(TotaalSessiesDomein),0,2) + Write !," ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Land/domein" + Write "" + Write "" + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Sessie" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Hit/Sessie" + Write "" + Write "
    " + Write "
    " + Write "" + Write !," "_(queryHPD.Get("Domein")),! + Write " " + Write "" + Write "" + Write "
    " + Write "" + Write !," "_(queryHPD.Get("Hits")),! + Write " " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write !," "_(queryHPD.Get("Sessies")),! + Write " " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write !," "_(HitPSession),! + Write " " + Write "" + Write "
    " + Write "
    " + Write "" + Write "Eindtotaal" + Write "" + Write "" + Write "
    " + Write "" + Write !," "_(Totaal),! + Write " " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write !," "_(TotaalSessiesDomein),! + Write " " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write !," "_(TotaalHitPSessionDomein),! + Write " " + Write "" + Write "
    " + Write "
    ",! + Write " " + Write "" + Write "" + Write "
    ",! + Write $c(9) + Set Teller=1 + d queryHPD.Execute() + Write !,$c(9)_"",! + Write $c(9,9) +%csp00021 If '(queryHPD.Next()) Goto %csp00020 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Set Teller=$I(Teller) + Write !,$c(9,9) + Goto %csp00021 +%csp00020 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"(sorry, Java is not enabled on your browser)",! + Write $c(9)_"",! + Write $c(9)_"
    " + Write "" + Write "" + Write " 
    ",! + Write !,"" +]]>
    +
    + + +1 +code +%Boolean +" + Write ! + Do ..OnPageHTML() +]]> + + + +1 +code +%Boolean +" + Write !,"VHstats",! + Write "" + Write !,"" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write ! + Set %session.AppTimeout = 905 + Write ! + Do ..OnPageHEAD() + Write ! + New site + Set site=$Get(%request.Data("site",1)) + New queryHPH + ///Set queryHPH=##class(DW.WWW.Log).RunQuery(site) + Set queryHPH=##class(%ResultSet).%New("DW.WWW.Log:GetStuff") + Do queryHPH.Execute(site) + ///If site="Van Hoecke" Do + ///. New Query + ///. Set Query="DW.WWW.Log:HitPProductgroep" + ///. New queryHPP + ///. Set queryHPP=##class(%ResultSet).%New(Query) + ///. New Status + ///. Set Status=queryHPP.Execute() + Write ! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +iso-8859-1 + + + +text/html + + + +c:\cachesys\csp\httplog\statvh.csp + + + +/csp/httplog/statvh.csp + + + +59554,55455 + +
    +
    Index: Prod/GAMeta/BT/TBSPZijkant.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBSPZijkant.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBSPZijkant.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%String +array + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBSPZKD") +TBSPZijkantDefaultData +^Res.PI.Items("PR;GA;TBSPZKD") +^Res.PI.Items("index","PR;GA;TBSPZK") +^Res.PI.Items("stream","PR;GA;TBSPZK") + +BeperkGUI +subnode +"BPG" + + +Parameters +subnode +"P" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: EWMS/History/Inventory.cls.xml =================================================================== diff -u --- EWMS/History/Inventory.cls.xml (revision 0) +++ EWMS/History/Inventory.cls.xml (revision 2) @@ -0,0 +1,359 @@ + + + +%Library.Persistent + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.Float +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.Float +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +0 +0 +code +SQLGCWrapper:%Library.String +0 +%Library.Boolean +0 + + + + +0 +0 +code +SQLGCWrapper:%Library.String +0 +%Library.Boolean +0 + + + + Index: _vhisie/TBX/TBoxInfoSelect.js - ZIE subdir Help.js =================================================================== diff -u --- _vhisie/TBX/TBoxInfoSelect.js - ZIE subdir Help.js (revision 0) +++ _vhisie/TBX/TBoxInfoSelect.js - ZIE subdir Help.js (revision 2) @@ -0,0 +1 @@ \ No newline at end of file Index: WS/EC/WebShopClient.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient.cls.xml (revision 0) +++ WS/EC/WebShopClient.cls.xml (revision 2) @@ -0,0 +1,143 @@ + + + +%SOAP.WebClient,WS.SOAPClientExt +0 + + + +This is the URL used to access the web service. + Location van Cache01/Admin1 : "http://195.130.157.5:88/csp/admin1/WS.EC.WebShopServer.cls"; + Location van Cache02/DevAdmin1 : "http://195.130.157.6/csp/admin1/WS.EC.WebShopServer.cls"; +http://195.130.157.5:88/csp/admin1/WS.EC.WebShopServer.cls + + + +http://195.130.157.5:88/csp/admin1/WS.EC.WebShopServer.cls + + + +http://195.130.157.6/csp/admin1/WS.EC.WebShopServer.cls + + + + +This is the namespace used by the Service +http://vhisie.vanhoecke.be + + + + +This is the name of the Service +Dynalog + + + +1 +SessionID:%String,OfferteID:%String="" +1 +BL.EC.pxWebShop +1 +document +literal + + + + +1 +SessionID:%String +1 +BL.EC.pxTBXWeb +1 +document +literal + + + + +1 +GebruikersNaam:%String,WachtWoordEncrypt:%String,Type:%String,Optie:%String,Data:%GlobalCharacterStream,Taal:%String,DynaplugVersion:%String,DynalogVersion:%String,ClientIP:%String,Domein:%String +1 +BL.EC.pxDynaPlug +1 +document +literal + + + + +1 +SessionID:%String,pxTBXOrder:BL.EC.sub.pxTBXOrder +1 +BL.EC.pxDynaPlug +1 +document +literal + + + + +1 +SessionID:%String,pxDynaPlug:BL.EC.pxDynaPlug +1 +BL.EC.pxDynaPlug +1 +document +literal + + + + +1 +SessionID:%String,pxDynaPlug:BL.EC.pxDynaPlug +1 +BL.EC.pxDynaPlug +1 +document +literal + + + + +1 +SessionKey:%String +1 +BL.EC.pxStatus +1 +document +literal + + + + +1 +SessionKey:%String +1 +%String +1 +document +literal + + + + +1 +SessionKey,GoedVoorOrder:%Boolean,Referentie,CommReferentie,LeverDatum,Opmerking +1 +BL.EC.pxStatus +1 +document +literal + + + + Index: _vhisie/TBX/TBoxBuildRef.js =================================================================== diff -u --- _vhisie/TBX/TBoxBuildRef.js (revision 0) +++ _vhisie/TBX/TBoxBuildRef.js (revision 2) @@ -0,0 +1,34 @@ +// Constants: + +// General variabels (initial values): +var ActiveTaal=""; +var blnSesActive=true; +var msgSessionTimedOut; + +function atoReloadPage() { + var msg=msgSessionTimedOut || ("Session timed out."+"\n"+"Click OK to renew this page?"); + if (true) return; + if (confirm (msg)) window.location.reload(true); + else window.location.href="about:blank"; +} + +function OnAppTimeOut() { + blnSesActive=false; + var oTimer=document.getElementById('timer'); + if (oTimer) oTimer.innerHTML="0:00:00 " + "Session timed out. Page can no longer be interactive with the server. " + ' Click to restart.'; + atoReloadPage(); + return; +} + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function TestHTMLWiz () { + return (document.location.href.indexOf(".csp")==-1); +} + +function init () { + //alert ("JSBegin"); +} Index: EWMS/Pick/ToPick.cls.xml =================================================================== diff -u --- EWMS/Pick/ToPick.cls.xml (revision 0) +++ EWMS/Pick/ToPick.cls.xml (revision 2) @@ -0,0 +1,1205 @@ + + + +0 +0 +persistent +0 +1 +GSQLStorage +%Library.Persistent +0 + + +0 +EWMS STAT,NOCREATE + + + +0 +dbo.to_pick + + + +0 +1 +1 +OrderNr,orderfase,distributor,clientnr,picktype,product,batch,quality,owner,reasonblock,srclocid,srcsection,dstlocid,dstsection,OrigLocID,origsection +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +11 +0 +Next_loc_g +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +10 +0 +Next_loc_m +0 + + + +%String +0 +0 + +0 +0 +0 +0 +2 +0 +order_nr +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +33 +0 +orig_loc_id +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +9 +0 +Present_loc_x +0 + + + +%String +0 +0 + +0 +0 +0 +0 +35 +0 +actions_field +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +43 +0 +allocation_type +0 + + + +%String +0 +0 + +0 +0 +0 +0 +18 +0 +batch +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +5 +0 +client_nr +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +31 +0 +colli_nr_end +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +30 +0 +colli_nr_start +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +47 +0 +colli_nr_type +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +46 +0 +colli_nr_used +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +44 +0 +crossdock +0 + + + +%String +0 +0 + +0 +0 +0 +0 +4 +0 +distributor +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +24 +0 +dst_loc_id +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +25 +0 +dst_section +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +62 +0 +extra_char_1 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +71 +0 +extra_char_10 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +63 +0 +extra_char_2 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +64 +0 +extra_char_3 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +65 +0 +extra_char_4 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +66 +0 +extra_char_5 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +67 +0 +extra_char_6 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +68 +0 +extra_char_7 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +69 +0 +extra_char_8 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +70 +0 +extra_char_9 +0 + + + + +%Float +0 +0 + +0 +0 +0 +0 +72 +0 +extra_float_1 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +73 +0 +extra_float_2 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +74 +0 +extra_float_3 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +75 +0 +extra_float_4 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +76 +0 +extra_float_5 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +52 +0 +extra_int_1 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +61 +0 +extra_int_10 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +53 +0 +extra_int_2 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +54 +0 +extra_int_3 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +55 +0 +extra_int_4 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +56 +0 +extra_int_5 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +57 +0 +extra_int_6 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +58 +0 +extra_int_7 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +59 +0 +extra_int_8 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +60 +0 +extra_int_9 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +13 +0 +final_loc_m +0 + + + +%String +0 +0 + +0 +0 +0 +0 +42 +0 +insert_time +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +38 +0 +lane_assigned +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +39 +0 +mat_allocated +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +12 +0 +next_loc_x +0 + + + +%String +0 +0 + +0 +0 +0 +0 +36 +0 +options_field +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +3 +0 +order_fase +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +48 +0 +orig_loc_m +0 + + + +%String +0 +0 + +0 +0 +0 +0 +34 +0 +orig_section +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +20 +0 +owner +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +51 +0 +pack_list_state +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +50 +0 +pack_list_type +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +6 +0 +pick_type +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +8 +0 +present_loc_g +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +7 +0 +present_loc_m +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +45 +0 +priority +0 + + + +%String +0 +0 + +0 +0 +0 +0 +17 +0 +product +0 + + + + +%Float +0 +0 + +0 +0 +0 +0 +28 +0 +qty_allocated +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +29 +0 +qty_picked +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +27 +0 +qty_requested +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +26 +0 +qty_to_pick +0 + + + +%String +0 +0 + +0 +0 +0 +0 +19 +0 +quality +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +21 +0 +reason_block +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +37 +0 +release_time +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +49 +0 +sender +0 + + + +%String +0 +0 + +0 +0 +0 +0 +22 +0 +src_loc_id +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +23 +0 +src_section +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +32 +0 +src_sequence +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +41 +0 +status +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +14 +0 +temp_loc_m_1 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +15 +0 +temp_loc_m_2 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +16 +0 +temp_loc_m_3 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +40 +0 +transport_started +0 + + + +%Binary +0 +0 + +0 +0 +0 +0 +77 +0 +ts +0 + + + + +%CacheSQLStorage +^EWMS.Pic.ToPickS + + + Index: vhTools.mac.rou =================================================================== diff -u --- vhTools.mac.rou (revision 0) +++ vhTools.mac.rou (revision 2) @@ -0,0 +1,626 @@ +#include %occInclude +#include %VHMacro + +#define MAXLOCALSIZE 32768 + + // ========================================================================================================================================== + // Name : GenerateRes + // Author : Tom Rombaut + // Function: Items aan ^RES global toevoegen aan de hand van #Defines in een INC bestand + // Group kan bijv PRINTING zijn + // INCFileName bevat de naam van het INC bestand (zonder INC) waar de #defines zich bevinden + // Resource is de naam van de resource, bijv PAPERSIZE + // ResourceOms is de omschrijving van de resource + // DefinePrefix is de prefix (kleine letters) die elke constante van de resource moet voorafgaan, bijv psA3, psA4, psA5,... + // ProcessPrevLineComment, indien ingesteld op true wordt de commentline voor de define als oms aanschouwt + // ========================================================================================================================================== +GenerateRes(Group,INCFileName,Resource,ResourceOms,DefinePrefix,ProcessPrevLineComment) + If '$D(Group) Do Quit + . w "PARAMS: Group,INCFileName,Resource,ResourceOms,DefinePrefix,ProcessPrevLineComment",!! + + Set Group=$ZCVT(Group,"U") + Set Resource=$ZCVT(Resource,"U") + Set ProcessPrevLineComment=$G(ProcessPrevLineComment,0) + + Kill ^RES(Group,"PI",Resource) + Set ^RES(Group,"PI",Resource)=ResourceOms_"`"_$H_"`````````````````1" + + New Loop,Line,Key,KeyVal,Cnt,PrevLine + Set Cnt=0 + Set Loop="" + Set Line="" + For Set Loop=$O(^rINC(INCFileName,0,Loop)) Quit:(Loop="") Do + . Set PrevLine=Line + . Set Line=^rINC(INCFileName,0,Loop) + . Do grAddRes(Line,PrevLine,.Cnt) + + w !,"Processed: "_Cnt,! + + Quit + +grAddRes(Line,PrevLine,Cnt) + #Define rtnIsWhiteSpaceChar(%v) ("9,32"[$ASCII(%v)) + + New Loop,MaxLoop,InDefine,Char,InMacroName,MacroName,RunningToKey,InKey,Key,RunningToOms,InOms,Oms + Set Loop=1 + Set InDefine=0 + Set InMacroName=0 + Set MacroName="" + Set RunningToKey=0 + Set InKey=0 + Set Key="" + Set RunningToOms=0 + Set InOms=0 + Set Oms="" + Set MaxLoop=$L(Line) + For Quit:(Loop>MaxLoop) Do + . Set Char=$E(Line,Loop) + . If 'InOms && RunningToOms && (Char=";") Do Quit + .. Set InOms=1 + .. Set RunningToOms=0 + .. Set Loop=Loop+1 + . If InOms Do Quit + .. Set Oms=Oms_Char + .. Set Loop=Loop+1 + . If RunningToKey && (Char="""") Do Quit ;Key is mogelijk een string + .. Set InKey=1 + .. Set RunningToKey=0 + .. Set Loop=Loop+1 + . If RunningToKey && '$$$rtnIsWhiteSpaceChar(Char) Do Quit ;Key kan ook een integer zijn + .. Set InKey=1 + .. Set RunningToKey=0 + .. Set Key=Char + .. Set Loop=Loop+1 + . If InKey Do + .. If (Char="""") || $$$rtnIsWhiteSpaceChar(Char) Do + ... Set InKey=0 + ... Set RunningToOms=1 + .. Else Do + ... Set Key=Key_Char + . If 'InDefine && (Char="#") Do Quit + .. Set Loop=Loop+1 + .. Set:($ZCVT($E(Line,Loop,Loop+5),"U")="DEFINE") InDefine=1 + .. Set Loop=Loop+6 + . If InDefine && 'InMacroName && '$$$rtnIsWhiteSpaceChar(Char) Do Quit ;9=tab, 32=spatie + .. Set InMacroName=1 + .. Set InDefine=0 + .. Set MacroName=Char + .. Set Loop=Loop+1 + . If InMacroName Do + .. If $$$rtnIsWhiteSpaceChar(Char) Do + ... Set RunningToKey=1 + ... Set InMacroName=0 + .. Else Do + ... Set MacroName=MacroName_Char + . Set Loop=Loop+1 + + Quit:($E(MacroName,1,$L(DefinePrefix))'=DefinePrefix) + If Key="" Do Quit + . w "Key must be string: "_MacroName,! + Quit:($E(MacroName,$L(DefinePrefix)+1)'=$ZCVT($E(MacroName,$L(DefinePrefix)+1),"U")) ;na de prefix hoort een hoofdletter te komen, dit checken + Quit:('ProcessPrevLineComment && (MacroName["(")) ;Indien macro '(' bevat: skippen + + Set Cnt=Cnt+1 + + If ProcessPrevLineComment Do + . Set PrevLineComment=$P(PrevLine,";",2) + . Set Oms=$P(PrevLineComment,"\",1) + . Set Params=$P(PrevLineComment,"\",2) + Else Do + . Set Oms=MacroName + . Set Params="" + + Set ^RES(Group,"PI",Resource,"D",Key)=Cnt_"`"_Oms_"`"_Params + + w $J(Key,10)_": "_Oms,! + + Quit + + + + // ========================================================================================================================================== + // Name : CompilePackages + // Author : Wim Vermeulen + // Function: Alle klasses compileren door het aflopen van alle packages + // Via een exclude-list en/of include-list kunnen beperkingen opgelegd worden (TO DO) + // + // Uit te voeren in Terminal: Do CompilePackages^vhTools() + // ========================================================================================================================================== +CompilePackages() ; + New CompileOptions,PckgName,Key,blnPauseBetween + Set CompileOptions="c-okfv" + Set blnPauseBetween=1 + ; Loop through packages : + For Quit Do + . Set PckgName="WS" + . Do $system.OBJ.CompilePackage(PckgName,CompileOptions) + . Read:(blnPauseBetween) Key + + Quit + + + // ========================================================================================================================================== + // Name : BackupLicense + // Author : Wim Vermeulen + // Function: Om het verloop van de Cache licensies te kunnen opvolgen: + // kopieert de file all.dmp naar all_bck.dmp en voert een nieuwe DumpLocalAll() uit. + // de nieuwe .dmp file kan via compareIt vergeleken worden met de bck-versie ervan. + // + // Uit te voeren in Terminal: Do BackupLicense^vhTools(.LastDmp) + // ========================================================================================================================================== +BackupLicense(LastFN) ; LastFN als .local doorgeven +#define AllDmpFN "all.dmp" +#define BckDmpFN "all_bck.dmp" + New BckFN,sc + If $L($G(LastFN))&&(LastFN[$$$AllDmpFN) Do + . Set BckFN=$$$Replace(LastFN,$$$AllDmpFN,$$$BckDmpFN) + . Set sc=##class(%Library.File).CopyFile(LastFN,BckFN) + . w "Create backup file:"_$S('sc:" NOT",1:"")_" successfull (from '"_LastFN_"' to '"_BckFN_"')",!,! + Else Do + . w "No LastDmp file. Creating first dump file ...",!,! + Set LastFN=$SYSTEM.License.DumpLocalAll() + Quit + + // ========================================================================================================================================== + // Name : TakeSnapshot + // Author : Tom Rombaut + // Function: Neem een 'snapshot', te gebruiken in het visuele programma 'ObjLeakDetector' + // ========================================================================================================================================== +TS(ID,Filter,RemoveWhenContainsFilter) + Quit:('$D(ID)) "Er is geen ID opgegeven." + + If $zobjnext(0)=0 Do Quit "No registered objects." + . Set ^tmpSnapShots(ID)=$LB(0,$H) + + Kill ^tmpSnapShots(ID) + + New ORef,Count,tmpClass + Set (Count,ORef)=0 + + If $G(Filter)'="" Do + . Set RemoveWhenContainsFilter=$G(RemoveWhenContainsFilter,1) + . If RemoveWhenContainsFilter Do + .. For Set ORef=$zobjnext(ORef) Quit:(+ORef=0) Do + ... Quit:($P(ORef,"@",2)="") + ... Set tmpClass=ORef.%ClassName(1) + ... Quit:(tmpClass[Filter) + ... Set ^tmpSnapShots(ID,ORef)=tmpClass + ... Set Count=Count+1 + . Else Do + .. For Set ORef=$zobjnext(ORef) Quit:(+ORef=0) Do + ... Quit:($P(ORef,"@",2)="") + ... Set tmpClass=ORef.%ClassName(1) + ... Quit:(tmpClass'[Filter) + ... Set ^tmpSnapShots(ID,ORef)=tmpClass + ... Set Count=Count+1 + Else Do + . For Set ORef=$zobjnext(ORef) Quit:(+ORef=0) Do + .. Quit:($P(ORef,"@",2)="") + .. Set tmpClass=ORef.%ClassName(1) + .. Set ^tmpSnapShots(ID,ORef)=tmpClass + .. Set Count=Count+1 + + Set ^tmpSnapShots(ID)=$LB(Count,$H) + + Quit Count_" class(es)" + + // ========================================================================================================================================== + // Name : ArrayToText (en afgeleiden) + // Author : WIM VERMEULEN + // Function: Converteert een array naar text: nodes doorlopen via $QUERY, values omzetten via $$LCVT^vhLib. + // Ref is de referentie naar de array, is dus type string, of via $Name(MyArray). + // Kan ook ��n enkele subnode(+descendants) van de array doorlopen: subnodes in Ref specifi�ren. + // 3 verschillende modes: + // - Local array of %array of Global: + // * $$ArrayToText^vhLib("MyArray") + // * $$ArrayToText^vhLib("MyArray(""subnode"",""snode2"")") + // - Array binnen ProcedureBlock routine: --> RefArray als .local doorgeven + // De Ref hoeft hier niet gelijk te zijn aan de naam van de doorgegeven array + // * $$ArrayToText^vhLib("MyArray",.MyArray) + // * $$ArrayToText^vhLib("MyAr",.MyArray) + // * $$ArrayToText^vhLib("MyAr(""subnode"",""snode2"")",.MyArray) + // - MultiDimensional property van een Object: + // * $$ArrayToText^vhLib("MyObj.MDimPropt",MyObj) ; Meest eenvoudige oproep: PropertyName wordt afgeleid uit Ref --> MDimPropt + // * $$ArrayToText^vhLib("MyObj.MDP" ,MyObj,"MDimPropt") ; PropertyName overruled de waarde van Ref --> MDimPropt + // * $$ArrayToText^vhLib("obj.MDP ,MyObj,"MDimPropt") ; ObjNaam in Ref vrij te kiezen, is puur informatief + // * $$ArrayToText^vhLib("obj.MDP(""sn"")",MyObj,"MDimPropt") ; E�n enkel niveau/subnode --> MDimPropt("sn",...) + // * $$ArrayToText^vhLib("MDP ,MyObj,"MDimPropt") ; ObjNaam in Ref weggelaten, dan is MDimPropt VERPLICHT gegeven + // ========================================================================================================================================== +ArrayToText(Ref,RefArray,ProptName) ; RefArray als .local doorgeven, tenzij het een object is + // Converteert een Array naar Text +#define IsMultiDimPropt ($L($G(ProptName)))||(Ref?.AN1"."1.AN0.1(1"(".E1.")")) + Quit:($G(Ref)="") + New DevObj,txt + Set DevObj=##class(%GlobalCharacterStream).%New() + If ($IsObject($G(RefArray)))&&($$$IsMultiDimPropt) Do + . Do ArrayToTextMultiDimProptW(Ref,RefArray,.ProptName,DevObj) ; RefArray is a Cach� Object + Else If $D(RefArray) Do + . Do ArrayToTextProcBlockW(Ref,.RefArray,DevObj) + Else Do + . Do ArrayToTextW(Ref,DevObj) + Do DevObj.Rewind() + Set txt=DevObj.Read($$$MAXLOCALSIZE) + Do DevObj.%Close() + Quit txt + +ArrayToTextW(Ref,DevObj) + // Schrijft een Array naar Text-CharacterStream (DevObj=0 : write to screen) + Quit:($G(Ref)="") + Quit:('$D(@Ref)) + New Node,PatternRef + Do:($D(@Ref)#10) attWrite(Ref_"="_$$LCVTCHK(@Ref)) + Quit:($D(@Ref)<10) + ; Else : ook de SubNodes converteren naar Text + Set PatternRef="1"""_$$$Replace($S($E(Ref,$L(Ref))=")":$E(Ref,1,$L(Ref)-1) ,1:Ref),"""","""""")_""".E" + Set Node=Ref + For Set Node=$Q(@Node) Quit:(Node'?@PatternRef) Do + . Do attWrite($C(13,10)_Node_"="_$$LCVTCHK(@Node)) + Quit +attWrite(sText) + If +$G(DevObj,0) Do + . Do DevObj.Write(sText) + Else Do + . Write sText + Quit + +ArrayToTextProcBlockW(Ref,RefArray,DevObj) ; RefArray als .local doorgeven + // Schrijft een Array naar Text-CharacterStream (DevObj=0 : write to screen) +#define ReplaceNodeRef(%v) $$REPLACE^vhRtn1(%v,"RefArray",ArrayName,,1) + Quit:($G(Ref)="") + Quit:('$D(RefArray)) + New RefOrig,ArrayName,Node,PatternRef + Set RefOrig=Ref + Set ArrayName=$P(RefOrig,"(",1) + Set $P(Ref,"(",1)="RefArray" + Do:($$$aHasData(@Ref)) attWrite(RefOrig_"="_$$LCVTCHK(@Ref)) + Quit:('($$$aHasSubNodes(@Ref))) + ; Else : ook de SubNodes converteren naar Text + Set PatternRef="1"""_$$$Replace($S($E(Ref,$L(Ref))=")":$E(Ref,1,$L(Ref)-1) ,1:Ref),"""","""""")_""".E" + Set Node=Ref + For Set Node=$Q(@Node) Quit:(Node'?@PatternRef) Do + . Do attWrite($C(13,10)_$$$ReplaceNodeRef(Node)_"="_$$LCVTCHK(@Node)) + Quit + +ArrayToTextMultiDimProptW(Ref,obj,ProptName,DevObj) + // Schrijft een MultiDimensional property van obj naar Text-CharacterStream (DevObj=0 : write to screen) +#define ReplaceNodeRef(%v) $$REPLACE^vhRtn1(%v,ObjPropt,ProptRef,,1) +#define BaseQueryLength 5 + Quit:($G(Ref)="") + New RefOrig,Ref2,ObjPropt,ProptRef,Node,PatternRef + Set RefOrig=Ref + Set ProptRef=$P(Ref,"(",1) + Set:($G(ProptName)="") ProptName=$$$LastPiece(ProptRef,".") + Set ObjPropt="obj."_ProptName + Set $P(Ref,"(",1)=ObjPropt + Do:($$$aHasData(@Ref)) attWrite($$$ReplaceNodeRef(Ref)_"="_$$LCVTCHK(@Ref)) + Quit:('($$$aHasSubNodes(@Ref))) + ; Else : ook de SubNodes converteren naar Text + Set Node=$Q(@Ref) ; Convert obj.ProptName(...) to $ZOBJVAL($ZOBJREF(143),5,0,0,0,...) + Set ProptRef=ProptRef_"(" + Set ObjPropt=$P(Node,",",1,$$$BaseQueryLength)_"," + Set Ref2=$S(RefOrig'["(":ObjPropt, 1:$$$Replace(RefOrig,ProptRef,ObjPropt)) + Set PatternRef="1"""_$$$Replace($S($E(Ref2,$L(Ref2))=")":$E(Ref2,1,$L(Ref2)-1) ,1:Ref2),"""","""""")_""".E" + For Quit:(Node'?@PatternRef) Do Set Node=$Q(@Node) + . Do attWrite($C(13,10)_$$$ReplaceNodeRef(Node)_"="_$$LCVTCHK(@Node)) + Quit +attDetermineBaseQueryLength() + // Om het exact aantal subnodes van ZObjVal te bepalen: + // --> $O(obj.Propt("")) opvragen en kijken op welk subniveau (subnode) deze waarde voorkomt in $Query() + // Voor de eenvoud: HARD CODED : + Quit $$$BaseQueryLength + +MDToText(obj,ProptName) + // Wrapper voor ArrayToTextMultiDimProptW() via ArrayToText(ref,obj,propt) in mode 3 + // ProptName is een MultiDimensional property van het object obj, en wordt uitgeschreven als een array (.local) +#define MDPropToText(%o,%p) $$ArrayToText(%p,%o,%p) + Quit $$$MDPropToText(obj,ProptName) + + // ========================================================================================================================================== + // Name : ArrayToTextWF + // Author : WIM VERMEULEN + // Function: Schrijft een Array naar Text-file. Geeft leeg of een ErrorMsg terug. + // Default: Overwrite mode; [hetvolgende lukt niet: Gebruik WrAttrib="WS" om aan de file toe te voegen ] + // ========================================================================================================================================== +ArrayToTextWF(Ref,FilePath,WrAttrib) + Quit:($G(FilePath)="") "" + Set WrAttrib=$G(WrAttrib,"WSN") + New OutF,sc + Set OutF=##class(%Library.File).%New(FilePath) + Set sc=OutF.Open(WrAttrib) ; "WSN" + Quit:('sc) sc + Do ArrayToTextW^vhLib(Ref,OutF) + Set OutF="" + Quit "" + + + // ========================================================================================================================================== + // Name : ArrayToTextEx + // Author : WIM VERMEULEN (aangepast door Manuel Bauwens) + // Function: Converteert een Array naar Text + // ========================================================================================================================================== +ArrayToTextEx(Ref,max) + Quit:($G(Ref)="") "" + Quit:('$D(@Ref)) "" + New txt,Node,cnt + Set txt="" + Set:($D(@Ref)#10) txt=txt_Ref_"="_@Ref + Quit:($D(@Ref)<10) txt + ; Else : ook de SubNodes converteren naar Text + Set Node=Ref + Set cnt=0 + For Set Node=$Q(@Node) Quit:(Node="") Quit:cnt>max Do + . Set cnt=cnt+1 + . Set txt=txt_$C(13,10)_Node_"="_$$LCVTCHK(@Node) ; $$LCVT^vhLib(@Node) + Set:($E(txt,1,2)=$C(13,10)) $E(txt,1,2)="" + Quit txt + + + // ========================================================================================================================================== + // Name : ArrayToTabDelim + // Author : WIM VERMEULEN + // Function: Converteert een array naar TAB-delimited text: nodes doorlopen via $QUERY, "single values" worden ge-append; + // indien $LB(values) dan omgezet naar TAB-delim values (eerste level); bij geneste $LB's: for each item: $$LCVT^vhLib(item). + // arData als .local doorgeven + // FilePath : volledige naam van output bestand (incl. directory) + // indien leeg, wordt de output als String teruggegeven (Max. 32768 char.) + // arConfig als .local doorgeven : bevat de opmaak voor de Tab-delimited output, zoals Headers, alignment, NodeMatch,... + // ========================================================================================================================================== +ArrayToTabDelim(arData,FilePath,WrAttrib,arConfig) + New DevObj,OutTxt + New OutF,sc + If $G(FilePath)="" Do Quit OutTxt + . Set OutTxt="" + . Set DevObj=##class(%GlobalCharacterStream).%New() + . Do ArrayToTabDelimW(.arData,DevObj,.arConfig) + . Do DevObj.Rewind() + . Set OutTxt=DevObj.Read($$$MAXLOCALSIZE) + . Set DevObj="" ; DevObj.%Close() + ; Else ; write to file + Set WrAttrib=$G(WrAttrib,"WSN") + Set OutF=##class(%Library.File).%New(FilePath) + Set sc=OutF.Open(WrAttrib) ; "WSN" + Quit:($$$ISERR(sc)) sc + Do ArrayToTabDelimW(.arData,OutF,.arConfig) + Set OutF="" + Quit "" +attGetSampleConfig() + Set arConfig("HDR","KLNr","Vnr","IN/OUT",$C(0),"LT","LD","CB")=$LB("Prs","other") + Set arConfig("REF")="MyArray" + Quit +ArrayToTabDelimW(arData,DevObj,arConfig) + // Schrijft een Array naar een TAB-delimited Text-CharacterStream + // DevObj is het Stream-obj, verplicht mee te geven. + Quit:('$D(arData)) + Quit:('$IsObject($G(DevObj))) + New Tab,Node,i,CntNodes,arHeaders,sLine ,blnFormatNum,blnAlignValues,NameRef + Set Tab=$C(9) + d:('$D(arConfig)) attGetSampleConfig() + Set blnFormatNum=$G(blnFormatNum,1) + Set blnAlignValues=$G(blnAlignValues,1) + Set NameRef=$G(arConfig("REF")) ; NameRef is de naam van de doorgegeven array, of een alias indien gewenst door de user. + Merge arHeaders=arConfig("HDR") + Set Ref=$Name(arData) + Set CntNodes=$S(blnAlignValues:$$attGetMaxNodes(Ref), 1:0) + Do:($$$aHasSubNodes(arHeaders)) attTabbedColHeaders() + Do:($$$aHasData(arData)) attbWrite(Ref_$S(blnAlignValues:$$attAddTabs(CntNodes),1:"")_Tab_":"_Tab_$$attFormatTabbedList(arData)_$$$CRLF) ; HoofdNode + Set Node=Ref + For Set Node=$Q(@Node) Quit:(Node="") Do + . Set sLine=NameRef ; $QSubscript(Node,0) + . For i=1:1:$QLength(Node) Set sLine=sLine_Tab_$QSubscript(Node,i) + . Set sLine=sLine_$S(blnAlignValues:$$attAddTabs(CntNodes-$QLength(Node)),1:"")_Tab_":"_Tab_$$attFormatTabbedList(@Node) + . Do attbWrite(sLine_$$$CRLF) + Quit +attGetMaxNodes(Ref) + New tmpCnt,Node + Set tmpCnt=0 + Set Node=Ref + For Set Node=$Q(@Node) Quit:(Node="") Set:($QLength(Node)>tmpCnt) tmpCnt=$QLength(Node) + Quit tmpCnt +attTabbedColHeaders() + Set Node=$Name(arHeaders) + For Set Node=$Q(@Node) Quit:(Node="") Do + . Set sLine="" + . For i=1:1:$QLength(Node) Set sLine=sLine_Tab_$QSubscript(Node,i) + . Set sLine=sLine_$S(blnAlignValues:$$attAddTabs(CntNodes-$QLength(Node)),1:"")_Tab_":"_Tab_$$attFormatTabbedList(@Node) + . Do attbWrite(sLine_$$$CRLF) + Quit +attAddTabs(Num) + Quit $S(Num>0:$TR($J(" ",Num)," ",Tab), 1:"") +attFormatTabbedList(Value,blnForceLCVT) +#define ifFormatNum(%v) (blnFormatNum)&&($IsValidNum(%v)) +#define doFormatNum(%v) $TR($FN(%v,"."),".","") + Quit:($G(Value)="") "" + Quit:('$$IsList(Value)) $S($$$ifFormatNum(Value):$$$doFormatNum(Value), 1:Value) ; LB is een zuivere single value + Quit:($G(blnForceLCVT,0)) $$LCVT(Value) + New i,txt + Set txt=$LG(Value,1) + For i=2:1:$LL(Value) Set txt=txt_Tab_$$attFormatTabbedList($LG(Value,i),1) ; Recursieve oproep met blnForceLCVT=1, anders opnieuw Tab-delim + Quit txt +attbWrite(sText) + If $IsObject(DevObj) Do + . Do DevObj.Write(sText) + Else Do + . Write sText + Quit + +LCVTCHK(LB) + Quit $$LCVT^vhLib(LB) + +LCVT(LB) + Quit $$LCVT^vhLib(LB) + +IsList(LB) + Quit $$IsList^vhLib(LB) + + + // ========================================================================================================================================== + // Name : MoveListItems + // Author : Wim Vermeulen + // Function: Moves a group of list items (itmFirst to itmLast incl) to a new position, i.e. after itmMoveTo. + // + // ========================================================================================================================================== + + // Parameters: + // ----------- + // If blnMoveAfter=0, the group will be moved before the itmMoveTo. + // Numeric values can be used to point directly at the position in the list. Add prefix $C(0) to identify integer values in lbItems. + // itmMoveTo=-1 and blnMoveAfter=1 : move to end + // itmMoveTo=-1 and blnMoveAfter=0 : move to front + // itmMoveTo=0 : ALWAYS move to front + // lbItems kan als .local doorgegeven worden en zal dan de gewijzigde versie bevatten. + // Alternatief wordt het resultaat ook 'return-value' van de routine gegeven. +MoveListItems(lbItems,itmFirst,itmLast,itmMoveTo,blnMoveAfter) Set blnMoveAfter=$G(blnMoveAfter,1) + #define DoLBDelete(%lb,%i) Set $LI(%lb,%i,%i)="" + #define DoLBDeleteFromTo(%lb,%i,%j) Set $LI(%lb,%i,%j)="" + #define LBConcat(%lb1,%lb2,%after) $S(%after:%lb1_%lb2, 1:%lb2_%lb1) + + Quit:($LL(lbItems)<2) "" + New Pos1,Pos2,PosNew,lbMoveIt,lbBackup + Set Pos1=$LF(lbItems,itmFirst) + Set Pos2=$LF(lbItems,itmLast) + Quit:('Pos1)||('Pos2) lbItems + Set lbMoveIt=$LI(lbItems,Pos1,Pos2) + d WL^vhDBG($$$LCVT("lbMoveIt: "_lbMoveIt)) + Set:($LF(lbMoveIt,itmMoveTo)>0) lbBackup=lbItems ; if itmMoveTo is contained in 'items to be moved', then it will cause an error, unless itmMoveTo ALSO occurs elsewhere in the lbItems. + + // Indien itmMoveTo een positie aangeeft, dan eerst deze positie bepalen + If itmMoveTo<0 Do + . Set PosNew=-1 + . Set itmMoveTo="" + Else If itmMoveTo=0 Do ; Always move to the front of lbItems + . Set PosNew=-1 + . Set blnMoveAfter=0 + . Set itmMoveTo="" + Else If itmMoveTo?1.9N Do ; if starts with $C(0), it will not pass the pattern match --> position via $LF(lbItems,itmMoveTo) + . Set PosNew=itmMoveTo + . Set itmMoveTo=$LG(lbItems,PosNew) + . Set:(itmMoveTo="")&&(PosNew>$LL(lbItems)) PosNew=-1 + + // Remove group from lbItems + $$$DoLBDeleteFromTo(lbItems,Pos1,Pos2) + + // Determine position via $LF(lbItems,itmMoveTo) + If '$IsValidNum($G(PosNew)) Do + . Set:($E(itmMoveTo,1)=$C(0)) $E(itmMoveTo,1)="" + . Set PosNew=$LF(lbItems,itmMoveTo) + . d WL^vhDBG("Item "_itmMoveTo_" at pos "_PosNew_" in $List.") + . If PosNew=0 Do + . . d WL^vhDBG("Item "_itmMoveTo_" Not found in $List. Items will be appended.") + . . Set PosNew=-1 + . . Set itmMoveTo="" + + // Move group to new position + If PosNew=-1 Do + . Set lbItems=$$$LBConcat(lbItems,lbMoveIt,blnMoveAfter) ; Append of insert in front + Else Do + . Set $LI(lbItems,PosNew,PosNew)=$$$LBConcat($LB(itmMoveTo),lbMoveIt,blnMoveAfter) + + Quit lbItems + + + // ========================================================================================================================================== + // Name : DEBUG (zie vhTools.MAC) + // Author : WIM VERMEULEN + // Function: Schrijft debug gegevens (Waarde) naar een Global (GlobalN via Ref), + // het subniveau wordt automatisch verhoogd indien UseCounter + // ========================================================================================================================================== +DEBUG(GlobalN,HoofdNode,SubNode,Waarde,UseCounter) + New Ref,RetVal,XCmd,i + Set HoofdNode=$G(HoofdNode,"1") + If $L($G(SubNode)) Do + . If SubNode["," Do + .. Set XCmd="Set Ref=$Na("_GlobalN_"("_$$dbgQuoteNodes(HoofdNode_","_SubNode)_"))" + .. Xecute XCmd + . Else Do + .. Set Ref=$Na(@GlobalN@(HoofdNode,SubNode)) + Else Do + . Set Ref=$Na(@GlobalN@(HoofdNode)) + ; Debug action at Node @Ref + If Waarde="$KILL" Do + . Kill @Ref + Else If +$G(UseCounter) Do + . Set @Ref=$G(@Ref)+1 + . Set @Ref@(@Ref)=Waarde + . Set RetVal=@Ref + Else Do + . Set @Ref=Waarde + Quit $G(RetVal) +dbgQuoteNodes(Nodes) + New Nd + For i=1:1:$L(Nodes,",") Set Nd=$P(Nodes, ",", i) Do + . Set:(Nd="") $P(Nodes, ",", i)="." + . If '$IsValidNum(Nd), $E(Nd,1)'="""", $E(Nd,$L(Nd))'="""" Set $P(Nodes,",",i)=""""_Nd_"""" + Quit Nodes + + + // ========================================================================================================================================== + // Name : GetStack + // Author : TOM ROMBAUT + // Function: Geeft de huidige stack weer, bruikbaar tijdens debugging + // Laatste level worden niet getoond aangezien deze besteed is aan het oproepen van de forlus + // ========================================================================================================================================== +GetStack(Short,QuitAtSource) + Set Short=$G(Short,0) + Set QuitAtSource=$G(QuitAtSource,$C(0)) + SET $ECODE="" + FOR loop=1:1:$STACK(-1)-1 Quit:($STACK(loop,"MCODE")[QuitAtSource) DO + . If Short Do + .. Write $STACK(loop,"MCODE"),?5,"[PLACE: '"_ $STACK(loop,"PLACE") _ "']",! + . Else Do + .. WRITE !,"Context level: ",loop + .. WRITE !,?5,"- Context type : ",$STACK(loop) + .. WRITE !,?5,"- Current place : ",$STACK(loop,"PLACE") + .. WRITE !,?5,"- Current source: ",$STACK(loop,"MCODE") + .. WRITE ! + QUIT + + // ========================================================================================================================================== + // Name : GetStackToString + // Author : PAUL VERHULST + // Function: Plaatst de stack in een string, de lijnen worden gescheiden met $$$CRLF, bruikbaar voor creatie van de email bij errortrapping + // Laatste level worden niet getoond aangezien deze besteed is aan het oproepen van de forlus + // ========================================================================================================================================== +GetStackToString(Short,NoLastLevels) + New loop,Body + Set Short=$G(Short,0) + Set QuitAtSource=$G(QuitAtSource,$C(0)) + Set NoLastLevels=$G(NoLastLevels,1) + Set Body="" ;"Ecode: "_$ECODE + Set $ECODE="" + For loop=0:1:$STACK(-1)-NoLastLevels Quit:($STACK(loop,"MCODE")[QuitAtSource) DO + . If Short Do + .. Set Body=Body_$STACK(loop,"MCODE")_" [PLACE: '"_$STACK(loop,"PLACE") _ "']"_$$$CRLF + . Else Do + .. Set Body=Body_$$$CRLF_"Context level: "_loop + .. Set Body=Body_$$$CRLF_" - Context type : "_$STACK(loop) + .. Set Body=Body_$$$CRLF_" - Current place : "_$STACK(loop,"PLACE") + .. Set Body=Body_$$$CRLF_" - Current source: "_$STACK(loop,"MCODE") + Set Body=Body_$$$CRLF_$$$CRLF_"Server: "_$ZU(110)_" NameSpace: "_$ZU(5) + Quit Body + + + // ========================================================================================================================================== + // Name : IsTerminal + // Author : Tom Rombaut + // Function: Parameter IO, bepaalt of IO een terminal-sessie is of niet. Indien geen parameter, dan wordt de huidige $io genomen + // ========================================================================================================================================== +IsTerminal(IO) + Set IO=$G(IO,$IO) + Quit IO?1"|TNT|".E1":".N1"|".N + + // ========================================================================================================================================== + // Name : GetTerminalList + // Author : Tom Rombaut + // Function: Verkrijg een lijst($lb) met alle openstaande terminals, booleaanse parameter bepaalt of uw eigen job er ook mag bijzitten + // ========================================================================================================================================== +GetTerminalList(ExcludeSelf) + New JobList,Loop,Info,TermList,Job + Set JobList=$$GetJobList^vhLib() + Set TermList="" + Set ExcludeSelf=$G(ExcludeSelf,0) + For Loop=1:1:$LL(JobList) Do + . Set Job=$LI(JobList,Loop) + . Do JobInfo^%SS(Job,.Info) + . Quit:(ExcludeSelf && (Job=$J)) + . Set:($$IsTerminal^vhLib(Info("P"))) TermList=TermList_$LB(Job) + Quit TermList \ No newline at end of file Index: csp/sessdur.cls.xml =================================================================== diff -u --- csp/sessdur.cls.xml (revision 0) +++ csp/sessdur.cls.xml (revision 2) @@ -0,0 +1,125 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean + 60min" + Set Totaal=0 + For i=1:1:7 Do Set Totaal=Totaal+$G(arrValues(i)) + Write !,"",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " " + For i=1:1:7 { + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " " + } + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "
    " + Write "" + Write "" + Write "Sessie tijden " + Write "" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Duur" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "Aantal" + Write "" + Write "
    " + Write "
    " + Write "
    " + Write " " + Write "
    " + Write "
    " + Write "" + Write " "_(arrLabel(i)) + Write "" + Write "" + Write "
    " + Write "" + Write (arrValues(i)) + Write "" + Write "
    " + Write "
    " + Write "" + Write "" + Write " "_($J(arrValues(i)*100/Totaal,0,0))_"% " + Write "" + Write "
    " + Write "" + Write "Totaal" + Write "" + Write "" + Write "
    " + Write (Totaal) + Write "
    " + Write "
     
    ",! + Write "
    " +]]>
    +
    + + +c:\cachesys\csp\httplog\sessdur.csp + + + +/csp/httplog/sessdur.csp + + + +59626,55368 + +
    +
    Index: Prod/GAMeta/BT/TBZijwand.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBZijwand.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBZijwand.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBZWD") +TBZijwandDefaultData +^Res.PI.Items("PR;GA;TBZWD") +^Res.PI.Items("index","PR;GA;TBZW") +^Res.PI.Items("stream","PR;GA;TBZW") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Prod/GAMeta/ItemOBJ.cls.xml =================================================================== diff -u --- Prod/GAMeta/ItemOBJ.cls.xml (revision 0) +++ Prod/GAMeta/ItemOBJ.cls.xml (revision 2) @@ -0,0 +1,142 @@ + + + +persistent +PRGACNTs,%VHMacro +1 +Prod.GAMeta.Item +0 + + +Object + + + +ObjectID + + + + +Vult in DItem de "ObjectID" parameter in. +Default is blnSwizzleObj = 0; +Als blnSwizzleObj = 1, dan wordt ook het bijhorende object geswizzled (Obj als .local doorgeven) + +%Library.Status + + + + + +Vult in DItem de "Object" parameter in met de ORef van het object. +Indien Obj het ObjectID bevat, kan met blnSwizzleObj tevens het Object zelf bekomen worden (obj als .local doorgeven) + +%Library.Status + + + + + +Vult in DItem de "Object" parameter in met de ORef van het object en het corresponderende ID. +DItem:Prod.GAData.Item,Obj:%RegisteredObject +%Library.Status + + + + + +Ophalen van het objectID uit DItem via de "ObjectID" parameter. +Deze method zal het object niet swizzlen +DItem:Prod.GAData.Item +%String + + + + + +Ophalen van het object uit DItem 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) +DItem:Prod.GAData.Item +%RegisteredObject + + + + + +Ophalen van het object uit DItem 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) +DItem:Prod.GAData.Item +1 +%RegisteredObject + + + + + + + + +%Library.CacheStorage + + + Index: vhDBG.mac.rou =================================================================== diff -u --- vhDBG.mac.rou (revision 0) +++ vhDBG.mac.rou (revision 2) @@ -0,0 +1,235 @@ + + ; VOORBEELDEN: + ; ============ + ; Do W^vhDBG("Deze Tekst") ; Write (Message) + ; Do WL^vhDBG("Deze Tekst") ; WriteLine (Message) + ; Do WFMT^vhDBG("Deze Tekst","B-Blue") ; Write (Message,FormatID) + ; Do WLFMT^vhDBG("Deze Tekst","B-Blue") ; WriteLine (Message,FormatID) + ; Do WCUST^vhDBG("Deze Tekst",1,"B-Blue") ; Write Custom (Message,NewLine,FormatID) + ; Do SETFMT^vhDBG("B-Blue") ; Set textFormat (FormatID) + ; Do CLS^vhDBG ; Clear entire OutputWindow + + ; Voluit: $$$WCUST(,,) = Do ##class(EH.Makova.EventQueue).AddMsg($$$DBGeqID,$$$DBGeqType,$$$DBGstMSG,$LB("Deze Tekst",1,"B-Blue"),$$$stPublic,1) + + ; =========================================================================================== + +#include UIDebugCNTs +#include %Const +#include %occInclude + + //==========// +WLIP(IP4,Msg) ; Set ClientIP and do WriteLine (Message) + Set:($G(IP4)?1.3N) %ClientIP="192.168.1."_IP4 + $$$WL(Msg) + Quit + //==========// +W(Msg) ; Write (Message) + $$$W(Msg) + Quit +WL(Msg) ; WriteLine (Message) + $$$WL(Msg) + Quit +WLS(Msg,ShowLvl) ; WriteLine (Message) + $$$WL($$DebugStackSpaces($STACK,.ShowLvl)_Msg) + Quit +IWL(Msg) ; WriteLine (Message) + Set:('$D(dbgForm487845)) dbgForm487845=##class(UI.Debug.OutputWin.MainForm).%New(%this.Form.Address,0) + Do dbgForm487845.Show() + $$$WL(Msg) + Quit +WFMT(Msg,FmtID) ; Write (Message,FormatID) + $$$WFMT(Msg,FmtID) + Quit +WLFMT(Msg,FmtID) ; WriteLine (Message,FormatID) + $$$WLFMT(Msg,FmtID) + Quit +WLSFMT(Msg,FmtID,ShowLvl) ; WriteLine (Message,FormatID) + $$$WLFMT($$DebugStackSpaces($STACK,.ShowLvl)_Msg,FmtID) + Quit +WCUST(Msg,NewLine,FmtID) ; Write Custom (Message,NewLine,FormatID) + $$$WCUST(Msg,NewLine,FmtID) + Quit +SETFMT(FmtID) ; Set Text Format (FormatID) + $$$SETFMT(FmtID) + Quit +CLS ; Clear entire OutputWindow + $$$CLS + Quit +WX(XMLObject) ; Schrijf XML object naar OutputWindow + New tmpString + Do XMLObject.XMLExportToString(.tmpString) + Do WL^vhDBG(tmpString) + Quit +WXIP(IP4,XMLObject) ; Schrijf XML object naar OutputWindow met IP + New tmpString + Do XMLObject.XMLExportToString(.tmpString) + Do WLIP^vhDBG(IP4,tmpString) + Quit + +DebugStackLevel(Stack) ; Geeft niveau van "indentation" in de STACK aan. + ; Gebruik $J("",$$GetStackIndent)_... om het aantal spaties vooraan toe te voegen. + Set Stack=$G(Stack,$STACK) + new Lvl + Set Lvl=Stack + For Set Lvl=$O(DbgIndent(Lvl)) Quit:(Lvl="") Kill DbgIndent(Lvl) + Set Lvl=$O(DbgIndent(Stack),-1) + Set DbgIndent(Stack)=$S(Lvl:DbgIndent(Lvl)+1, 1:1) + Quit DbgIndent(Stack) + +DebugStackSpaces(Stack,ShowLvl) + Set Stack=$G(Stack,$STACK) + Set ShowLvl=$G(ShowLvl,1) + Quit $S(ShowLvl:$J(Stack,2)_":", 1:"")_$J("",$$DebugStackLevel(Stack)) + + +InitFMT(Rec) ; Rec als .Local doorgeven + Set Rec("DFL")="" ; BESCHRIJVING : Set Rec(FmtID)=$LB($LB(styles),Color,Size,FontName) + Set Rec("B")=$LB($LB("fsBold"),) + Set Rec("ITALIC")=$LB($LB("fsItalic")) + Set Rec("U")=$LB($LB("fsUnderline")) + Set Rec("BI")=$LB($LB("fsBold","fsItalic")) + Set Rec("BU")=$LB($LB("fsBold","fsUnderline")) + Set Rec("IU")=$LB($LB("fsItalic","fsUnderline")) + Set Rec("BIU")=$LB($LB("fsBold","fsItalic","fsUnderline")) + ; Same in BLUE + Set Rec("BLUE")=$LB(,$$$clBlue) + Set Rec("B-BLUE")=$LB($LB("fsBold"),$$$clBlue) + Set Rec("I-BLUE")=$LB($LB("fsItalic"),$$$clBlue) + Set Rec("U-BLUE")=$LB($LB("fsUnderline"),$$$clBlue) + Set Rec("BI-BLUE")=$LB($LB("fsBold","fsItalic"),$$$clBlue) + Set Rec("BU-BLUE")=$LB($LB("fsBold","fsUnderline"),$$$clBlue) + Set Rec("IU-BLUE")=$LB($LB("fsItalic","fsUnderline"),$$$clBlue) + Set Rec("BIU-BLUE")=$LB($LB("fsBold","fsItalic","fsUnderline"),$$$clBlue) + ; Same in NAVY (DARK BLUE) + Set Rec("NAVY")=$LB(,$$$clNavy) + Set Rec("B-NAVY")=$LB($LB("fsBold"),$$$clNavy) + Set Rec("I-NAVY")=$LB($LB("fsItalic"),$$$clNavy) + Set Rec("U-NAVY")=$LB($LB("fsUnderline"),$$$clNavy) + Set Rec("BI-NAVY")=$LB($LB("fsBold","fsItalic"),$$$clNavy) + Set Rec("BU-NAVY")=$LB($LB("fsBold","fsUnderline"),$$$clNavy) + Set Rec("IU-NAVY")=$LB($LB("fsItalic","fsUnderline"),$$$clNavy) + Set Rec("BIU-NAVY")=$LB($LB("fsBold","fsItalic","fsUnderline"),$$$clNavy) + ; Same in RED + Set Rec("RED")=$LB(,$$$clRed) + Set Rec("B-RED")=$LB($LB("fsBold"),$$$clRed) + Set Rec("I-RED")=$LB($LB("fsItalic"),$$$clRed) + Set Rec("U-RED")=$LB($LB("fsUnderline"),$$$clRed) + Set Rec("BI-RED")=$LB($LB("fsBold","fsItalic"),$$$clRed) + Set Rec("BU-RED")=$LB($LB("fsBold","fsUnderline"),$$$clRed) + Set Rec("IU-RED")=$LB($LB("fsItalic","fsUnderline"),$$$clRed) + Set Rec("BIU-RED")=$LB($LB("fsBold","fsItalic","fsUnderline"),$$$clRed) + + Set Rec("I")=Rec("B") ; Info + Set Rec("W")=Rec("B-BLUE") ; Warning + Set Rec("A")=Rec("B-RED") ; Alarm + Quit + +BuildLocals(arCmd,arFmt,Rec) ; arCmd,arFmt,Rec als .Local doorgeven + ; Commands + Set arCmd(1,"ID")="W (msg)" + Set arCmd(2,"ID")="WL (msg)" + Set arCmd(3,"ID")="WLS (msg,[ShowLvl=1])" + Set arCmd(4,"ID")="WFMT (msg,fmtID)" + Set arCmd(5,"ID")="WLFMT (msg,fmtID)" + Set arCmd(6,"ID")="WLSFMT (msg,fmtID,[ShowLvl=1])" + Set arCmd(7,"ID")="WCUST (msg,NewLine,fmtID)" + Set arCmd(8,"ID")="SETFMT (fmtID)" + Set arCmd(99,"ID")="CLS ()" + Set arCmd(1,"ClipB")="Do W^vhDBG(""msg"")" + Set arCmd(2,"ClipB")="Do WL^vhDBG(""msg"")" + Set arCmd(3,"ClipB")="Do WLS^vhDBG(""msg"",[ShowLvl=1])" + Set arCmd(4,"ClipB")="Do WFMT^vhDBG(""msg"",""fmtID"")" + Set arCmd(5,"ClipB")="Do WLFMT^vhDBG(""msg"",""fmtID"")" + Set arCmd(6,"ClipB")="Do WLSFMT^vhDBG(""msg"",""fmtID"",[ShowLvl=1])" + Set arCmd(7,"ClipB")="Do WCUST^vhDBG(""msg"",""NewLine"",""fmtID"")" + Set arCmd(8,"ClipB")="Do SETFMT^vhDBG(""fmtID"")" + Set arCmd(99,"ClipB")="Do CLS^vhDBG" + ; Format IDs + New i,Nr + Do:('$D(Rec)) InitFMT(.Rec) ; Rec ophalen als Rec niet mee doorgegeven is + Set arFmt(1,"ID")="DFL" + Set arFmt(1,"ClipB")="DFL" + Set Nr=1 + Do BuildMnuFmt("I",$INCREMENT(Nr),"(Info)") + Do BuildMnuFmt("W",$INCREMENT(Nr),"(Warning)") + Do BuildMnuFmt("A",$INCREMENT(Nr),"(Alarm)") + Set i="" + For Set i=$O(Rec(i)) Quit:(i="") Do + . Quit:(i?1(1"I",1"W",1"A",1"DFL")) + . Do BuildMnuFmt(i,$INCREMENT(Nr)) + Quit +BuildMnuFmt(ID,Nr,AddText) + Quit:('$D(Rec(ID))) + Set arFmt(Nr,"ID")=ID_" "_$G(AddText)_" = "_$C(9)_$$LCVT^vhLib(Rec(ID)) + Set arFmt(Nr,"ClipB")=ID + Quit + + // ========================================================================================================================================== + // Name : GetSuperClasses + // Author : Tom Rombaut + // Function: Geef een classname op en krijg een $LB terug met daarin alle classname waarvan deze erft + // ========================================================================================================================================== +GetSuperClasses(MainClassName,IncludeMainClass) + New MainClassPrefix + Set MainClassPrefix=$P(MainClassName,".",1,$L(MainClassName,".")-1) + Set IncludeMainClass=$G(IncludeMainClass,0) + + New lbClasses + Set lbClasses=$S(IncludeMainClass:$LB(MainClassName),1:"") + + Do recGSC(MainClassName,MainClassPrefix,.lbClasses) + + Quit lbClasses + + ;Recursieve method voor GetSuperClasses +recGSC(ClassName,MainClassPrefix,lbClasses) + New CDef + Set CDef=##class(%ClassDefinition).%OpenId(ClassName) + Quit:(CDef=$$$NULLOREF) + + New SuperList,SuperClassName,Loop + Set SuperList=CDef.Super + Quit:(SuperList="") + + For Loop=1:1:$L(SuperList,",") Do + . Set SuperClassName=$P(SuperList,",",Loop) + . If $E(SuperClassName)="%" Do + .. Set:($ZCVT($E(SuperClassName,1,9),"U")'="%LIBRARY.") $E(SuperClassName,1,1)="%Library." + . Else If $L(SuperClassName,".")=1 Do + .. Set SuperClassName=MainClassPrefix_"."_SuperClassName + . Set lbClasses=lbClasses_$LB(SuperClassName) + . Do recGSC(SuperClassName,MainClassPrefix,.lbClasses) + + Quit + + // ========================================================================================================================================== + // Name : GetReferences + // Author : Tom Rombaut + // Function: Geef een obj op en krijg een overzicht terug van alle objecten die hiernaar verwijzen (inclusief zichzelf) + // ========================================================================================================================================== +GetReferences(RefToObj) + New tmpObj,lbReferences,lbClasses,ClassLoop,ClassName,CDef,PropLoop,PropDef,PropVal,Collection,Key + Set tmpObj="" + Set lbReferences="" + For Set tmpObj=$zobjnext(tmpObj) Quit:(tmpObj="") Do + . If tmpObj=RefToObj Do Quit + .. Set lbReferences=lbReferences_$LB(RefToObj_" (self)") + . Set lbClasses=$$GetSuperClasses(tmpObj.%ClassName(1),1) + . For ClassLoop=1:1:$LL(lbClasses) Do + .. Set ClassName=$LI(lbClasses,ClassLoop) + .. Set CDef=##class(%ClassDefinition).%OpenId(ClassName) + .. Quit:(CDef=$$$NULLOREF) + .. For PropLoop=1:1:CDef.Properties.Count() Do + ... ;Checken of property een object is en eventueel gelijk aan RefToObj + ... Set PropDef=CDef.Properties.GetAt(PropLoop) + ... Quit:(PropDef.Private || PropDef.MultiDimensional) + ... Quit:($$iXecute^vhLib("Set PropVal=tmpObj."_PropDef.Name)'="") + ... Set Collection=PropDef.Collection + ... If Collection="" Do + .... Set:(PropVal=RefToObj) lbReferences=lbReferences_$LB(tmpObj_": "_PropDef.Name) + ... Else If (Collection="array") || (Collection="list") Do + .... Set Key="" + .... For Set arObj=PropVal.GetNext(.Key) Quit:(Key="") Do + ..... Set:(arObj=RefToObj) lbReferences=lbReferences_$LB(tmpObj_": "_PropDef.Name_"["_Key_"]") + + Quit lbReferences \ No newline at end of file Index: csp/tbx/selectspzk.cls.xml =================================================================== diff -u --- csp/tbx/selectspzk.cls.xml (revision 0) +++ csp/tbx/selectspzk.cls.xml (revision 2) @@ -0,0 +1,797 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"
    ",! + Write $c(9) + Write "" + Write (..WebTextValue($S(blnIsSpoelbak:"Spoelbaklade",1:"Sifonlade"),Taal,"L")_$S(blnDemo:" - DEMO", 1:"")) + Write "" + Write "
    ",! + Write $c(9)_"
    ",! + Write $c(9) + If '(0) Goto %csp00001 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
       
    "_(..WebTextValue("SPZKKeuze",Taal,"L"))_":
     
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    "_(ZKLi)_""_($S($L(SPBR):..WebTextValue("Spoelbak",Taal,"L")_":"_SPBR, 1:" "))_""_(ZKRe)_"
    " + Write "" + Write "
    "_(..WebTextValue("BinnenmaatCorpus",Taal,"L")_": "_IB_" mm")_"
    ",! + Write $c(9,9,9)_"
     
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write !,$c(9,9,9,9,9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set qrySPZK = ##class(%ResultSet).%New("Prod.GAMeta.BT.TBSPZijkant"_":"_"ExtentSort") + Set qrySPZK.RuntimeMode=2 + Set %sc = qrySPZK.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9,9,9,9) + Set SPZKRowCnt=0 +%csp00003 If '(qrySPZK.Next()) Goto %csp00002 ;{ + Set SPZKRowCnt=SPZKRowCnt+1 + Write !,$c(9,9,9,9,9) + Set idSPZK=qrySPZK.Data("ItemCode") + Set lbFilterDC=qrySPZK.Data("FilterDC") + Set sOptAttrib="" + If ($LF(lbShowSPZK,idSPZK)=0)||($LF(lbFilterDC,tmpDC)=0) Do + . Set idSPZK="" ; Do not show this item + Else If (idSPZK?1(1"M")) Do ; &&(DCM'="I") + . Set sOptAttrib="style=""display:none; visibility:hidden;"" disabled" + . Set:(blnHideZKOpMaat) idSPZK="" ; Do not show this item + Else If (tmpDC="I")||(idSPZK'?1(1"SA")) Do + . ; Add Item + Else Do + . Set idSPZK="" ; Do not show this item + Write !,!,$c(9,9,9,9) + If '(($L(idSPZK))) Goto %csp00004 ;{ + Write !,$c(9,9,9,9,9) + Set SPZKRowCnt=SPZKRowCnt+1 + Set RowStyle=$S((SPZKRowCnt#2):"clsMRowEven", 1:"clsMRowOdd")_$S(SPZKRowCnt>1:" clsMRowLastX", 1:"") + Set iOms=##class(Prod.GAMeta.BT.TBSPZijkant).TaalAfhOmsClass("",idSPZK,Taal,idSPZK,,tmpDC) + Set iSPBR=blTBox.CalcBreedteSpoelbak(idSPZK,IB,AftrekLP,DC) + Set iZKLi=$J((IB-iSPBR)/2,0,0) + Set iSPBR=IB-(2*iZKLi) + Kill tmpRq + Merge tmpRq=%request.Data + Kill tmpRq("SPZK") + Set tmpRq("SPZK",1)=idSPZK + Set iHref="?"_..CQueryString(.tmpRq) + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9) +%csp00004 ;} + Write !,$c(9,9,9,9) + Goto %csp00003 +%csp00002 ;} + Write !,$c(9,9)_"",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9,9)_"",! + Write $c(9,9)_" ",! + Write $c(9,9)_"
    "_(..WebTextValue("SPZKType",Taal,"L"))_""_(..WebTextValue("Spoelbak",Taal,"L"))_" *"_(..WebTextValue("SPZijstukken",Taal,"L"))_" **
    " + Write "" + Write (iOms) + Write "" + Write ""_(iSPBR)_" mm"_(iZKLi)_" mm
     ",! + Write $c(9,9)_" 
    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"  (*) "_(..WebTextValue("SPZKOpmerking1",Taal,"O"))_"
    ",! + Write $c(9,9,9,9)_"  (**) "_(..WebTextValue("SPZKOpmerking2",Taal,"O")),! + Write $c(9,9,9)_"
     
    ",! + Write $c(9,9,9,9)_""_(..WebTextValue("Opmerkingen",Taal,"L"))_":
    ",! + Write $c(9,9,9,9)_(..WebTextValue("SPZKInbegrepen",Taal,"O")),! + Write $c(9,9,9)_"
    ",! + Write " ",! + Write " "_$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
       
    "_(..WebTextValue("SPZKKeuze",Taal,"L"))_":
     
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    "_(ZKLi)_""_($S($L(SPBR):..WebTextValue("Spoelbak",Taal,"L")_":"_SPBR, 1:" "))_""_(ZKRe)_"
    " + Write "" + Write "
    "_(..WebTextValue("BinnenmaatCorpus",Taal,"L")_": "_IB_" mm")_"
    ",! + Write $c(9,9,9)_"
    ",! + Goto %csp00005 ;} +%csp00001 ;{ + Write !,!,"",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + If '($G(blnIsDblSifon)) Goto %csp00006 ;{ + Write " ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " +%csp00006 ;} + Write " ",! + Write $c(9)_" ",! + Write " "_$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + If '($G(blnIsDblSifon)) Goto %csp00007 ;{ + Write " ",! + Write " "_$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write " "_$c(9)_" " +%csp00007 ;} + Write " ",! + Write " "_$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + If '($G(blnIsDblSifon)) Goto %csp00008 ;{ + Write " ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " +%csp00008 ;} + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + If '($G(blnIsDblSifon)) Goto %csp00009 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " +%csp00009 ;} + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + If '($G(blnIsDblSifon)) Goto %csp00010 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " +%csp00010 ;} + Write " ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + If '($G(blnIsDblSifon)) Goto %csp00011 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " +%csp00011 ;} + Write " ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " "_$c(9)_"
               
               
                 
                
                
                
      "_(IB)_"
    ",! + Write " "_$c(9)_"
    ",! + Write !,!,!,$c(9)_" " + Write "
    " + Write !,$c(9,9)_"",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_"
    ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" " + Write !,$c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9) + If '((blnIsSpoelbak)) Goto %csp00012 ;{ + Write !,$c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9) + Goto %csp00013 ;} +%csp00012 ;{ + Write !,$c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9,9) + If '((blnDiepeSifonMag)) Goto %csp00014 ;{ + Write !,$c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9,9) +%csp00014 ;} + Write !,$c(9,9) +%csp00013 ;} + Write " ",! + Write $c(9,9)_"
     
    " + Write "" + Write !,$c(9,9)_" ",! + Write $c(9,9)_" " + Write "" + Write !,$c(9,9)_"
    " + Write "" + Write !,$c(9,9)_" ",! + Write $c(9,9)_" " + Write "" + Write !,$c(9,9)_"
    " + Write "" + Write " ",! + Write $c(9,9)_" ",! + Write $c(9,9)_" " + Write "" + Write !,$c(9,9)_"
    " + Write "" + Write !,$c(9,9)_" ",! + Write $c(9,9)_" " + Write "" + Write !,$c(9,9)_"
    " + Write "" + Write !,$c(9,9)_" ",! + Write $c(9,9)_" " + Write "" + Write !,$c(9,9)_"
        
      
    "_(..WebTextValue("edtLinks_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))_"" + Write "" + Write " mm 
    "_(..WebTextValue("edtOpen1_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))_"" + Write "" + Write " mm 
    "_(..WebTextValue("edtMidden_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))_"" + Write "" + Write " mm 
    "_(..WebTextValue("edtOpen2_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))_"" + Write "" + Write " mm 
    "_(..WebTextValue("edtRechts_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))_"" + Write "" + Write " mm 
       
    "_(..WebTextValue("edtTotaal",Taal,"L"))_"" + Write "" + Write " mm 
    ",! + Write $c(9)_" "_$c(9)_" ",! + Write $c(9)_" "_$c(9) + If '(blnIsSpoelbak) Goto %csp00015 ;{ + Write !,$c(9)_" "_$c(9) + Goto %csp00016 ;} +%csp00015 ;{ + Write " ",! + Write $c(9)_" "_$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"
     
     
    ",! + Write $c(9,9,9)_" "_(..WebTextValue("Sifon_MeerInfo",Taal,"L")),! + Write $c(9,9,9)_"  
    ",! + Write $c(9,9) +%csp00016 ;} + Write " ",! + Write $c(9)_" "_$c(9)_" ",! + Write " "_$c(9)_" " + Write ..InsertHiddenFields(""),! + Write "
    " + Write !,$c(9),! + Write $c(9) +%csp00005 ;} + Write !,$c(9),! + Write $c(9)_"
    ",! + Write $c(9) + If '((blnDemo)) Goto %csp00017 ;{ + Write !,$c(9,9) + Write "" + Write (..WebTextValue("Sluiten",Taal,"L")) + Write "" + Write !,$c(9) + Goto %csp00018 ;} +%csp00017 ;{ + Write !,$c(9,9) + Write "" + Write ("OK"_..WebTextValue("",Taal,"L")) + Write "" + Write "   " + Write "" + Write (..WebTextValue("Annuleren",Taal,"L")) + Write "" + Write !,$c(9) +%csp00018 ;} + Write !,$c(9)_"
    ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TandemBox "_(..WebTextValue("Spoelbaklade",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9),! + Write $c(9) + Write "" + Write !,$c(9),! + Write "" + Write !,!,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..Include("PRGACNTs.INC") + Write !,! + #define GetVertalingJS(%i,%tl,%tt) ##class(Res.Vertaling).GetVertalingPlus("TBW",%i,%tt,%tl,,1) + #define jsVTLAddVal(%i,%tl,%tt) $C(9)_"jsArVTL["""_%i_"#"_%tl_"-"_%tt_"""]="""_$TR($$$GetVertalingJS(%i,%tl,%tt),$C(13,10),"")_""";"_$C(13,10) + #define jsVTLAddValRepl(%i,%tl,%tt) $C(9)_"jsArVTL["""_%i_"#"_%tl_"-"_%tt_"""]="""_$$$Replace($$$GetVertalingJS(%i,%tl,%tt),"~","")_""";"_$C(13,10) + #define jsVTLVar(%i,%tl,%tt) $C(9)_"var "_%i_"="""_$TR($$$GetVertalingJS(%i,%tl,%tt),$C(13,10),"")_""";"_$C(13,10) + #define jsVTLAddVtl(%i,%tl,%tt,%vtl) $C(9)_"jsArVTL["""_%i_"#"_%tl_"-"_%tt_"""]="""_%vtl_""";"_$C(13,10) + #define TaalDfl $S(sDomVERW="HEIN":"D", sDomVERW="LMC":"F", sDomVERW="SFS":"D", 1:"N") + Set %session.AppTimeout = 905 + s:('$D(ClientIP)) ClientIP="192.168.1.97" + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,$$$TaalDfl) + Set blnDemo=(''$G(%request.Data("DEMO",1))) + Set DC=$G(%request.Data("DC",1),"S") + Set LT=$G(%request.Data("LCODE",1),"MS2") + Set LD=$G(%request.Data("LD",1),500) + If '(LD>0) Set LD = 500 + New SPZK,IB,CB,WD,MTIB,OPVLLI,OPVLRE,SPBR,blTBox,imgSPZK,reqTotal + Set blTBox=##class(BL.PR.GA.TandemBox).%New() + Set KLAS = blTBox.KLASFromLC(LT) + Set SPZK=$G(%request.Data("SPZK",1)) + If blnDemo Do + . Set:(SPZK="") SPZK="B" + . Set IB="" + . Set CB=900 + . Set WD=16 + . Set MTIB="" + Else Do + . Set SPZK=$G(%request.Data("SPZK",1)) + . Set:$P(SPZK,";",2)=$P(SPZK,";",3) $P(SPZK,";",2)="",$P(SPZK,";",3)="" ; indien LI & RE gelijk maten op leegzetten zodat herberekening geforceerd wordt. + . Set IB=$G(%request.Data("IB",1)) + . Set CB=$G(%request.Data("CB",1)) + . Set WD=$G(%request.Data("WD",1)) + . Set MTIB=$G(%request.Data("MTIB",1),"") + Set:('$IsValidNum(MTIB)) MTIB=blTBox.DFLMinTolerantie(WD) + Set OPVLLI=0 ; $G(%request.Data("OPVLLI",1)) + Set OPVLRE=0 ; $G(%request.Data("OPVLRE",1)) + ;Set AftrekLP=$G(%request.Data("AftrekLP",1)) + Set AftrekLP=0 ; $S(..cboKlasse.SelectedGetKey()="SP":"", 1:0) ; "" = Default AftrekLadeProf (75) + Set:(IB'>0) IB=blTBox.CalcBreedteIntern(CB,+WD,OPVLLI,OPVLRE,MTIB) + Set SPBR=blTBox.CalcBreedteSpoelbak(SPZK,IB,AftrekLP,DC) + ;Set sc=##class(BL.PR.GA.TandemBox).CalcSPBreedtesOpMaat(IB,.SPZLI,.SPBR,.SPZRE,AftrekLP) + ; + Set blnHideZKOpMaat=1 + Set tmpDC=$S(DC="I":"I", DC="A":"A", 1:"S") + Set lbShowSPZK=..GetSPZijkantList(tmpDC,LT) + Set imgSPZK=$S(SPZK?1(1"S".E):"S", SPZK?1(1"B".E):"B", 1:SPZK) + /* + If SPBR>0 Do + . Set ZKLi=$J((IB-SPBR)/2,0,0) + . Set ZKRe=ZKLi + . Set SPBR=IB-ZKLi-ZKRe + . Set imgSpoelbak="media/SPZK_"_imgSPZK_"_"_Taal_".jpg" + . Set pctLi=$S(imgSPZK="S":20, 1:25) + . Set pctRe=$S(imgSPZK="S":20, 1:25) + Else Do + . Set SPZK="" + . Set SPBR="" + . Set ZKLi="" + . Set ZKRe="" + . Set imgSpoelbak="media/SPZK_Blank.jpg" + . Set pctLi=20 + . Set pctRe=20 + Set pctMid=100-pctLi-pctRe */ + Set blnIsSpoelbak=(KLAS'["SY") + Set blnIsDblSifon = (KLAS["SY2") + set blnDiepeSifonMag = ( $E(LT)="M" ) & ( LD '< 350 ) + Set BreedteSifon = 119 ; + Set tblSifonHoogte = 70 ; px Hoogte gebruikte om hoogte sifon aan te duiden.. + Set reqTotal = IB + Set tblFactor = 0.2 + Write " + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    (BTW)  
    STRAAT/NR:
     
    POSTCODE:
     
    GEMEENTE:
     
    TELEFOON:
     
    FAX:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + Unknown: [] + +
    +
    +
    Fax deze bon naar het nr (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + +
     Totaal: +   + +   EUR +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    + +
    +
    +
    +
    + + + + + + +   + + +   + + + + + + + 1 + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    KLEURKEUZE *
    LADEZIJDENBODEM + RUGRELINGENBOXSIDE
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + +
    FRONTBEVESTIGING
    +

    FB

    +
    + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + + + + + + + + + mm + + + +
    + mm + + + + mm + + + + kg + + + + + + +   + + + + + + + + + + + + clsMColQty + + + + + clsOvzPrices + + EUR +
    # FOUT #
    + +
     
    +
    + + +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + Code + Breedte + WD + Diepte + Gew + BM + BX * + Diverse + Aant + + Prijs/stInfo + + + + + + + + * BX : BOXSIDE (Legende)
    + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + : + + + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/boxside + Dubbelwandige BOXSIDE + Glazen BOXSIDE master carré + Glazen BOXSIDE gezuurd + Glazen BOXSIDE helder + (Code ) + + + + Index: csp/productsearchsa.cls.xml =================================================================== diff -u --- csp/productsearchsa.cls.xml (revision 0) +++ csp/productsearchsa.cls.xml (revision 2) @@ -0,0 +1,275 @@ + + + +User +cache +%CSP.Page,cspBasis.ProductSearch + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"" + Write !,"
    " + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "
    " + Write "" + Write "
    ",! + Write $c(9,9,9) + Write "
    " + Write ($ZCVT(..WebTextValue("Zoekscherm",Taal,"L"),"U")) + Write "
    " + Write !,$c(9,9)_"
    ",! + Write $c(9,9)_"",! + Write $c(9,9,9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set KenmerkList = ##class(%ResultSet).%New("Prod.Kenmerk.MetaDefinitie"_":"_"LijstPerGroep") + Set KenmerkList.RuntimeMode=2 + Set %sc = KenmerkList.Execute((GroepID)) + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9) +%csp00002 If '(KenmerkList.Next()) Goto %csp00001 ;{ + Write !,$c(9,9,9) + Set KenmI=KenmerkList.GetDataByName("Kenmerk") + Kill ArKM + If "Sleutel;Vereist;BOWeten;InfoSleutel"'[KenmI Do ..PrepareKenmerkValues(GroepID,KenmI,Taal,.ArKM) + Set i="" + Write !,$c(9,9) + If '($L($G(ArKM))) Goto %csp00003 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9) +%csp00003 ;} + Write !,$c(9) + Goto %csp00002 +%csp00001 ;} + Write !,$c(9,9,9)_"",! + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    "_(ArKM)_":",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"
    " + Write "" + Write "",! + Write $c(9,9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9,9) + Write "" + Write "Als een criterium niet van toepassing is op een product, dan dit product toch opnemen in de lijst ?",! + Write $c(9,9,9,9,9)_"

    ",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9)_"
    ",! + Write $c(9,9) + Do ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,"ArAllPR") + Set TotN=..PRZoekAantal(GroepID,"") + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    " + Write "
    " + Write (..WebTextValue("Resultaat",Taal,"L"))_":" + Write "
    " + Write "
    " + Write "" + Write "
    ",! + Write $c(9,9,9,9,9)_""_(..WebTextValue("MetBeperk",Taal,"L"))_":
    ",! + Write $c(9,9,9,9,9)_""_(..WebTextValue("TotaalAantal",Taal,"L"))_":",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9)_"" + Write "" + Write (TotN) + Write "" + Write " "_(..WebTextValue("Product?en",Taal,"L"))_"
    ",! + Write $c(9,9,9,9,9)_"" + Write "" + Write (TotN) + Write "" + Write " "_(..WebTextValue("Product?en",Taal,"L"))_"",! + Write $c(9,9,9,9)_"
    " + Write "" + Write "" + Write "" + Write "
    ",! + Write $c(9,9)_"
    ",! + Write "
    " + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,!,$c(9) + Write "" + Write !,!,$c(9)_"Produktinformatie Zoekscherm",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,"" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Merge tmpRqData=%request.Data + Do ..InitializeCSP() + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,!,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +iso-8859-1 + + + +text/html + + + +c:\cachesys\csp\olprodcat\ProductSearchSA.csp + + + +/csp/olprodcat/ProductSearchSA.csp + + + +0 + + + +59596,37381 + +
    +
    Index: Prod/GAMeta/BT/TBFBevestiging.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBFBevestiging.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBFBevestiging.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBFBD") +TBFBevestigingDefaultData +^Res.PI.Items("PR;GA;TBFBD") +^Res.PI.Items("index","PR;GA;TBFB") +^Res.PI.Items("stream","PR;GA;TBFB") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: APPS/TBXWeb/impl/VHEPNOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/VHEPNOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/VHEPNOrderHandler.cls.xml (revision 2) @@ -0,0 +1,80 @@ + + + +1 +AbstractOrderHandler +0 + + +0 + + + +Boolean + + + + +%List +")) _ $S(..Requester'?1(1"HELMY",1"SFS",1"DUPO"):$LB("ICT_SupportTBX@vanhoecke.be"), 1:"") + Set ServerPrefix="" +#Else + Set lbTo=$S(..Requester="SFS":$LB($$$EMailOVSfs2VHTEST), ..Requester="MBHO":$LB($$$EMailOVMbho2VHTEST), 1:$LB("""OV_TBX_KLANT"" ")) _ $S(..Requester'?1(1"HELMY",1"SFS",1"DUPO"):$LB("ICT_SupportTBX@vanhoecke.be"), 1:"") + Set ServerPrefix="["_$$$Server_"] " +#EndIf + + Quit lbTo +]]> + + + +%String + + + + +%String + + + + +%String + + + + +%Status + + + + +%String +" + } Else { + Set From=$CASE(..Requester, "HELMY":$$$EMailAKHelmY, "SFS":$$$EMailAKSfs, "MBHO":$$$EMailAKMbho, "HFLE":$$$EMailAKHfle, "DUPO":$$$EMailAKDupo, :$$$EMailAKUnknown) + } + Quit From +]]> + + + Index: csp/tbx/selectolprod.cls.xml =================================================================== diff -u --- csp/tbx/selectolprod.cls.xml (revision 0) +++ csp/tbx/selectolprod.cls.xml (revision 2) @@ -0,0 +1,531 @@ + + + +User +cache +%CSP.Page,cspBasis.ProductList + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"
    ",! + Write $c(9) + Write "" + Write (..WebTextValueTB("OLProdSelectie",Taal,"L")) + Write "" + Write "
    ",! + Write $c(9)_"
    ",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
       
    U kunt kiezen uit verschillende ORGALUX-producten. Maak uw keuze uit onderstaande tabel:
     
    ",! + Write $c(9,9,9,9)_"",! + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9) + Set blnShowPRNr=(''$G(%request.Data("SHOWPRNR",1))) + Set CntProd=0 + Set (i,j)="" + For Set i=$O(ArPR(i)) Quit:(i="") Do + . For Set j=$O(ArPR(i,j)) Quit:(j="") Set:($G(ArPR(i,j))'="") CntProd=CntProd+1 + Set PrevHeadNDX="" + Set jj=0 + Set i="" + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! +%csp00004 If '(..LoopArray(.ArPR,.i)) Goto %csp00003 ;{ + Write !,$c(9) + ; ..DataDefValueList(Taal,GroepID,PRNr,Kenmerk,TextType,ListItems,[ListSep]) + ; Voorbereidend werk: + Kill BSVal + Set BSVal("PRT","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"ProductType","K","1") + Set BSVal("SBT","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"SubType","K","1") + Set BSVal("SLT","O")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Sleutel","O","1") + Set BSVal("BRD","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Breedte","K","1") + Set BSVal("DPT","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Diepte","K","*") + Set BSVal("VRS","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Vereist","K","*") + Set BSVal("BOW","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"BOWeten","K","*") + Set BSVal("DYN","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"DynSpace","K","*") + Set CntVRS=$LL(BSVal("VRS","K")) + Set CntVRSExtra=CntVRS+$LL(BSVal("BRD","K"))+$LL(BSVal("DPT","K")) ; Breedte en Diepte vallen onder de vereisten + Set CntBOW=$LL(BSVal("BOW","K")) + Set CntDynS=$LL(BSVal("DYN","K")) + Set lblDynSpace=$G(MetaArray("DynSpace","VTL"),"DynS-L") + ; URL's ' + Set BSVal("SLT","LB")=..DataDefValueURL(Taal,GroepID,$G(ArPR(i,1)),"Sleutel","LB") + Set BSVal("SLT","LI")=..FitImage(..DataDefValueURL(Taal,GroepID,$G(ArPR(i,1)),"Sleutel","LI")) + Set BSVal("INF","LI")=..FitImage(..DataDefValueURL(Taal,GroepID,$G(ArPR(i,1)),"InfoSleutel","LI")) + Set BSVal("DYN","LB")=..DataDefValueListURL(Taal,GroepID,$G(ArPR(i,1)),"DynSpace","LB","*") + Set BSVal("DYN","LI")=..DataDefValueListURL(Taal,GroepID,$G(ArPR(i,1)),"DynSpace","LI","*") + ; Hoofding voor de groepering + Set ProdGHeader=$S(..UseProdHeader(GroepID,.ArPR,i):$LG(BSVal("SBT","K"),1), 1:"") + If $L(ProdGHeader), $L($G(ArPR(i,1,"NDX"))) Do + . If ArPR(i,1,"NDX")'=PrevHeadNDX Do + .. Set jj=0 + .. Set PrevHeadNDX=ArPR(i,1,"NDX") + . ;Set ProdGHeader=ArPR(i,1,"NDX")_"."_$INCREMENT(jj)_" "_ProdGHeader + ; Sub-array of all products with same Basis + Kill tmpAr + Merge tmpAr=ArPR(i) + Set j="" + Write !,$c(9) + If '($L(ProdGHeader)) Goto %csp00005 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9) +%csp00005 ;} + Write !,$c(9)_"",! + Write $c(9) + If '($L($G(BSVal("DYN","K")))) Goto %csp00006 ;{ + Write !,$c(9,9)_"",! + Write $c(9) + Goto %csp00007 ;} +%csp00006 ;{ + Write !,$c(9,9)_"",! + Write $c(9) +%csp00007 ;} + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + If '($L($O(ArPR(i)))) Goto %csp00026 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! +%csp00026 ;} + Write ! + Goto %csp00004 +%csp00003 ;} + Write !,!,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9,9) + If '(CntProd>0) Goto %csp00001 ;{ + Write !,$c(9,9,9,9)_(CntProd_" "_$ZCVT(..WebTextValue($S(CntProd=1:"Product",1:"Producten"),Taal,"L"),"L")),! + Write $c(9,9,9) + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9,9,9,9)_(..WebTextValue("Geen producten gevonden",Taal,"L")),! + Write $c(9,9,9,9)_($S(1:"
    "_$$ArrayToText^vhLib("tmpRqData")_"
    ", 1:"")),! + Write $c(9,9,9) +%csp00002 ;} + Write !,$c(9,9,9)_"

    "_(..WebTextValue("ProgWijzigingen",Taal,"L"))_".

    ",! + Write $c(9,9,9) + Write "" + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_(ProdGHeader),! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9) + For iDynS=1:1:(CntDynS) { + Write !,$c(9,9,9,9)_"

    " + Write "" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9) + } + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9) + Write "" + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) + If '($L($G(BSVal("INF","LI")))) Goto %csp00012 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00012 ;} + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + If '($L($G(BSVal("SLT","LB")))) Goto %csp00008 ;{ + Write !,$c(9,9,9,9,9) + If '($L($G(BSVal("SLT","LI")))) Goto %csp00009 ;{ + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9) + Goto %csp00010 ;} +%csp00009 ;{ + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9) +%csp00010 ;} + Write !,$c(9,9,9,9) + Goto %csp00011 ;} +%csp00008 ;{ + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9) +%csp00011 ;} + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "" + Write (..WebTextValue("MeerInfoEnFotos",Taal,"L")) + Write "" + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + If '($G(blnShowPRNr,0)) Goto %csp00013 ;{ + Write "

    [PRNr: "_($G(ArPR(i,1)))_"]

    " +%csp00013 ;} + Write !,$c(9,9,9,9,9,9) + If '($L($LG(BSVal("SLT","O"),1))) Goto %csp00014 ;{ + Write " "_(($LG(BSVal("SLT","O"),1)))_"
    " +%csp00014 ;} + Write !,$c(9,9,9,9,9,9,9) + If '(CntVRSExtra>0) Goto %csp00015 ;{ + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_""_($G(MetaArray("Vereist","VTL"),"VRS-L"))_":
      ",! + Write $c(9,9,9,9,9,9,9) + If '($LL(BSVal("BRD","K"))) Goto %csp00016 ;{ + Write "
    • "_($G(MetaArray("Breedte","VTL"),"BRD-L"))_": "_($LI(BSVal("BRD","K"),1))_"
    • " +%csp00016 ;} + Write !,$c(9,9,9,9,9,9,9) + If '($LL(BSVal("DPT","K"))) Goto %csp00017 ;{ + Write "
    • "_($G(MetaArray("Diepte","VTL"),"DPT-L"))_": "_($$LCVTSimple^vhLib(BSVal("DPT","K")," / "))_"
    • " +%csp00017 ;} + Write !,$c(9,9,9,9,9,9) + For iVrs=1:1:(CntVRS) { + Write !,$c(9,9,9,9,9,9,9)_"
    • "_($LI(BSVal("VRS","K"),iVrs))_"
    • ",! + Write $c(9,9,9,9,9,9) + } + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) +%csp00015 ;} + Write !,$c(9,9,9,9,9,9,9) + If '(CntBOW>0) Goto %csp00018 ;{ + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_""_($G(MetaArray("BOWeten","VTL"),"BOW-L"))_":
      ",! + Write $c(9,9,9,9,9,9) + For iBow=1:1:(CntBOW) { + Write !,$c(9,9,9,9,9,9,9)_"
    • "_($LI(BSVal("BOW","K"),iBow))_"
    • ",! + Write $c(9,9,9,9,9,9) + } + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) +%csp00018 ;} + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9)_"
    " + Write "" + Write "",! + Write $c(9,9,9)_"",! + Write $c(9,9) +%csp00020 If '(..LoopArray(.tmpAr,.j)) Goto %csp00019 ;{ + Write !,$c(9,9,9) + ; Loop through products with same Basis + Set PRNr=ArPR(i,j) + If PRNr?4.6N Do + . Set PRLB=..GetKortTekstEnPrijs(PRNr) + . Set CKortTxt=$E($LG(PRLB,1),4,11) + . Set CPrijs=..EindGebruikersPrijs($LG(PRLB,2),LandCode) + . Set MuntOL="EUR" + Kill XTVal + Set XTVal("WDD","K")=..DataDefValueList(Taal,GroepID,PRNr,"WandDikte","K","*","-") + Set XTVal("KLR","K")=..DataDefValueList(Taal,GroepID,PRNr,"Kleur","K","*") + Write !,$c(9,9,9) + If '($LL(XTVal("WDD","K"))) Goto %csp00021 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00021 ;} + Write !,$c(9,9,9) + If '($LL(XTVal("KLR","K"))) Goto %csp00022 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00022 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write "" + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) + If '($L($O(tmpAr(j)))) Goto %csp00025 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00025 ;} + Write !,$c(9,9) + Goto %csp00020 +%csp00019 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write "" + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    "_($G(MetaArray("WandDikte","VTL"),"WDD-L"))_": "_($LI(XTVal("WDD","K"),1))_"
    "_($G(MetaArray("Kleur","VTL"),"KLR-L"))_": "_($LI(XTVal("KLR","K"),1))_"
    ",! + Write $c(9,9,9,9,9,9) + If '($L($G(CKortTxt))) Goto %csp00023 ;{ + Write "" + Write (CKortTxt) + Write "" + Goto %csp00024 ;} +%csp00023 ;{ + Write " " +%csp00024 ;} + Write !,$c(9,9,9,9,9)_" 
    ",! + Write $c(9,9)_"

    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9)_"
    ",! + Write $c(9) + Write "" + Write (..WebTextValueTB("Sluiten",Taal,"L")) + Write "" + Write !,$c(9)_"
    ",! + Write !,$c(9) + ; Close MetaObjects + New k,tmpOref + Set k="" + For Set k=$O(MetaArray(k)) Quit:(k="") Set tmpOref=MetaArray(k) Do tmpOref.%Close() Kill MetaArray(k) + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,$c(9),! + Write "" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TandemBox - Dynamic Space",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,! + Do ..Include("PRGACNTs.INC") + Write !,!,!,!,!,!,!,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,!,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +1 +code +Intern, Taal, TextType, lbFlags +cache +%String + + + + +c:\cachesys\csp\vhisie\TBX\SelectOLProd.csp + + + +/vhisie/TBX/SelectOLProd.csp + + + +0 + + + +61649,48749 + + + +0 + +
    +
    Index: Prod/GADef/KadPrijs.cls.xml =================================================================== diff -u --- Prod/GADef/KadPrijs.cls.xml (revision 0) +++ Prod/GADef/KadPrijs.cls.xml (revision 2) @@ -0,0 +1,208 @@ + + + +persistent +%Library.Persistent + + + +Uniekheid index voor property VolgNr +0 +1 +1 +GADefProd +1 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Prod.GADef.emKadPrijsDtl +0 +0 +array +0 +0 +0 +0 +0 +0 + + + +Prod.GADef.AfgeleidDef +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +code +ID:%Library.String +0 +0 + + + + + +Ophalen van de MateriaalKost objecten (PrijsDetail) +%Library.SQLQuery +ID:%Library.String +0 +SELECT Details_KostCode , Details_MatKost , Details_MatViaMin +FROM Prod_GADef.KadPrijs_Details +WHERE (KadPrijs=:ID) AND (Details_KOSTPLAATS="VUL") + +0 + + + + + + +Ophalen van de MateriaalKost objecten (PrijsDetail) +%Library.SQLQuery +KaderDeurID:%Library.String +0 + 0) +]]> +0 + + + + + + +Deze worden gegroepeerd en gesommeerd per KostenPlaats.]]> +%Library.SQLQuery +KaderDeurID:%Library.String +0 + 0) +GROUP BY Details_KostPlaats +]]> +0 + + + + + + +Sommeren van materiaalkost, tijdkost en tijd per kostenplaats +%Library.SQLQuery +KaderDeurID:%Library.Integer,KostPlaats:%Library.String +0 +SELECT Sum(Details_MatKost),Sum(Details_TijdKost), Sum(Details_Tijd) +FROM Prod_GADef.KadPrijs_Details +WHERE (KadPrijs = :KaderDeurID) +AND (Details_KostPlaats = :KostPlaats) + +0 + + + + + + +Sommeren van alle materiaalkost, tijdkost en tijd +%Library.SQLQuery +KaderDeurID:%Library.String +0 +SELECT Sum(Details_MatKost),Sum(Details_TijdKost), Sum(Details_Tijd) +FROM Prod_GADef.KadPrijs_Details +WHERE (KadPrijs = :KaderDeurID) + +0 + + + + + +%Library.CacheStorage +^Prod.GAD.KadPrijsD +KadPrijsDefaultData +^Prod.GAD.KadPrijsD +^Prod.GAD.KadPrijsI +^Prod.GAD.KadPrijsS + +Details +subnode +"DTL" + + +%%CLASSNAME +node +0 + + +listnode + +Aantal + + +CalcDatum + + +TotaleKostPrijs + + +CalcTijdstip + + +CalcTijdStip + + + + + Index: TECH/Iterator.cls.xml =================================================================== diff -u --- TECH/Iterator.cls.xml (revision 0) +++ TECH/Iterator.cls.xml (revision 2) @@ -0,0 +1,26 @@ + + + + +Generic iterator interface. Since we're not typed this interface +is most useful as a template to quickly and consistently implement +the right methods. +1 +1 +0 + + + +Returns true if the iteration has more elements. +%Boolean + + + + +Returns the next element in the iteration. +Only returns a valid element if HasNext() returns true +Causes an error if HasNext() returns false +%CacheString + + + Index: csp/hpt.cls.xml =================================================================== diff -u --- csp/hpt.cls.xml (revision 0) +++ csp/hpt.cls.xml (revision 2) @@ -0,0 +1,121 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "" + Write "Hits per taalkeuze " + Write "" + Write "" + Write "
    " + Write "",! + Write " ",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "Taal" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write " " + Write "
    " + Write "",! + Write " ",! + Write " " +%csp00002 If '(queryHPT.Next()) Goto %csp00001 ;{ + Write !," ",! + Write " " + Write "" + Write (queryHPT.Get("Taal")) + Write "" + Write "",! + Write " " + Write "
    " + Write "" + Write (queryHPT.Get("Aantal")) + Write "" + Write "
    " + Write "",! + Write " " + Write "" + Write "" + Write " "_($J(queryHPT.Get("Aantal")*100/TotHits,0,0))_"% " + Write "" + Write "",! + Write " ",! + Write " " + Goto %csp00002 +%csp00001 ;} + Write !," ",! + Write " " + Write "" + Write "Totaal" + Write "" + Write "",! + Write " " + Write "
    " + Write (TotHits) + Write "
    " + Write "",! + Write "  ",! + Write " ",! + Write "",! + Write "
    " +]]>
    +
    + + +c:\cachesys\csp\httplog\hpt.csp + + + +/csp/httplog/hpt.csp + + + +59935,34477 + +
    +
    Index: VHSysMath.inc.rou =================================================================== diff -u --- VHSysMath.inc.rou (revision 0) +++ VHSysMath.inc.rou (revision 2) @@ -0,0 +1,7 @@ +#define ABS(%arg) $S(%arg<0:-%arg,1:%arg) +#define MIN(%arg1,%arg2) $S(%arg1<%arg2:%arg1,1:%arg2) +#define MAX(%arg1,%arg2) $S(%arg1>%arg2:%arg1,1:%arg2) +#define TOH(%dt,%type) $ZDATETIMEH(%dt,%type) +#define TOSECONDS(%Hdt) $P(%Hdt,",")*3600*24+$P(%Hdt,",",2) + +#define PI 3.14159 \ No newline at end of file Index: Prod/ProductKlas.cls.xml =================================================================== diff -u --- Prod/ProductKlas.cls.xml (revision 0) +++ Prod/ProductKlas.cls.xml (revision 2) @@ -0,0 +1,114 @@ + + + +persistent +DataM +%Library.Persistent + + +1 +ProductNr +1 + + + + +SortNr en Code nnHHmmGGG +%Library.String + +0 + + + + + +SortNr en Code nnHH +%Library.String + +0 + + + + +Prod.Klas.Klas + +0 + + + +%Integer + +0 + + + +%Library.String + +0 + + + + + +SortNr en Code nnHHmmGGGqqSSSSSS +%Library.String + +0 + + + + +%Library.CacheSQLStorage +^Prod.ProdKlasS + +data +^KPR + +{ProductNr} +0.1 + + s {1D1}=$O(^KPR({L1},"I")) + +{1D1} + + + s {1D2}=^KPR({L1},{1D1}) + +{1D2} + + +$O(^KPR({L1},"I"))="" + + +'{L1} + + + +"\" +{1D2} +2 + + +"\" +{1D2} +1 + + +"\" +{1D2} +4 + + +"\" +{1D2} +5 + + +"\" +{1D2} +3 + + + + + Index: Prod/GADef/emKadVulling/tmpDev.mac.rou =================================================================== diff -u --- Prod/GADef/emKadVulling/tmpDev.mac.rou (revision 0) +++ Prod/GADef/emKadVulling/tmpDev.mac.rou (revision 2) @@ -0,0 +1 @@ \ No newline at end of file Index: csp/tbx/mailsend.cls.xml =================================================================== diff -u --- csp/tbx/mailsend.cls.xml (revision 0) +++ csp/tbx/mailsend.cls.xml (revision 2) @@ -0,0 +1,333 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"
    " + Write !,$c(9) + Write "" + Write !,$c(9) + If '($D(%request.Data("OFFTOBBON"))) Goto %csp00001 ;{ + Write !,$c(9) + Write "" + Write !,$c(9) +%csp00001 ;} + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + If '($G(blnValidate)) Goto %csp00002 ;{ + Write !," "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) +%csp00002 ;} + Write !,$c(9) + If '($G(blnError)) Goto %csp00006 ;{ + Write !," "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00007 ;} +%csp00006 ;{ + Write !," "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) +%csp00007 ;} + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Write "
    " + Write (..WebTextValue("DataVersturen",Taal,"L")) + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9)_" " + If '(blnShowOrderBCombo) Goto %csp00003 ;{ + Write !,$c(9,9,9)_" "_(..WebTextValue("Orderbevestiging",Taal,"L")),! + Write $c(9,9,9)_" " + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_""_(..WebTextValue("Orderbevestiging_Keuzelijst",Taal,"L"))_"",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9)_" " + Write "" + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9) +%csp00003 ;} + Write !,$c(9,9,9,9)_(..WebTextValue("Levertijd",Taal,"L"))_":   ",! + Write $c(9,9,9,9) + If '(blnShowLevTCombo) Goto %csp00004 ;{ + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Goto %csp00005 ;} +%csp00004 ;{ + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) +%csp00005 ;} + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9)_"APPLICATION ERROR: Unable to submit.
    ",! + Write $c(9,9,9,9)_"Bookmark your order ('add to favorites' from the 'main page') and try again later.",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9)_"APPLICATION ERROR: Impossible d'envoyer l'ordre.
    ",! + Write $c(9,9,9,9)_"Sauver votre commande ('enregister' dans la 'page principale') et essayez à nouveau plus tard. ",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_(..WebTextValue("Bijkomende opmerkingen",Taal,"L"))_":
    ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9) + If '($G(blnError)) Goto %csp00008 ;{ + Write !,$c(9,9,9,9) + Write "" + Write (..WebTextValue("Annuleren",Taal,"L")) + Write "" + Write !,$c(9) + Goto %csp00009 ;} +%csp00008 ;{ + Write !,$c(9,9,9,9) + Write "" + Write (..WebTextValue("VerzendenMail",Taal,"L")) + Write "" + Write " " + Write "" + Write (..WebTextValue("Annuleren",Taal,"L")) + Write "" + Write !,$c(9) +%csp00009 ;} + Write !,$c(9,9,9)_"
    ",! + Write ..InsertHiddenFields("MailResult.csp"),! + Write "
    " + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9) + #define GetVertalingJS(%i,%tl,%tt) ##class(Res.Vertaling).GetVertalingPlus("TBW",%i,%tt,%tl,,1) + Write !,$c(9)_""_(..WebTextValue("DataVersturen",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write $c(9),! + Write "" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..Include("PRGACNTs.INC") + Write !,! + Set %session.AppTimeout = 905 + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set sDomVERW=$LG(##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW")),1) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set blnVHEPN=(sDomVERW="VHEPN") + Set Taal=$$DataFromRqOrSes^cspBasis.Library("Taal",,"N") + Set wsID=$$DataFromRqOrSes^cspBasis.Library("WSID",,"") + Set:($L(wsID)) %session.Data("WSID")=wsID + Set KLNr=$$DataFromRqOrSes^cspBasis.Library("KLNR",,"") + If KLNr>0 Do + . Set SubmitMsg=##class(cspBasis.GAProdTBox).GetKlantSubmitMsg(sDomVERW,KLNr) + ; LeverTijd is verplicht gegeven in geval van Bestelbon + ;Do ##class(cspBasis.GAProdTBox).AddToLog("MAIL_DLGSEND",$$GetURLDomain^cspBasis.Library,$G(KLNr),,$G(wsID),$G(%session.Data("VERW")),$G(Taal),,"") + New WSOrd + Set:($L(wsID)) WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + If $IsObject($G(WSOrd)) Do + . Set sLeverTijd=WSOrd.LeverTijd + . Set blnValidate=((WSOrd.BonType="BBON")||((WSOrd.BonType="OFF")&&($G(%request.Data("OFFTOBBON",1))))||(WSOrd.BonType="INKP")) + . Set blnError=0 + . Set:($L(WSOrd.Opmerking1))&&(WSOrd.BonType'="OFF") SubmitMsg=WSOrd.Opmerking1 + . Set blnShowOrderBCombo=(blnVHEPN) + . If blnShowOrderBCombo Do + . . Set lbOrderbevEmails = ..GetEmailAdressenLB(WSOrd.KLNummer) + Else Do + . Set blnValidate=0 + . Set blnError=1 + . ; For debugging reason: log OnOpen event of the MailSend.csp page + . Do ##class(cspBasis.GAProdTBox).AddToLog("MAIL_DLGERR",sDomain,$G(KLNr),,$G(wsID),$G(%session.Data("VERW")),$G(Taal),,"") + Set blnShowLevTCombo=(blnVHEPN) ; only for VHEPN domain + If blnShowLevTCombo Do + . Set LevTFieldName="cboLeverTijd" + . Set lbLevT=..GetLeverWekenLB(sDomVERW,Taal) + Else Do + . Set LevTFieldName="txtLeverTijd" + Set jsOnClick=$S(blnValidate:"if (ValidateSendMailFrm()) ", 1:"")_"document.frmSendMail.submit(); return true;" + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +c:\cachesys\csp\vhisie\TBX\MailSend.csp + + + +/vhisie/TBX/MailSend.csp + + + +0 + + + +61921,51985 + + + +0 + +
    +
    Index: WS/PR/KADWebSoap/PeekServer.cls.xml =================================================================== diff -u --- WS/PR/KADWebSoap/PeekServer.cls.xml (revision 0) +++ WS/PR/KADWebSoap/PeekServer.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +WS.PR +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.PR.KADWebSoap + + +%Client,%Action +%Library.String +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + Index: _vhisie/TBX/TBox WebOrder HEIN_D.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder HEIN_D.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder HEIN_D.xsl (revision 2) @@ -0,0 +1,512 @@ + + + + + + +EUR + + + + HEIN - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAME:
     
    (BTW)  
    ADRESSE:
     
    POSTLEITZAHL:
     
    ORT:
     
    TELEFON:
     
    FAX:
     
    E-MAIL:
     
    WUNSCHLIEFERDATUM:
     
    REFERENZ:
     
    + + + + + +
    + + + + +
    + + ANFRAGE + ANGEBOT + AUFTRAG + AUFTRAG + Unknown: [] + +
    +
    +   +
    Fax an +49 (0)7034 9270-70
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standard Schubkästen (vom Lager):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Nicht liefern:

     

    Total:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Dieses Angebot ist 30 Tage gültig, bis zum +
    +
    +
    + + + + +
    + Die Preise verstehen sich ab Werk, zuzüglich der gesetzlichen Mehrwertsteuer. +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : ZargenFARBEN : Bestandteile
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEN+RÜCKWAND:

    RELING:

    BOXSIDE:

    EINSCHUB EL./GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FEHLER #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breite

    +

    ST

    +

    Tiefe

    +

    Gew.

    +

    FB *

    +

    Box

    +

    Divers

    +

    Stk

    + +

    Ink. Prijs/stPreis/St. Info

    + +
    + + + + +

    * FB : Frontbefestigung (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + Schraubversion + INSERTA + EXPANDO + für Alurahmen / VollKern + drevel + Ohne + (Code ) + + + + + + + + + +

    * Box : Erhöhte Seiten (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Doppelreling + Einzelreling + Ohne Reling/erhöhte seiten + BOXSIDE doppelwandig + Glas BOXSIDE + BOXCAP + BOXCOVER mit ... + Boxcover ohne Einschubelement + (Code ) + + + +
    Index: csp/quotation.cls.xml =================================================================== diff -u --- csp/quotation.cls.xml (revision 0) +++ csp/quotation.cls.xml (revision 2) @@ -0,0 +1,573 @@ + + + +User +cache +%CSP.Page,cspBasis.KadQuotation + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,(..HyperEventBody()) + Write !,! + If '((sAccess="OK")=0) Goto %csp00001 ;{ + Write !,$c(9)_"

    No access to this page

    "_($CASE(sAccess, "XXXNO PSW":"Password is required (PSW)", "NO PSW":"", "WRONG PSW":"Incorrect password (PSW)", :"")),! + Goto %csp00002 ;} +%csp00001 ;{ + Write ! + Set Taal=$ZCVT($G(%request.Data("Lang",1), ""), "U") + Set:(Taal="")!("N;F;D;E"'[Taal) Taal=$P(sData, "\", 3) ; Klant's Default + Set:(Taal="")!("N;F;D;E"'[Taal) Taal="N" ; VH's Default + Set MuntC=$ZCVT($G(%request.Data("Cur",1), ""), "U") + Set:('##Class(Res.Munt).%ExistsId(MuntC)) MuntC=$P(sData, "\", 4) ; Klant's Default + Set:('##Class(Res.Munt).%ExistsId(MuntC)) MuntC="EUR" ; VH's Default + Write !,"
    ",! + Write "" + Write "
    ",! + Write "",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write !," ",! + Write " ",! + Write " ",! + Write "
     "_($P(sData, "\", 1))_"
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write ($$VERTAAL^Res.PI.Teksten("Profiel",Taal))_"" + Write "" + Write !,"" + Write !,"
     "_($$VERTAAL^Res.PI.Teksten("Vulling",Taal))_"" + Write "" + Write !,"
      " + Write "" + Write " "_($$VERTAAL^Res.PI.Teksten("Gehard",Taal))_"
     "_($$VERTAAL^Res.PI.Teksten("Hoogte",Taal))_"" + Write "" + Write "
     "_($$VERTAAL^Res.PI.Teksten("Breedte",Taal))_"" + Write "" + Write "
    ",! + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write ! + Set arAvOms("AV-B.HF.BO.2")=$LB("Breed - HF bovendeur - 2 scharn.", "Profils larges - HF porte supérieure - 2 charnières", "Breite Alurahmen - HF - obere Tür - 2 Möbelbander") + Set arAvOms("AV-B.HF.BO.3")=$LB("Breed - HF bovendeur - 3 scharn.", "Profils larges - HF porte supérieure - 3 charnières", "Breite Alurahmen - HF - obere Tür - 3 Möbelbander") + Set arAvOms("AV-B.HF.BO.4")=$LB("Breed - HF bovendeur - 4 scharn.", "Profils larges - HF porte supérieure - 4 charnières", "Breite Alurahmen - HF - obere Tür - 4 Möbelbander") + Set arAvOms("AV-B.HF.ON.2")=$LB("Breed - HF onderdeur - 2 scharn.", "Profils larges - HF porte inférieure - 2 charnières", "Breite Alurahmen - HF - untere Tür - 2 Möbelbander") + Set arAvOms("AV-B.HF.ON.3")=$LB("Breed - HF onderdeur - 3 scharn.", "Profils larges - HF porte inférieure - 3 charnières", "Breite Alurahmen - HF - untere Tür - 3 Möbelbander") + Set arAvOms("AV-B.HF.ON.4")=$LB("Breed - HF onderdeur - 4 scharn.", "Profils larges - HF porte inférieure - 4 charnières", "Breite Alurahmen - HF - untere Tür - 4 Möbelbander") + Set arAvOms("AV-B.HK")=$LB("Breed - HK", "Profils larges - HK", "Breite Alurahmen - HK") + Set arAvOms("AV-B.HS")=$LB("Breed - HS", "Profils larges - HS", "Breite Alurahmen - HS") + Set arAvOms("AV-B.HL")=$LB("Breed - HL", "Profils larges - HL", "Breite Alurahmen - HL") + Set arAvOms("AV-S.HF.BO.2")=$LB("Smal - HF bovendeur - 2 scharn.", "Profils étroits- HF porte supérieure - 2 charnières", "Schmale Alurahmen - HF - obere Tür - 2 Möbelbander") + Set arAvOms("AV-S.HF.BO.3")=$LB("Smal - HF bovendeur - 3 scharn.", "Profils étroits- HF porte supérieure - 3 charnières", "Schmale Alurahmen - HF - obere Tür - 3 Möbelbander") + Set arAvOms("AV-S.HF.BO.4")=$LB("Smal - HF bovendeur - 4 scharn.", "Profils étroits- HF porte supérieure - 4 charnières", "Schmale Alurahmen - HF - obere Tür - 4 Möbelbander") + Set arAvOms("AV-S.HF.ON.2")=$LB("Smal - HF onderdeur - 2 scharn.", "Profils étroits- HF porte inférieure - 2 charnières", "Schmale Alurahmen - HF - untere Tür - 2 Möbelbander") + Set arAvOms("AV-S.HF.ON.3")=$LB("Smal - HF onderdeur - 3 scharn.", "Profils étroits- HF porte inférieure - 3 charnières", "Schmale Alurahmen - HF - untere Tür - 3 Möbelbander") + Set arAvOms("AV-S.HF.ON.4")=$LB("Smal - HF onderdeur - 4 scharn.", "Profils étroits- HF porte inférieure - 4 charnières", "Schmale Alurahmen - HF - untere Tür - 4 Möbelbander") + Set arAvOms("AV-S.HK")=$LB("Smal - HK", "Profils étroits HK", "Schmale Alurahmen - HK") + Set arAvOms("AV-S.HS")=$LB("Smal - HS", "Profils étroits HS", "Schmale Alurahmen - HS") + Set arAvOms("AV-S.HL")=$LB("Smal - HL", "Profils étroits HL", "Schmale Alurahmen - HL") + Set iTaal=$LF($LB("N","F","D"), Taal) + Set:(iTaal<1) iTaal=1 + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
     "_($$VERTAAL^Res.PI.Teksten("Beslag",Taal))_"" + Write "" + Write !,"     ",! + Write "
     "_($$VERTAAL^Res.PI.Teksten("Aantal",Taal))_"" + Write "" + Write "
     AVENTOS" + Write "" + Write !,"
    ",! + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
     ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Rugboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Doorboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Frezing",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("IntZijboring",Taal))_" " + Write "" + Write "
    ",! + Write "
     
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Rugboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Doorboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Frezing",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("IntZijboring",Taal))_" " + Write "" + Write "
    ",! + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Boring",Taal))_" " + Write "" + Write "
    ",! + Write "
    ",! + Write "
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Rugboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Doorboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Frezing",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("IntZijboring",Taal))_" " + Write "" + Write "
    ",! + Write "
     ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Rugboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Doorboring",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("Frezing",Taal))_" " + Write "" + Write "
    ",! + Write " "_($$VERTAAL^Res.PI.Teksten("IntZijboring",Taal))_" " + Write "" + Write "
    ",! + Write "
     
    ",! + Write "
    ",! + Write " ",! + Write " ",! + Write $c(9,9,9) + If '($G(%request.Data("ID",1),0)=5622) Goto %csp00009 ;{ + Write !," ",! + Write " ",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) + Goto %csp00010 ;} +%csp00009 ;{ + Write !," ",! + Write " ",! + Write " ",! + Write " "_$c(9) +%csp00010 ;} + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write ""_($$VERTAAL^Res.PI.Teksten("Aantal",Taal))_"" + Write "" + Write "
    " + Write "" + Write "" + Write "" + Write "" + Write "" + Write !,"
    ",! + Write "
    ",! + Write "
    ",! + Write ! +%csp00002 ;} + Write !,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9) + Write "" + Write !,$c(9)_"HALUX PRIJSBEREKENING",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write " ",! + Write !,"" + Write !,(..HyperEventHead()) + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..OnPageHEAD() + Write !,! + Set sData=$G(^KLDATA($G(%request.Data("ID",1),0)),"") + Set sPSW=$G(%request.Data("PSW",1)) + If sData="" Set sAccess="NO KLDATA" + Else If sPSW="" Set sAccess="NO PSW" + Else If sPSW'=$P(sData, "\", 2) Set sAccess="WRONG PSW" + Else Set sAccess="OK" + Write ! + Do ..OnPageBODY() + Write !,!,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +ISO-8859-1 + + + +text/html + + + +c:\cachesys\csp\hadev\Quotation.csp + + + +/csp/hadev/Quotation.csp + + + +61781,38842 + + + Index: _vhisie/TBX/TBoxResItems4I.js =================================================================== diff -u --- _vhisie/TBX/TBoxResItems4I.js (revision 0) +++ _vhisie/TBX/TBoxResItems4I.js (revision 2) @@ -0,0 +1,609 @@ +// Javascript created by Cach� Server Page /VHISIE/TBX/ResItems.csp on 2011-04-07 17:16:57 +// + +var cItemLT=0; +var cItemLD=1; +var cItemDK=2; + +var arBPM=Array(); +arBPM['GI']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',400,'30;50'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',500,'30;50;65') +); +arBPM['II']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['WI']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',400,'30;50'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['ZI']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); + +var arDC_DS=Array(); +arDC_DS['I']=Array('GI', 'II', 'WI', 'ZI'); + +var arDC_LC=Array(); +arDC_LC['I']=Array('CL', 'CL/Z', 'CLY', 'CLY/Z', 'DL', 'DL/Z', 'DLS2', 'DLY', 'DLY/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z', 'N'); + +var arDC_KV=Array(); +arDC_KV['I']=Array('BRO8', 'DIA8', 'DFZ8', 'GRI8', 'ZV', 'H.ESD', 'H.EIK', 'H.KERS', 'H.NOOT', 'H.NTS', 'H.PAL', 'H.WNGE', 'H.TEAK', 'LE.DBR', 'LE.LBR', 'LE.ZW', 'LE.CRV'); + +var arDC_BX=Array(); +arDC_BX['I']=Array('COV', 'CAP', 'ZR'); + +var arDS_BX=Array(); +arDS_BX['GI_CL']=Array('COV'); +arDS_BX['GI_CL/Z']=Array('COV'); +arDS_BX['GI_CLY']=Array('COV'); +arDS_BX['GI_CLY/Z']=Array('COV'); +arDS_BX['GI_DL']=Array('CAP', 'COV'); +arDS_BX['GI_DL/Z']=Array('CAP', 'COV'); +arDS_BX['GI_DLS2']=Array('CAP', 'COV'); +arDS_BX['GI_DLY']=Array('CAP', 'COV'); +arDS_BX['GI_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['GI_M']=Array('ZR'); +arDS_BX['GI_M/Z']=Array('ZR'); +arDS_BX['GI_MS2']=Array('ZR'); +arDS_BX['GI_MY']=Array('ZR'); +arDS_BX['GI_MY/Z']=Array('ZR'); +arDS_BX['GI_N']=Array('ZR'); +arDS_BX['II_CL']=Array('COV'); +arDS_BX['II_CL/Z']=Array('COV'); +arDS_BX['II_CLY']=Array('COV'); +arDS_BX['II_CLY/Z']=Array('COV'); +arDS_BX['II_DL']=Array('CAP', 'COV'); +arDS_BX['II_DL/Z']=Array('CAP', 'COV'); +arDS_BX['II_DLS2']=Array('CAP', 'COV'); +arDS_BX['II_DLY']=Array('CAP', 'COV'); +arDS_BX['II_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['II_M']=Array('ZR'); +arDS_BX['II_M/Z']=Array('ZR'); +arDS_BX['II_MS2']=Array('ZR'); +arDS_BX['II_MY']=Array('ZR'); +arDS_BX['II_MY/Z']=Array('ZR'); +arDS_BX['II_N']=Array('ZR'); +arDS_BX['WI_CL']=Array('COV'); +arDS_BX['WI_CL/Z']=Array('COV'); +arDS_BX['WI_CLY']=Array('COV'); +arDS_BX['WI_CLY/Z']=Array('COV'); +arDS_BX['WI_DL']=Array('CAP', 'COV'); +arDS_BX['WI_DL/Z']=Array('CAP', 'COV'); +arDS_BX['WI_DLS2']=Array('CAP', 'COV'); +arDS_BX['WI_DLY']=Array('CAP', 'COV'); +arDS_BX['WI_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['WI_M']=Array('ZR'); +arDS_BX['WI_M/Z']=Array('ZR'); +arDS_BX['WI_MS2']=Array('ZR'); +arDS_BX['WI_MY']=Array('ZR'); +arDS_BX['WI_MY/Z']=Array('ZR'); +arDS_BX['WI_N']=Array('ZR'); +arDS_BX['ZI_CL']=Array('COV'); +arDS_BX['ZI_CL/Z']=Array('COV'); +arDS_BX['ZI_CLY']=Array('COV'); +arDS_BX['ZI_CLY/Z']=Array('COV'); +arDS_BX['ZI_DL']=Array('CAP', 'COV'); +arDS_BX['ZI_DL/Z']=Array('CAP', 'COV'); +arDS_BX['ZI_DLS2']=Array('CAP', 'COV'); +arDS_BX['ZI_DLY']=Array('CAP', 'COV'); +arDS_BX['ZI_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['ZI_M']=Array('ZR'); +arDS_BX['ZI_M/Z']=Array('ZR'); +arDS_BX['ZI_MS2']=Array('ZR'); +arDS_BX['ZI_MY']=Array('ZR'); +arDS_BX['ZI_MY/Z']=Array('ZR'); +arDS_BX['ZI_N']=Array('ZR'); + +var arDC_SPZK=Array(); +arDC_SPZK['I_CLY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_CLY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_DLS2']=Array('SA', 'M'); +arDC_SPZK['I_DLY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_DLY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['I_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); + +var arDCLC_FS=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_FS['XX_CL']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CL/Z']=Array('A'); +arDCLC_FS['XX_CLY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CLY/Z']=Array('A'); +arDCLC_FS['XX_DL']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_DL/Z']=Array('A'); +arDCLC_FS['XX_DLS2']=Array('A', 'HS'); +arDCLC_FS['XX_DLY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_DLY/Z']=Array('A'); +arDCLC_FS['XX_M']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_M/Z']=Array('A'); +arDCLC_FS['XX_MS2']=Array('A', 'HS'); +arDCLC_FS['XX_MY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_MY/Z']=Array('A'); +arDCLC_FS['XX_N']=Array('A', 'HS', '1', '2', '3'); + +var arDCLC_DWV=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_DWV['XX_CL']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_CL/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_CLY']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_CLY/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DL']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DL/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DLS2']=Array('0'); +arDCLC_DWV['XX_DLY']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DLY/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_M']=Array('0'); +arDCLC_DWV['XX_M/Z']=Array('0'); +arDCLC_DWV['XX_MS2']=Array('0'); +arDCLC_DWV['XX_MY']=Array('0'); +arDCLC_DWV['XX_MY/Z']=Array('0'); +arDCLC_DWV['XX_N']=Array('0'); + +var arDS_KLR=Array(); +arDS_KLR['RK_GI']=Array('MG'); +arDS_KLR['RK_II']=Array('CR'); +arDS_KLR['RK_WI']=Array('SW'); +arDS_KLR['RK_ZI']=Array('BZ'); +arDS_KLR['KX_GI']=Array('MG'); +arDS_KLR['KX_II']=Array('IN'); +arDS_KLR['KX_WI']=Array('SW'); +arDS_KLR['KX_ZI']=Array('BZ'); Index: Prod/GAMeta/BT/TBGlijderType.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBGlijderType.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBGlijderType.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBGTD") +TBGlijderTypeDefaultData +^Res.PI.Items("PR;GA;TBGTD") +^Res.PI.Items("index","PR;GA;TBGT") +^Res.PI.Items("stream","PR;GA;TBGT") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: DW/WWW/HTTPLogTBXOptima.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBXOptima.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBXOptima.cls.xml (revision 2) @@ -0,0 +1,162 @@ + + + + +Logging van www.optima-tbx.fr +persistent +1 +%Persistent + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXOptimaD +HTTPLogTBXOptimaDefaultData +^DW.WWW.HTTPLogTBXOptimaD +^DW.WWW.HTTPLogTBXOptimaI +^DW.WWW.HTTPLogTBXOptimaS + +listnode + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +Flag + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + + + + Index: EWMS/History/Pick.cls.xml =================================================================== diff -u --- EWMS/History/Pick.cls.xml (revision 0) +++ EWMS/History/Pick.cls.xml (revision 2) @@ -0,0 +1,346 @@ + + + +persistent +%Library.Persistent + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +code + +0 +%Library.Boolean +0 +0) AND + (pp.loc_m=13) + ORDER BY tp.orig_loc_id + */ + + Set SnapTime=$ZDATETIME($H,3) + + //EWMS: Transport - een onderdeel cachen voor achterhalen van 'status' veld: Array(LocID)=$LB(FinalM,FinalG,PresentM) + Quit:('##class(EWMS.Trans.Transport).CacheTransTable("tmpTransport")) 0 + + &sql(DECLARE crPP CURSOR FOR SELECT PP.ORDER_NR ,PP.LOC_X, PP.LOC_M, PP.LOC_G ,TP.ORIG_LOC_ID INTO OrderNr,LocX,LocM,LocG,OrigLocID FROM EWMS_Pick.PickPost PP ,EWMS_Pick.ToPick TP WHERE (((PP.ORDER_NR = TP.ORDER_NR) AND ({fn CONVERT(TP.ORIG_LOC_ID,SQL_INTEGER)} <> 0)) AND (PP.LOC_M = 13)) AND (TP.QTY_PICKED=0) ORDER BY TP.ORIG_LOC_ID) + + &sql(OPEN crPP) + Write "After open, SQLCODE: "_SQLCODE_", %msg: "_$G(%Msg,"(none)"),! + If ((SQLCODE<0) || ($L($G(%msg)))) Quit 0 + + New HistPickObj,FatalErr,TransportLine,PresentM + Set FatalErr=0 + For &sql(FETCH crPP) Quit:(SQLCODE || FatalErr) Do + . Write "After fetch, SQLCODE: "_SQLCODE_", %msg: "_$G(%Msg,"(none)"),! + . If ((SQLCODE<0) || ($L($G(%msg)))) Do Quit + .. Set FatalErr=1 //One LVL down + . Set HistPickObj=##class(EWMS.History.Pick).%New() + . Set HistPickObj.LocX=LocX + . Set HistPickObj.LocM=LocM + . Set HistPickObj.LocG=LocG + . Set HistPickObj.LocPickPost=HistPickObj.PickPostCalc(LocM,LocG) + . Set HistPickObj.OrigLocID=OrigLocID + . Set HistPickObj.OrderNr=OrderNr + . Set HistPickObj.Tijdstip=SnapTime + . If $D(tmpTransport(OrigLocID)) Do + .. Set TransportLine=tmpTransport(OrigLocID) + .. If HistPickObj.LocPickPost=HistPickObj.PickPostCalc($LI(tmpTransport(OrigLocID),1),$LI(tmpTransport(OrigLocID),2)) Do + ... Set PresentM=+$LI(TransportLine,3) + ... Set HistPickObj.Status=$S(PresentM=13:"PICK",PresentM=11:"TRANS",PresentM=1:"MAG",1:"UNKNOWN") + .. Else Do + ... Set HistPickObj.Status="NOALLOC" + . Else Do + .. Set HistPickObj.Status="NOTRANS" + . w $$ParseStatus^vhLib(HistPickObj.%Save()) + . Do HistPickObj.%Close() + + Quit:(FatalErr) 0 + Write "Created new 'EWMS pick snapshot' pick at "_SnapTime_".",! + + &sql(CLOSE crPP) + Write "After close, SQLCODE: "_SQLCODE_", %msg: "_$G(%Msg,"(none)"),! + If ((SQLCODE<0) || ($L($G(%msg)))) Quit 0 + + Quit 1 +]]> + + + + +Berekend van de uit de verschillende picklanes de PickPost +0 +1 +code +LocM:%Library.Integer,LocG:%Library.Integer +0 +%Library.Integer +0 + + + + +0 +1 +code + +0 +0 + + + + +0 +1 +code +NameSpace:%Library.String="HALUX" +0 +0 + + + + +0 +1 +code + +0 +0 + + + + +%Library.SQLQuery + +0 +0) AND + (pp.loc_m=13) +ORDER BY tp.orig_loc_id +]]> +0 + + + + + +%Library.CacheStorage +^EWMS.His.PickD +PickDefaultData +^EWMS.His.PickD +^EWMS.His.PickI +^EWMS.His.PickS + +listnode + +LocX + + +OrderNr + + +OrigLocID + + +Tijdstip + + +LocG + + +LocM + + +Status + + +LocPickPost + + +%%CLASSNAME + + + + + Index: cspBasis/SesEvent.cls.xml =================================================================== diff -u --- cspBasis/SesEvent.cls.xml (revision 0) +++ cspBasis/SesEvent.cls.xml (revision 2) @@ -0,0 +1,47 @@ + + + +%Library.RegisteredObject,%CSP.SessionEvents + + +OnTimeout is called first) or because the application +has explicitly closed this session. Use the %session object to examine this session. If you wish to +abort this deletion then: + +Set %session.EndSession=0 +]]> +1 + + + + + +Called when a new session is created and its values are initialised. +1 + + + + +EndSession. +Use the %session object to examine this session. If you wish to +abort this deletion then: + +Set %session.EndSession=0 +]]> +1 + + + + Index: _vhisie/TBX/TBoxResItemsALL.js =================================================================== diff -u --- _vhisie/TBX/TBoxResItemsALL.js (revision 0) +++ _vhisie/TBX/TBoxResItemsALL.js (revision 2) @@ -0,0 +1,1889 @@ +// Javascript created by Cach� Server Page /VHISIE/TBX/ResItems.csp on 2011-04-07 17:16:58 +// + +var cItemLT=0; +var cItemLD=1; +var cItemDK=2; + +var arBPM=Array(); +arBPM['AF']=Array( + Array('B',500,'30;50;65'), + Array('B',650,'50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',650,'50;65'), + Array('BY',500,'30;50'), + Array('BY',650,'50'), + Array('BY/Z',500,'30;50'), + Array('BY/Z',650,'50'), + Array('D',500,'30;50;65'), + Array('D',650,'50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',650,'50;65'), + Array('DY',500,'30;50'), + Array('DY',650,'50'), + Array('DY/Z',500,'30;50'), + Array('DY/Z',650,'50'), + Array('M',500,'30;50;65'), + Array('M',650,'50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',650,'50;65'), + Array('MY',500,'30;50'), + Array('MY',650,'50'), + Array('MY/Z',500,'30;50'), + Array('MY/Z',650,'50') +); +arBPM['BA']=Array( + Array('B',270,'20;30'), + Array('B',400,'30;50'), + Array('B',450,'30;50'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',400,'30;50'), + Array('D',450,'30;50'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',400,'30;50'), + Array('M',450,'30;50'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65') +); +arBPM['BI']=Array( + Array('B',270,'20;30'), + Array('B',450,'30;50'), + Array('B',500,'30;50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',450,'30;50'), + Array('B/Z',500,'30;50;65'), + Array('D',270,'20;30'), + Array('D',450,'30;50'), + Array('D',500,'30;50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',450,'30;50'), + Array('D/Z',500,'30;50;65'), + Array('M',270,'20;30'), + Array('M',450,'30;50'), + Array('M',500,'30;50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',450,'30;50'), + Array('M/Z',500,'30;50;65') +); +arBPM['GA']=Array( + Array('CM',270,'20;30'), + Array('CM',300,'20;30'), + Array('CM',350,'30'), + Array('CM',400,'30;50'), + Array('CM',450,'30;50;65'), + Array('CM',500,'30;50;65'), + Array('CM',550,'30;50;65'), + Array('CM',600,'50;65'), + Array('CM',650,'50;65'), + Array('CM/Z',270,'20;30'), + Array('CM/Z',300,'20;30'), + Array('CM/Z',350,'30'), + Array('CM/Z',400,'30;50'), + Array('CM/Z',450,'30;50;65'), + Array('CM/Z',500,'30;50;65'), + Array('CM/Z',550,'30;50;65'), + Array('CM/Z',600,'50;65'), + Array('CM/Z',650,'50;65'), + Array('CMS2',400,'30;50'), + Array('CMS2',450,'30;50;65'), + Array('CMS2',500,'30;50;65'), + Array('CMY',270,'20;30'), + Array('CMY',300,'20;30'), + Array('CMY',350,'30'), + Array('CMY',400,'30;50'), + Array('CMY',450,'30;50;65'), + Array('CMY',500,'30;50;65'), + Array('CMY',550,'30;50;65'), + Array('CMY',600,'50;65'), + Array('CMY',650,'50;65'), + Array('CMY/Z',270,'20;30'), + Array('CMY/Z',300,'20;30'), + Array('CMY/Z',350,'30'), + Array('CMY/Z',400,'30;50'), + Array('CMY/Z',450,'30;50;65'), + Array('CMY/Z',500,'30;50;65'), + Array('CMY/Z',550,'30;50;65'), + Array('CMY/Z',600,'50;65'), + Array('CMY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',500,'30;50;65') +); +arBPM['GF']=Array( + Array('B',270,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',400,'30;50'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',400,'30;50'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65') +); +arBPM['GI']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',400,'30;50'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',500,'30;50;65') +); +arBPM['GMA']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',400,'30;50'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('C',400,'30;50'), + Array('C',450,'30;50;65'), + Array('C',500,'30;50;65'), + Array('C',550,'30;50;65'), + Array('C',600,'50;65'), + Array('C',650,'50;65'), + Array('C/Z',400,'30;50'), + Array('C/Z',450,'30;50;65'), + Array('C/Z',500,'30;50;65'), + Array('C/Z',550,'30;50;65'), + Array('C/Z',600,'50;65'), + Array('C/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',400,'30;50'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('K',400,'30;50'), + Array('K',450,'30;50;65'), + Array('K',500,'30;50;65'), + Array('K',550,'30;50;65'), + Array('K',600,'50;65'), + Array('K',650,'50;65'), + Array('K/Z',400,'30;50'), + Array('K/Z',450,'30;50;65'), + Array('K/Z',500,'30;50;65'), + Array('K/Z',550,'30;50;65'), + Array('K/Z',600,'50;65'), + Array('K/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['GS']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',400,'30;50'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('C',400,'30;50'), + Array('C',450,'30;50;65'), + Array('C',500,'30;50;65'), + Array('C',550,'30;50;65'), + Array('C',600,'50;65'), + Array('C',650,'50;65'), + Array('C/Z',400,'30;50'), + Array('C/Z',450,'30;50;65'), + Array('C/Z',500,'30;50;65'), + Array('C/Z',550,'30;50;65'), + Array('C/Z',600,'50;65'), + Array('C/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',400,'30;50'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('K',400,'30;50'), + Array('K',450,'30;50;65'), + Array('K',500,'30;50;65'), + Array('K',550,'30;50;65'), + Array('K',600,'50;65'), + Array('K',650,'50;65'), + Array('K/Z',400,'30;50'), + Array('K/Z',450,'30;50;65'), + Array('K/Z',500,'30;50;65'), + Array('K/Z',550,'30;50;65'), + Array('K/Z',600,'50;65'), + Array('K/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['II']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['IMA']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['IS']=Array( + Array('B',270,'20;30'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',650,'50;65'), + Array('BY',270,'20;30'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',650,'50;65'), + Array('DY',270,'20;30'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',650,'50;65'), + Array('MY',270,'20;30'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',650,'50;65'), + Array('N',550,'30;50;65') +); +arBPM['WA']=Array( + Array('CM',270,'20;30'), + Array('CM',300,'20;30'), + Array('CM',350,'30'), + Array('CM',400,'30;50'), + Array('CM',450,'30;50;65'), + Array('CM',500,'30;50;65'), + Array('CM',550,'30;50;65'), + Array('CM',600,'50;65'), + Array('CM',650,'50;65'), + Array('CM/Z',270,'20;30'), + Array('CM/Z',300,'20;30'), + Array('CM/Z',350,'30'), + Array('CM/Z',400,'30;50'), + Array('CM/Z',450,'30;50;65'), + Array('CM/Z',500,'30;50;65'), + Array('CM/Z',550,'30;50;65'), + Array('CM/Z',600,'50;65'), + Array('CM/Z',650,'50;65'), + Array('CMS2',400,'30;50'), + Array('CMS2',450,'30;50;65'), + Array('CMS2',500,'30;50;65'), + Array('CMY',270,'20;30'), + Array('CMY',300,'20;30'), + Array('CMY',350,'30'), + Array('CMY',400,'30;50'), + Array('CMY',450,'30;50;65'), + Array('CMY',500,'30;50;65'), + Array('CMY',550,'30;50;65'), + Array('CMY',600,'50;65'), + Array('CMY',650,'50;65'), + Array('CMY/Z',270,'20;30'), + Array('CMY/Z',300,'20;30'), + Array('CMY/Z',350,'30'), + Array('CMY/Z',400,'30;50'), + Array('CMY/Z',450,'30;50;65'), + Array('CMY/Z',500,'30;50;65'), + Array('CMY/Z',550,'30;50;65'), + Array('CMY/Z',600,'50;65'), + Array('CMY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['WI']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',400,'30;50'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['WS']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('C',400,'30;50'), + Array('C',450,'30;50'), + Array('C',500,'30;50;65'), + Array('C',550,'30;50;65'), + Array('C',600,'50;65'), + Array('C',650,'50;65'), + Array('C/Z',400,'30;50'), + Array('C/Z',450,'30;50'), + Array('C/Z',500,'30;50;65'), + Array('C/Z',550,'30;50;65'), + Array('C/Z',600,'50;65'), + Array('C/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('K',400,'30;50'), + Array('K',450,'30;50'), + Array('K',500,'30;50;65'), + Array('K',550,'30;50;65'), + Array('K',600,'50;65'), + Array('K',650,'50;65'), + Array('K/Z',400,'30;50'), + Array('K/Z',450,'30;50'), + Array('K/Z',500,'30;50;65'), + Array('K/Z',550,'30;50;65'), + Array('K/Z',600,'50;65'), + Array('K/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['ZA']=Array( + Array('CM',270,'20;30'), + Array('CM',300,'20;30'), + Array('CM',350,'30'), + Array('CM',400,'30;50'), + Array('CM',450,'30;50;65'), + Array('CM',500,'30;50;65'), + Array('CM',550,'30;50;65'), + Array('CM',600,'50;65'), + Array('CM',650,'50;65'), + Array('CM/Z',270,'20;30'), + Array('CM/Z',300,'20;30'), + Array('CM/Z',350,'30'), + Array('CM/Z',400,'30;50'), + Array('CM/Z',450,'30;50;65'), + Array('CM/Z',500,'30;50;65'), + Array('CM/Z',550,'30;50;65'), + Array('CM/Z',600,'50;65'), + Array('CM/Z',650,'50;65'), + Array('CMS2',450,'30;50;65'), + Array('CMS2',500,'30;50;65'), + Array('CMY',270,'20;30'), + Array('CMY',300,'20;30'), + Array('CMY',350,'30'), + Array('CMY',400,'30;50'), + Array('CMY',450,'30;50;65'), + Array('CMY',500,'30;50;65'), + Array('CMY',550,'30;50;65'), + Array('CMY',600,'50;65'), + Array('CMY',650,'50;65'), + Array('CMY/Z',270,'20;30'), + Array('CMY/Z',300,'20;30'), + Array('CMY/Z',350,'30'), + Array('CMY/Z',400,'30;50'), + Array('CMY/Z',450,'30;50;65'), + Array('CMY/Z',500,'30;50;65'), + Array('CMY/Z',550,'30;50;65'), + Array('CMY/Z',600,'50;65'), + Array('CMY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['ZI']=Array( + Array('CL',270,'20;30'), + Array('CL',300,'20;30'), + Array('CL',350,'30'), + Array('CL',400,'30;50'), + Array('CL',450,'30;50;65'), + Array('CL',500,'30;50;65'), + Array('CL',550,'30;50;65'), + Array('CL',600,'50;65'), + Array('CL',650,'50;65'), + Array('CL/Z',270,'20;30'), + Array('CL/Z',300,'20;30'), + Array('CL/Z',350,'30'), + Array('CL/Z',400,'30;50'), + Array('CL/Z',450,'30;50;65'), + Array('CL/Z',500,'30;50;65'), + Array('CL/Z',550,'30;50;65'), + Array('CL/Z',600,'50;65'), + Array('CL/Z',650,'50;65'), + Array('CLY',270,'20;30'), + Array('CLY',300,'20;30'), + Array('CLY',350,'30'), + Array('CLY',400,'30;50'), + Array('CLY',450,'30;50;65'), + Array('CLY',500,'30;50;65'), + Array('CLY',550,'30;50;65'), + Array('CLY',600,'50;65'), + Array('CLY',650,'50;65'), + Array('CLY/Z',270,'20;30'), + Array('CLY/Z',300,'20;30'), + Array('CLY/Z',350,'30'), + Array('CLY/Z',400,'30;50'), + Array('CLY/Z',450,'30;50;65'), + Array('CLY/Z',500,'30;50;65'), + Array('CLY/Z',550,'30;50;65'), + Array('CLY/Z',600,'50;65'), + Array('CLY/Z',650,'50;65'), + Array('DL',270,'20;30'), + Array('DL',300,'20;30'), + Array('DL',350,'30'), + Array('DL',400,'30;50'), + Array('DL',450,'30;50;65'), + Array('DL',500,'30;50;65'), + Array('DL',550,'30;50;65'), + Array('DL',600,'50;65'), + Array('DL',650,'50;65'), + Array('DL/Z',270,'20;30'), + Array('DL/Z',300,'20;30'), + Array('DL/Z',350,'30'), + Array('DL/Z',400,'30;50'), + Array('DL/Z',450,'30;50;65'), + Array('DL/Z',500,'30;50;65'), + Array('DL/Z',550,'30;50;65'), + Array('DL/Z',600,'50;65'), + Array('DL/Z',650,'50;65'), + Array('DLS2',450,'30;50;65'), + Array('DLS2',500,'30;50;65'), + Array('DLY',270,'20;30'), + Array('DLY',300,'20;30'), + Array('DLY',350,'30'), + Array('DLY',400,'30;50'), + Array('DLY',450,'30;50;65'), + Array('DLY',500,'30;50;65'), + Array('DLY',550,'30;50;65'), + Array('DLY',600,'50;65'), + Array('DLY',650,'50;65'), + Array('DLY/Z',270,'20;30'), + Array('DLY/Z',300,'20;30'), + Array('DLY/Z',350,'30'), + Array('DLY/Z',400,'30;50'), + Array('DLY/Z',450,'30;50;65'), + Array('DLY/Z',500,'30;50;65'), + Array('DLY/Z',550,'30;50;65'), + Array('DLY/Z',600,'50;65'), + Array('DLY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); + +var arDC_DS=Array(); +arDC_DS['A']=Array('GA', 'WA', 'ZA'); +arDC_DS['B']=Array('BA', 'BI'); +arDC_DS['F']=Array('AF', 'GF'); +arDC_DS['I']=Array('GI', 'II', 'WI', 'ZI'); +arDC_DS['MA']=Array('GMA', 'IMA'); +arDC_DS['S']=Array('GS', 'IS', 'WS'); + +var arDC_LC=Array(); +arDC_LC['A']=Array('CM', 'CM/Z', 'CMS2', 'CMY', 'CMY/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z', 'N'); +arDC_LC['B']=Array('B', 'B/Z', 'D', 'D/Z', 'M', 'M/Z'); +arDC_LC['F']=Array('B', 'B/Z', 'BS2', 'BY', 'BY/Z', 'D', 'D/Z', 'DS2', 'DY', 'DY/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z'); +arDC_LC['I']=Array('CL', 'CL/Z', 'CLY', 'CLY/Z', 'DL', 'DL/Z', 'DLS2', 'DLY', 'DLY/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z', 'N'); +arDC_LC['MA']=Array('B', 'B/Z', 'BY', 'BY/Z', 'D', 'D/Z', 'DY', 'DY/Z', 'M', 'M/Z', 'MY', 'MY/Z', 'N'); +arDC_LC['S']=Array('B', 'B/Z', 'BS2', 'BY', 'BY/Z', 'C', 'C/Z', 'D', 'D/Z', 'DS2', 'DY', 'DY/Z', 'K', 'K/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z', 'N'); + +var arDC_KV=Array(); +arDC_KV['B']=Array('FG', 'FZ'); +arDC_KV['F']=Array('FG', 'FZ'); +arDC_KV['I']=Array('BRO8', 'DIA8', 'DFZ8', 'GRI8', 'ZV', 'H.ESD', 'H.EIK', 'H.KERS', 'H.NOOT', 'H.NTS', 'H.PAL', 'H.WNGE', 'H.TEAK', 'LE.DBR', 'LE.LBR', 'LE.ZW', 'LE.CRV'); +arDC_KV['MA']=Array('FG', 'FZ'); +arDC_KV['S']=Array('FG', 'FZ'); + +var arDC_BX=Array(); +arDC_BX['A']=Array('ER', 'ZR'); +arDC_BX['B']=Array('ER', 'DR', 'BG', 'ZR'); +arDC_BX['F']=Array('ER', 'DR', 'BD', 'BG', 'ZR'); +arDC_BX['I']=Array('COV', 'CAP', 'ZR'); +arDC_BX['MA']=Array('ER', 'DR', 'BD', 'BG', 'ZR'); +arDC_BX['S']=Array('ER', 'DR', 'BD', 'BG', 'ZR'); + +var arDS_BX=Array(); +arDS_BX['AF_B']=Array('ER'); +arDS_BX['AF_B/Z']=Array('ER'); +arDS_BX['AF_BY']=Array('ER'); +arDS_BX['AF_BY/Z']=Array('ER'); +arDS_BX['AF_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_M']=Array('ZR'); +arDS_BX['AF_M/Z']=Array('ZR'); +arDS_BX['AF_MY']=Array('ZR'); +arDS_BX['AF_MY/Z']=Array('ZR'); +arDS_BX['BA_B']=Array('ER'); +arDS_BX['BA_B/Z']=Array('ER'); +arDS_BX['BA_D']=Array('DR', 'ER', 'BG'); +arDS_BX['BA_D/Z']=Array('DR', 'ER', 'BG'); +arDS_BX['BA_M']=Array('ZR'); +arDS_BX['BA_M/Z']=Array('ZR'); +arDS_BX['BI_B']=Array('ER'); +arDS_BX['BI_B/Z']=Array('ER'); +arDS_BX['BI_D']=Array('DR', 'ER', 'BG'); +arDS_BX['BI_D/Z']=Array('DR', 'ER', 'BG'); +arDS_BX['BI_M']=Array('ZR'); +arDS_BX['BI_M/Z']=Array('ZR'); +arDS_BX['GA_CM']=Array('ER'); +arDS_BX['GA_CM/Z']=Array('ER'); +arDS_BX['GA_CMS2']=Array('ER'); +arDS_BX['GA_CMY']=Array('ER'); +arDS_BX['GA_CMY/Z']=Array('ER'); +arDS_BX['GA_M']=Array('ZR'); +arDS_BX['GA_M/Z']=Array('ZR'); +arDS_BX['GA_MS2']=Array('ZR'); +arDS_BX['GA_MY']=Array('ZR'); +arDS_BX['GA_MY/Z']=Array('ZR'); +arDS_BX['GA_N']=Array('ZR'); +arDS_BX['GF_B']=Array('ER'); +arDS_BX['GF_B/Z']=Array('ER'); +arDS_BX['GF_BS2']=Array('ER'); +arDS_BX['GF_BY']=Array('ER'); +arDS_BX['GF_BY/Z']=Array('ER'); +arDS_BX['GF_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_M']=Array('ZR'); +arDS_BX['GF_M/Z']=Array('ZR'); +arDS_BX['GF_MS2']=Array('ZR'); +arDS_BX['GF_MY']=Array('ZR'); +arDS_BX['GF_MY/Z']=Array('ZR'); +arDS_BX['GI_CL']=Array('COV'); +arDS_BX['GI_CL/Z']=Array('COV'); +arDS_BX['GI_CLY']=Array('COV'); +arDS_BX['GI_CLY/Z']=Array('COV'); +arDS_BX['GI_DL']=Array('CAP', 'COV'); +arDS_BX['GI_DL/Z']=Array('CAP', 'COV'); +arDS_BX['GI_DLS2']=Array('CAP', 'COV'); +arDS_BX['GI_DLY']=Array('CAP', 'COV'); +arDS_BX['GI_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['GI_M']=Array('ZR'); +arDS_BX['GI_M/Z']=Array('ZR'); +arDS_BX['GI_MS2']=Array('ZR'); +arDS_BX['GI_MY']=Array('ZR'); +arDS_BX['GI_MY/Z']=Array('ZR'); +arDS_BX['GI_N']=Array('ZR'); +arDS_BX['GMA_B']=Array('ER'); +arDS_BX['GMA_B/Z']=Array('ER'); +arDS_BX['GMA_BS2']=Array('ER'); +arDS_BX['GMA_BY']=Array('ER'); +arDS_BX['GMA_BY/Z']=Array('ER'); +arDS_BX['GMA_C']=Array('ER'); +arDS_BX['GMA_C/Z']=Array('ER'); +arDS_BX['GMA_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_K']=Array('ZR'); +arDS_BX['GMA_K/Z']=Array('ZR'); +arDS_BX['GMA_M']=Array('ZR'); +arDS_BX['GMA_M/Z']=Array('ZR'); +arDS_BX['GMA_MS2']=Array('ZR'); +arDS_BX['GMA_MY']=Array('ZR'); +arDS_BX['GMA_MY/Z']=Array('ZR'); +arDS_BX['GMA_N']=Array('ZR'); +arDS_BX['GS_B']=Array('ER'); +arDS_BX['GS_B/Z']=Array('ER'); +arDS_BX['GS_BS2']=Array('ER'); +arDS_BX['GS_BY']=Array('ER'); +arDS_BX['GS_BY/Z']=Array('ER'); +arDS_BX['GS_C']=Array('ER'); +arDS_BX['GS_C/Z']=Array('ER'); +arDS_BX['GS_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_K']=Array('ZR'); +arDS_BX['GS_K/Z']=Array('ZR'); +arDS_BX['GS_M']=Array('ZR'); +arDS_BX['GS_M/Z']=Array('ZR'); +arDS_BX['GS_MS2']=Array('ZR'); +arDS_BX['GS_MY']=Array('ZR'); +arDS_BX['GS_MY/Z']=Array('ZR'); +arDS_BX['GS_N']=Array('ZR'); +arDS_BX['II_CL']=Array('COV'); +arDS_BX['II_CL/Z']=Array('COV'); +arDS_BX['II_CLY']=Array('COV'); +arDS_BX['II_CLY/Z']=Array('COV'); +arDS_BX['II_DL']=Array('CAP', 'COV'); +arDS_BX['II_DL/Z']=Array('CAP', 'COV'); +arDS_BX['II_DLS2']=Array('CAP', 'COV'); +arDS_BX['II_DLY']=Array('CAP', 'COV'); +arDS_BX['II_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['II_M']=Array('ZR'); +arDS_BX['II_M/Z']=Array('ZR'); +arDS_BX['II_MS2']=Array('ZR'); +arDS_BX['II_MY']=Array('ZR'); +arDS_BX['II_MY/Z']=Array('ZR'); +arDS_BX['II_N']=Array('ZR'); +arDS_BX['IMA_B']=Array('ER'); +arDS_BX['IMA_B/Z']=Array('ER'); +arDS_BX['IMA_BY']=Array('ER'); +arDS_BX['IMA_BY/Z']=Array('ER'); +arDS_BX['IMA_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_M']=Array('ZR'); +arDS_BX['IMA_M/Z']=Array('ZR'); +arDS_BX['IMA_MY']=Array('ZR'); +arDS_BX['IMA_MY/Z']=Array('ZR'); +arDS_BX['IMA_N']=Array('ZR'); +arDS_BX['IS_B']=Array('ER'); +arDS_BX['IS_B/Z']=Array('ER'); +arDS_BX['IS_BY']=Array('ER'); +arDS_BX['IS_BY/Z']=Array('ER'); +arDS_BX['IS_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_M']=Array('ZR'); +arDS_BX['IS_M/Z']=Array('ZR'); +arDS_BX['IS_MY']=Array('ZR'); +arDS_BX['IS_MY/Z']=Array('ZR'); +arDS_BX['IS_N']=Array('ZR'); +arDS_BX['WA_CM']=Array('ER'); +arDS_BX['WA_CM/Z']=Array('ER'); +arDS_BX['WA_CMS2']=Array('ER'); +arDS_BX['WA_CMY']=Array('ER'); +arDS_BX['WA_CMY/Z']=Array('ER'); +arDS_BX['WA_M']=Array('ZR'); +arDS_BX['WA_M/Z']=Array('ZR'); +arDS_BX['WA_MS2']=Array('ZR'); +arDS_BX['WA_MY']=Array('ZR'); +arDS_BX['WA_MY/Z']=Array('ZR'); +arDS_BX['WA_N']=Array('ZR'); +arDS_BX['WI_CL']=Array('COV'); +arDS_BX['WI_CL/Z']=Array('COV'); +arDS_BX['WI_CLY']=Array('COV'); +arDS_BX['WI_CLY/Z']=Array('COV'); +arDS_BX['WI_DL']=Array('CAP', 'COV'); +arDS_BX['WI_DL/Z']=Array('CAP', 'COV'); +arDS_BX['WI_DLS2']=Array('CAP', 'COV'); +arDS_BX['WI_DLY']=Array('CAP', 'COV'); +arDS_BX['WI_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['WI_M']=Array('ZR'); +arDS_BX['WI_M/Z']=Array('ZR'); +arDS_BX['WI_MS2']=Array('ZR'); +arDS_BX['WI_MY']=Array('ZR'); +arDS_BX['WI_MY/Z']=Array('ZR'); +arDS_BX['WI_N']=Array('ZR'); +arDS_BX['WS_B']=Array('ER'); +arDS_BX['WS_B/Z']=Array('ER'); +arDS_BX['WS_BS2']=Array('ER'); +arDS_BX['WS_BY']=Array('ER'); +arDS_BX['WS_BY/Z']=Array('ER'); +arDS_BX['WS_C']=Array('ER'); +arDS_BX['WS_C/Z']=Array('ER'); +arDS_BX['WS_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_K']=Array('ZR'); +arDS_BX['WS_K/Z']=Array('ZR'); +arDS_BX['WS_M']=Array('ZR'); +arDS_BX['WS_M/Z']=Array('ZR'); +arDS_BX['WS_MS2']=Array('ZR'); +arDS_BX['WS_MY']=Array('ZR'); +arDS_BX['WS_MY/Z']=Array('ZR'); +arDS_BX['WS_N']=Array('ZR'); +arDS_BX['ZA_CM']=Array('ER'); +arDS_BX['ZA_CM/Z']=Array('ER'); +arDS_BX['ZA_CMS2']=Array('ER'); +arDS_BX['ZA_CMY']=Array('ER'); +arDS_BX['ZA_CMY/Z']=Array('ER'); +arDS_BX['ZA_M']=Array('ZR'); +arDS_BX['ZA_M/Z']=Array('ZR'); +arDS_BX['ZA_MS2']=Array('ZR'); +arDS_BX['ZA_MY']=Array('ZR'); +arDS_BX['ZA_MY/Z']=Array('ZR'); +arDS_BX['ZA_N']=Array('ZR'); +arDS_BX['ZI_CL']=Array('COV'); +arDS_BX['ZI_CL/Z']=Array('COV'); +arDS_BX['ZI_CLY']=Array('COV'); +arDS_BX['ZI_CLY/Z']=Array('COV'); +arDS_BX['ZI_DL']=Array('CAP', 'COV'); +arDS_BX['ZI_DL/Z']=Array('CAP', 'COV'); +arDS_BX['ZI_DLS2']=Array('CAP', 'COV'); +arDS_BX['ZI_DLY']=Array('CAP', 'COV'); +arDS_BX['ZI_DLY/Z']=Array('CAP', 'COV'); +arDS_BX['ZI_M']=Array('ZR'); +arDS_BX['ZI_M/Z']=Array('ZR'); +arDS_BX['ZI_MS2']=Array('ZR'); +arDS_BX['ZI_MY']=Array('ZR'); +arDS_BX['ZI_MY/Z']=Array('ZR'); +arDS_BX['ZI_N']=Array('ZR'); + +var arDC_SPZK=Array(); +arDC_SPZK['A_CMS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['A_CMY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['A_CMY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['A_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['A_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['A_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_BS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['F_BY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_BY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_DS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['F_DY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_DY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['F_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_CLY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_CLY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_DLS2']=Array('SA', 'M'); +arDC_SPZK['I_DLY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_DLY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['I_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['I_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_BY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_BY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_DY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_DY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_BS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['S_BY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_BY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_DS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['S_DY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_DY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['S_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); + +var arDCLC_FS=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_FS['XX_B']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_B/Z']=Array('A'); +arDCLC_FS['XX_BS2']=Array('A', 'HS'); +arDCLC_FS['XX_BY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_BY/Z']=Array('A'); +arDCLC_FS['XX_C']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_C/Z']=Array('A'); +arDCLC_FS['XX_CL']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CL/Z']=Array('A'); +arDCLC_FS['XX_CLY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CLY/Z']=Array('A'); +arDCLC_FS['XX_CM']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CM/Z']=Array('A'); +arDCLC_FS['XX_CMS2']=Array('A', 'HS'); +arDCLC_FS['XX_CMY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CMY/Z']=Array('A'); +arDCLC_FS['XX_D']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_D/Z']=Array('A'); +arDCLC_FS['XX_DL']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_DL/Z']=Array('A'); +arDCLC_FS['XX_DLS2']=Array('A', 'HS'); +arDCLC_FS['XX_DLY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_DLY/Z']=Array('A'); +arDCLC_FS['XX_DS2']=Array('A', 'HS'); +arDCLC_FS['XX_DY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_DY/Z']=Array('A'); +arDCLC_FS['XX_K']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_K/Z']=Array('A'); +arDCLC_FS['XX_M']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_M/Z']=Array('A'); +arDCLC_FS['XX_MS2']=Array('A', 'HS'); +arDCLC_FS['XX_MY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_MY/Z']=Array('A'); +arDCLC_FS['XX_N']=Array('A', 'HS', '1', '2', '3'); + +var arDCLC_DWV=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_DWV['XX_B']=Array('0'); +arDCLC_DWV['XX_B/Z']=Array('0'); +arDCLC_DWV['XX_BS2']=Array('0'); +arDCLC_DWV['XX_BY']=Array('0'); +arDCLC_DWV['XX_BY/Z']=Array('0'); +arDCLC_DWV['XX_C']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_C/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_CL']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_CL/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_CLY']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_CLY/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_CM']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_CM/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_CMS2']=Array('0', '4_sp'); +arDCLC_DWV['XX_CMY']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_CMY/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_D']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_D/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_DL']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DL/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DLS2']=Array('0'); +arDCLC_DWV['XX_DLY']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DLY/Z']=Array('0', '1', '2', '3', '4', 'PR'); +arDCLC_DWV['XX_DS2']=Array('0', '4_sp'); +arDCLC_DWV['XX_DY']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_DY/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_K']=Array('0'); +arDCLC_DWV['XX_K/Z']=Array('0'); +arDCLC_DWV['XX_M']=Array('0'); +arDCLC_DWV['XX_M/Z']=Array('0'); +arDCLC_DWV['XX_MS2']=Array('0'); +arDCLC_DWV['XX_MY']=Array('0'); +arDCLC_DWV['XX_MY/Z']=Array('0'); +arDCLC_DWV['XX_N']=Array('0'); + +var arDS_KLR=Array(); +arDS_KLR['RK_AF']=Array('AL', 'CR'); +arDS_KLR['RK_BA']=Array('CR', 'BA'); +arDS_KLR['RK_BI']=Array('CR'); +arDS_KLR['RK_GA']=Array('MG'); +arDS_KLR['RK_GF']=Array('MG', 'CR'); +arDS_KLR['RK_GI']=Array('MG'); +arDS_KLR['RK_GMA']=Array('MG', 'CR'); +arDS_KLR['RK_GS']=Array('MG', 'CR'); +arDS_KLR['RK_II']=Array('CR'); +arDS_KLR['RK_IMA']=Array('CR'); +arDS_KLR['RK_IS']=Array('CR'); +arDS_KLR['RK_WA']=Array('SW'); +arDS_KLR['RK_WI']=Array('SW'); +arDS_KLR['RK_WS']=Array('WI', 'CR'); +arDS_KLR['RK_ZA']=Array('BZ'); +arDS_KLR['RK_ZI']=Array('BZ'); +arDS_KLR['KX_AF']=Array('AL'); +arDS_KLR['KX_BA']=Array('IN'); +arDS_KLR['KX_BI']=Array('IN'); +arDS_KLR['KX_GA']=Array('MG'); +arDS_KLR['KX_GF']=Array('MG'); +arDS_KLR['KX_GI']=Array('MG'); +arDS_KLR['KX_GMA']=Array('MG'); +arDS_KLR['KX_GS']=Array('MG'); +arDS_KLR['KX_II']=Array('IN'); +arDS_KLR['KX_IMA']=Array('IN'); +arDS_KLR['KX_IS']=Array('IN'); +arDS_KLR['KX_WA']=Array('SW'); +arDS_KLR['KX_WI']=Array('SW'); +arDS_KLR['KX_WS']=Array('WI'); +arDS_KLR['KX_ZA']=Array('BZ'); +arDS_KLR['KX_ZI']=Array('BZ'); Index: Res/VertalingLink.cls.xml =================================================================== diff -u --- Res/VertalingLink.cls.xml (revision 0) +++ Res/VertalingLink.cls.xml (revision 2) @@ -0,0 +1,292 @@ + + + +persistent +Res.VertalingAbstract +0 + + + +Basisdirectory voor links naar externe documenten, fotos, html, ... +Er wordt abstract gewerkt het uiteindelijk bad moet bepaald worden naar gelang te toepassing : Web, FTP, Shares, ... +%Library.String + + + +%Library.String + + + + + +Alleen bij linkn, om extra aan te duiden over wat het document, foto, html handelt. +%Library.String + + + + + + +Indien niet TaalAfhankelijk , "N" invullen (default) +%Library.Boolean + + + + +Waar het document kan geplaatst worden. +Bv. Basis is naast het product, Extra is via link-button +%Library.String + + + + + +Toepassing:%Library.String +%Library.Boolean + + + + + +1 +Groep:%Library.String,Intern:%Library.String,Type:%Library.String,Taal:%Library.String +%Library.Status + + + + + +1 +Groep:%Library.String,Intern:%Library.String,Type:%Library.String +%Library.Status + + + + + +VTList: Een lijst van VertalingsTypes, bijv. "L;O;K" met ";" als Seperator +1 +Groep:%Library.String,Intern:%Library.String,VTList:%Library.String,Seperator:%Library.String=";" +%Library.Status + + + + + +DirectoryCode: "WebOL" of "vHintra" of ... +Toepassing : zie method DirectoryGet() +1 +DirectoryCode:%String,Toepassing:%String +%String + + + + + +Afhankelijk van de toepassing kan de directory aangepast worden. +BV.: FTP, WWW, INTERN +Toepassing:%Library.String +%String + + + + + +Geeft de vertaling van de URL van de Interne waarde terug. +1 +Groep:%Library.String,Intern:%Library.String,TextType:%Library.String="L",Taal:%Library.String="N",VervangWaarde:%Library.String,Toepassing:%Library.String +%Library.String + + + + + +Opbouw van de bestandsnaam rekeninghoudend met Soort document en taal +%Library.String + + + + + +Opbouw van de ganse URL bestaande uit directory en bestandsnaam +Toepassing:%Library.String +String + + + + + +Ook lege vertalingen zijn toegelaten +%Library.SQLQuery +paGroep:%Library.String,paIntern:%Library.String,paType:%Library.String +SELECT Taal,DirectoryCode,Extensie,Soort,TaalAfhankelijk,Vertaling,WebPlaatsing +FROM Res.VertalingLink +WHERE (Groep = :paGroep) AND (Intern = :paIntern) AND (Type = :paType) +ORDER BY Taal + + + + + +%Library.SQLQuery +paGroep:%Library.String,paIntern:%Library.String,paType:%Library.String +SELECT Taal,Vertaling +FROM Res.VertalingLink +WHERE (Groep = :paGroep) AND (Intern = :paIntern) AND (Type = :paType) AND (Vertaling IS NOT NULL) +ORDER BY Taal + + + + + +%Library.SQLQuery +paGroep:%Library.String +SELECT DISTINCT Vertaling +FROM Res.VertalingLink +WHERE (Groep = :paGroep) +ORDER BY Vertaling + + + + + +%Library.CacheStorage +VertalingLinkDefaultData + +"VertalingLink" + +DirectoryCode + + +Extensie + + +Product + + +Soort + + +SubPadEnNaam + + +TaalAfhankelijk + + +URLParameter + + +VolgNr + + +WebPlaatsing + + + + + Index: Prod/Kenmerk/VertaalTransLink.cls.xml =================================================================== diff -u --- Prod/Kenmerk/VertaalTransLink.cls.xml (revision 0) +++ Prod/Kenmerk/VertaalTransLink.cls.xml (revision 2) @@ -0,0 +1,57 @@ + + + +persistent +%occInclude +Prod.Kenmerk.VertaalTransAbstract + + +IsNew:%Library.Boolean=1 +%Library.Status + + + + +Waarde:%Library.String,WaardeInput:%Library.String +%Library.Boolean + + + + +Res.VertalingLink + + + +%Library.CacheStorage + + + Index: APPS/TBXWeb/impl/HFLEOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/HFLEOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/HFLEOrderHandler.cls.xml (revision 2) @@ -0,0 +1,58 @@ + + + +1 +AbstractOrderHandler +0 + + +0 + + + +%String + + + + +Boolean + + + + +%String + + + + +Destination +%List +" + Set ServerPrefix="" +#Else + Set lbTo=$LB($$$EMailOVHfleTEST) ; """Hafele OV."" <$$$EMailOVHfleTEST>" + Set ServerPrefix="["_$$$Server_"] " +#EndIf + + Quit lbTo +]]> + + + +%Status + + + + +%String + + + + Index: TECH/Error.inc.rou =================================================================== diff -u --- TECH/Error.inc.rou (revision 0) +++ TECH/Error.inc.rou (revision 2) @@ -0,0 +1,50 @@ + /// Routine : TECH.Error.INC + /// + /// Author : Paul Verhulst + /// Created : 11/08/2010 + /// + +#include vhLib.Macro +#include %occInclude + + + + /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + +#define TECHErrorTrapOn Set $ETRAP="Do ##class(TECH.Error.impl.ErrorHandler).TrapHandler()" +#define TECHErrorTrapOff Set $ETRAP="" +#define LocalErrorTrapOff Set $ETRAP="" +#define LocalErrorTrapOn Set $ETRAP="Do ..TrapHandler()" +#define LocalErrorTrapOnLabeled(%Label,%Opts) Set $ETRAP="Do ..TrapHandler("%Label","%Opts")" + +#define ThrowError(%s,%v) Set $ECODE="`"_%s_"`"_%v_"`" +#define ThrowErrorStatus(%s,%v,%r) Set $ECODE="`"_%s_"`"_%v_"`"_$$ParseStatus^vhLib(%r)_"`" +#define ThrowErrorUser(%s,%v,%u) Set $ECODE="`"_%s_"`"_%v_"``"_%u, +#define ThrowErrorStatusAndUser(%s,%v,%r,%u) Set $ECODE="`"_%s_"`"_%v_"``"_%u + +#define ClearError Set $ECODE="" +#define StdHandling Do ##class(TECH.Error.impl.ErrorHandler).TrapHandler(.Label,.Options) +#define ReThrow ; Rethrow is automatic + +#define chkRequiredParameter(%p) If '$length($get(%p)) $$$ThrowError($$$errParameterRequired,"%p") +#define chkIsObject(%obj) If '$isobject(%obj) $$$ThrowError($$$errObjectExpected,"%obj") +#define chkValidateObject(%obj) Set sc=%obj.%ValidateObject() If $$$ISERR(sc) $$$ThrowErrorStatus($$$errObjectValidationFailed,"%obj",sc) +#define chkValidateDataType(%dt,%p) if '##class(%dt).IsValidDT(%p) $$$ThrowError($$$errInvalidInput,%p) + + +#define errGeneralError "1000:GeneralError" +#define errPropertyRequired "1001:PropertyRequired" +#define errParameterRequired "1002:ParameterRequired" +#define errParameterInvalid "1002:ParameterInvalid" +#define errObjectExpected "1003:ObjectExpected" +#define errLocked "1004:Locked" +#define errInvalidInput "1005:InvalidInput" +#define errInvalidID "1007:InvalidID" +#define errCreateObject "1006:Create object" +#define errInvalidEnumeration "1008:InvalidEnumerationValue" + +#define errObjectValidationFailed "3000:ObjectValidationFailed" +#define errSaveFailed "3001:SaveFailed" + +#define errUserError "5000:UserError" \ No newline at end of file Index: Res/Vertaling.cls.xml =================================================================== diff -u --- Res/Vertaling.cls.xml (revision 0) +++ Res/Vertaling.cls.xml (revision 2) @@ -0,0 +1,222 @@ + + + +persistent +Res.VertalingAbstract +0 + + +%Library.Boolean +0 + + + + +1 +Groep:%Library.String,Intern:%Library.String,Type:%Library.String,Taal:%Library.String +%Library.Status + + + + + +1 +Groep:%Library.String,Intern:%Library.String,Type:%Library.String +%Library.Status + + + + + +VTList: Een lijst van VertalingsTypes, bijv. "L;O;K" met ";" als Seperator +1 +Groep:%Library.String,Intern:%Library.String,VTList:%Library.String,Seperator:%Library.String=";" +%Library.Status + + + + + +Geeft de vertaling van de Interne waarde terug. Als +1 +Groep:%Library.String,Intern:%Library.String,TextType:%Library.String="L",Taal:%Library.String="N",VervangWaarde:%Library.String,PlainTxt:%Boolean=0,ReturnsHTML:%Boolean +%Library.String + + + + + +Geeft de vertaling van de Interne waarde terug. +Indien de vertaling niet gevonden is, dan wordt er vertaald naar TaalDFL, uitgebruid met het achtervoegsel "(TextType-Taal)". +Als ook TaalDFL geen vertaling bevat, wordt de code "{Intern-TextType}" teruggegeven. +1 +Groep:%Library.String,Intern:%Library.String,TextType:%Library.String="L",Taal:%Library.String="N",VervangWaarde:%Library.String,PlainTxt:%Boolean=0,ReturnsHTML:%Boolean +1 +%Library.String + + + + + +Ook lege vertalingen zijn toegelaten +%Library.SQLQuery +paGroep:%Library.String,paIntern:%Library.String,paType:%Library.String +SELECT Taal,Vertaling,IsHTML +FROM Res.Vertaling +WHERE (Groep = :paGroep) AND (Intern = :paIntern) AND (Type = :paType) +ORDER BY Taal + + + + + +%Library.SQLQuery +paGroep:%Library.String,paIntern:%Library.String,paType:%Library.String +SELECT Taal,Vertaling +FROM Res.Vertaling +WHERE (Groep = :paGroep) AND (Intern = :paIntern) AND (Type = :paType) AND (Vertaling IS NOT NULL) +ORDER BY Taal + + + + + + +Result is leeg dan niet bijgevoegd, vertaling bestaat al +Result is 1 dan bijvoegd +Anders errormelding +1 +Groep:%String,Intern:%String,TextType:%String="L",Taal:%String="N",Vertaling:%String +%String + + + + +%Library.CacheStorage +VertalingDefaultData + +"Vertaling" + +IsHTML + + + + + Index: _vhisie/TBX/TBox WebOrder VH.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder VH.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder VH.xsl (revision 2) @@ -0,0 +1,552 @@ + + + + + + + + + Van Hoecke - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    (BTW)  
    STRAAT/NR:
     
    POSTCODE:
     
    GEMEENTE:
     
    TELEFOON:
     
    FAX:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + +
     Totaal: +   + +   EUR +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + +
    +
    + +
    +
    +
    +
    + + + + + + +   + + +   + + + + + + + 1 + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    KLEURKEUZE*
    LADEZIJDENBODEM+RUGRELINGENBOXSIDE
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + +
    FRONTBEVESTIGING
    +

    FB

    +
    + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + + + + + + + + + mm + + + +
    + mm + + + + mm + + + + kg + + + + + + +   + + + + + + + + + + + + clsMColQty + + + + + clsOvzPrices + + + + +
    +
    + + + + EUR +
    # FOUT #
    + +
     
    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + Code + Breedte + WD + Diepte + Gew + BM + BX * + Diverse + Aant + + Ink. Prijs/stPrijs/stInfo + + + + + + + + * BX : BOXSIDE (Legende)
    + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + : + + + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/boxside + Dubbelwandige BOXSIDE + Glazen BOXSIDE master carré + Glazen BOXSIDE gezuurd + Glazen BOXSIDE helder + (Code ) + + + +
    Index: _vhisie/TBX/TBox WebOrder LMC_TL.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder LMC_TL.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder LMC_TL.xsl (revision 2) @@ -0,0 +1,496 @@ + + + + + + +EUR + + + + OPTIMA - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + Nummer_Kort:  +
    KLNaam:
     
    ID:
     
    Email:
     
    Levertijd:
     
    REFERENTIE:
     
         
    + + + + + +
    + + + + +
    + + FT_OFFAV + FT_OFF + FT_BBON + FT_INKP + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr 03.20.81.95.96
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    StdLade (UitStock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    PrijsTotaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKleurkeuze : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Bodem&Rug:

    Relingen:

    Boxside:

    VullingGlas:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    LadetypeTH

    +

    BreedteTH

    +

    WanddikteTH

    +

    LadediepteTH

    +

    DraagkrachtTH

    +

    FrontbevestigingTH *

    +

    BoxsideTH

    +

    DiverseTH

    +

    AantalTH

    + +

    Ink. Prijs/stPrijsPerStukTH InfoTH

    + +
    + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + : + FB_S + FB_I + FB_E + FB_A + FB_D + FB_Z + (Code ) + + + + + + + + + +

    * Box : VerhoogdeZijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + BX_DR + BX_ER + BX_ZR/VerhoogdeZijwand + BX_BD + BX_BG + BX_CAP + BX_COV + BX_BZ + (Code ) + + + +
    Index: csp/vhisie/TBX/BuildRef/tmpDev.mac.rou =================================================================== diff -u --- csp/vhisie/TBX/BuildRef/tmpDev.mac.rou (revision 0) +++ csp/vhisie/TBX/BuildRef/tmpDev.mac.rou (revision 2) @@ -0,0 +1,316 @@ +#include PRGACNTs +#include APPS.TBXWeb + +#define RefStartNew "\\\START" + +OnPreHTTP() +#define CSPPage ##class(%CSP.Page) +#define TaalDfl $S(sDomVERW="HEIN":"D", sDomVERW="LMC":"F", sDomVERW="SFS":"D", 1:"N") + s:('$D(ClientIP)) ClientIP="192.168.1.97" + ;d WL^vhDBG($C(13,10)) + New Ref,RefNew,RefArray,tmpRq + Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT="www.tandem-box.com" ; $$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal=$G(%request.Data("Taal",1),$$$TaalDfl) + Set QS=$G(%request.CgiEnvs("QUERY_STRING")) + Set Ref=$G(%request.Data("REF",1)) + Set RefNew=$G(%request.Data("REF",1),$$$RefStartNew) ; Als REF niet meegegeven is, StartNew (dfl) gebruiken + ; Convert QueryString to Array: tmpRq(name)=value + Set name="" + For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) + Kill tmpRq("CSPToken") + ; HRefs to switch Taal + Do ophBuildSwitchTLArray + ; Analyse REF + Set Ref=$$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref) ; Get Ref decrypted + Set:(Ref="")&&($L(RefNew)) Ref=RefNew + If $L(Ref) Do + . Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.RefArray) + . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW + . Set VERW=RefArray("VERW") + . Set KLNr=$G(RefArray("KLNR")) + . Set wsID=$G(RefArray("WSID")) + . Set sMode=$G(RefArray("MODE")) + Set:($G(VERW)="") VERW=sDomVERW + Set blnNoAccess=0 + Set RefOut=Ref + If $G(%request.Data("REF",1))="" Do + . Set VERW=$G(%request.Data("VERW",1)) + . Set KLNr=$G(%request.Data("KLNR",1)) + . Set wsID=$G(%request.Data("WSID",1)) + . Set sMode=$G(%request.Data("MODE",1)) + + Do + . Set %blnBuildRef=1 + . Set DataOpt=$G(%request.Data("DATAOPT",1)) + . Set DataOptOut=$$OPTIMADecryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,,$S(VERW="SFS":"SFS", VERW="LMC":"LMC", VERW="MBHO":"MBHO", 1:"")) + . Kill %blnBuildRef + + If ($G(%request.Data("SUBMIT",1))="Encrypt") Do + . Set blnEncrypt=1 + . Set EncRefOut=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,sMode)) + . Set RefCheck=VERW_"\"_KLNr_"\"_wsID_"\"_sMode + . Set RefOut="" + . ;If $L($G(%request.Data("DATAOPT",1))) Do + . If $L(DataOpt) Do + .. Set DataOptCheck=DataOpt + .. Set EncDataOptOut=$$OPTIMAEncryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,$S(VERW="SFS":"SFS", VERW="LMC":"LMC", VERW="MBHO":"MBHO", 1:"")) + .. ;Set EncDataOptOut=$system.Encryption.Base64Decode($TR(EncDataOptOut,"_-","+=")) + . ;New Page,UrlTaal + . Set Page=$G(%request.Data("PAGE",1)) + . Set UrlTaal=$G(%request.Data("URLTAAL",1)) + . Set UrlOut=$S($L(Page):Page_"?REF="_EncRefOut_$S($L(UrlTaal):"&Taal="_UrlTaal,1:""), 1:"") + + ;Set UrlOut="Test: "_VERW_" "_KLNr_" "_wsID_" "_sMode + + Do ophAddToLog("BUILDREF") + Quit 1 +ophAddToLog(OverrideActie) + Do ##class(cspBasis.GAProdTBox).AddToLog($G(OverrideActie,"BUILDREF"),sDomain,,,,$S($G(VERW)="":$G(sDomVERW),1:VERW),Taal,"") + Quit +ophBuildSwitchTLArray + New TL,tmpAr + Merge tmpAr=tmpRq + For TL="N","F","E","D" Do + . If TL=Taal Do Quit + .. Set arSwitchTL(TL)=TL + . ; Else + . Set tmpAr("Taal")=TL + . Set arSwitchTL(TL)=""_TL_"" + Quit + + + + + // Specific Test Page for testing DataOpt Parameter in URL (for OPTIMA / SFS / MBHO) +OnPreHTTPTestDataOpt(TestVERW) +#define CSPPage ##class(%CSP.Page) +#define TaalDfl $S(sDomVERW="HEIN":"D", sDomVERW="LMC":"F", sDomVERW="SFS":"D", 1:"N") + s:('$D(ClientIP)) ClientIP="192.168.1.97" + ;d WL^vhDBG($C(13,10)) + New Ref,RefNew,RefArray,tmpRq,tmpAr,tmpTaal + Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) + Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$S(TestVERW="LMC":"www.optima-tbx.fr", TestVERW="SFS":"tbx.sfsunimarket.biz", TestVERW="MBHO":$$$TBoxWebDomeinMBHO, 1:$$TBXDomainCVT^cspBasis.Library(sDomain)) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal=$G(%request.Data("Taal",1),$$$TaalDfl) + Set QS=$G(%request.CgiEnvs("QUERY_STRING")) + Set Ref=$G(%request.Data("REF",1)) + Set RefNew=$G(%request.Data("REF",1),$$$RefStartNew) ; Als REF niet meegegeven is, StartNew (dfl) gebruiken + Set blnKeySteps=($G(%request.Data("KeySteps",1),0)=1) + ; Convert QueryString to Array: tmpRq(name)=value + Set name="" + For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) + Kill tmpRq("CSPToken") + ; HRefs to switch Taal + Do ophBuildSwitchTLArray + ; Analyse REF + Set Ref=$$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref) ; Get Ref decrypted + Set:(Ref="")&&($L(RefNew)) Ref=RefNew + If $L(Ref) Do + . Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.RefArray) + . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW + . Set VERW=RefArray("VERW") + . Set KLNr=$G(RefArray("KLNR")) + . Set wsID=$G(RefArray("WSID")) + . Set sMode=$G(RefArray("MODE")) + Set:($G(VERW)="") VERW=sDomVERW + Set blnNoAccess=0 + If 0 Set blnNoAccess=1 + ;Else If sDomVERW="SFS" Set blnNoAccess=(%RemoteIP'?1(1"192.168.1."1.3N,1"77.59.193.234",1"195.141.221.1")) + ;Else If sDomVERW="LMC" Set blnNoAccess=(%RemoteIP'?1(1"192.168.1."1.3N,1"92.103.129.165",1"212.103.4.85")) || 1 ; blocked for all IP + Else If sDomVERW="SFS" Set blnNoAccess=$$$Not($$$AccessTestPageDataOptSFS(%RemoteIP)||(%RemoteIP?1(1"192.168.1."1.3N))) + Else If sDomVERW="LMC" Set blnNoAccess=$$$Not($$$AccessTestPageDataOptLMC(%RemoteIP)||(%RemoteIP?1(1"192.168.1."1.3N))) || 1 ; blocked for all IP + Else If sDomVERW="MBHO" Set blnNoAccess=$$$Not($$$AccessTestPageDataOptMBHO(%RemoteIP)||(%RemoteIP?1(1"192.168.1."1.3N))) + Else Set blnNoAccess=1 + + Set RefOut=Ref + If 'blnNoAccess Do + . Set %blnBuildRef=1 + . Set DataOpt=$G(%request.Data("DATAOPT",1)) + . Set DataOptOut=$$OPTIMADecryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,.tmpAr,$S(sDomVERW="SFS":"SFS", sDomVERW="MBHO":"MBHO",1:"LMC")) + . Kill %blnBuildRef + Set tmpTaal=$G(tmpAr("Taal")) + Set:(tmpTaal?1(1"N",1"F",1"E",1"D")) Taal=tmpTaal + Merge arDataOpt=tmpAr + If $G(%request.Data("REF",1))="" Do + . Set VERW=$G(%request.Data("VERW",1)) + . Set KLNr=$G(%request.Data("KLNR",1)) + . Set wsID=$G(%request.Data("WSID",1)) + . Set sMode=$G(%request.Data("MODE",1)) + + If (sDomVERW="SFS")&&(blnNoAccess) Do Quit 1 ; Block access to this page. Only enable it when requested + . ;Set blnNoAccess=1 + . Set msg="TestPage voor SFS is geblokkeerd (/VHISIE/TBX/TestDataOptSFS.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF + . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) + . Do ophAddToLog("!TESTOPTSFS!") + Else If (sDomVERW="MBHO")&&(blnNoAccess) Do Quit 1 ; Block access to this page. Only enable it when requested + . ;Set blnNoAccess=1 + . Set msg="TestPage voor MBHO is geblokkeerd (/VHISIE/TBX/TestDataOptMBHO.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF + . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) + . Do ophAddToLog("!TESTOPTMBHO!") + Else If blnNoAccess Do Quit 1 ; Block access to this page. Only enable it when requested + . ;Set blnNoAccess=1 + . Set msg="TestPage voor Optima is geblokkeerd (/VHISIE/TBX/TestDataOptLMC.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF + . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) + . Do ophAddToLog("!TESTOPTIMA!") + + If ($G(%request.Data("SUBMIT",1))="Encrypt") Do + . Set blnEncrypt=1 + . Set EncRefOut=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,sMode)) + . Set RefCheck=VERW_"\"_KLNr_"\"_wsID_"\"_sMode + . Set RefOut="" + . ;If $L($G(%request.Data("DATAOPT",1))) Do + . If $L(DataOpt) Do + .. Set DataOptCheck=DataOpt + .. Set EncDataOptOut=$$OPTIMAEncryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,$S(sDomVERW="SFS":"SFS", sDomVERW="MBHO":"MBHO", 1:"LMC")) + .. ;Set EncDataOptOut=$system.Encryption.Base64Decode($TR(EncDataOptOut,"_-","+=")) + .. If blnKeySteps Do ophOPTIMAIntermediates(DataOpt,sDomVERW) + . ;New Page,UrlTaal + . Set Page=$G(%request.Data("PAGE",1)) + . Set UrlTaal=$G(%request.Data("URLTAAL",1)) + . Set UrlOut=$S($L(Page):Page_"?REF="_EncRefOut_$S($L(UrlTaal):"&Taal="_UrlTaal,1:""), 1:"") + Do ophAddToLog($S(sDomVERW="LMC":"TESTOPTIMA", sDomVERW="SFS":"TESTOPTSFS", sDomVERW="MBHO":"TESTOPTMBHO", 1:"TESTDATAOPT")) + Quit 1 +ophOPTIMAIntermediates(Data,sDomVERW) + New OptimaKey,encData,Step1,Step2,Step3,Step4,Step2Hex + Quit:($G(Data)="") "" + Set OptimaKey=$S(sDomVERW="LMC":$$$OptimaKey, sDomVERW="SFS":$$$SfsOptKey, sDomVERW="MBHO":$$$MBHollandOptKey, 1:ERROR) + Set Step1=Data + Set Step2=$system.Encryption.AESEncode(Step1,OptimaKey) + Set Step3=$TR($system.Encryption.Base64Encode(Step2),$$$CRLF,"") + Set Step4=$TR($TR(Step3,"+","_"),"=","-") + Set Step2Hex=$$ophCVTHex(Step2) + Set arStepsOPT(1)=Step1 + Set arStepsOPT(2)=Step2 Set arStepsOPT("2Hex")=Step2Hex + Set arStepsOPT(3)=Step3 + Set arStepsOPT(4)=Step4 + Quit +ophCVTHex(str,Sep) + New strH,i + Set Sep=$G(Sep," ") + Set strH="" + For i=1:1:$L(str) Set $P(strH,Sep,i)=$ZHEX($ASCII($E(str,i))) + Quit strH + + +OnPreHTTPFixOptima() +#define CSPPage ##class(%CSP.Page) +#define TaalDfl "F" + s:('$D(ClientIP)) ClientIP="192.168.1.97" + ;d WL^vhDBG($C(13,10)) + New Ref,RefNew,RefArray,tmpRq,tmpAr,tmpTaal + Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) + Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT="www.optima-tbx.fr" ; $$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal=$G(%request.Data("Taal",1),$$$TaalDfl) + Set QS=$G(%request.CgiEnvs("QUERY_STRING")) + Set Ref=$G(%request.Data("REF",1)) + Set EncRef=Ref + + ; Analyse REF + Set Ref=$$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref) ; Get Ref decrypted + If $L(Ref) Do + . Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.RefArray) + . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW + . Set VERW=RefArray("VERW") + . Set KLNr=$G(RefArray("KLNR")) + . Set wsID=$G(RefArray("WSID")) + . Set sMode=$G(RefArray("MODE")) + Set blnNoAccess=$$$Not(($G(VERW)="LMC")&&($G(sMode)="START")) + Set %blnBuildRef=($G(%request.Data("SUBMIT",1))="Sauver") + Set DataOpt=$G(%request.Data("DATAOPT",1)) + Set EncDataOptOrig=$G(%request.Data("DATAOPTORIG",1),DataOpt) + Set DataOptOut=$$OPTIMADecryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOpt,.tmpAr,"LMC") + Set blnEditData=($E(DataOptOut,1,4)="EDIT") + If blnEditData Do + . Set CodeSubmit=$G(%request.Data("SUBMIT",1)) + . Set KLNrOpt=$G(%request.Data("KLNR",1)) + . Set blnEditFind=(CodeSubmit="EditFind") + . Set blnEditModify=(CodeSubmit="EditModify") + . Set blnEditRemove=(CodeSubmit="EditRemove") + . Kill tmpAr + . If blnEditFind Do + . . ; Show stored data + . . Set:($IsValidNum(KLNrOpt)) KLMini=##class(cspBasis.GAProdTBox).GetKlantData(sDomVERW,KLNrOpt,$LB("Stg","NoAction")) + . . If $IsObject($G(KLMini)) Do + . . . Set tmpAr("Taal")= KLMini.Taal + . . . Set tmpAr("KLNummer")=KLMini.Nummer + . . . Set tmpAr("KLNaam")=KLMini.Naam + . . . Set tmpAr("EMail")=KLMini.EMail + . . . Set tmpAr("Korting")=KLMini.Korting + . . Else Do + . . . Set msgDataOptToGlobal="No data found for KLNrOpt. Try again on the previous page." + . Else If blnEditRemove Do + . . Set scSave=##class(cspBasis.GAProdTBox).SetOptimaFixData("",KLNrOpt,"",1) + . . Set msgDataOptEdit="Data for KLNrOpt has been deleted.
    Please test your login again (retournez � la page de ""Connexion"") ..." + . Else If blnEditModify Do + . . ; ... + . Set (EncDataOptOrig,DataOptOut)="" + . ;Set:(blnEditFind) DataOpt="" + . Set msgVerifyKLNr="!!! Verifiez le Num�ro de client !!!" + + Kill %blnBuildRef + Merge arDataOpt=tmpAr + Set:($G(arDataOpt("Taal"))="") arDataOpt("Taal")="F" + Set:($G(arDataOpt("EMail"))="") arDataOpt("EMail")="tandembox@lmc.tm.fr" + If ($G(arDataOpt("KLNummer"))="")&&($IsValidNum($G(%OptimaVar("KLNr")))) Do + . Set arDataOpt("KLNummer")=%OptimaVar("KLNr") + . Set msgVerifyKLNr="!!! Verifiez le Num�ro de client !!!" + + d WL^vhDBG("Input QS decrypted :"_$G(%OptimaVar("Data"))_$$$CRLF_$$ArrayToText^vhLib("arDataOpt")) + Quit:(blnNoAccess) 1 + If '($$$OptimaAccess) Do Quit 1 ; Block access to this page. Only enable it when requested + . Set blnNoAccess=1 + . Set msg="FixPage voor Optima is geblokkeerd (/VHISIE/TBX/FixOPTIMA.csp). "_$$$CRLF_"Toegang enkel mogelijk op aanvraag."_$$$CRLF + . Do ophSendAlertMail^csp.vhisie.TBX.Main.tmpDev(msg) + . Do ophAddToLog("!FIXOPTIMA!") + + If ($G(%request.Data("SUBMIT",1))="Sauver") Do + .// Set RefCheck=VERW_"\"_KLNr_"\"_wsID_"\"_sMode + . Set KLNrOpt=$G(%request.Data("KLNR",1)) + . Set arDataOpt("Taal")=$G(%request.Data("TAALKL",1)) + . Set arDataOpt("KLNummer")=KLNrOpt + . Set arDataOpt("KLNaam")=$G(%request.Data("KLNAAM",1)) + . Set arDataOpt("EMail")=$G(%request.Data("EMAIL",1)) + . Set arDataOpt("Korting")=$TR($G(%request.Data("KORTING",1)),"%","") + . Set DataOptOut=arDataOpt("Taal")_"\"_KLNrOpt_"\"_arDataOpt("KLNaam")_"\"_arDataOpt("EMail")_"\"_arDataOpt("Korting") + . ; Save data - StorageGlobal... + . Set scSave=##class(cspBasis.GAProdTBox).SetOptimaFixData(EncDataOptOrig,KLNrOpt,DataOptOut) + . If $$$ISERR(scSave) Do + . . Set msgDataOptToGlobal="Error when trying to save this data: "_"
    "_$$ParseStatus^vhLib(scSave)_"

    "_"Please try again ..." + . Else Do + . . Set msgDataOptToGlobal="Data saved successful.
    Please test your login again (retournez � la page de ""Connexion"") ..." + . ;New Page,UrlTaal + . If $L(DataOptOut) Do + .. Set DataOptCheck=DataOptOut + .. Set EncDataOptOut=$$OPTIMAEncryptData^cspBasis.TBX.DecodeURL.tmpDev(DataOptOut,"LMC") + . Set Page="main.csp" ; $G(%request.Data("PAGE",1)) + . Set UrlTaal="F" ; $G(%request.Data("URLTAAL",1)) + . Set UrlOut=$S($L(Page):Page_"?REF="_EncRef_"&DATAOPT="_EncDataOptOut, 1:"") + . Set UrlOut2=$S($L(Page):Page_"?REF="_EncRef_$S($L(UrlTaal):"&Taal="_UrlTaal,1:""), 1:"") + Do ophAddToLog("FIXOPTIMA") + Quit 1 + + /* +SELECT ID, LogTime, ClientHost, Operation, Target, Parameters, ServiceStatus + FROM DW_WWW.HTTPLogTBX + WHERE (LogTime like '2004-07-03%') and (Target like '%TestDataOptSFS.CSP') + WHERE (LogTime like '2004-07-03%') and (Target like '%TestDataOptLMC.CSP') + + WHERE (LogTime like '2004-07-03%') and (UPPER(Target) like '%TESTOPTIMA.CSP') + */ \ No newline at end of file Index: Res/PI/emKostDetail.cls.xml =================================================================== diff -u --- Res/PI/emKostDetail.cls.xml (revision 0) +++ Res/PI/emKostDetail.cls.xml (revision 2) @@ -0,0 +1,219 @@ + + + + +Embedded klasse voor alle kostfactoren +serial +%Library.SerialObject + + +%Library.String +1 + + + + +Minimum handelingskost in EUR als alle andere handelingskosten (die resulteren uit dit kost object) bijeengeteld zijn, optioneel +%Float + + + + + +Handelingskost per lopende meter in EUR, optioneel +%Float + + + + + +Handelingskost per vierkante meter in EUR, optioneel +%Float + + + + + +Handelingskost per kubiek meter in EUR, optioneel +%Float + + + + + +Handelingskost per stuk in EUR, optioneel +%Float + + + + + +Minimum machinekost in EUR als alle andere machinekosten (die resulteren uit dit kost object) bijeengeteld zijn, optioneel +%Float + + + + + +Machinekost per lopende meter in EUR, optioneel +%Float + + + + + +Machinekost per vierkante meter in EUR, optioneel +%Float + + + + + +Machinekost per kubiek meter in EUR, optioneel +%Float + + + + + +Machinekost per stuk in EUR, optioneel +%Float + + + + +%Library.Float + + + + +Minimum materiaalkost in EUR als alle andere materiaalkosten (die resulteren uit dit kost object) bijeengeteld zijn, optioneel +%Float + + + + + +Materiaalkost per lopende meter in EUR, optioneel +%Float + + + + + +Materiaalkost per vierkante meter in EUR, optioneel +%Float + + + + + +Materiaalkost per kubiek meter in EUR, optioneel +%Float + + + + + +Materiaalkost per stuk in EUR, optioneel +%Float + + + + +%Library.Float + + + +%Library.Float + + + +%Library.String +1 + + + +%Library.Float + + + +%Library.Float + + + +%Library.Float + + + +%CacheSerialState +KostDetailState +^Res.PI.emKostDetailS + + +HandKostMin + + +HandKostPerLM + + +HandKostPerM2 + + +HandKostPerM3 + + +HandKostPerStuk + + +MachKostMin + + +MachKostPerLM + + +MachKostPerM2 + + +MachKostPerM3 + + +MachKostPerStuk + + +MatKostMin + + +MatKostPerLM + + +MatKostPerM2 + + +MatKostPerM3 + + +MatKostPerStuk + + +TijdBasis + + +TijdMin + + +TijdMultiplicant + + +MatBasis + + +MatMin + + +MatMultiplicant + + + + + Index: Sys/cTimeStampDisp.cls.xml =================================================================== diff -u --- Sys/cTimeStampDisp.cls.xml (revision 0) +++ Sys/cTimeStampDisp.cls.xml (revision 2) @@ -0,0 +1,22 @@ + + + +datatype +TIMESTAMP +%occTransaction +TIMESTAMP +1 +TIMESTAMP + + + +Zet een $H om naar Datum/tijd +1 +expression +%val:%Library.String +%Library.TimeStamp + + + + Index: csp/tbx/header.cls.xml =================================================================== diff -u --- csp/tbx/header.cls.xml (revision 0) +++ csp/tbx/header.cls.xml (revision 2) @@ -0,0 +1,258 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +#(..WebTextValue("Help",Taal,"L"))# + #(..WebTextValue("Help",Taal,"L"))# + #(..WebTextValue("Help",Taal,"L"))# + */ + Write !,! + If '(sDomKLNr=7833) Goto %csp00001 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! + Goto %csp00002 ;} +%csp00001 If '(sDomKLNr=6279) Goto %csp00003 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! + Goto %csp00002 ;} +%csp00003 If '(sDomKLNr=1736) Goto %csp00004 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! + Goto %csp00002 ;} +%csp00004 If '(sDomKLNr=4598) Goto %csp00005 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! + Goto %csp00002 ;} +%csp00005 If '(sDomVERW="HFLE") Goto %csp00006 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! + Goto %csp00002 ;} +%csp00006 If '(sDomVERW="SFS") Goto %csp00007 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! + Goto %csp00002 ;} +%csp00007 If '(sDomVERW="MBHO") Goto %csp00008 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! + Write "" + Write ! + Goto %csp00002 ;} +%csp00008 ;{ + Write " " + Write "" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     " + Write "" + Write "" + Write "" + Write " " + Write "" + Write " " + Write "" + Write (..WebTextValue("Help",Taal,"L")) + Write "" + Write " 
    ",! +%csp00002 ;} +]]>
    +
    + + +c:\cachesys\csp\vhisie\TBX\Header.csp + + + +/vhisie/TBX/Header.csp + + + +62019,39849 + +
    +
    Index: APPS/TBXWeb/impl/HEINOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/HEINOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/HEINOrderHandler.cls.xml (revision 2) @@ -0,0 +1,64 @@ + + + +1 +AbstractOrderHandler +0 + + +0 + + + +%String + + + + +Boolean + + + + +Destination +%List +" +#Else + Set lbTo=$LB($$$EMailOVHeinTEST) ; """HEIN OV."" <$$$EMailOVHeinTEST>" +#EndIf + + Quit lbTo +]]> + + + +Destination +%String + + + + +%String + + + + +%Status + + + + +%String +" +]]> + + + Index: _vhisie/TBX/TBox WebOrder VH_F.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder VH_F.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder VH_F.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Van Hoecke - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI No.:  +
    NOM:
     
    (BTW)  
    ADRESSE:
     
    CODE POSTALE:
     
    VILLE:
     
    TÉLÉPHONE:
     
    FAX:
     
    E-MAIL:
     
    DÉLAI DE LIVRAISON:
     
    RÉFÉRENCE:
     
    + + + + + +
    + + + + +
    + + DEMANDE D'OFFRE + OFFRE + BON DE COMMANDE + ORDRE D'ACHAT + Unknown: [] + +
    +
    +   +
    Fax à n° (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Tiroir standard (de stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Ne pas livrer:

     

    Totale:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Cette offre est valable pour 30 jours, jusqu'a +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : Côtés tiroirCOULEURS : Composants
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FOND+DOS:

    TUBES:

    BOXSIDE:

    REMPLIS. / VERRE:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # ERREUR #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Largeur

    +

    EP

    +

    Profon

    +

    Pds

    +

    AF *

    +

    Box

    +

    Divers

    +

    Qté

    + +

    Ink. Prijs/stPrix/pce Info

    + +
    + + + + +

    * AF : Attache de façade (Légende)

    +

    + + + + + + +
    +

    +
    + + + + + : + à visser + INSERTA + EXPANDO + pour cadre alu & Trespa + drevel + sans + (Code ) + + + + + + + + + +

    * Box : Côtés augmentés (Légende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Galérie double + Galérie simple + Sans galérie/côtés augmentés + BOXSIDE à double paroi + BOXSIDE en verre + BOXCAP + BOXCOVER avec ... + BOXCOVER sans verre + (Code ) + + + +
    Index: _vhisie/TBX/TestRequest.csp =================================================================== diff -u --- _vhisie/TBX/TestRequest.csp (revision 0) +++ _vhisie/TBX/TestRequest.csp (revision 2) @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + #($S(blnVHEPN:"Van Hoecke - ",1:"")_"TandemBox - Test REQUEST")# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +

    TEST PAGINA

    +

    KlantNr: #($G(KLNr))#

    +

     

    +

    Klik de testbutton om na te gaan of de functie "XMLHTTPRequest" werkt.
    + Deze functie is noodzakelijk voor de werking van de TandemBox-website.

    +

     

    +

    Test Button

    +

     

    +

    Result:

    +

     

    +

    In het vakje hierboven moet een willekeurig getal tussen 1 en 100 verschijnen, telkens op de "Test Button" geklikt wordt.
    + Als dit het geval is, dan zou de volledige ingave+berekening van TandemBox producten ook moeten werken.

    +
    +   << BACK +
    + +
    + + + + + \ No newline at end of file Index: csp/tbx/selectstdlade.cls.xml =================================================================== diff -u --- csp/tbx/selectstdlade.cls.xml (revision 0) +++ csp/tbx/selectstdlade.cls.xml (revision 2) @@ -0,0 +1,312 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"
    ",! + Write $c(9) + Write "" + Write (..WebTextValue("StdLade",Taal,"L")) + Write "" + Write "
    ",! + Write $c(9)_"
    ",! + Write $c(9)_"

    ",! + Write $c(9,9)_(..WebTextValue("StdLadeKlikken",Taal,"O")),! + Write $c(9)_"

    ",! + Write $c(9)_"

    ",! + Write $c(9,9)_(""_..WebTextValue("Ladediepte",Taal,"L")_": 500mm"_"   - "_..WebTextValue("Blumotion",Taal,"L")_": integriert"_"   - "_..WebTextValue("Wanddikte",Taal,"L")_": 19mm"),! + Write $c(9)_"

    ",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write !,$c(9,9)_"",! + Write $c(9) + If '($D(arStdL)#10=1) Goto %csp00001 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) +%csp00001 ;} + Write !,$c(9,9),! + Write $c(9,9) + Set lbSortDef=$LB("N\ZR","M\ZR","B\ER","D\BD","D\DR","D\ER","M/Z\ZR","B/Z\ER","D/Z\BD","D/Z\DR","D/Z\ER") + Kill arSorted + Set iXtra=$LL(lbSortDef) + Set LTBX="" + For Set LTBX=$O(arStdL(LTBX)) Quit:(LTBX="") Do + . Set sPos=$LF(lbSortDef,LTBX) + . If sPos>0 Set arSorted(sPos)=LTBX + . Else Set arSorted($INCREMENT(iXtra))=LTBX ; If not in list, append to array + ;d WL^vhDBG("arSorted:"_$$ArrayToText^vhLib("arSorted")) + Kill arDK + Set arDK(30)="" + Set arDK(50)="" + Set arDK(65)="" + Set iLTBX="" + Write !,!,"" + Write ! +%csp00003 If '(..LoopArray(.arSorted,.iLTBX)) Goto %csp00002 ;{ + Write !,$c(9,9) + Set LTBX=arSorted(iLTBX) + Set LT=$P(LTBX,"\",1) + Set BX=$P(LTBX,"\",2) + Kill tmpAr + Merge tmpAr=arStdL(LTBX) + Set ImgCode=##class(BL.PR.GA.TandemBox).ImageCodeFromLC(LT,BX) + Set CB="" + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Goto %csp00003 +%csp00002 ;} + Write !,$c(9)_"
    "_(..WebTextValue("Ladetype",Taal,"L"))_""_(..WebTextValue("Breedte",Taal,"L"))_""_(..WebTextValue("Draagkracht",Taal,"L"))_" 
    "_($$REPLACE^vhRtn1(arStdL,$C(13,10),"
    "))_"
    ",! + Write $c(9,9,9,9) + Write "" + Write (LT_" - "_..WebTextValue("BX_"_BX,Taal,"L")) + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) +%csp00005 If '(..LoopArray(.tmpAr,.CB)) Goto %csp00004 ;{ + Write !,$c(9,9,9,9,9) + Kill pdlMDRow + Set DK="" + For Set DK=$O(arDK(DK)) Quit:(DK="") Do + . Set pdlMDRow(DK)="" + . Set AttribTD="" + . Quit:('$D(tmpAr(CB,DK))) ; Else ... + . Set pdlMDRow(DK)=..QuoteJS($G(tmpAr(CB,DK,"KOL",1))) + . Set $P(pdlMDRow(DK),"`",2)="$$QTY$$" + . ;Set AttribTD=$S($G(tmpAr(CB,DK,"SEL")):"class=""clsRowActive""", 1:"") + Set DK="" + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) +%csp00007 If '(..LoopArray(.arDK,.DK)) Goto %csp00006 ;{ + Write !,$c(9,9,9,9,9,9,9) + If '($L(pdlMDRow(DK))) Goto %csp00008 ;{ + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9) + Goto %csp00009 ;} +%csp00008 ;{ + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9,9) +%csp00009 ;} + Write !,$c(9,9,9,9,9,9) + Goto %csp00007 +%csp00006 ;} + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9) + Goto %csp00005 +%csp00004 ;} + Write !,$c(9,9,9,9)_"
    "_(CB)_" mm" + Write "" + Write (DK)_" kg" + Write "" + Write " 
    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
    " + Write "" + Write "
    ",! + Write $c(9)_"
    ",! + Write $c(9) + Write "" + Write (..WebTextValue("Sluiten",Taal,"L")) + Write "" + Write !,$c(9)_"
    ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,$c(9),! + Write "" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TandemBox "_(..WebTextValue("StdLade",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..Include("PRGACNTs.INC") + Write ! + #define TaalDfl $S(sDomVERW="HEIN":"D", sDomVERW="LMC":"F", sDomVERW="SFS":"D", 1:"N") + Set %session.AppTimeout = 905 + s:('$D(ClientIP)) ClientIP="192.168.1.97" + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,$$$TaalDfl) + ;Set KLNr=$$SesDataFromRq^cspBasis.Library("KLNR",,"") + ;Set VERW=$$SesDataFromRq^cspBasis.Library("VERW",,"") + New arInits,arStdL + Set KleurKeuze=$G(%request.Data("klr",1)) + Set MData=$G(%request.Data("data",1)) + ;d WL^vhDBG("klnr:"_KLNr_" kleur:"_KleurKeuze_" mdata:"_MData) + Do ..FullDataFromPDLs(.arInits, , KleurKeuze, MData) + ;d WL^vhDBG($$ArrayToText^vhLib("arInits")) + Set KLNrStdL=sDomKLNr + Do StdLadeArray^cspBasis.GAProdTBox.tmpDev(KLNrStdL,.arStdL) + ;d WL^vhDBG($$ArrayToText^vhLib("arStdL")) + Write !,! + #define GetVertalingJS(%i,%tl,%tt) ##class(Res.Vertaling).GetVertalingPlus("TBW",%i,%tt,%tl,,1) + #define jsVTLAddVal(%i,%tl,%tt) $C(9)_"jsArVTL["""_%i_"#"_%tl_"-"_%tt_"""]="""_$$$GetVertalingJS(%i,%tl,%tt)_""";"_$C(13,10) + ; Vertalingen voor teksten ingevuld/aangepast via JavaScript. + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +c:\cachesys\csp\httplog\DLGqueryVH.csp + + + +/csp/httplog/DLGqueryVH.csp + + + +62105,38826 + +
    +
    Index: vhRES.mac.rou =================================================================== diff -u --- vhRES.mac.rou (revision 0) +++ vhRES.mac.rou (revision 2) @@ -0,0 +1,145 @@ +vhRES ;LowLevel Resource routines [ 10/16/2001 4:24 PM ] + + New + Do INIT^vhTERMINA,DISPLAY^vhScherm("RES") + Set sTyp="" + Do FIELD^vhScherm("RES","TYPE") + If $L(sTyp) Do + .Set sRec=^RES("vhRES","PI","TYP","D",sTyp) + .Do EXEC($P(sRec,"`",3),$P(sRec,"`",4),X,$P(sRec,"`",5)) + Quit + +GROEP(sTyp,sOGroep,sEditNiv) + New sPos,sGroep,sSubGr,sCnt,sLine,sColom,sTitel + Set sOGroep=$G(sOGroep) + Set sPos=$$POS^vhScherm("GROEP"),sLine=$P($P(sPos,D,2),";"),sColom=$P($P(sPos,D,2),";",2) + Set sGroep="",sCnt=0 + For Set sGroep=$O(^RES(sGroep)) Quit:sGroep="" Do + .Quit:'$D(^RES(sGroep,sTyp)) + .If sEditNiv Do Quit:sSubGr="" + ..Set sSubGr="" + ..For Set sSubGr=$O(^RES(sGroep,sTyp,sSubGr)) Quit:sSubGr="" Quit:$P($G(^RES(sGroep,sTyp,sSubGr)),"`",19)'sRect)),sRight+(sRect*(sRight<(sScr("KOL")-sRect+1))),$S(sLeft>sRect:"M",1:""),$S(sRight<(sScr("KOL")-sRect+1):"M",1:""),0) + Quit:'$L(sTxt) + Set FP=sTop-1+sPos*100+sLeft Write @F + Do WALIGN(sPos,sTxt,0,1) + Quit + +WTXT(sLijn) + For Quit:sLijn="" Do + .Write $P(sLijn,"�") + .Set $P(sLijn,"�")="" + .If $E(sLijn)="�",$L($E(sLijn,2)),"BIKUbiku"[$E(sLijn,2) Write @(@("FMT"_$E(sLijn,2))) + .Else Write $E(sLijn,1,2) + .Set $E(sLijn,1,2)="" + Quit \ No newline at end of file Index: EH/VisualBasic/EventQueue.cls.xml =================================================================== diff -u --- EH/VisualBasic/EventQueue.cls.xml (revision 0) +++ EH/VisualBasic/EventQueue.cls.xml (revision 2) @@ -0,0 +1,36 @@ + + + +EH.Lib.BaseEventQueue + + +0.25 + + + +%Library.Integer +2.5 + + + +%Library.Boolean +0 + + + +TimeOut:%Library.Integer +%Library.Boolean +0, dus de Wait heeft als result 'false' +]]> + + + Index: Prod/GADef/Vulling.cls.xml =================================================================== diff -u --- Prod/GADef/Vulling.cls.xml (revision 0) +++ Prod/GADef/Vulling.cls.xml (revision 2) @@ -0,0 +1,100 @@ + + + + +Glas met boringen en extra bewerkingen +persistent +Prod.GADef.AfgeleidDef + + +Prod.GADef.emKadBoring +array +0 + + + +%Library.Float + +0 + + + +%Library.Float + +0 + + + +Prod.GADef.emKadVulling + +0 + + + + +Voor bepaalde leveranciers moet de vulling getransformeerd worden naar een ander assen stelsel of ook wordt het glas getoond op een bepaalde manier. +code +%this.Breedte + Set Key="" + Set Inv=0 + For Set VullingExtraId=%this.Vulling.VullingExtra.GetObjectIdNext(.Key) Quit:Key="" Do + . Set:VullingExtraId["INV" Inv=1 + Set Spiegel=(Inv+Draai90)#2 ; Spiegel via Y-as (via breedte) indien oftewel Invers OF (niet EN) Draaiing90. + ; + ;ZWrite Spiegel,Draai90 + If 'Draai90,'Spiegel Quit ; Niets te draaien of te spiegelen + ; Draaing en spiegeling uitvoeren + Set Hoogte=%this.Hoogte + Set Breedte=%this.Breedte + If Draai90 Do + . Set %this.Hoogte=Breedte + . Set %this.Breedte=Hoogte + Set Key="" + For Set emBoring=%this.Boringen.GetNext(.Key) Quit:Key="" Do + . ;Do DumpObject^%apiOBJ(emBoring) + . Set:Spiegel emBoring.XPos=Breedte-emBoring.XPos + . If Draai90 Do + .. Set Pos=emBoring.XPos + .. Set emBoring.XPos=emBoring.YPos + .. Set emBoring.YPos=Pos + . ;Do DumpObject^%apiOBJ(emBoring) + . Do emBoring.%Close() + Quit + +]]> + + + +%Library.CacheStorage +VullingDefaultData + +Boringen +subnode +"BOR" + + +"VUL" + +Vulling + + +Breedte + + +Hoogte + + + +"Vulling" + +Breedte + + +Hoogte + + + + + Index: Prod/GAMeta/EM/KostTijd.cls.xml =================================================================== diff -u --- Prod/GAMeta/EM/KostTijd.cls.xml (revision 0) +++ Prod/GAMeta/EM/KostTijd.cls.xml (revision 2) @@ -0,0 +1,275 @@ + + + +Multiplicant=EVAL(MulitplicanctFormule) +; Uitzetten van de multiplicant op een rechte om bv lengte afhankelijke kost, +;indien niet afhankelijk dan AParam=0 en BParam is de kost +result=Aparam*Multiplicacant +Bparam) +; de kost kan een bep. minimum niet onderschrijden +result=$S(result +;daarna kan de kost/tijdsduur gereduceerd worden door bv. de staffel +result=result*EVAL(Reductieformule) +;daarna moet de kost/tijdsduur nog vermenigvuldigd worden met de kostplaatskost. +kost=result*$S(KostPlaatst="":1,KostPlaatst.Kost) +; Indien het gaat over rechtstreekse kostprijsberekening dan is KostPlaatst="" + +De kostprijs wordtopgeslagen met 4 cijfers na de komma.]]> +serial +%Library.SerialObject,%XML.Adaptor + + +%String + +0 + + + +%String + +0 + + + + +Naam van de kostplaats bv. FREES, GROTEZAAG, BOXPRESS +Prod.GAMeta.BT.KostPlaats +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Wordt gehaald uit KostPlaatst, indien "" dan "P" anders "T" +%Library.String +0 +1 + +0 +0 +0 +0 +0 +0 + + + + + +%String + +0 + + + + +Waarde = AParam * EVAL(Multiplicant) + BParam + +Multiplicant bevat een executable opgebouwd met "`". +Waarvan het eerste piece het type aanduidt +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + += StaffelMin en < StaffelMax zijn. +Als StaffelMax="" dan is StaffelMax=oneindig]]> +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + += StaffelMin en < StaffelMax zijn. +Als StaffelMin is leeg dan is StaffelMin=0]]> +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +0 +code +Staffel:%Library.Integer=1,BldDtl:%Library.Integer=0 +0 +%Library.Float +0 + + + + +0 +0 +code +CopyMode:%Library.String="FullCopy" +0 +Prod.GAMeta.EM.KostTijd +0 + + + + +0 +0 +expression + +0 +%Library.String +0 + + + + +0 +0 +code +Waarde:%Library.Float,Staffel:%Library.Integer=1 +0 +%Library.Float +0 + + + + +%Library.CacheSerialState +KostTijdState +^Prod.GAM.KostTijdS + +list + +AParam + + +BParam + + +KostPlaats + + +Min + + +Multiplicant + + +Omschrijving + + +Reductie + + +StaffelMax + + +StaffelMin + + +VolgNr + + +StaffelCorrectie + + + + + Index: APPS/TBXWeb/impl/OrderHandlerFactory.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/OrderHandlerFactory.cls.xml (revision 0) +++ APPS/TBXWeb/impl/OrderHandlerFactory.cls.xml (revision 2) @@ -0,0 +1,17 @@ + + + +1 +%RegisteredObject +0 + + +wsID:%String="",Shop:%String="",Requester:%String="" +AbstractOrderHandler + + + + Index: _vhisie/TBX/TBox WebOrder LMC_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder LMC_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder LMC_N.xsl (revision 2) @@ -0,0 +1,496 @@ + + + + + + +EUR + + + + OPTIMA - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    ID:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
         
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr 03.20.81.95.96
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    Totaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKLEURKEUZE : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEM+RUG:

    RELINGEN:

    BOXSIDE:

    VULLING/GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breedte

    +

    WD

    +

    Diepte

    +

    Gew

    +

    FB *

    +

    Box

    +

    Diverse

    +

    Aant

    + +

    Ink. Prijs/stPrijs/st Info

    + +
    + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

    * Box : Verhoogde zijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + BOXCOVER zonder vulling + (Code ) + + + +
    Index: vhLib/cspBasis.cls.xml =================================================================== diff -u --- vhLib/cspBasis.cls.xml (revision 0) +++ vhLib/cspBasis.cls.xml (revision 2) @@ -0,0 +1,34 @@ + + + +1 +%RegisteredObject +0 + + + +QueryData(param1)=value1
    +OF
    +QueryData(param1,i)=value-i , zoals %Request.Data
    +
    +(output: param1=value1¶m2=value2¶m3=value3 )]]>
    +1 + +1 +%String + +
    +
    +
    Index: MutatieFormCNTs.inc.rou =================================================================== diff -u --- MutatieFormCNTs.inc.rou (revision 0) +++ MutatieFormCNTs.inc.rou (revision 2) @@ -0,0 +1,6 @@ + //Verschillende formtypes, afh. van mutatietype + #Define mfNone -1 + #Define mfInvestering 0 + #Define mfBuitengebruikStelling 1 + #Define mfCorrectie 2 + #Define mfAfschrijving 3 \ No newline at end of file Index: Prod/GAMeta/EM/Exec.cls.xml =================================================================== diff -u --- Prod/GAMeta/EM/Exec.cls.xml (revision 0) +++ Prod/GAMeta/EM/Exec.cls.xml (revision 2) @@ -0,0 +1,183 @@ + + + +serial +%Library.SerialObject,%XML.Adaptor + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Welk pad er moet genomen worden op de loop te beperken +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Geeft aan hoe de ValueExec wordt uitgevoerd : + +@ : via indirectie Quit @..ValueExec +X : via Exceute X ..ValueExec +D : via Do D @..ValueExec +M : Via method - Self.method +P : Via propertyget - Self.property +L : Via proglabel - Self.Val(label) +V : Via parametervalue - Self.Parameters.GetAt(key) + +Als er een waarde dient terug gegeven te worden dient bij een Do de ReVal zelf te zetten. +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + + +Uitvoeren van de execute met een returnwaarde +0 +0 +code + +0 +%String +0 + + + + + +Uitvoeren van de execute zonder een returnwaarde +0 +0 +code + +0 +%String +0 + + + + +%Library.CacheSerialState +ExecState +^Prod.GAM.ExecS + +list + +InitExec + + +InitExecType + + +LoopPad + + +ValidateLoopExec + + +ValidateLoopExecType + + +ValueExec + + +ValueExecType + + + + + Index: DW/WWW/StaticHPP.cls.xml =================================================================== diff -u --- DW/WWW/StaticHPP.cls.xml (revision 0) +++ DW/WWW/StaticHPP.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + + +Statische gegevens voor website statistieken te tonen in webpagina (Hits Per Productgroep) +persistent +1 +%Persistent +0 + + +%Integer + + + +%String + + + +%String + + + +%Library.CacheStorage +^DW.WWW.StaticHPPD +StaticHPPDefaultData +^DW.WWW.StaticHPPD +^DW.WWW.StaticHPPI +^DW.WWW.StaticHPPS + +listnode + + +%%CLASSNAME + + +Aantal + + +Cataloog + + +Site + + + + + Index: Prod/GADef/KaderDeur/tmpDev.mac.rou =================================================================== diff -u --- Prod/GADef/KaderDeur/tmpDev.mac.rou (revision 0) +++ Prod/GADef/KaderDeur/tmpDev.mac.rou (revision 2) @@ -0,0 +1,605 @@ +#include %occInclude +#include %VHMacro + +OLDTransformPrevNext(TranslateMe,RelPosPrev,RelPosNext) + ;TransformPrevNext(TranslateMe,RelPosPrev,RelPosNext) + Quit "" + +OLDAbsPosRecalcAll(Opties,%this) + ; AbsPosRecalcAll(Opties) + Quit + +OLDAbsPosCalc(sCode,RelPos,PrevVal,NextVal,%this) + ; AbsPosCalc(sCode,RelPos,PrevVal,NextVal) + Quit 0 + + + +IsUserWV() + Set blnTelnetWV=($ZUTIL(67,7,$J)["TNT|WV_XP") + Set blnUserWV=(blnTelnetWV||$$ClientIsIP^vhLib(97)) + Quit ''blnUserWV + +CalcNewKost(SetGlobVar) Set SetGlobVar=$G(SetGlobVar,0) + Quit 1 + New tmpUserWV,blnCalc + Set tmpUserWV=$S((SetGlobVar)||('$D(%IsUserWV)):$$IsUserWV(), 1:%IsUserWV) ; $S(('SetGlobVar)&&($D(%IsUserWV)):%IsUserWV, 1:$$IsUserWV()) + Set:(SetGlobVar) %IsUserWV=tmpUserWV + Set blnCalc=(tmpUserWV=1) + Quit blnCalc + + + + ; Do StartJobBuildAllPRBS^Prod.GADef.KaderDeur.tmpDev() +StartJobBuildAllPRBS() + Job BGxBuildAllPRBS^Prod.GADef.KaderDeur.tmpDev() + w "Job started in process (ID): "_$ZCHILD + Quit +BGxBuildAllPRBS() + New StartTime,sc,scM,msg + d LOW^%PRIO + Set StartTime=$ZDT($H,4) + ;Do GetIDsKostSpecial() + Set sc=$$BuildAllPRBS() + Set msg="routine BuildAllPRBS() finished."_$$$CRLF_ + "Time: from "_StartTime_" until "_$ZDT($H,4)_$$$CRLF_ + "Job ID: "_$J_$$$CRLF_ + $$ParseStatus^vhLib(sc) + Set scM=$$SendMiniMail^vhLib(""""_$$$Server_""" ",$LB("WV@vanhoecke.be"),"Job finished",msg,0) + Kill:($$$ISOK(sc))&&($$$ISOK(scM)) ^wvKadDiff(-1,"NEXT ID") + Quit + + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + // BEREKENING VAN DE Bouwstenen in ^PRBS (dd. septemeer 2006) // + // // + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + + ; w $$BuildAllPRBS^Prod.GADef.KaderDeur.tmpDev() +BuildAllPRBS(KadIDCust) + New sc + Kill %arLOG + If ($G(KadIDCust)) Do + . Kill %arFakeIDs + . Set %arFakeIDs(KadIDCust)="" ; KadID + Set sc=$$LoopKadObjViaKPR("") ; 240000) + w $$$ArrayTT("%arLOG"),! + Do ArrayToTabDelim^vhLib(.%arLOG,"c:\temp\KadPrijsCmp_007.txt",,"") + Quit sc +LoopKadObjViaKPR(StartPRNr) + New PRNr,KadID,KadObj,tmpTemplateRef + Set PRNr=$G(StartPRNr,"") + For Set KadID=$$cnpNextFromKPR(.PRNr) Quit:(PRNr="") Do + . Quit:(KadID<1000) + . Set ^wvKadDiff(-1,"NEXT ID")=KadID_" (PRNr="_PRNr_")" + . w !,KadID_" (PRNr="_PRNr_") " + . q:(KadID<104090)||(KadID>104100) ; q:(KadID>266440) + . ; Get Objects + . Set KadObj=##class(Prod.GADef.KaderDeur).%OpenId(KadID) + . Do BuildPRBS(KadObj) + Quit $$$OK +BuildPRBS(KadObj) + Quit:('$IsObject(KadObj))||('$IsObject(KadObj.Product)) + New CalcObj,Staffel,PRNr,KPrijs,tmpAr + Set CalcObj=##class(Prod.GADef.KadPrijs).%OpenId(KadObj.%Id()) + Quit:('$IsObject(CalcObj)) + Set Staffel=CalcObj.Aantal + Set PRNr=KadObj.ProductGetObjectId() + Set KPrijs=KadObj.KostPrijsCalc(Staffel) ; uitvoeren om KadObj.GADataProduct aan te maken + Set %arLOG(PRNr)=KadID_" "_KPrijs + Merge tmpAr=^HADPR("P",PRNr) + If $IsObject(KadObj.GADataProduct) Do + . Do KadObj.GADataProduct.ProductSetObjectId(KadObj.ProductGetObjectId()) + . Do KadObj.GADataProduct.KPRCreate("",Staffel,0) + . ;Set tmpTemplateRef=KadObj.GADataProduct.TemplateTmp + Merge ^HADPR("P",PRNr)=tmpAr ; reset ^HADPR + ;w tmpTemplateRef,! + Quit + +GetIDsKostSpecial() + Kill %arFakeIDs + &sql(DECLARE crsKadKS CURSOR FOR SELECT ID INTO :ID FROM Prod_GADef.KaderDeur WHERE (ID>1000) AND ( (ConstructKostSpecial<>0) OR (ProfAfwKostSpecial<>0) OR (VullingKostSpecial<>0) ) ) + &sql(OPEN crsKadKS) + For &sql(FETCH crsKadKS) Quit:(SQLCODE) Set %arFakeIDs(ID)="" + &sql(CLOSE crsKadKS) + Quit + + ;d RecalcKostSpecial^Prod.GADef.KaderDeur.tmpDev() +RecalcKostSpecial() + New KadID,KadObj,BEF2EUR + Do GetIDsKostSpecial() + Set BEF2EUR=1 ; 1/40.3399 + Set KadID="" + For Set KadID=$Order(%arFakeIDs(KadID)) Quit:(KadID="") Do + . Set KadObj=##class(Prod.GADef.KaderDeur).%OpenId(KadID) + . Quit:('$IsObject(KadObj)) + . Set:(KadObj.ProfAfwKostSpecial) KadObj.ProfAfwKostSpecial=$J(KadObj.ProfAfwKostSpecial*BEF2EUR,0,5) + . Set:(KadObj.VullingKostSpecial) KadObj.VullingKostSpecial=$J(KadObj.VullingKostSpecial*BEF2EUR,0,5) + . Set:(KadObj.ConstructKostSpecial) KadObj.ConstructKostSpecial=$J(KadObj.ConstructKostSpecial*BEF2EUR,0,5) + . Set sc=KadObj.%Save() + . w KadID_" "_$S($$$ISERR(sc):$$ParseStatus^vhLib(sc), 1:1),! + Quit $$$OK + + + + /* + /// Verplaatst naar CALCviaGADataProduct^Prod.GADef.KaderDeur.KostPrijs(%this,Staffel,CalcObj) +CalcKostPrijsNew(%this,Staffel,CalcObj) +#define KADBasis "KADBasis" + New KadObj,TemplateID,Prod,arValidPR,KPrijs,arKDtls,BEF2EUR + Set KadObj=%this + ;Set BldDtl=($IsObject($G(CalcObj))) + Set TemplateID=$LG(##class(Prod.GAData.Template).IDsViaCode($$$KADBasis),1) + Set Prod=##class(Prod.GAData.Product).BuildFromTemplate(TemplateID) + Quit:('$IsObject(Prod)) "" + Do Prod.KlantSetObjectId($G(KLNr)) + Do Prod.TemplateTmpInit() + Do Prod.AutosFromTemplate(,"FILL") + Do tnbValuesToProduct + Do Prod.CalcAll() + Set:($IsObject($G(CalcObj))) CalcObj.DetailGAData=Prod + If 'Prod.ValidatePR(.arValidPR) Do ; Quit "" + . Do tnbInvalidPR + . Set KPrijs="" + Else Do + . Set KPrijs=+$J($G(Prod.Cumuls("KPrijs")),0,2) + ;Set %FRZ("ProfKant")=Prod.Val("LFREZZK") ; for debugging purpose + Quit $J(KPrijs,0,2) +tnbInvalidPR +#define CRLF $C(13,10) + New msg,Key,DItem + d WLIP^vhDBG(97,"KAD KPCalc New - "_$G(KadID,%this.%Id())_" - %NoSa : "_$G(%NoSa)_" Staffel: "_Staffel) + Set msg="Fouten bij de validatie van de producten: " + Set Key="" + For Set Key=$O(arValidPR(0,Key)) Quit:(Key="") Do + . Set DItem=Prod.DataItems.GetAt(Key) + . Set msg=msg_$$$CRLF_"> "_DItem.Get("Oms")_" ("_DItem.Code_") : PRNr="""_DItem.Get("PRNr")_"""" + ;Do MApplication.MessageBox(msg,"Producten valideren",$$$MBICONEXCLAMATION) + d WL^vhDBG(msg) + Quit +tnbValuesToProduct + Do:('$D(Prod.LookUp("PLItem"))) Prod.BuildLookUp($LB("ICode")) ; "PLItem" is onderdeel van BuildLU("ICode") + Do tnbSetViaObj(KadObj) + Do tnbSetViaProgLabel("QTY",Staffel) + Set sc=$$tnbSetDItemKadObj(KadObj) + Do Prod.BuildLookUp($LB("PL")) + Quit +tnbSetViaObj(KadObj) + Do tnbSetViaProgLabel("TOEP",KadObj.Toepassing.ItemID) + Do tnbSetViaProgLabel("PH",KadObj.Hoogte) + Do tnbSetViaProgLabel("PB",KadObj.Breedte) + Do tnbSetViaProgLabel("PT",KadObj.ProfType.ItemID) + Do tnbSetViaProgLabel("PA",KadObj.ProfAfw.ItemID) + If $IsObject(KadObj.Vulling.Vulling) Do + . Do tnbSetViaProgLabel("VULCODE",KadObj.Vulling.Vulling.ItemID) + . Do tnbSetViaProgLabel("LVE",$$tnbListVullingExtras()) + . Do tnbSetViaProgLabel("VULOPP",KadObj.VulOpp()) + . Do tnbSetViaProgLabel("VULOMTREK",KadObj.VulOmtrek()) + Do tnbSetViaProgLabel("OPH",KadObj.OphangPlaats.ItemID) + Do tnbSetViaProgLabel("LBSL","") + Do tnbSetViaProgLabel("LBSL2","") + Do tnbSetViaProgLabel("LBOR","") + Do tnbSetViaProgLabel("MON",KadObj.Gemonteerd) + Do tnbSetViaProgLabel("VPK",KadObj.Verpakking) + Do tnbSetViaProgLabel("DOSNR",KadObj.Dossier) + Set BEF2EUR=1 ; 1/40.3399 + Do tnbSetViaProgLabel("PROFKS",KadObj.ProfAfwKostSpecial*BEF2EUR) + Do tnbSetViaProgLabel("VULKS",KadObj.VullingKostSpecial*BEF2EUR) + Do tnbSetViaProgLabel("CONSKS",KadObj.ConstructKostSpecial*BEF2EUR) + Do tnbSetViaProgLabel("GEWICHT",KadObj.Gewicht()) + Do tnbSetViaProgLabel("PWIJZE",$S(1:KadObj.ProductieWijzeGetObjectId(), ..cboLosProfDeel.ItemIndex>-1:"LPR", 1:"")) + Do tnbSetViaProgLabel("ODEEL",$$ObjectListToLB^vhLib(KadObj.Onderdelen)) + Quit +tnbListVullingExtras() + Quit:('$IsObject(KadObj.Vulling)) + New Key,VE,tmpLB + Set (tmpLB,Key)="" + For Set VE=KadObj.Vulling.VullingExtra.GetNext(.Key) Quit:(Key="") Set tmpLB=tmpLB_$LB(VE.ItemID) + Quit tmpLB +tnbSetViaProgLabel(ProgLabel,Val) + Do Prod.SetItemValByPL(ProgLabel,Val) + Quit +tnbSetDItemKadObj(KadObj) +#define NodePLItem "PLItem" + New Item,ProgLabel + Set ProgLabel="KADOBJ" + Set Item=$G(Prod.LookUp($$$NodePLItem,ProgLabel,"IOref")) + Quit:('$IsObject(Item)) $$$ERROR($$$GeneralError,"No Item Object") + Set Item.FixedKeys=$LB("Object") ; Temporary set key fixed, else it will be cleared before Re-CalcAll() + Quit Item.SetObject(KadObj) + Quit $$$OK + + */ + + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + // ANALYSE VAN DE NIEUWE PRIJZEN (t.o.v huidige KostPrijs in ^KPR) (dd. juni 2006) // + // // + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + + ; w $$CheckNewPrs^Prod.GADef.KaderDeur.tmpDev() +CheckNewPrs(KadIDCust,SelectKLNr) + Do WLIP^vhDBG(97,"CheckNewPrs") + New sc + W "Killing large variables. Please wait ...",! + Kill %arFakeIDs + Kill %arLOG,%arLOGI,%arLOGD + W "Start processing ...",! + ;Set %arLOG(0)=$LB("[NP]","[OP]","[DIFF]","Toepas","Prof","Vul","Hgt","Brd","Qty","FrezZK","LVE","VPKType","ProfKS","VulKS","ConsKS") + ;Set %arLOGD("KLNr","KKey","PRNr")=$LB("KadID","","FxPRS","other PRS","RelDiff") + Set:($G(KadIDCust)) %arFakeIDs(KadIDCust)="" ; KadID + /* * / + Set %arFakeIDs(104295)="" ; KadID + Set %arFakeIDs(104318)="" + Set %arFakeIDs(255644)="" + Set %arFakeIDs(256223)="" + Set %arFakeIDs(263864)="" + Set %arFakeIDs(264165)="" + /* */ + Set sc=$$CheckNewPrices("") ; 250000) + Do cnpCompareSimilar() + ;w $$$ArrayTT2("log(""SAME"")",.%arLOG),! + ;w $$$ArrayTT2("log(""DIFF"")",.%arLOG),! + ;w $$$ArrayTT("%arLOG"),! + Do:($L($G(SelectKLNr))) ArrayToTabDelim^vhLib(.%arLOG,"c:\temp\KadPrijsChk_003.txt",,"") + Do ArrayToTabDelim^vhLib(.%arLOGD,"c:\temp\KadPrijsChkDiff_"_$S($L($G(SelectKLNr)):SelectKLNr_"_",1:"")_"003.txt",,"") + Quit sc +CheckNewPrices(StartPRNr) +#define Pc(%i) $P(Rec,"\",%i)_"\" +#define Pc2(%i,%j) $P(Rec,"\",%i,%j)_"\" + New PRNr,KadID,CalcObj,Qty,KLNr,OldPRS,NewPRS,Rec,KKey ; KadObj,KPrijs,PrevPRS,lbBadIDs + Set PRNr=$G(StartPRNr,"") + For Set KadID=$$cnpNextFromKPR(.PRNr) Quit:(PRNr="") Do + . Quit:(KadID<1000) + . Set NewPRS=$P(^KPR(PRNr,2),"\",3) + . Quit:('NewPRS) ; SchaduwPrijs nog niet ingevuld + . ; Get Objects + . Quit:('##class(Prod.GADef.KaderDeur).%ExistsId(KadID)) + . Set CalcObj=##class(Prod.GADef.KadPrijs).%OpenId(KadID) + . Quit:('$IsObject(CalcObj)) + . w PRNr_" "_KadID,! + . Set Qty=CalcObj.Aantal + . Set KLNr=$O(^KSTPR(PRNr,0)) Set:(KLNr="") KLNr="0" + . Quit:($L($G(SelectKLNr)))&&(KLNr'=SelectKLNr) + . Set Rec=$G(^KPR(PRNr,"G")) + . Set OldPRS=$P(Rec,"\",12) + . ;w:(OldPRS'=$P(^KPR(PRNr,"J6332"),"\",19)) "HLX:"_$P(^KPR(PRNr,"J6332"),"\",19)_" "_OldPRS,! + . ;d:(OldPRS'=$P(^KPR(PRNr,"J6332"),"\",19)) WL^vhDBG(KadID_" "_"HLX:"_$P(^KPR(PRNr,"J6332"),"\",19)_" "_OldPRS) + . ;Set:(OldPRS="") OldPRS=$P(^KPR(PRNr,"J6332"),"\",19) + . Do:($J(NewPRS,0,2)'=$J(CalcObj.TotaleKostPrijs,0,2)) WL^vhDBG(KadID_" NewPRS NIET gelijk : "_NewPRS_" - CalcObj: "_CalcObj.TotaleKostPrijs) + . Do:(KadID'=$P(Rec,"\",13)) WL^vhDBG(KadID_" NIET gelijk aan ID in ""G""-node : "_$P(Rec,"\",13)) + . Set KKey=$$$Pc(2)_$$$Pc(5)_$$$Pc2(8,9)_$$$Pc(10)_$$$Pc(11)_$$$Pc(14)_$$$Pc(6) + . Set %arLOG(KLNr,KKey,PRNr)=$LB(Qty,KadID,$P(Rec,"\",1),OldPRS,"-->",NewPRS) + . Set %arLOGI(KadID)=$LB(KLNr,PRNr,KKey) + Quit $$$OK +cnpCompareSimilar() + New KLNr,KKey,PRNr,blnDiff + Set (KLNr,KKey,PRNr)="" + For Set KLNr=$O(%arLOG(KLNr)) Quit:(KLNr="") Do + . W KLNr,! + . For Set KKey=$O(%arLOG(KLNr,KKey)) Quit:(KKey="") Do + . . Set blnDiff=0 + . . For Set PRNr=$O(%arLOG(KLNr,KKey,PRNr)) Quit:(PRNr="") Set %arLOG(KLNr,KKey,PRNr)=%arLOG(KLNr,KKey,PRNr)_$$cnpCalcRelDiffLB(PRNr,.blnDiff) + . . Do:(blnDiff) WL^vhDBG("KLNR: "_KLNr_" "_KKey) + . . Merge:(blnDiff) %arLOGD(KLNr,KKey)=%arLOG(KLNr,KKey) + . Kill:($G(SelectKLNr)="") %arLOG(KLNr) + Quit +cnpCalcRelDiffLB(FixedPRNr,blnOver) ; blnOver als .local doorgeven +#define RelMarge 5 +#define iPRS $LI(%arLOG(KLNr,KKey,iPRNr),6) +#define iOldPRS $LI(%arLOG(KLNr,KKey,iPRNr),4) +#define FactOld $S('FxOldPRS||'$$$iOldPRS:1, 1:FxOldPRS/$$$iOldPRS) + New FxPRS,FxOldPRS,tmpLB,iPRNr,iPRS,RelDiff + Set FxPRS=$LI(%arLOG(KLNr,KKey,FixedPRNr),6) + Set FxOldPRS=$LI(%arLOG(KLNr,KKey,FixedPRNr),4) + Set tmpLB="" + Set iPRNr=FixedPRNr ; Start $ORDER() from FixedPRNr + For Set iPRNr=$O(%arLOG(KLNr,KKey,iPRNr)) Quit:(iPRNr="") Do + . Set RelDiff=$J((FxPRS-($$$iPRS*$$$FactOld))/FxPRS*100,0,1) + . ;Do WL^vhDBG("KLNR: "_KLNr_" "_RelDiff) + . Set tmpLB=tmpLB_$LB(RelDiff) + . If $ZAbs(RelDiff)>$$$RelMarge Do + . . Set blnOver=1 + . . Do WL^vhDBG("KLNR: "_KLNr_" KadID: "_$LI(%arLOG(KLNr,KKey,FixedPRNr),2)_" 5% marge overschreden : "_FxPRS_" - "_$$$iPRS_" ("_$J($$$FactOld,0,3)_") -> "_RelDiff) + ;Set %arLOGD(KLNr,KKey,FixedPRNr)=$LB($LI(%arLOG(KLNr,KKey,FixedPRNr),2)," >5% ",FxPRS,iPRS,RelDiff) + Quit tmpLB + + ; Set %arLOGD("KLNr","KKey","PRNr")=$LB("KadID","","FxPRS","other PRS","RelDiff") + + + + + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + // VERGELIJKING VAN DE PRIJSBEREKENING (nieuwe methode: via Prod.GAData) (dd. juni 2006) // + // // + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + + ; w $$ComparePrs^Prod.GADef.KaderDeur.tmpDev() +ComparePrs(KadIDCust) + New sc + Kill %arFakeIDs + Kill %arLOG + Set %arLOG(0)=$LB("[NP]","[OP]","[DIFF]","Toepas","Prof","Vul","Hgt","Brd","Qty","FrezZK","LVE","VPKType","ProfKS","VulKS","ConsKS") + Set:($G(KadIDCust)) %arFakeIDs(KadIDCust)="" ; KadID + /* * / + Set %arFakeIDs(104295)="" ; KadID + Set %arFakeIDs(104318)="" + Set %arFakeIDs(255644)="" + Set %arFakeIDs(256223)="" + Set %arFakeIDs(263864)="" + Set %arFakeIDs(264165)="" + /* */ + Set sc=$$CompareNewPrices(1,240000) ; 240000) + ;w $$$ArrayTT2("log(""SAME"")",.%arLOG),! + ;w $$$ArrayTT2("log(""DIFF"")",.%arLOG),! + w $$$ArrayTT("%arLOG"),! + Do ArrayToTabDelim^vhLib(.%arLOG,"c:\temp\KadPrijsCmp_004.txt",,"") + Quit sc +CompareNewPrices(blnSimulate,StartPRNr) +#define SINGLESaveGAData ($O(%arFakeIDs($O(%arFakeIDs(""))))="")&&($O(%arFakeIDs(""))'="") +#define DEBUGSaveGAData 0 + New PRNr,KadID,KadObj,KPrijs,CalcObj,PrevPRS,Qty,lbBadIDs + New Munt,BldDtl,ForceRecalc + Set PRNr=$G(StartPRNr,"") + For Set KadID=$$cnpNextFromKPR(.PRNr) Quit:(PRNr="") Do + . Quit:(KadID<1000) + . ; Get Objects + . Set KadObj=##class(Prod.GADef.KaderDeur).%OpenId(KadID) + . Quit:('$IsObject(KadObj)) + . Set CalcObj=##class(Prod.GADef.KadPrijs).%OpenId(KadID) + . Quit:('$IsObject(CalcObj)) + .; ; w PRNr_" "_KadID,! + .; ; Get previous values + .; Set Qty=CalcObj.Aantal + .; Set PrevPRS=CalcObj.TotaleKostPrijs + . ; Calc new price + . Set KPrijs=$$cmpCalcPrice(KadObj,CalcObj,blnSimulate&&('$G(KadIDCust))) + . Do:($$$DEBUGSaveGAData)||($$$SINGLESaveGAData) CalcObj.SaveGADataDtl() ; ckpSaveProdGAData() + . ; Handle result + .; Set:(PrevPRS'=KPrijs) %arLOG("DIFF",KadID)=$LB(PRNr,Qty,PrevPRS,"->",KPrijs) + .; Set:(PrevPRS=KPrijs) %arLOG("SAME",KadID)=$LB(PRNr,Qty,KPrijs) + . If blnSimulate Do + . . Write "Kad: "_KadID,! ; _" (#="_Qty_") "_PrevPRS_" --> "_KPrijs,! + . Else Do + . . Set tmpPRNr=$S(KadID=PRNr:KadObj.ProductGetObjectId(), 1:PRNr) ; 230848 + . . Set $P(^KPR(tmpPRNr,2),"\",3)=$J(KPrijs,0,2) + . . Set $P(^KPR(tmpPRNr,1),"\",3)="EUR" + . . w tmpPRNr _" " ;_(^KPR(tmpPRNr,2)),! + Quit $$$OK +cmpCalcPrice(KadObj,CalcObj,blnCalcOnly) + Quit:(blnCalcOnly) KadObj.KostPrijsCalc(CalcObj.Aantal) + ; Else: Store in CalcObj + Set Munt="" + Set BldDtl=$G(KadIDCust)>0 ; 0 ; (CalcObj.HasDetails()) + Set ForceRecalc=1 + Quit KadObj.KostPrijs(CalcObj.Aantal,Munt,BldDtl,ForceRecalc) + + + + + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + // BEREKENING VAN DE SCHADUWPRIJS in het kader van de prijsverhoging (dd. mei 2006) // + // Twee fasen: 1) simulatie met output naar device // + // 2) invullen van de nieuwe waarde in de SCHADUWPRIJS // + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + + ; w $$SimNewPrs^Prod.GADef.KaderDeur.tmpDev() +SimNewPrs(KadIDCust) + New sc + Kill %arLOG + If ($G(KadIDCust)) Do + . Kill %arFakeIDs + . Set %arFakeIDs(KadIDCust)="" ; KadID + ;Set %arFakeIDs(265418)="" ; KadID + /* * / + Set %arFakeIDs(104295)="" ; KadID + Set %arFakeIDs(104318)="" + Set %arFakeIDs(255644)="" + Set %arFakeIDs(256223)="" + Set %arFakeIDs(263864)="" + Set %arFakeIDs(264165)="" + /* */ + + Set %NoSa="S" + Set sc=$$CalcNewPrices(1,"240000") ; 240000) + Kill %NoSa + ;w $$$ArrayTT2("log(""SAME"")",.%arLOG),! + ;w $$$ArrayTT2("log(""DIFF"")",.%arLOG),! + w $$$ArrayTT("%arLOG"),! + Do ArrayToTabDelim^vhLib(.%arLOG,"c:\temp\KadPrijsCmp_007.txt",,"") + Quit sc + + ; Do KPRFillSH^Prod.GADef.KaderDeur.tmpDev() +KPRFillSH(KadIDCust) + New sc + Kill %arLOG + If ($G(KadIDCust)) Do + . Kill %arFakeIDs + . Set %arFakeIDs(KadIDCust)="" ; KadID + Set %NoSa="S" + Set sc=$$CalcNewPrices(0,"") + Kill %NoSa + Do ArrayToTabDelim^vhLib(.%arLOG,"c:\temp\KadPrijsCmp_008.txt",,"") + Quit sc + +TestD() + New arDiff,KadID,PRNr,Delta,PrsKPR + ;Do LoadDiff() + Merge arDiff=%arLOG("DIFF") + + Set KadID="" + For Set KadID=$O(arDiff(KadID)) Quit:(KadID="") Do + . Set PRNr=$LG(arDiff(KadID),1) + . Quit:PRNr="" + . Set PrsKPR=$P($G(^KPR(PRNr,"G")),"\",12) + . Set:(PrsKPR'=$J($LG(arDiff(KadID),3),0,2)) arDiff(0,"PrsKPR",KadID)=PrsKPR + . ;w PRNr_": " zw ^ORD("IP",PRNr) zw ^BON("IP",PRNr) zw ^TO("IP",PRNr) w ! + . w PRNr_": " w ! ; zw ^PRHIST(PRNr) w ! + . ;Set:($D(^PRHIST(PRNr))) arDiff(KadID,"HIST")=1 + . Set Delta=$LG(arDiff(KadID),5)-$LG(arDiff(KadID),3) + . Set $LI(arDiff(KadID),6)="D= "_$J(Delta,0,2) + . Set arDiff(0,"DATA",KadID)=$$tstGetKadPropts(KadID) + . If '$D(^PRHIST(PRNr)) Do + . . Merge arDiff(0,"NoHist",KadID)=arDiff(KadID) + . . Merge:($D(^KOFKLP(PRNr))) arDiff(0,"OFF","NoHist",KadID)=arDiff(KadID) + . . Kill arDiff(KadID) + . ;Merge:('$D(^PRHIST(PRNr))) arDiff(0,"NoHist",KadID)=arDiff(KadID) + . ;Merge:('$D(^PRHIST(PRNr)))&&($D(^KOFKLP(PRNr))) arDiff(0,"NoHist","OFF",KadID)=arDiff(KadID) + . ;Kill:('$D(^PRHIST(PRNr))) arDiff(KadID) + . Merge:($D(^KOFKLP(PRNr))) arDiff(0,"OFF","Hist",KadID)=arDiff(KadID) + ;Do WLIP^vhDBG(97,$$$ArrayTT("arDiff")) + Do ArrayToTextWF^vhLib("arDiff","c:\temp\KadPrijsLog_009.txt") + Quit +tstGetKadPropts(KadID) + New tmpID,tmpAr,tmpCode + &sql(SELECT ID, Vulling_Vulling, Vulling_VullingExtra, Breedte, Hoogte, TemplateUsed, ProfType, ProfAfw, Toepassing, Product, TemplateRoutine, WijzigTijdStip + INTO :tmpID, :tmpAr(1), :tmpAr(2), :tmpAr(3), :tmpAr(4), :tmpAr(5), :tmpAr(6), :tmpAr(7), :tmpAr(8), :tmpAr(9), :tmpAr(10), :tmpAr(11) FROM Prod_GADef.KaderDeur WHERE ID=:KadID) + Quit $J($LG(arDiff(KadID),6),14)_" "_$J($G(tmpAr(1)),8)_" "_$J($$$LCVT($G(tmpAr(2))),16)_" "_$J($G(tmpAr(3)),7)_" "_$J($G(tmpAr(4)),7)_" "_$J($G(tmpAr(5)),7)_" "_$J($G(tmpAr(6)),7)_" "_$J($G(tmpAr(7)),7)_" "_$G(tmpAr(8))_" "_$G(tmpAr(9))_" "_$G(tmpAr(10))_" "_$G(tmpAr(11)) + Quit "" +TestC() + New arDiff,KadID,CalcObj,arComp + Do LoadDiff() + Set KadID="" + For Set KadID=$O(arDiff(KadID)) Quit:(KadID="") Do + . Set CalcObj=##class(Prod.GADef.KadPrijs).%OpenId(KadID) + . Set:('$IsObject(CalcObj)) arComp("NoCalc",KadID)="" + . Quit:('$IsObject(CalcObj)) + . ;Set:(CalcObj.HasDetails()) arComp("NoDtl",KadID)="" + . Set arComp($S(CalcObj.HasDetails()>0:"DTL",1:"NoDtl"),KadID)="" + + Do WLIP^vhDBG(97,$$$ArrayTT2("arComp(""NoCalc"")",.arComp)) + Do WLIP^vhDBG(97,$$$ArrayTT2("arComp(""DTL"")",.arComp)) + Do WLIP^vhDBG(97,$$$ArrayTT2("arComp(""NoDtl"")",.arComp)) + Quit + +CalcNewPrices(blnSimulate,StartPRNr) + New PRNr,KadID,KadObj,KPrijs,CalcObj,PrevPRS,Qty,lbBadIDs + New Munt,BldDtl,ForceRecalc + Set lbBadIDs="" ; $LB(97870,97871,239511) + Set PRNr=$G(StartPRNr,"") + For Set KadID=$$cnpNextFromKPR(.PRNr) Quit:(PRNr="") Do + . Quit:(KadID<1000) + . w !,KadID_" " + . q:(KadID<108222) ; q:(KadID>266440) + . ;Quit:($LF(lbBadIDs,KadID)>0) + . ; Get Objects + . Set KadObj=##class(Prod.GADef.KaderDeur).%OpenId(KadID) + . Quit:('$IsObject(KadObj)) + . Set CalcObj=##class(Prod.GADef.KadPrijs).%OpenId(KadID) + . Quit:('$IsObject(CalcObj)) + . ;w PRNr_" "_KadID,! + . Set tmpPRNr=$S(KadID=PRNr:KadObj.ProductGetObjectId(), 1:PRNr) ; 230848 + . ; Get previous values + . Set Qty=CalcObj.Aantal + . Set PrevPRS=CalcObj.TotaleKostPrijs + . Set PrevPRS=$P(^KPR(tmpPRNr,2),"\",3) ; CalcObj.TotaleKostPrijs + . ; Calc new price + . Set KPrijs=$$cnpCalcPrice(KadObj,CalcObj,blnSimulate) + . Set $LI(%arLOG(KadID),2)=PrevPRS + . Set $LI(%arLOG(KadID),3)=$LI(%arLOG(KadID),1)-$LG(%arLOG(KadID),2) + + . ; Handle result + . ;Set:(PrevPRS'=KPrijs) %arLOG("DIFF",KadID)=$LB(PRNr,Qty,PrevPRS,"->",KPrijs) + . ;Set:(PrevPRS=KPrijs) %arLOG("SAME",KadID)=$LB(PRNr,Qty,KPrijs) + . If blnSimulate Do + . . Write "Kad: "_KadID,! ; _" (#="_Qty_") "_PrevPRS_" --> "_KPrijs,! + . Else Do + . . Set tmpPRNr=$S(KadID=PRNr:KadObj.ProductGetObjectId(), 1:PRNr) ; 230848 + . . Set $P(^KPR(tmpPRNr,2),"\",3)=$J(KPrijs,0,2) + . . Set $P(^KPR(tmpPRNr,1),"\",3)="EUR" + . . w tmpPRNr _" " ;_(^KPR(tmpPRNr,2)),! + Quit $$$OK +cnpNextFromKPR(PRNr) ; PRNr als .local doorgeven +#define FromArray 0 + If $$$FromArray || ($$$aHasSubNodes(%arFakeIDs)) Do Quit KadID + . Set PRNr=$O(%arFakeIDs(PRNr)) + . Set KadID=PRNr + ; Else Loop through ^KPR + Set PRNr=$O(^KPR(PRNr)) + Quit:(PRNr="") "" + Quit:(PRNr'?4.6N) "" + Quit:($P($$GENTYP^HAD(PRNr),"\",1)'?1(1"KAD",1"PRF",1"GLA")) "" + Set KadID=$P($G(^KPR(PRNr,"G")),"\",13) + Quit KadID +cnpCalcPrice(KadObj,CalcObj,blnCalcOnly) + Quit:(blnCalcOnly) KadObj.KostPrijsCalc(CalcObj.Aantal) + ; Else: Store in CalcObj + Set Munt="" + Set BldDtl=0 ; (CalcObj.HasDetails()) + Set ForceRecalc=1 + Quit KadObj.KostPrijs(CalcObj.Aantal,Munt,BldDtl,ForceRecalc) + +LoadDiff() + Merge arDiff=^wvKadDiff + Quit + + + + + // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= // + + /* + ; OPROEPEN via: Do PrijsAnalyse^Prod.GADef.KaderDeur.tmpDev( ,.ar) +PrijsAnalyse(KadID,RetArray) + Kill RetArray + Quit:($G(KadID)="") + New KadObj,KPrs + New QtyStaffel,Munt,BldDtl,ForceRecalc + Set KadObj=##class(Prod.GADef.KaderDeur).%OpenId(KadID) + Quit:('KadObj) + Set QtyStaffel=$$praGetQtyStaffel(KadID) + If QtyStaffel'>0 Do Quit + . ;Write "QtyStaffel onbekend !" + . Set RetArray="QtyStaffel onbekend !" + Else Do + . ;Write "KadID: "_KadID_" Qty:"_QtyStaffel,! + ; Else + Set Munt="" + Set BldDtl=1 + ;Set ForceRecalc=0 + Set KPrs=KadObj.KostPrijs(QtyStaffel,Munt,BldDtl,$G(ForceRecalc)) + Set KadObj="" + ; Calc prices + Set MatKost=$$praCalcMatKost(KadID) + Set lbProdKost=$$praCalcProdKost(KadID) + Set ProdKost=$LG(lbProdKost,1) + Set ProdTijd=$LG(lbProdKost,2) + ; Build return Array + Set RetArray("KPrijs")=KPrs + Set RetArray("MatKost")=MatKost + Set RetArray("ProdKost")=ProdKost + Set RetArray("ProdTijd")=ProdTijd + zw RetArray + Quit +praGetQtyStaffel(KadID) + // Dit SQL-statement geeft de objecten weer die geen KadPrijs-object hebben ==> QtyStaffel is onbekend !!! + // SELECT KD.* FROM Prod_GADef.KaderDeur AS KD,Prod_GADef.KadPrijs AS KP + // WHERE (KD.ID=*KP.ID) AND (KP.ID is null) and (KD.TemplateRoutine="" or KD.TemplateRoutine is null ) + // + New CalcObj,tmpQty + Set CalcObj=##CLASS(Prod.GADef.KadPrijs).%OpenId(KadID) + Quit:('CalcObj) 0 + Set tmpQty=CalcObj.Aantal + Set CalcObj="" + Quit tmpQty +praCalcMatKost(KadID) + New RS,sQuery,tmpStatus,Sum + Set Sum=0 + Set RS=##class(%ResultSet).%New("Prod.GADef.KadPrijs:LijstMateriaalKost") + Set tmpStatus=RS.Execute(KadID) + For Quit:('RS.Next()) Do + . Set Sum=Sum+RS.Get("MatKost") + . ;RS.Get("ID") ;RS.Get("KostCode") ;RS.Get("MatKost") + Do RS.%Close() + Quit Sum +praCalcProdKost(KadID) + New RS,sQuery,tmpStatus,SumK,SumT + Set (SumK,SumT)=0 + Set RS=##class(%ResultSet).%New("Prod.GADef.KadPrijs:LijstProductieKost") + Set tmpStatus=RS.Execute(KadID) + For Quit:('RS.Next()) Do + . Set SumK=SumK+RS.Get("TijdKost") + . Set SumT=SumT+RS.Get("Tijd") + . ;RS.Get("ID") ;RS.Get("KostPlaats") ;RS.Get("TijdKost") ;RS.Get("Tijd") + Do RS.%Close() + Quit $LB(SumK,SumT) + + */ \ No newline at end of file Index: TECH/Context/RuntimeContext.cls.xml =================================================================== diff -u --- TECH/Context/RuntimeContext.cls.xml (revision 0) +++ TECH/Context/RuntimeContext.cls.xml (revision 2) @@ -0,0 +1,45 @@ + + + + +Verzameling van eigenschappen van de runtime context +waarin de uitvoerende code zich bevindt. +Deze context eigenschappen kunnen bvb bij start en einde van +een inkomende SOAP of Java call, of unit test ingesteld worden. +vhLib.Macro +1 +%RegisteredObject +0 + + +%String + + + +%String + + + +1 +TECH.Context.RuntimeContext + + + + +1 + + + + +1 +1 +%Status + + + + Index: Res/PI/VertalingsType.cls.xml =================================================================== diff -u --- Res/PI/VertalingsType.cls.xml (revision 0) +++ Res/PI/VertalingsType.cls.xml (revision 2) @@ -0,0 +1,54 @@ + + + + +Vertalingstype lijst +persistent +Res.PI.Abstract,%Library.Persistent + + +1 +1 +ItemID +1 + + + +%Library.SQLQuery +() +SELECT ItemID, Omschrijving, VolgNr +FROM Res_PI.VertalingsType +ORDER BY VolgNr + + + + + + +%Library.CacheStorage +^Res.PI.Items("VTTD") +TypeDefaultData +^Res.PI.Items("VTTD") +^Res.PI.Items("VTTI") +^Res.PI.VertalingsTypeS + + +Omschrijving + + +VolgNr + + + +TaalOms +subnode +"TO" + + +%%CLASSNAME +node +0 + + + + Index: KeyCodesCNTs.inc.rou =================================================================== diff -u --- KeyCodesCNTs.inc.rou (revision 0) +++ KeyCodesCNTs.inc.rou (revision 2) @@ -0,0 +1,88 @@ + #Define keyBackspace 8 + #Define keyTab 9 + + #Define keyEnter 13 + + #Define keyShift 16 + #Define keyControl 17 + #Define keyAlt 18 + #Define keyPause 19 + #Define keyCapsLock 20 + + #Define keyEsc 27 + + #Define keySpace 32 + #Define keyPgUp 33 + #Define keyPgDown 34 + #Define keyEnd 35 + #Define keyHome 36 + #Define keyLeft 37 + #Define keyUp 38 + #Define keyRight 39 + #Define keyDown 40 + + #Define keyInsert 45 + #Define keyDelete 46 + + #Define keyA 65 + #Define keyB 66 + #Define keyC 67 + #Define keyD 68 + #Define keyE 69 + #Define keyF 70 + #Define keyG 71 + #Define keyH 72 + #Define keyI 73 + #Define keyJ 74 + #Define keyK 75 + #Define keyL 76 + #Define keyM 77 + #Define keyN 78 + #Define keyO 79 + #Define keyP 80 + #Define keyQ 81 + #Define keyR 82 + #Define keyS 83 + #Define keyT 84 + #Define keyU 85 + #Define keyV 86 + #Define keyW 87 + #Define keyX 88 + #Define keyY 89 + #Define keyZ 90 + #Define keyStart 91 + + #Define keyPopUp 93 + + #Define key0 96 + #Define key1 97 + #Define key2 98 + #Define key3 99 + #Define key4 100 + #Define key5 101 + #Define key6 102 + #Define key7 103 + #Define key8 104 + #Define key9 105 + + #Define keyMultiply 106 + #Define keyPlus 107 + + #Define keyMin 109 + + #Define keyDivide 111 + #Define keyF1 112 + #Define keyF2 113 + #Define keyF3 114 + #Define keyF4 115 + #Define keyF5 116 + #Define keyF6 117 + #Define keyF7 118 + #Define keyF8 119 + #Define keyF9 120 + #Define keyF10 121 + #Define keyF11 122 + #Define keyF12 123 + + #Define keyNumLock 144 + #Define keyScroll 145 \ No newline at end of file Index: _vhisie/TBX/Access.csp =================================================================== diff -u --- _vhisie/TBX/Access.csp (revision 0) +++ _vhisie/TBX/Access.csp (revision 2) @@ -0,0 +1,121 @@ + + + + + + + + + + + + + TBox Decode URL + + + + + + +

    Deze URL wordt verwerkt ...

    + + +
    +
    + + + + + + + + + + + + +
    +
    Login
    +
    + #(msgLogin)#:
    + +
    + +
    +
    + +
    + +

    + +

    + + + + + + + + + + + + +
    + +
    +
    + Berekenen van TANDEMBOX is momenteel niet mogelijk. Gelieve later nog eens te proberen.
    +
    + Calculation n'est pas possible a ce moment. Veuillez essayer plus tard svp.
    +
    + Calculation is not possible at this moment. Please try again later.
    +
    + + Unable to login. Try again later. You are not allowed to access this data. Contact administrator. + + Unknown status to log in. It may be possible that the URL is invalid. +
    + + + This is not a valid URL. +
    + + + + + Index: Res/PI/ProfType.cls.xml =================================================================== diff -u --- Res/PI/ProfType.cls.xml (revision 0) +++ Res/PI/ProfType.cls.xml (revision 2) @@ -0,0 +1,477 @@ + + + + +PopupItem ProfielTypes met extra parameters +persistent +Res.PI.Items + + +Res.PI.Toepas +list +0 + + + +%Library.String + +0 + + + + +Breedte van het profiel +%Library.Float + +0 + + + + + + + +Constructieafmetingen van het profiel, ter controle van de boringen in het profiel. +Dit zowel bij doorboringen, rugboringen als zijboringen +Keys : +AD : AftrekVoorDichting +AG : AftrekVoorGlas +AZG: AftrekVoorZichtGlas +AR : AftrekVoorRug +AH : AftrekVoorHolte +%Library.Float +array +0 + + + + +%Library.String + +0 + + + +%Integer + +0 + + + +%Float + +0 + + + +%Library.String + +0 + + + + +Dikte van het profiel +%Library.Float + +0 + + + + + + +%Library.String + +0 + + + +Res.PI.Verbind + +0 + + + +%Library.Integer + +0 + + + +%Library.String + +0 + + + + +%Library.String + +0 + + + +Res.PI.Kost + +0 + + + +Res.PI.Kost + +0 + + + +Res.PI.Kost + +0 + + + +Res.PI.Kost + +0 + + + +Res.PI.Kost + +0 + + + +Res.PI.Kost + +0 + + + +Res.PI.Kost + +0 + + + +%Integer + +0 + + + +%Float + +0 + + + + +Sommige profielen hebben geen vulling, andere zijn gemaakt voor een vulling van 4mm +Volgende codes worden gebruikt : +"4" : 4mm vullling +"A" : Afboordingsprofiel +%Library.String + +"4" +0 + + + + + +%Library.String + +0 + + + +code +QtyStaffel:%Library.Integer,MuntPar:%Library.Float,DtlObj:Res.PI.emKostDetail,Opties:%Library.String,Omtrek:%Library.String,Opp:%Library.Float,Volume:%Library.Float,IsNotLos:%Library.Boolean,IsMont:%Library.Boolean +%Library.Float + + + + + +ProfKant heeft één van volgende waarden: [BO]venkant, [ON]derkant, [EX]terne zijkant, [IN]terne zijkant.
    +Geeft de positie terug, al dan niet voorafgegeaan door "OK:"]]>
    +code +ProfKant:%Library.String="BO",Pos:%Library.Float,Diepte:%Library.Float=0,TypeInfo:%Library.String +%Library.String + +
    + + + +
  • ObjVulling: aanwezige vulling in het object +
  • [ByRef] OffsetExt: Afstand van de buitenrand van het profiel (in mm) +
  • [ByRef] BorderStyle: S (Solid), D (Dash) of LD (LongDash) +
  • [ByRef] FillStyle: returns T (Transparent) of S (Solid)]]> +code + + + + + + +Ophalen van de Profiel Types met Beperking op Toepassing +%Library.SQLQuery +Toepas:%Library.String +SELECT ID, ItemID, Omschrijving, Sort +FROM Res_PI.ProfType +WHERE (BeperkingToepas LIKE ("%" || :Toepas || "%")) +ORDER BY Sort + + + + + + +%Library.CacheStorage +ProfTypeDefaultData + +ConstructAfm +subnode +"CA" + + +"PT" + +AftrekVoorDichting + + +AftrekVoorGlas + + +BeperkingToepas + + +Breedte + + +DichtUitval + + +DichtUitvalPerc + + +DichtingKost + + +Dikte + + +FrezenKost + + +Hoek + + +MonterenKost + + +PonsenKost + + +ProfUitval + + +ProfUitvalPerc + + +ZagenKost + + +VerpakLosKost + + +VerpakMontKost + + +AftrekVoorHolte + + +AftrekVoorZichtGlas + + +VulCode + + +HeeftVulCode + + +KortTekst + + +KaliberAantal + + +Lengte + + +KostCode + + +DichtingKostCode + + +FreesKostCode + + +BoorKostCode + + +ControleKostCode + + +MonterenKostCode + + +ZaagKostCode + + +FrezenKostOLD + + +MonterenKostOLD + + +OLDDichtingKostOLD + + +PonsenKostOLD + + +OLDFrezenKostOLD + + +OLDMonterenKostOLD + + +OLDPonsenKostOLD + + +OLDVerpakLosKost + + +OLDVerpakMontKost + + +OLDZagenKost + + + + + Index: Flow/Abstract/Lijn.cls.xml =================================================================== diff -u --- Flow/Abstract/Lijn.cls.xml (revision 0) +++ Flow/Abstract/Lijn.cls.xml (revision 2) @@ -0,0 +1,280 @@ + + + +%Library.RegisteredObject + + + +Format: Numeric:6 +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: 12,2 +BrutoPrijs per grootteorde +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Flow.Abstract.Hoofding +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Korting 1 # Korting 2 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 1 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: WW/JJ +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Numeric: 12,2 +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 3 +Res.Munt +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +1 + + + + +Format: Numeric: 12,2 +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 40 +Bij manuele lijn = korttekst van 25 char +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +4 cijfers +Prod.Product +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 1 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Numeric: 12,2 +Eenheidsprijs/Grootteorde*Aantal +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Numeric: 6 +Bepaalt uniek de orderlijn, dit nummer is opgebouw uit drie delen: + +Orderlijn : 2 cijfers +Backorder : 2 cijfers +Kindlijn : 2 cijfers +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + Index: _vhisie/TBX/TBox WebOrder VH_D.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder VH_D.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder VH_D.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Van Hoecke - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAME:
     
    (BTW)  
    ADRESSE:
     
    POSTLEITZAHL:
     
    ORT:
     
    TELEFON:
     
    FAX:
     
    E-MAIL:
     
    WUNSCHLIEFERDATUM:
     
    REFERENZ:
     
    + + + + + +
    + + + + +
    + + ANFRAGE + ANGEBOT + AUFTRAG + AUFTRAG + Unknown: [] + +
    +
    +   +
    Fax an (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standard Schubkästen (vom Lager):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Nicht liefern:

     

    Total:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Dieses Angebot ist 30 Tage gültig, bis zum +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : ZargenFARBEN : Bestandteile
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEN+RÜCKWAND:

    RELING:

    BOXSIDE:

    EINSCHUB EL./GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FEHLER #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breite

    +

    ST

    +

    Tiefe

    +

    Gew.

    +

    FB *

    +

    Box

    +

    Divers

    +

    Stk

    + +

    Ink. Prijs/stPreis/St. Info

    + +
    + + + + +

    * FB : Frontbefestigung (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + Schraubversion + INSERTA + EXPANDO + für Alurahmen / VollKern + drevel + Ohne + (Code ) + + + + + + + + + +

    * Box : Erhöhte Seiten (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Doppelreling + Einzelreling + Ohne Reling/erhöhte seiten + BOXSIDE doppelwandig + Glas BOXSIDE + BOXCAP + BOXCOVER mit ... + BOXCOVER ohne Einschubelement + (Code ) + + + +
    Index: Prod/GAMeta/BT/TBBinnenGreep.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBBinnenGreep.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBBinnenGreep.cls.xml (revision 2) @@ -0,0 +1,67 @@ + + + + +Greep om binnenlade te openen +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +1 +1 +ItemID +1 + + + +%SQLQuery + SELECT ID,ItemID,Omschrijving,VolgNr FROM Prod_GAMeta_BT.TBBinnenGreep ORDER BY VolgNr + + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBBGD") +TBBinnenGreepDefaultData +^Res.PI.Items("PR;GA;TBBGD") +^Res.PI.Items("index","PR;GA;TBBG") +^Res.PI.Items("stream","PR;GA;TBBG") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Kenm/Basis/MetaGroep.cls.xml =================================================================== diff -u --- Kenm/Basis/MetaGroep.cls.xml (revision 0) +++ Kenm/Basis/MetaGroep.cls.xml (revision 2) @@ -0,0 +1,100 @@ + + + + +Groepering van de verschillende kenmerken tot een lijst van kenmerken behorende tot een productgroep +0 +0 +persistent +0 +0 +%Library.Persistent +0 + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Kenm.Basis.MetaDefinitie +0 +0 +children + +Groep +0 +0 +1 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +Code +1 + + + +%Library.SQLQuery +() +0 +SELECT ID,Code,Omschrijving FROM Kenm_Basis.MetaGroep + +0 + + + + + +%Library.CacheStorage +^Kenm.Basis.MetaDefinitieD +MetaGroepDefaultData +^Kenm.Basis.MetaDefinitieD +^Kenm.Basis.MetaDefinitieI +^Kenm.Bas.MetaGroepS + +%%CLASSNAME +node +0 + + +listnode + +Omschrijving + + +Code + + +MetaDefinities + + + + + Index: Flow/OrderWMS/PalletReservatie.cls.xml =================================================================== diff -u --- Flow/OrderWMS/PalletReservatie.cls.xml (revision 0) +++ Flow/OrderWMS/PalletReservatie.cls.xml (revision 2) @@ -0,0 +1,624 @@ + + + +persistent +Default +%Library.Persistent + + + +Uniekheid index voor property ConsolidatieNr +1 +1 +ConsolidatieNr,Magazijn,PalletID,Product,Sectie +1 + + + +%Library.String + +0 + + + +%Library.Integer + +0 +0 + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +Flow.OrderWMS.PalletReservatie + +0 + + + +%Library.Integer + +0 + + + +%Library.String + +0 + + + + + +Een $LB() met alle Flow.OrderWMS.Sub's die behoren tot +het palletreservatie object. +Flow.OrderWMS.Sub +list +0 + + + +EWMS.Inventory + +0 + + + +%Library.Boolean + +0 + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +%Library.String + +0 + + + +EWMS.Locations + +0 + + + +%Library.String + +0 + + + +%Library.Boolean + +0 + + + + 0]]> +%Library.String + +0 + + + +Prod.Product + +0 + + + +%Library.String + +0 +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +1 +code +PalletResID:%Library.String +cache +0 +%Library.String +PalletResObj.AantalTePicken Do ; *** VEREIST > AVAILABLE *** + ... Set DeltaUit=PalletResObj.AantalTePicken + ... Do WL^vhDBG("VEREIST > AVAILABLE -> AantalTePicken=0") + ... Set FullPick=0 + ... Set PalletResObj.AantalTePicken=0 + .. Else Do ; *** VEREIST < AVAILABLE *** + ... Set DeltaUit=SubQty + ... Do WL^vhDBG("VEREIST < AVAILABLE -> AantalTePicken=AantalTePicken-AantalSub") + ... Set FullPick=1 + ... Set PalletResObj.AantalTePicken=PalletResObj.AantalTePicken-SubQty + .. New C + .. Set C="C01" + .. Set C("CONSNR")=SubObj.Lijn.Hoofding.ConsolidatieNr + .. Set C("ORDNR")=SubObj.Lijn.ORDNr + .. Set C("OLNR")=SubObj.Lijn.OLUNr*100+(SubObj.SUBOLNr\100) + .. Set C("OLSPLITSNR")=$E(SubObj.SUBOLNr,$L(SubObj.SUBOLNr)-1,999) + .. Set C("FULLPARTIAL")=$S(FullPick:"F",1:"P") + .. Set C("PALKLID")="" //SubObj.PalletKlantID + .. Set C("SOURCEPALID")=PalletResObj.PalletID + .. Set C("STATUS")="POK" ;SubObj.StatusWMS + .. Set C("DATUM")=$H + .. Set C("DELTAUIT")=DeltaUit + .. Set C("TOTFYSSTOCK")=0 + .. Set C("USER")=AssocZeroPallet.UserID + .. Set C("VOLGNR")=SubKey_"000"_$R(100) ;Doesn't matter, wo enkel gebruikt bij error + .. Set Status=##class(BL.MB.UGLYPicking.OrderFeedback).OL(.C) + .. Set:(Status'="") Status="Fout tijdens het afpunten van de sublijnen:"_$C(13,10)_Status, EarlyQuit=1 + .. Do WL^vhDBG(Status_$C(13,10)_$$ArrayToText^vhLib("C")) + .. Do:(FullPick) WL^vhDBG("-->FULL") + + Do HoofdingObj.%Close() + + Quit:(EarlyQuit) Status + + //--------------------------------------------------------------------------------------------------------------------------------- + ;ZeroPallet aanpassen, afhankelijk vh afgepunte aantal + + If PalletResObj.AantalTePicken=0 Do ;ALLES OK + . Do WL^vhDBG("-->rest=0, no errors") + . Set AssocZeroPallet.AantalTePicken=AssocZeroPallet.AantalTePicken-OriginalAantalTePicken + Else Do ;Niet alles is afgepunt->ERROR->Reservation opnieuw triggeren + . Do WL^vhDBG("-->rest<>0, error, opnieuw uitvoeren reservatie!") + . Set AssocZeroPallet.AantalTePicken=AssocZeroPallet.AantalTePicken-(OriginalAantalTePicken-PalletResObj.AantalTePicken) + . Set AssocZeroPallet.ReservationIsDone=0 + . Set AssocZeroPallet.FailedReservation="Kan "_PalletResObj.AantalTePicken_" stuk(s) van product "_PalletResObj.Product_" niet afpunten." + + ;If # van ZeroPallet=0, dan mag deze verwijderd worden + New ZeroIDToDelete + Set ZeroIDToDelete=$S(AssocZeroPallet.AantalTePicken=0:AssocZeroPallet.%Id(),1:"") + + ;Zero pallet save + New tmpStatus + Set tmpStatus=PalletResObj.AssociatedZeroPallet.%Save(0) ;Shallow Save + If $$$ISERR(tmpStatus) Do Quit $$ParseStatus^vhLib(tmpStatus) + . Do PalletResObj.%Close() + + Do PalletResObj.%Close() + + Do:(ZeroIDToDelete'="") ##class(Flow.OrderWMS.PalletReservatie).%DeleteId(ZeroIDToDelete) + + ;In beide gevallen mag PalletResObj verwijderd worden + ; => PalletResObj.AantalTePicken=0 => No probs + ; => PalletResObj.AantalTePicken<>0 => ZeroPallet is ongeldig verklaard door ReservationIsDone=0, dus zijn 'children' zijn ook invalid + ; dus deze kunnen evengoed verwijderd worden + Do ##class(Flow.OrderWMS.PalletReservatie).%DeleteId(PalletResID) + + Quit "" +]]> + + + +1 +code +ConsolidatieNr:%Library.String,Magazijn:%Library.String,PalletID:%Library.String,Sectie:%Library.String,ProductNr:%Library.String,ReturnEmptyWhenNew:%Library.Boolean=0 +cache +0 +%Library.String + + + + +1 +code +ConsolidatieNr:%Library.String,Magazijn:%Library.String +cache +0 +%Library.Status + + + + +1 +code +ConsolidatieNr:%Library.String,Magazijn:%Library.String,ProductNr:%Library.String +cache +0 +%Library.Status +0)" + Set tmpStatus=RS.Prepare(SQL) + + //PREPARE ERROR? + If $$$ISERR(tmpStatus) Do Quit tmpStatus + . Do RS.%Close() + + //EXECUTE Delete + Set tmpStatus=RS.Execute(ConsolidatieNr,Magazijn,ProductNr) + + //SQLCode=100 betekent de tabel is leeg, dit is geen error + Set:(tmpStatus["SQLCODE = 100") tmpStatus=$$$OK + + Do RS.%Close() + + Quit tmpStatus +]]> + + + +1 +code +ConsolidatieNr:%Library.String,Magazijn:%Library.String,ProductNr:%Library.String +cache +0 +%Library.Status + + + + +1 +code +PalletID:%Library.String,Sectie:%Library.String,Product:%Library.String +cache +0 +%Library.String + + + + +1 +code +ConsNr:%Library.String,Magazijn:%Library.String,ProductNr:%Library.String,IsDone:%Library.Boolean,FailStr:%Library.String="" +cache +0 +%Library.Status + + + + + +Verkrijg alle pallets met PalletID=0, deze bevatten +de "totalen" +%Library.SQLQuery +paConsNr,paMagazijn,paProdNr:%Library.String + 0) +]]> + + + + + +%Library.SQLQuery +paConsNr:%Library.String,paMagazijn:%Library.String,paPalletID:%Library.String +KortTekst,Inventory,AssociatedZeroPallet,ReservationIsDone +FROM Flow_OrderWMS.PalletReservatie +WHERE (ConsolidatieNr = :paConsNr) AND (Magazijn = :paMagazijn) AND (PalletID = :paPalletID) +]]> + + + + + + +Verkrijg alle pallets met PalletID=0, deze bevatten +de "totalen" +%Library.SQLQuery +paConsNr,paMagazijn:%Library.String + 0) +ORDER BY LocM,LocG,LocX,LocY +]]> + + + + + + +Verkrijg alle pallets met PalletID=0, deze bevatten +de "totalen" +%Library.SQLQuery +paConsNr:%Library.String,paMagazijn:%Library.String +KortTekst +FROM Flow_OrderWMS.PalletReservatie +WHERE (ConsolidatieNr = :paConsNr) AND + (Magazijn = :paMagazijn) AND + (PalletID=0) AND + (ReservationIsDone=0) +]]> + + + + + +%Library.CacheStorage +^Flow.Ord.PalletReservatieD +PalletReservatieDefaultData +^Flow.Ord.PalletReservatieD +^Flow.Ord.PalletReservatieI +^Flow.Ord.PalletReservatieS + + +AantalInReservatie + + +AantalPicked + + +AantalTePicken + + +Inventory + + +Locatie + + +Sectie + + +Status + + +Locations + + +IsFull + + +NeedAll + + +LocM + + +ProductsOnPallet + + +ReservationSuccess + + +ReservationIsValid + + +ReservationIsDone + + +FailedReservationStr + + +FailedReservation + + +AssociatedZeroPallet + + +GekoppeldeSubs + + +AantalOpPallet + + +LocG + + +LocX + + +LocY + + +UserID + + +%%CLASSNAME + + + + + Index: APPS/TBXWeb/enu/RedenOfferteVervallen.cls.xml =================================================================== diff -u --- APPS/TBXWeb/enu/RedenOfferteVervallen.cls.xml (revision 0) +++ APPS/TBXWeb/enu/RedenOfferteVervallen.cls.xml (revision 2) @@ -0,0 +1,41 @@ + + + +datatype +1 +%String +0 + + +,NieuweActie,ActieVervallen,DuurOfferteVerstreken,IsGeenOfferte + + + +1 +%String + + + + +1 +%String + + + + +1 +%String + + + + +1 +%String + + + + Index: TECH/Files.cls.xml =================================================================== diff -u --- TECH/Files.cls.xml (revision 0) +++ TECH/Files.cls.xml (revision 2) @@ -0,0 +1,126 @@ + + + +1 +%RegisteredObject +0 + + +%ListOfObjects + + + +Directory:%String,FileMask:%String="*.*",AddSubDir:%Boolean=1,IncludeDirs:%Boolean=0 +%ListOfObjects + + + + +%New method to +provide notification that a new instance of an object is being created. + +

    If this method returns an error then the object will not be created. +

    It is passed the arguments provided in the %New call. +When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). +For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be: +

    Method %OnNew(dob as %Date = "", name as %Name = "") as %Status]]> +FullName:%String,rset:%ResultSet + + + + +initvalue:%CacheString +1 +1 +%Status + + + + +%Query +Directory:%String,FileMask:%String + + + + +1 + +%Status + + + + +1 + +GetFilesExecute +%Status + + + + +1 + +GetFilesExecute +%Status + + + + Index: Prod/Kenmerk/VertaalTransAbstract.cls.xml =================================================================== diff -u --- Prod/Kenmerk/VertaalTransAbstract.cls.xml (revision 0) +++ Prod/Kenmerk/VertaalTransAbstract.cls.xml (revision 2) @@ -0,0 +1,195 @@ + + + +1 +persistent +%Library.Persistent + + +Res.VertalingAbstract + + + +1 +1 +VertalingsTypes + + + +Prod.Kenmerk.MetaDefinitie +parent +VertaalTransforms +1 + + + + +Indien meerdere substituties mogelijk zijn, afhankelijk van de waarde, dan moet de juiste gekozen worden door een expressie. +Bv. getal in mm maar moet gedisplayed worden in cm, dan moet X gedeeld worden door 10 +Bv. prijs per 100 dan moet de eenheidsprijs vermenigvuldigd worden met 100 +Bv. om een getal te formateren + +De gebruikte formule kan als volgt omschreven worden +Set Sleutel = f(X) +%Library.String + + + + + +Leeg : Geen execute +T : letterlijk +@ : expressie +X : eXecute +D: Label^Routine +F : Functie Label^Routine +R : Routine Label^Routine(paramlist) +%Library.String + + + + + + + +';' gescheiden, bijv. 'L;K' +%Library.String + + + +Waarde:%Library.String +%Library.Status + + + + +%Library.String + + + + + +Geeft leeg terug wanneer geen sleutels gevonden zijn. Maw het +gaat dan om specifieke vertalingen. + +De parameter ExcludeContainer: zie Method Code + +Hierarchie: + +- MetaDefinitie: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef +Dit omtrent alle VertalingsTypes dus (zijnde o.a. 'L','O','K',...) + +- VertaalTrans: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef.VertaalTrans obj. +Dit omtrent één VertalingsType + +FunctieResult: +$LB($LB(VertalingsType1,Sleutel1),$LB(VertalingsType2,Sleutel2),...) +VertalingsTypes:%Library.String,ExcludeContainer:%Library.String="" +%Library.String + + + + +%Library.Boolean + + + + +%Library.SQLQuery +(paKenmerk:%Library.String) +SELECT ID, SleutelSelectExec, SleutelSelectExecType, VertalingsTypes +FROM Prod_Kenmerk.VertaalTransAbstract +WHERE (Kenmerk = :paKenmerk) +ORDER BY VertalingsTypes + + + + + + +%Library.CacheStorage +{%%PARENT}("VT") +VertaalTransAbstractDefaultData +{%%PARENT}("VT") +^Prod.Ken.VertaalTransAbstractI +^Prod.Ken.VertaalTransAbstractS + +%%CLASSNAME +node +0 + + + +SleutelSelectExec + + +SleutelSelectExecType + + + + + Index: csp/tbx/main.cls.xml =================================================================== diff -u --- csp/tbx/main.cls.xml (revision 0) +++ csp/tbx/main.cls.xml (revision 2) @@ -0,0 +1,827 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,(..HyperEventBody()) + Write !,!,!,!,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Do ..Include("Header.csp") + Write !,$c(9,9,9)_"
    " + Write "" + Write "
    ",! + Write ! + If '($G(blnNoAccess)) Goto %csp00003 ;{ + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9) + If '(($G(blnAllowedBrowser,1))) Goto %csp00004 ;{ + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9)_" "_(..WebTextValue("MainBadCode",Taal,"O")),! + Write $c(9,9,9,9,9) + If '($G(%request("Taal",1))="") Goto %csp00005 ;{ + Write "
     "_(..WebTextValue("MainBadCode","E","O")) +%csp00005 ;} + Write " " + Write "" + Write !,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9) +%csp00004 ;} + Write !,$c(9,9,9,9) + If '(($L($G(NoAccessMsg)))) Goto %csp00006 ;{ + Write "

    " + Write "" + Write "  "_(NoAccessMsg) + Write "" +%csp00006 ;} + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9) + If '(($G(arShow2("FixOptima","BTN")))) Goto %csp00007 ;{ + Write !,$c(9,9,9,9,9)_"Go to " + Write "" + Write "" + Write "Fix Optima" + Write "" + Write "" + Write " page",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9) +%csp00007 ;} + Write !,$c(9,9,9,9)_"  " + Write "" + Write "<< BACK" + Write "" + Write !,$c(9,9,9)_"
    ",! + If $D(arJSExec) Do + . Write "" + Write !,$c(9,9,9)_"
    ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_""_("TANDEMBOX"_" "_..WebTextValue("MainPageTitle",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + If '((%request.UserAgent["MSIE")) Goto %csp00001 ;{ + Write "" +%csp00001 ;} + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write ! + If '(($G(arShow("SubmitAdmin","BTN")))&&($G(arShow("ChangeBulk","BTN"))=1)) Goto %csp00002 ;{ + Write !,$c(9) + Write "" + Write ! +%csp00002 ;} + Write !,(..HyperEventHead()) + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,! + Do ..Include("%VHMacro.INC") + Write ! + Do ..Include("PRGACNTs.INC") + Write !,!,!,!,! + Set %session.AppTimeout = $S($G(sMode)="PROCESS":305, 1:905) + // Session Data is set in the OnPreHTTP-method + Set WSOrd=$S($G(wsID)="":0, 1:##class(WS.TBX.Order).%OpenId(wsID)) + If $IsObject(WSOrd) Set HeaderLogo = WSOrd.GetDC() + Set:($G(sMode)="START") HeaderLogo="" + Set BGImage = "BG_TBX.bmp" + If $$$NSpace="DEMO" Set BGImage="BG_TBX_DEMO.bmp" + If $$$Server="CACHE02" Set BGImage="BG_TBX_C02.bmp" + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +1 +code +WSOrdID,NewValue,blnRecalc +cache +%String + + + + +c:\cachesys\csp\vhisie\TBX\Main.csp + + + +/vhisie/TBX/Main.csp + + + +0 + + + +62217,42451 + + + +0 + +
    +
    Index: Res/PI/VullingExtra.cls.xml =================================================================== diff -u --- Res/PI/VullingExtra.cls.xml (revision 0) +++ Res/PI/VullingExtra.cls.xml (revision 2) @@ -0,0 +1,84 @@ + + + + +Extra bewerking op vulling +persistent +Res.PI.Items + + +%Library.Boolean + + + +%Library.String + + + +%Library.String + + + + +Sommige bewerkingen kunnen alleen besteld worden bijr een bepaalde leverancier. +Dit in combinatie met de leveranciers van de vulling kan uiteindelijk bepaald worden welke leverancier het glas moet leveren. +Het kan zijn dat sommige beglazing niet kan geleverd worden. +De volgorde van de leverancier is belangrijk om dat de eerste in de lijst de default leverancier is +Res.PI.emVullingLevering +list + + + +Res.PI.Kost + + + +Res.PI.Kost + + + + +Ophalen van de VullingenExtra met specifieke informatie +%Library.SQLQuery +() +SELECT ID, ItemID, Omschrijving, Sort, AlleenLos +FROM VullingExtra +ORDER BY Sort + + + + + + +%Library.CacheStorage +VullingExtraDefaultData + +"VULEXTRA" + +AlleenLos + + +FloatKost + + +GehardKost + + +Leveranciers + + +FloatKostCode + + +HardKostCode + + +OLDFloatKost + + +OLDGehardKost + + + + + Index: cspBasis/SOAPlib.mac.rou =================================================================== diff -u --- cspBasis/SOAPlib.mac.rou (revision 0) +++ cspBasis/SOAPlib.mac.rou (revision 2) @@ -0,0 +1,169 @@ + +#include %occInclude +#include %VHMacro +#include BL.Sys.FOP.Common + + + + /* * / +cdwSoapAddToLog + New lbExtras + Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) + Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) + Quit +cdwSoapErrorCalc + Set $ZE="" + Quit + /* */ + + +PeekSOAPBuildLog(SoapClass,method,lbLocations,locNdx) + New tmpLB + Set tmpLB="" + Set tmpLB=tmpLB_$LB("SoapClass="_SoapClass) + Set tmpLB=tmpLB_$LB("SoapMethod="_method) + Set tmpLB=tmpLB_$LB("Locations="_$$LCVTSimple^vhLib(lbLocations,"|")) + Set tmpLB=tmpLB_$LB("LocNdx_OK="_locNdx) + Quit tmpLB + +SOAPErrorMail(MailParamType,BodyTitle,CustomMsg,DisplayError,SoapClient) + New Body,msg,From,lbTo,Subject,SoapFault,sc + Set msg=$S($D(DisplayError):DisplayError, 1:"SOAP message: "_$$semParseStatusSOAP($G(%objlasterror))) ; $$ParseStatus^vhLib($G(%objlasterror))) + If $G(MailParamType)="TBX_ERR" Do + . Set BodyTitle=$G(BodyTitle,"WEB AANVRAAG TANDEMBOX : ") + . Set Subject="TandemBOX - Error - "_$ZDT($H,4)_"" + . Set From="""TBX Error"" " + . Set lbTo=$LB("ICT_SOAPSysOp@vanhoecke.be") ; ("WV@vanhoecke.be") ("") + Else If $G(MailParamType)="FOP_ADB_ERR" Do + . Set BodyTitle=$G(BodyTitle,"FOP DocBase SOAP : ") + . Set Subject="DocBase - Error - "_$ZDT($H,4)_"" + . Set From="""FOP DocBase"" "_$$$FopMailFromKort ; "" + . Set lbTo=$LB("ICT_FOPSysOp@vanhoecke.be") ; ("WV@vanhoecke.be") ("") + Else If $G(MailParamType)="WSH_DP_ERR" Do + . Set BodyTitle=$G(BodyTitle,"DynaPlug SOAP : ") + . Set Subject="DynaPlug - Error - "_$ZDT($H,4)_"" + . Set From="""Dynaplug"" " + . Set lbTo=$LB("ICT_DynaPlugSysOp@vanhoecke.be") ; ("TR@vanhoecke.be") ("") + Else Do ; Default + . Set BodyTitle=$G(BodyTitle,"SOAP REQUEST : ") + . Set Subject="SOAP - Message - "_$ZDT($H,4)_"" + . Set From="""SOAP Msg"" " + . Set lbTo=$LB("ICT_SOAPSysOp@vanhoecke.be") + Set Body="" + Set Body=Body_BodyTitle_$$$CRLF + Set Body=Body_msg_$$$CRLF + If ($IsObject($G(SoapClient))) Do + . Set SoapFault=SoapClient.GetSoapFault() + . Set:($IsObject(SoapFault)) Body=Body_"Soap Fault: "_SoapFault.AsString()_$$$CRLF + Set Body=Body_""_$$$CRLF + If $L($G(CustomMsg)) Do + . Set Body=Body_CustomMsg_$$$CRLF + . Set Body=Body_""_$$$CRLF + Set Body=Body_"--- End of message ---"_$$$CRLF + Set Body=Body_$$$CRLF_"Device: "_$I_" Job: "_$J + Set Body=Body_$$$CRLF_"Server: "_$$$Server_" NameSpace: "_$$$NSpace + + ;Set Body=$G(Body,"Msg: "_msg) +#If (##class(TECH.Config.ConfigMgr).Instance().GetOmgeving()'?1(1"PROD",1"DMZ-PROD")) + Do ; Send to SoapSysOp or FopSysOp if not Cache02, else replace by "WV" ; only on WWW; + . New i + . Set i=$LF(lbTo,"ICT_SOAPSysOp@vanhoecke.be") + . Set:(i>0) $LI(lbTo,i)="WV@vanhoecke.be" + . Set i=$LF(lbTo,"ICT_FOPSysOp@vanhoecke.be") + . Set:(i>0) $LI(lbTo,i)="WV@vanhoecke.be" + Do ; Send to DynaPlugSysOp if not Cache02, else replace by "TR" ; only on WWW; + . New i + . Set i=$LF(lbTo,"ICT_DynaPlugSysOp@vanhoecke.be") + . Set:(i>0) $LI(lbTo,i)="jcl@vanhoecke.be" +#EndIf + Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,$G(BodyIsStream,0)) + If 'sc ; Set errmsg=$$ParseStatus^vhLib(sc)_" From="_From + Quit +semParseStatusSOAP(sc) + Quit:($G(sc)="") "" + New ErrMsg + Set ErrMsg=$$ParseStatus^vhLib(sc) + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("SOAPlib_IsSoapFaultSupported")) { + Quit:($$$GETERRORCODE(sc)=$$$SOAPFaultReceived) $S($L(ErrMsg)>(128+40):$E(ErrMsg,1,128)_"... (SNIPPED by cspBasis.SOAPlib.MAC) ..."_$E(ErrMsg,$L(ErrMsg)-40,999999), 1:ErrMsg) + } + Quit ErrMsg + +GetWSlocsDefault() + Set pdlDefaultLocations=##class(TECH.Config.ConfigMgr).Instance().GetString("cspBasis.SOAPlib_TBoxWSDefaultLocations") // ";cache01\ADMIN1;cache02\JRNL-ADMIN1" + Quit $$PiecesToList^vhLib(pdlDefaultLocations) ; Delim is het eerste character (nl. ";") + +GetLocations(Class,lbWSlocs) + Quit:($G(Class)="") "" + New tmpAr,tmpLB,i,Serv,NSpace + New arLocations + Do SoapLocationsInit + Quit:('$D(arLocations(Class))) "" + Merge tmpAr=arLocations(Class) + Set tmpLB="" + For i=1:1:$LL(lbWSlocs) Do + . Set Serv=$P($LG(lbWSlocs,i),"\",1) + . Set NSpace=$P($LG(lbWSlocs,i),"\",2) + . Set:(NSpace="") NSpace=$O(tmpAr(Serv,"")) + . If NSpace="*" Do + .. ; (TO DO) Loop over all NameSpaces of the Server for this class + .. ;Set tmpLB=tmpLB_$LB(tmpAr(Serv,NSpace)) + . Else Do + .. Do glcAddLoc($G(tmpAr(Serv,NSpace))) ; Conditional Set tmpLB=tmpLB_$LB(tmpAr(Serv,NSpace)) + Quit tmpLB +glcAddLoc(loc) + Set:($LF(tmpLB,loc)<1) tmpLB=tmpLB_$LB(loc) + Quit + +SoapLocationsInit + #define EndsWithSlash(%v) (%v?.E1"/") + #define AddEndSlash(%v) If $$$Not($$$EndsWithSlash(%v)) Set %v=%v_"/" + + New ProductieWebServiceLocation,ProductieFailoverWebServiceLocation,DevelopmentWebServiceLocation + Set ProductieWebServiceLocation =##class(TECH.Config.ConfigMgr).Instance().GetString("SOAPlib_ProductieWebServiceLocation") ; http://195.130.157.5:88/csp/admin1/ (op CACHE01) + Set ProductieFailoverWebServiceLocation =##class(TECH.Config.ConfigMgr).Instance().GetString("SOAPlib_ProductieFailoverWebServiceLocation") ; http://195.130.157.6/csp/jrnladmin1/ (op CACHE02) + Set DevelopmentWebServiceLocation =##class(TECH.Config.ConfigMgr).Instance().GetString("SOAPlib_DevelopmentWebServiceLocation") ; http://195.130.157.6/csp/admin1/ (op CACHE02) + // Iedere WebServiceLocation moet eindigen op een "/" + $$$AddEndSlash(ProductieWebServiceLocation) + $$$AddEndSlash(ProductieFailoverWebServiceLocation) + $$$AddEndSlash(DevelopmentWebServiceLocation) + + Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") =ProductieWebServiceLocation_"WS.TBX.Calc.cls" + Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") =ProductieFailoverWebServiceLocation_"WS.TBX.Calc.cls" + Set arLocations("WS.TBX.CalcSoap","cache02","DEV-ADMIN1") =DevelopmentWebServiceLocation_"WS.TBX.Calc.cls" + Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") =ProductieWebServiceLocation_"WS.TBX.DataIO.cls" + Set arLocations("WS.TBX.DataIOSoap","cache02","JRNL-ADMIN1")=ProductieFailoverWebServiceLocation_"WS.TBX.DataIO.cls" + Set arLocations("WS.TBX.DataIOSoap","cache02","DEV-ADMIN1") =DevelopmentWebServiceLocation_"WS.TBX.DataIO.cls" + Set arLocations("WS.PR.KADWebSoap","cache01","ADMIN1") =ProductieWebServiceLocation_"WS.PR.KADWeb.cls" + Set arLocations("WS.PR.KADWebSoap","cache02","JRNL-ADMIN1") =ProductieFailoverWebServiceLocation_"WS.PR.KADWeb.cls" + Set arLocations("WS.PR.KADWebSoap","cache02","DEV-ADMIN1") =DevelopmentWebServiceLocation_"WS.PR.KADWeb.cls" + + /* + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("x_x_x_IsInDMZ")) { + Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") ="http://195.130.157.5:88/csp/admin1/WS.TBX.Calc.cls" + Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") ="http://195.130.157.6/csp/jrnladmin1/WS.TBX.Calc.cls" + Set arLocations("WS.TBX.CalcSoap","cache02","DEV-ADMIN1") ="http://195.130.157.6/csp/admin1/WS.TBX.Calc.cls" + Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") ="http://195.130.157.5:88/csp/admin1/WS.TBX.DataIO.cls" + Set arLocations("WS.TBX.DataIOSoap","cache02","JRNL-ADMIN1")="http://195.130.157.6/csp/jrnladmin1/WS.TBX.DataIO.cls" + Set arLocations("WS.TBX.DataIOSoap","cache02","DEV-ADMIN1") ="http://195.130.157.6/csp/admin1/WS.TBX.DataIO.cls" + Set arLocations("WS.PR.KADWebSoap","cache01","ADMIN1") ="http://195.130.157.5:88/csp/admin1/WS.PR.KADWeb.cls" + Set arLocations("WS.PR.KADWebSoap","cache02","JRNL-ADMIN1") ="http://195.130.157.6/csp/jrnladmin1/WS.PR.KADWeb.cls" + Set arLocations("WS.PR.KADWebSoap","cache02","DEV-ADMIN1") ="http://195.130.157.6/csp/admin1/WS.PR.KADWeb.cls" + ; // OLD IP-addresses (previous firewall configuration / evonet,xs4all) + ;Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") ="http://195.144.69.99:88/csp/admin1/WS.TBX.Calc.cls" + ;Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") ="http://195.144.69.99/csp/jrnladmin1/WS.TBX.Calc.cls" + ;Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") ="http://195.144.69.99:88/csp/admin1/WS.TBX.DataIO.cls" + } + Else { + Set arLocations("WS.TBX.CalcSoap","cache01","ADMIN1") ="http://cache01/csp/admin1/WS.TBX.Calc.cls" + Set arLocations("WS.TBX.CalcSoap","cache02","JRNL-ADMIN1") ="http://cache02/csp/jrnladmin1/WS.TBX.Calc.cls" + Set arLocations("WS.TBX.CalcSoap","cache02","DEV-ADMIN1") ="http://cache02/csp/admin1/WS.TBX.Calc.cls" + Set arLocations("WS.TBX.DataIOSoap","cache01","ADMIN1") ="http://cache01/csp/admin1/WS.TBX.DataIO.cls" + Set arLocations("WS.TBX.DataIOSoap","cache02","JRNL-ADMIN1")="http://cache02/csp/jrnladmin1/WS.TBX.DataIO.cls" + Set arLocations("WS.TBX.DataIOSoap","cache02","DEV-ADMIN1") ="http://cache02/csp/admin1/WS.TBX.DataIO.cls" + Set arLocations("WS.PR.KADWebSoap","cache01","ADMIN1") ="http://cache01/csp/admin1/WS.PR.KADWeb.cls" + Set arLocations("WS.PR.KADWebSoap","cache02","JRNL-ADMIN1") ="http://cache02/csp/jrnladmin1/WS.PR.KADWeb.cls" + Set arLocations("WS.PR.KADWebSoap","cache02","DEV-ADMIN1") ="http://cache02/csp/admin1/WS.PR.KADWeb.cls" + } + */ + + Quit \ No newline at end of file Index: Kenm/Vertaal/MetaDefinitie.cls.xml =================================================================== diff -u --- Kenm/Vertaal/MetaDefinitie.cls.xml (revision 0) +++ Kenm/Vertaal/MetaDefinitie.cls.xml (revision 2) @@ -0,0 +1,277 @@ + + + +0 +0 +persistent +0 +0 +Kenm.Basis.MetaDefinitie +0 + + +0 +PK + + + +Kenm.Vertaal.MetaGroep +0 +0 +parent + +MetaDefinities +0 +0 +1 +0 +0 +0 + + + +Kenm.Vertaal.VertaalTransAbstract +0 +0 +children + +Kenmerk +0 +0 +1 +0 +0 +0 + + + +0 +0 +code +IsNew:%Library.Boolean=1 +0 +%Library.Status +0 + + + + + +Geeft de oref terug van het VertaalTransform-object dat het gegeven TextType bevat in VertalingsTypes. +(geeft leeg indien niet gevonden) +0 +0 +code +TextType:%Library.String +0 +Kenm.Vertaal.VertaalTransAbstract +0 + + + + + +Levert de parameter VertalingsGroep terug +0 +0 +code + +0 +%Library.String +0 + + + + + +Levert de parameter VertalingsGroep terug +0 +0 +code + +0 +%Library.String +0 + + + + + +Hierarchie: + +- MetaDefinitie: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef +Dit omtrent alle VertalingsTypes dus (zijnde o.a. 'L','O','K',...) + +- emVertaalTrans: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef.emVertaalTrans obj. +Dit omtrent één VertalingsType + +FunctieResult: +$LB($LB(VertalingsType1,Sleutel1),$LB(VertalingsType2,Sleutel2),...) +0 +0 +code + +0 +%Library.String +0 + + + + +0 +0 +code + +0 +%Library.String +0 + + + + +0 +1 +code +ID:%Library.String +0 +%Library.String +0 + + + + + +Mogelijke waarden voor ListItems: bvb.: "*" , "1" , "1;2" , "1;2;5;7"
    +Als ListSep niet leeg is, worden de vertaalde items geconcateneerd (met ListSep as separator) tot één +element van de $LB().]]>
    +0 +0 +code +LBX:%Library.String,ListSep:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +0 +%Library.String +0 + +
    + + +0 +0 +code +X:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +0 +%Library.String +0 + + + + +%Library.SQLQuery +paGroep:%Library.String +0 +SELECT ID,Groep,Decimalen,DisableWhen,Eenheid,Format, + Intern,Kenmerk,LangtekstTransform,LangtekstVolgNr, + Lengte,MaxValue,MinValue,Multiple,MultipleDisplay, + Omschrijving,Verplicht,VolgNr,WaardenSortering +FROM Kenm_Vertaal.MetaDefinitie +WHERE (Groep=:paGroep) +ORDER BY VolgNr + +0 + + + + + + +Lijst van de Kenmerken per groep, gesorteerd op VolgNr +%Library.SQLQuery +MGroep:%Library.String +0 +SELECT ID, Kenmerk,WaardenSortering +FROM Kenm_Vertaal.MetaDefinitie +WHERE (Groep = :MGroep) +ORDER BY VolgNr + +0 + + + + + +%Library.CacheStorage + +
    +
    Index: _vhisie/TBX/TBox WebOrder MBHO_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder MBHO_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder MBHO_N.xsl (revision 2) @@ -0,0 +1,499 @@ + + + + + + +EUR + + + + Meubelbeslag Holland - TandemBOX - Web Order + + + + + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    ID:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
         
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr 0031-492 52 18 05
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    Totaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + + + + + + + + + + +
    DESIGN : LadezijdenKLEURKEUZE : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEM+RUG:

    RELINGEN:

    BOXSIDE:

    VULLING/GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breedte

    +

    WD

    +

    Diepte

    +

    Gew

    +

    FB *

    +

    Box

    +

    Diverse

    +

    Aant

    + +

    Ink. Prijs/stPrijs/st Info

    + +
    + + + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

    * Box : Verhoogde zijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + Boxcover zonder vulling + (Code ) + + + + Index: CacheObjectSpyCNTs.inc.rou =================================================================== diff -u --- CacheObjectSpyCNTs.inc.rou (revision 0) +++ CacheObjectSpyCNTs.inc.rou (revision 2) @@ -0,0 +1,43 @@ + ;Voor de array ..aProperties: + #Define propName 1 + #Define propCalculated 2 + #Define propClassName 3 + #Define propCollection 4 + #Define propDatatype 5 + #Define propInitialExpression 6 + #Define propMultiDimensional 7 + #Define propPersistent 8 + #Define propPrivate 9 + #Define propRequired 10 + #Define propRuntimeDatatype 11 + #Define propRuntimeType 12 + #Define propTransient 13 + #Define propType 14 + #Define propObjLabel 15 + #Define propObjEdit 16 + + #Define propDisplayList 17 + #Define propValueList 18 + #Define propMinLen 19 + #Define propMaxLen 20 + #Define propScale 21 + #Define propPattern 22 + + ;Actions bij Event 'OnAddClass' in 'UI.Utils.Spy5.MainForm' + #Define acaNew 1 + #Define acaNewViaId 2 + #Define acaNewViaORef 3 + #Define acaOpen 4 + #Define acaOpenId 5 + #Define acaOpenORef 6 + #Define acaDelete 7 + #Define acaSave 8 + #Define acaClose 9 + + ;Mogelijke spy-forms + #Define spyMini 1 + #Define spyArray 2 + #Define spySimpleArray 3 + #Define spySimpleList 4 + #Define spyMultiDimensional 5 + #Define spyCharacterStream 6 \ No newline at end of file Index: WS/TBX/DataIOSoap/GetEmailAdressen.cls.xml =================================================================== diff -u --- WS/TBX/DataIOSoap/GetEmailAdressen.cls.xml (revision 0) +++ WS/TBX/DataIOSoap/GetEmailAdressen.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.TBX.DataIOSoap + + +%Client,%Action,KLNr:%String,ListSep:%String=";" +%Library.String +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + +%Library.String + + + + +%Library.String + + + + Index: WS/TBX/KlantMini.cls.xml =================================================================== diff -u --- WS/TBX/KlantMini.cls.xml (revision 0) +++ WS/TBX/KlantMini.cls.xml (revision 2) @@ -0,0 +1,140 @@ + + + + +Beperkte gegevens van het Derde.Klant.Klant object met overeenkomstig ID +1 +%RegisteredObject,%XML.Adaptor +0 + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + +%String + + + + +%String + + + + + gebruik maken van SOAP/WebService]]> +1 +code +KLNr:%String +1 +WS.TBX.KlantMini + geen info + + Set Mini=##class(WS.TBX.KlantMini).%New() + Set Mini.Naam=KL.Naam + Set Mini.Nummer=KL.Nummer + Set Mini.StraatNrBus=KL.StraatNrBus + Set Mini.PostNr=KL.Postnummer + Set Mini.WoonPlaats=KL.Woonplaats + Set Mini.Telefoon=KL.Telefoon1 + Set Mini.Fax=KL.Telefax + Set Mini.EMail=KL.EmailAdres ; TO DO : Get E-mail adres from contactpersoon + Set Mini.Taal=KL.Taal + ;Set Mini.PrijsKlasse=$$PRIJSKL^KLANT(KLNr,$$$GenPRNrTBX) + Set Mini.Korting="" + ; Bulk Settings ; wordt nog niet gebruikt, enkel ter voorbereiding voor later + Set lbBulkConfig="" + ;Set lbBulkConfig=##class(cspBasis.GAProdTBox).GetKlantBulk(sDomVERW,KLNr) + Set KlantVPK=##class(BL.PR.GA.TandemBox).GetKlantVerpakking(KLNr) + Set:($L(KlantVPK)) lbBulkConfig=$LB(KlantVPK,1) + Set Mini.BulkVPKCode=$LG(lbBulkConfig,1) + Set Mini.BulkMinQty=$LG(lbBulkConfig,2) + ; Close KL and return Mini + Set KL="" + Quit Mini +]]> + + + Index: cspBasis/ProductSearch.cls.xml =================================================================== diff -u --- cspBasis/ProductSearch.cls.xml (revision 0) +++ cspBasis/ProductSearch.cls.xml (revision 2) @@ -0,0 +1,31 @@ + + + + +CSP basisklasse voor ProductSearchSA (Stand-Alone) en voor ProductMenu +(HTML voor Search is hierin geïntegreerd). +1 +cspBasis.cspAbstract,cspBasis.ProductSearchCommon + + + +In de Stand-Alone versie van ProductSearch.csp (i.e. niet-geïntegreerd in ProductMenu.csp) is deze method +noodzakelijk. +1 + + + + +1 +%Library.Boolean + + + + Index: EWMS/Pick/PickPost.cls.xml =================================================================== diff -u --- EWMS/Pick/PickPost.cls.xml (revision 0) +++ EWMS/Pick/PickPost.cls.xml (revision 2) @@ -0,0 +1,995 @@ + + + +0 +0 +persistent +0 +1 +GSQLStorage +%Library.Persistent +0 + + +0 +EWMS STAT,NOCREATE + + + +0 +dbo.pick_post + + + +0 +1 +1 +LocM,LocG,LocX +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +3 +0 +loc_g +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +2 +0 +loc_m +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +5 +0 +loc_x +0 + + + +%String +0 +0 + +0 +0 +0 +0 +14 +0 +order_nr +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +23 +0 +actions_field +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +7 +0 +activate +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +8 +0 +assign_seq +0 + + + +%String +0 +0 + +0 +0 +0 +0 +31 +0 +assign_time +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +9 +0 +assign_type +0 + + + +%String +0 +0 + +0 +0 +0 +0 +17 +0 +client_nr +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +12 +0 +colli_nr +0 + + + +%String +0 +0 + +0 +0 +0 +0 +16 +0 +distributor +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +10 +0 +dst_loc_id +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +18 +0 +dst_nr +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +21 +0 +dst_price +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +22 +0 +dst_qty +0 + + + +%String +0 +0 + +0 +0 +0 +0 +11 +0 +dst_section +0 + + + + +%Float +0 +0 + +0 +0 +0 +0 +19 +0 +dst_vol +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +20 +0 +dst_weight +0 + + + +%String +0 +0 + +0 +0 +0 +0 +13 +0 +due_out_time +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +47 +0 +extra_char_1 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +56 +0 +extra_char_10 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +48 +0 +extra_char_2 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +49 +0 +extra_char_3 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +50 +0 +extra_char_4 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +51 +0 +extra_char_5 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +52 +0 +extra_char_6 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +53 +0 +extra_char_7 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +54 +0 +extra_char_8 +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +55 +0 +extra_char_9 +0 + + + + +%Float +0 +0 + +0 +0 +0 +0 +57 +0 +extra_float_1 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +58 +0 +extra_float_2 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +59 +0 +extra_float_3 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +60 +0 +extra_float_4 +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +61 +0 +extra_float_5 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +37 +0 +extra_int_1 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +46 +0 +extra_int_10 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +38 +0 +extra_int_2 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +39 +0 +extra_int_3 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +40 +0 +extra_int_4 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +41 +0 +extra_int_5 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +42 +0 +extra_int_6 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +43 +0 +extra_int_7 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +44 +0 +extra_int_8 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +45 +0 +extra_int_9 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +6 +0 +lane_carrier_type +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +26 +0 +last_carrier_order +0 + + + +%String +0 +0 + +0 +0 +0 +0 +29 +0 +lock_time +0 + + + + +%Float +0 +0 + +0 +0 +0 +0 +34 +0 +max_fill_volume +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +35 +0 +max_overfill_volume +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +36 +0 +max_price +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +32 +0 +max_qty +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +33 +0 +max_weight +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +30 +0 +new_order +0 + + + +%String +0 +0 + +0 +0 +0 +0 +24 +0 +options_field +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +15 +0 +order_fase +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +4 +0 +post_carrier_type +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +25 +0 +status +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +62 +0 +trapo_send +0 + + + +%Binary +0 +0 + +0 +0 +0 +0 +63 +0 +ts +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +28 +0 +user_loc_g +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +27 +0 +user_loc_m +0 + + + +%SQLQuery +paConsNr:%String +SELECT assign_seq FROM EWMS_Pick.PickPost + WHERE (order_nr = :paConsNr) AND (loc_m=13) + + + + +%CacheSQLStorage +^EWMS.Pic.PickPostS + + + Index: Prod/GADef/KaderDeur/TemplGeneral.mac.rou =================================================================== diff -u --- Prod/GADef/KaderDeur/TemplGeneral.mac.rou (revision 0) +++ Prod/GADef/KaderDeur/TemplGeneral.mac.rou (revision 2) @@ -0,0 +1,171 @@ + ; AUTHOR : Wim VERMEULEN + ; LOCATION : VAN HOECKE N.V. + ; LAST MODIFIED : 27/06/2001 + ; + ; THIS ROUTINE EXTENDS THE PROPERTIES FROM GIVEN OBJECT WITH THE SPECIFIED TEMPLATE OBJECT + ; + ; --> CALL ExtendFT(KadObj,Templ,...) + ; IT EXTENDS THE OBJECT's (KadObj) FIXED PROPERTIES WITH THE TEMPLATE's (Templ) DYNAMIC PROPERTIES. + ; GENERAL CODE TO CALCULATE FIXED VALUES FROM THE DYNAMIC VALUES IS PROVIDED HERE. + ; + + +ExtendFT(KadObj,Templ,Param1,Param2,Param3,Param4,Param5) + ; ExtendF(rom)T(emplate) :Extends the KadObj with the dynamic properties from the template + ; Parameter declaration: + ; --------------------- + ; KadObj As Prod.GADef.KaderDeur + ; Templ As Prod.GADef.KaderDeur + ; Param1-5 are not used in this routine + Quit:('Templ) + + New Key + ; Extend properties + Do KDExtendPropts(.KadObj,Templ) + ; Extend Beslag + Set Key="" + For Do Templ.Beslag.GetNext(.Key) Quit:Key="" Do + .Do KDExtendBeslag(.KadObj, Templ.Beslag.GetAt(Key),Key) + ; Extend list of Boringen + Set Key="" + For Do Templ.Boringen.GetNext(.Key) Quit:Key="" Do + .Do KDExtendBoring(.KadObj, Templ.Boringen.GetAt(Key),Key) + Quit + +KDExtendPropts(KadObj,Templ) + New ToepasID,OphangPID,ProfielTypeID,Hoogte,Breedte,VullingID,VullingExtras,Gemonteerd,Verpakking + Set:(KadObj.ToepassingGetObjectId()="") ToepasID=$P(Templ.ToepassingGetObjectId(),"||",2) + Set:(KadObj.OphangPlaatsGetObjectId()="") OphangPID=$P(Templ.OphangPlaatsGetObjectId(),"||",2) + Set:(KadObj.ProfTypeGetObjectId()="") ProfielTypeID=$P(Templ.ProfTypeGetObjectId(),"||",2) + Set:(KadObj.ProfAfwGetObjectId()="") ProfielTypeID=$P(Templ.ProfAfwGetObjectId(),"||",2) + Set:(KadObj.Hoogte="") Hoogte=Templ.Hoogte + Set:(KadObj.Breedte="") Breedte=Templ.Breedte + Set:(KadObj.Gemonteerd="") Gemonteerd=Templ.Gemonteerd + Set:(KadObj.Verpakking="") Verpakking=Templ.Verpakking + ;;Set:(KadObj.Vulling.Vulling="") VullingID=$P(Templ.Vulling.VullingGetObjectId(),"||",2) + ;;Set:(KadObj.Vulling.VullingExtras="") VullingExtras=$$ConvertToIDString(Templ.Vulling.VullingExtras) + ;If (KadObj.Vulling.Vulling=""),(Templ.Vulling.VullingGetObjectId()'="") Set KadObj.Vulling=Templ.Vulling + Do FillKDPropts^Prod.GADef.KaderDeur.Templates(.KadObj,$G(ToepasID),$G(OphangPID),$G(ProfielTypeID),$G(Hoogte),$G(Breedte),,,$G(Gemonteerd),$G(Verpakking),"") + ;Do FillKDPropts^Prod.GADef.KaderDeur.Templates(.KadObj,$G(ToepasID),$G(OphangPID),$G(ProfielTypeID),$G(Hoogte),$G(Breedte),$G(VullingID),$G(VullingExtras),$G(Gemonteerd),$G(Verpakking),"") + Set KadObj.TemplateUsed=Templ.TemplateUsed + Quit + +KDExtendBeslag(KadObj,TemplBSL,BeslagKey) + New emBeslag,BeslagTypeID,emTemplPos,emNewPos,PosKey,PrevLPos + Do KadObj.Beslag.RemoveAt(BeslagKey) + Set emBeslag=##class(Prod.GADef.emKadBeslag).%New() + Do:(emBeslag.BeslagGetObjectId()="") emBeslag.BeslagSetObjectId(TemplBSL.BeslagGetObjectId()) + ;Quit:(TemplBSL.Positie.Count()'>0) + Set PrevLPos=0 + Set PosKey="" + Do emBeslag.Positie.Clear() + For Do TemplBSL.Positie.GetNext(.PosKey) Quit:PosKey="" Do + . Set emTemplPos=TemplBSL.Positie.GetAt(PosKey) + . Quit:(emTemplPos.LengtePos_emTemplPos.RelLengtePos="") + . Set emNewPos=##class(Prod.GADef.emKadBeslagPos).%New() + . Set emNewPos.LengtePos=$$FixedPosBeslag(emTemplPos,KadObj,BeslagKey,PosKey,emBeslag,PrevLPos) ; ,TemplBSL) + . ;Set emNewPos.RelLengtePos="" + . ;Set emNewPos.LengtePos=emTemplPos.AbsPosGet("L",KadObj) + . Set:(emTemplPos.RelLengtePos'>0) emNewPos.RelLengtePos=emTemplPos.RelLengtePos + . Set:(emTemplPos.AfstandRand'="") emNewPos.AfstandRand=emTemplPos.AfstandRand + . Set PrevLPos=emNewPos.LengtePos + . Do emBeslag.Positie.SetAt(emNewPos,PosKey) + . Do emNewPos.%Close() + . ; Next Positie + Do KadObj.Beslag.SetAt(emBeslag,BeslagKey) + Do emBeslag.%Close() ; Reference is now held by the KadObj (=KadObj) + Quit + +KDExtendBoring(KadObj,TemplBoor,BKey) + Quit:('$L(TemplBoor.XPos_TemplBoor.RelXPos)!'$L(TemplBoor.YPos_TemplBoor.RelYPos)!'$L(TemplBoor.BoorDiameter)!'$L(TemplBoor.BoringType)!'$L(TemplBoor.BoorDiepte)) + New emBoring + Set emBoring=##class(Prod.GADef.emKadBoring).%New() + Set emBoring.XPos=$$FixedPosBoring("X",TemplBoor,KadObj) + Set emBoring.YPos=$$FixedPosBoring("Y",TemplBoor,KadObj) + ;Set emBoring.XPos=templBoor.AbsPosGet("X",KadObj) + ;Set emBoring.YPos=templBoor.AbsPosGet("X",KadObj) + Set:(TemplBoor.RelXPos'>0) emBoring.RelXPos=TemplBoor.RelXPos + Set:(TemplBoor.RelYPos'>0) emBoring.RelYPos=TemplBoor.RelYPos + + Set emBoring.BoorDiameter=TemplBoor.BoorDiameter + Set:(TemplBoor.AfschuinDiameter) emBoring.AfschuinDiameter=TemplBoor.AfschuinDiameter + Set emBoring.BoringType=TemplBoor.BoringType + Set emBoring.BoorDiepte=TemplBoor.BoorDiepte + Set:(TemplBoor.BoorGlasDiameter) emBoring.BoorGlasDiameter=TemplBoor.BoorGlasDiameter + Set:($L(TemplBoor.ZPos_TemplBoor.RelZPos)) emBoring.ZPos=$$FixedPosBoring("Z",TemplBoor,KadObj) + ;If TemplBoor.ZPos_TemplBoor.RelZPos'="" Do + ;. Set emBoring.ZPos=templBoor.AbsPosGet("Z",KadObj) + ;. Set:(TemplBoor.RelZPos'>0) emBoring.RelZPos=TemplBoor.RelZPos + Set:(TemplBoor.RelZPos'>0) emBoring.RelZPos=TemplBoor.RelZPos + Set emBoring.CncID=TemplBoor.CncID + + ; Controle Boring + Do KadObj.ControleBoring(emBoring) + Set:($E(emBoring.TxtOpmerking,1,3)'="OK:") emBoring.Opmerking=emBoring.TxtOpmerking + ;Set:(emBoring.BoringPlaats?1"P"1A1";VUL") emBoring.BoorGlasDiameter=8 + + ; Add emBoring to Array + Set BKey=$E($G(BKey)_"X",1) + Do KadObj.Boringen.SetAt(emBoring,$S(BKey?.A:BKey, 1:"X")_$TR($J(KadObj.Boringen.Count()+1, 2), " ", "0")) + ;Do KadObj.Boringen.SetAt(emBoring,KadObj.Boringen.Count()+1) + Do emBoring.%Close() + Quit + +FixedPosBeslag(emTemplPos,KadObj,BeslagKey,PosKey,emBeslag,PrevLPos) ; ,TemplBSL) + ; Special Relative Postitions: following codes can be used: + ; "ctr" : position from the center + ; "ops" : position from opposite side; i.e. keep or make number negative + Quit:(emTemplPos.LengtePos'<0)&($L(emTemplPos.RelLengtePos)=0) emTemplPos.LengtePos ; Return value immediatly + New FixV,FixV2,MaxSize,Plaats + ; Determine MaxSize + Set Plaats=KadObj.ProfielPlaatsGet(emBeslag, BeslagKey, PosKey) + Set MaxSize=$S((Plaats="PL")!(Plaats="PR"):KadObj.Hoogte, (Plaats="PB")!(Plaats="PO"):KadObj.Breedte, 1:0) + ; Calculate Fixed Value for LengtePos + Set FixV=emTemplPos.LengtePos + If $L(emTemplPos.RelLengtePos) Do ; Calculate Special Relative Position + . If emTemplPos.RelLengtePos["ctr" Do + .. ; From center + .. Set FixV=(MaxSize/2)+FixV + . Else If emTemplPos.RelLengtePos["ops" Do + .. ; From opposite side + .. Set:(FixV>0) FixV=-FixV + . Else Do + .. ; Other codes for Beslag Special Relative Postitions + .. Set FixV2=KadObj.AbsPosCalc("S",emTemplPos.RelLengtePos,.PrevLPos) + .. Set:(FixV2'=emTemplPos.RelLengtePos)!(FixV2'<0) FixV=FixV2 + .. Quit + . Set:($E(emTemplPos.RelLengtePos,1)="-")&($G(FixV2)'=FixV) FixV=-FixV ; dynamic value from opposite site + .; End If $L(RelPos) + Quit:($G(FixV2)=FixV) FixV + Set:(FixV<0)&&(emTemplPos.RelLengtePos'["ops")&&(BeslagKey'="LB") FixV=MaxSize+FixV ; Substract = add Negative Number + Quit FixV + +FixedPosBoring(sPropt,TemplBoor,KadObj) + ; The parameter sPropt can be: "X", "Y", "Z" + ; Special Relative Postitions: following codes can be used: + ; "ctr" : position from the center + ; "pIN" : Position from the . Only for "X" and "Y" !!! + Quit:'((sPropt="X")!(sPropt="Y")!(sPropt="Z")) "Error" + New FixV,FixV2,MaxSize,TemplPos,TemplRelPos ;,Plaats + Xecute "Set TemplPos=TemplBoor."_sPropt_"Pos" ; =TemplBoor.XPos or YPos or ZPos + Xecute "Set TemplRelPos=TemplBoor.Rel"_sPropt_"Pos" + Quit:(TemplPos'<0)&($L(TemplRelPos)=0) TemplPos ; Return value immediatly + Set MaxSize=$S(sPropt="X":KadObj.Breedte, sPropt="Y":KadObj.Hoogte, sPropt="Z":KadObj.ProfType.Dikte, 1:0) + Set FixV=TemplPos + If $L(TemplRelPos) Do ; Calculate Special Relative Position + . If TemplRelPos["ctr" Do + .. ; From center + .. Set FixV=(MaxSize/2)+FixV + . Else If (TemplRelPos["pIN")&((sPropt="X")!(sPropt="Y")) Do + .. ; From Interne Kant van het Profiel + .. Set FixV=KadObj.ProfType.Breedte+FixV + . Else Do + .. ; Other codes for Beslag Special Relative Postitions + .. Set FixV2=KadObj.AbsPosCalc(sPropt,TemplRelPos) + .. Set:(FixV2'=TemplRelPos)!(FixV2'<0) FixV=FixV2 + .. Quit + . Set:($E(TemplRelPos,1)="-")&($G(FixV2)'=FixV) FixV=(-1)*FixV ; dynamic value from opposite site + . Quit ; If $L(RelPos) + Quit:($G(FixV2)=FixV) FixV + Set:(FixV<0) FixV=MaxSize+FixV ; Substract = add Negative Number + Quit FixV \ No newline at end of file Index: DW/WWW/HTTPLogTBXHafele.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBXHafele.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBXHafele.cls.xml (revision 2) @@ -0,0 +1,163 @@ + + + + +Logging van hafele.tandem-box.com +persistent +1 +%Persistent +0 + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXHafeleD +HTTPLogTBXHafeleDefaultData +^DW.WWW.HTTPLogTBXHafeleD +^DW.WWW.HTTPLogTBXHafeleI +^DW.WWW.HTTPLogTBXHafeleS + +listnode + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +Flag + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + + + + Index: BL/EC/pxStatus.cls.xml =================================================================== diff -u --- BL/EC/pxStatus.cls.xml (revision 0) +++ BL/EC/pxStatus.cls.xml (revision 2) @@ -0,0 +1,39 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +1 +Code + + + + Index: _vhisie/TBX/TBoxResItems.js =================================================================== diff -u --- _vhisie/TBX/TBoxResItems.js (revision 0) +++ _vhisie/TBX/TBoxResItems.js (revision 2) @@ -0,0 +1,1013 @@ +// Javascript created by Cach� Server Page /VHISIE/TBX/ResItems.csp on 2011-04-07 17:16:55 +// + +var cItemLT=0; +var cItemLD=1; +var cItemDK=2; + +var arBPM=Array(); +arBPM['AF']=Array( + Array('B',500,'30;50;65'), + Array('B',650,'50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',650,'50;65'), + Array('BY',500,'30;50'), + Array('BY',650,'50'), + Array('BY/Z',500,'30;50'), + Array('BY/Z',650,'50'), + Array('D',500,'30;50;65'), + Array('D',650,'50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',650,'50;65'), + Array('DY',500,'30;50'), + Array('DY',650,'50'), + Array('DY/Z',500,'30;50'), + Array('DY/Z',650,'50'), + Array('M',500,'30;50;65'), + Array('M',650,'50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',650,'50;65'), + Array('MY',500,'30;50'), + Array('MY',650,'50'), + Array('MY/Z',500,'30;50'), + Array('MY/Z',650,'50') +); +arBPM['BA']=Array( + Array('B',270,'20;30'), + Array('B',400,'30;50'), + Array('B',450,'30;50'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',400,'30;50'), + Array('D',450,'30;50'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',400,'30;50'), + Array('M',450,'30;50'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65') +); +arBPM['BI']=Array( + Array('B',270,'20;30'), + Array('B',450,'30;50'), + Array('B',500,'30;50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',450,'30;50'), + Array('B/Z',500,'30;50;65'), + Array('D',270,'20;30'), + Array('D',450,'30;50'), + Array('D',500,'30;50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',450,'30;50'), + Array('D/Z',500,'30;50;65'), + Array('M',270,'20;30'), + Array('M',450,'30;50'), + Array('M',500,'30;50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',450,'30;50'), + Array('M/Z',500,'30;50;65') +); +arBPM['GF']=Array( + Array('B',270,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',400,'30;50'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',400,'30;50'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65') +); +arBPM['GMA']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',400,'30;50'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('C',400,'30;50'), + Array('C',450,'30;50;65'), + Array('C',500,'30;50;65'), + Array('C',550,'30;50;65'), + Array('C',600,'50;65'), + Array('C',650,'50;65'), + Array('C/Z',400,'30;50'), + Array('C/Z',450,'30;50;65'), + Array('C/Z',500,'30;50;65'), + Array('C/Z',550,'30;50;65'), + Array('C/Z',600,'50;65'), + Array('C/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',400,'30;50'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('K',400,'30;50'), + Array('K',450,'30;50;65'), + Array('K',500,'30;50;65'), + Array('K',550,'30;50;65'), + Array('K',600,'50;65'), + Array('K',650,'50;65'), + Array('K/Z',400,'30;50'), + Array('K/Z',450,'30;50;65'), + Array('K/Z',500,'30;50;65'), + Array('K/Z',550,'30;50;65'), + Array('K/Z',600,'50;65'), + Array('K/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['GS']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',400,'30;50'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('C',400,'30;50'), + Array('C',450,'30;50;65'), + Array('C',500,'30;50;65'), + Array('C',550,'30;50;65'), + Array('C',600,'50;65'), + Array('C',650,'50;65'), + Array('C/Z',400,'30;50'), + Array('C/Z',450,'30;50;65'), + Array('C/Z',500,'30;50;65'), + Array('C/Z',550,'30;50;65'), + Array('C/Z',600,'50;65'), + Array('C/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',400,'30;50'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('K',400,'30;50'), + Array('K',450,'30;50;65'), + Array('K',500,'30;50;65'), + Array('K',550,'30;50;65'), + Array('K',600,'50;65'), + Array('K',650,'50;65'), + Array('K/Z',400,'30;50'), + Array('K/Z',450,'30;50;65'), + Array('K/Z',500,'30;50;65'), + Array('K/Z',550,'30;50;65'), + Array('K/Z',600,'50;65'), + Array('K/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['IMA']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50;65'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50;65'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50;65'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50;65'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['IS']=Array( + Array('B',270,'20;30'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',650,'50;65'), + Array('BY',270,'20;30'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',650,'50;65'), + Array('DY',270,'20;30'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',650,'50;65'), + Array('MY',270,'20;30'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',650,'50;65'), + Array('N',550,'30;50;65') +); +arBPM['WS']=Array( + Array('B',270,'20;30'), + Array('B',300,'20;30'), + Array('B',350,'30'), + Array('B',400,'30;50'), + Array('B',450,'30;50;65'), + Array('B',500,'30;50;65'), + Array('B',550,'30;50;65'), + Array('B',600,'50;65'), + Array('B',650,'50;65'), + Array('B/Z',270,'20;30'), + Array('B/Z',300,'20;30'), + Array('B/Z',350,'30'), + Array('B/Z',400,'30;50'), + Array('B/Z',450,'30;50;65'), + Array('B/Z',500,'30;50;65'), + Array('B/Z',550,'30;50;65'), + Array('B/Z',600,'50;65'), + Array('B/Z',650,'50;65'), + Array('BS2',450,'30;50;65'), + Array('BS2',500,'30;50;65'), + Array('BY',270,'20;30'), + Array('BY',300,'20;30'), + Array('BY',350,'30'), + Array('BY',400,'30;50'), + Array('BY',450,'30;50'), + Array('BY',500,'30;50;65'), + Array('BY',550,'30;50;65'), + Array('BY',600,'50;65'), + Array('BY',650,'50;65'), + Array('BY/Z',270,'20;30'), + Array('BY/Z',300,'20;30'), + Array('BY/Z',350,'30'), + Array('BY/Z',400,'30;50'), + Array('BY/Z',450,'30;50'), + Array('BY/Z',500,'30;50;65'), + Array('BY/Z',550,'30;50;65'), + Array('BY/Z',600,'50;65'), + Array('BY/Z',650,'50;65'), + Array('C',400,'30;50'), + Array('C',450,'30;50'), + Array('C',500,'30;50;65'), + Array('C',550,'30;50;65'), + Array('C',600,'50;65'), + Array('C',650,'50;65'), + Array('C/Z',400,'30;50'), + Array('C/Z',450,'30;50'), + Array('C/Z',500,'30;50;65'), + Array('C/Z',550,'30;50;65'), + Array('C/Z',600,'50;65'), + Array('C/Z',650,'50;65'), + Array('D',270,'20;30'), + Array('D',300,'20;30'), + Array('D',350,'30'), + Array('D',400,'30;50'), + Array('D',450,'30;50;65'), + Array('D',500,'30;50;65'), + Array('D',550,'30;50;65'), + Array('D',600,'50;65'), + Array('D',650,'50;65'), + Array('D/Z',270,'20;30'), + Array('D/Z',300,'20;30'), + Array('D/Z',350,'30'), + Array('D/Z',400,'30;50'), + Array('D/Z',450,'30;50;65'), + Array('D/Z',500,'30;50;65'), + Array('D/Z',550,'30;50;65'), + Array('D/Z',600,'50;65'), + Array('D/Z',650,'50;65'), + Array('DS2',450,'30;50;65'), + Array('DS2',500,'30;50;65'), + Array('DY',270,'20;30'), + Array('DY',300,'20;30'), + Array('DY',350,'30'), + Array('DY',400,'30;50'), + Array('DY',450,'30;50'), + Array('DY',500,'30;50;65'), + Array('DY',550,'30;50;65'), + Array('DY',600,'50;65'), + Array('DY',650,'50;65'), + Array('DY/Z',270,'20;30'), + Array('DY/Z',300,'20;30'), + Array('DY/Z',350,'30'), + Array('DY/Z',400,'30;50'), + Array('DY/Z',450,'30;50'), + Array('DY/Z',500,'30;50;65'), + Array('DY/Z',550,'30;50;65'), + Array('DY/Z',600,'50;65'), + Array('DY/Z',650,'50;65'), + Array('K',400,'30;50'), + Array('K',450,'30;50'), + Array('K',500,'30;50;65'), + Array('K',550,'30;50;65'), + Array('K',600,'50;65'), + Array('K',650,'50;65'), + Array('K/Z',400,'30;50'), + Array('K/Z',450,'30;50'), + Array('K/Z',500,'30;50;65'), + Array('K/Z',550,'30;50;65'), + Array('K/Z',600,'50;65'), + Array('K/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); + +var arDC_DS=Array(); +arDC_DS['B']=Array('BA', 'BI'); +arDC_DS['F']=Array('AF', 'GF'); +arDC_DS['MA']=Array('GMA', 'IMA'); +arDC_DS['S']=Array('GS', 'IS', 'WS'); + +var arDC_LC=Array(); +arDC_LC['B']=Array('B', 'B/Z', 'D', 'D/Z', 'M', 'M/Z'); +arDC_LC['F']=Array('B', 'B/Z', 'BS2', 'BY', 'BY/Z', 'D', 'D/Z', 'DS2', 'DY', 'DY/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z'); +arDC_LC['MA']=Array('B', 'B/Z', 'BY', 'BY/Z', 'D', 'D/Z', 'DY', 'DY/Z', 'M', 'M/Z', 'MY', 'MY/Z', 'N'); +arDC_LC['S']=Array('B', 'B/Z', 'BS2', 'BY', 'BY/Z', 'C', 'C/Z', 'D', 'D/Z', 'DS2', 'DY', 'DY/Z', 'K', 'K/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z', 'N'); + +var arDC_KV=Array(); +arDC_KV['B']=Array('FG', 'FZ'); +arDC_KV['F']=Array('FG', 'FZ'); +arDC_KV['MA']=Array('FG', 'FZ'); +arDC_KV['S']=Array('FG', 'FZ'); + +var arDC_BX=Array(); +arDC_BX['B']=Array('ER', 'DR', 'BG', 'ZR'); +arDC_BX['F']=Array('ER', 'DR', 'BD', 'BG', 'ZR'); +arDC_BX['MA']=Array('ER', 'DR', 'BD', 'BG', 'ZR'); +arDC_BX['S']=Array('ER', 'DR', 'BD', 'BG', 'ZR'); + +var arDS_BX=Array(); +arDS_BX['AF_B']=Array('ER'); +arDS_BX['AF_B/Z']=Array('ER'); +arDS_BX['AF_BY']=Array('ER'); +arDS_BX['AF_BY/Z']=Array('ER'); +arDS_BX['AF_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['AF_M']=Array('ZR'); +arDS_BX['AF_M/Z']=Array('ZR'); +arDS_BX['AF_MY']=Array('ZR'); +arDS_BX['AF_MY/Z']=Array('ZR'); +arDS_BX['BA_B']=Array('ER'); +arDS_BX['BA_B/Z']=Array('ER'); +arDS_BX['BA_D']=Array('DR', 'ER', 'BG'); +arDS_BX['BA_D/Z']=Array('DR', 'ER', 'BG'); +arDS_BX['BA_M']=Array('ZR'); +arDS_BX['BA_M/Z']=Array('ZR'); +arDS_BX['BI_B']=Array('ER'); +arDS_BX['BI_B/Z']=Array('ER'); +arDS_BX['BI_D']=Array('DR', 'ER', 'BG'); +arDS_BX['BI_D/Z']=Array('DR', 'ER', 'BG'); +arDS_BX['BI_M']=Array('ZR'); +arDS_BX['BI_M/Z']=Array('ZR'); +arDS_BX['GF_B']=Array('ER'); +arDS_BX['GF_B/Z']=Array('ER'); +arDS_BX['GF_BS2']=Array('ER'); +arDS_BX['GF_BY']=Array('ER'); +arDS_BX['GF_BY/Z']=Array('ER'); +arDS_BX['GF_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GF_M']=Array('ZR'); +arDS_BX['GF_M/Z']=Array('ZR'); +arDS_BX['GF_MS2']=Array('ZR'); +arDS_BX['GF_MY']=Array('ZR'); +arDS_BX['GF_MY/Z']=Array('ZR'); +arDS_BX['GMA_B']=Array('ER'); +arDS_BX['GMA_B/Z']=Array('ER'); +arDS_BX['GMA_BS2']=Array('ER'); +arDS_BX['GMA_BY']=Array('ER'); +arDS_BX['GMA_BY/Z']=Array('ER'); +arDS_BX['GMA_C']=Array('ER'); +arDS_BX['GMA_C/Z']=Array('ER'); +arDS_BX['GMA_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GMA_K']=Array('ZR'); +arDS_BX['GMA_K/Z']=Array('ZR'); +arDS_BX['GMA_M']=Array('ZR'); +arDS_BX['GMA_M/Z']=Array('ZR'); +arDS_BX['GMA_MS2']=Array('ZR'); +arDS_BX['GMA_MY']=Array('ZR'); +arDS_BX['GMA_MY/Z']=Array('ZR'); +arDS_BX['GMA_N']=Array('ZR'); +arDS_BX['GS_B']=Array('ER'); +arDS_BX['GS_B/Z']=Array('ER'); +arDS_BX['GS_BS2']=Array('ER'); +arDS_BX['GS_BY']=Array('ER'); +arDS_BX['GS_BY/Z']=Array('ER'); +arDS_BX['GS_C']=Array('ER'); +arDS_BX['GS_C/Z']=Array('ER'); +arDS_BX['GS_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['GS_K']=Array('ZR'); +arDS_BX['GS_K/Z']=Array('ZR'); +arDS_BX['GS_M']=Array('ZR'); +arDS_BX['GS_M/Z']=Array('ZR'); +arDS_BX['GS_MS2']=Array('ZR'); +arDS_BX['GS_MY']=Array('ZR'); +arDS_BX['GS_MY/Z']=Array('ZR'); +arDS_BX['GS_N']=Array('ZR'); +arDS_BX['IMA_B']=Array('ER'); +arDS_BX['IMA_B/Z']=Array('ER'); +arDS_BX['IMA_BY']=Array('ER'); +arDS_BX['IMA_BY/Z']=Array('ER'); +arDS_BX['IMA_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IMA_M']=Array('ZR'); +arDS_BX['IMA_M/Z']=Array('ZR'); +arDS_BX['IMA_MY']=Array('ZR'); +arDS_BX['IMA_MY/Z']=Array('ZR'); +arDS_BX['IMA_N']=Array('ZR'); +arDS_BX['IS_B']=Array('ER'); +arDS_BX['IS_B/Z']=Array('ER'); +arDS_BX['IS_BY']=Array('ER'); +arDS_BX['IS_BY/Z']=Array('ER'); +arDS_BX['IS_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['IS_M']=Array('ZR'); +arDS_BX['IS_M/Z']=Array('ZR'); +arDS_BX['IS_MY']=Array('ZR'); +arDS_BX['IS_MY/Z']=Array('ZR'); +arDS_BX['IS_N']=Array('ZR'); +arDS_BX['WS_B']=Array('ER'); +arDS_BX['WS_B/Z']=Array('ER'); +arDS_BX['WS_BS2']=Array('ER'); +arDS_BX['WS_BY']=Array('ER'); +arDS_BX['WS_BY/Z']=Array('ER'); +arDS_BX['WS_C']=Array('ER'); +arDS_BX['WS_C/Z']=Array('ER'); +arDS_BX['WS_D']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_D/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_DS2']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_DY']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_DY/Z']=Array('DR', 'ER', 'BD', 'BG'); +arDS_BX['WS_K']=Array('ZR'); +arDS_BX['WS_K/Z']=Array('ZR'); +arDS_BX['WS_M']=Array('ZR'); +arDS_BX['WS_M/Z']=Array('ZR'); +arDS_BX['WS_MS2']=Array('ZR'); +arDS_BX['WS_MY']=Array('ZR'); +arDS_BX['WS_MY/Z']=Array('ZR'); +arDS_BX['WS_N']=Array('ZR'); + +var arDC_SPZK=Array(); +arDC_SPZK['F_BS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['F_BY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_BY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_DS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['F_DY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_DY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['F_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['F_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_BY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_BY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_DY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_DY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['MA_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_BS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['S_BY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_BY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_DS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['S_DY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_DY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['S_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['S_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); + +var arDCLC_FS=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_FS['XX_B']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_B/Z']=Array('A'); +arDCLC_FS['XX_BS2']=Array('A', 'HS'); +arDCLC_FS['XX_BY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_BY/Z']=Array('A'); +arDCLC_FS['XX_C']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_C/Z']=Array('A'); +arDCLC_FS['XX_D']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_D/Z']=Array('A'); +arDCLC_FS['XX_DS2']=Array('A', 'HS'); +arDCLC_FS['XX_DY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_DY/Z']=Array('A'); +arDCLC_FS['XX_K']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_K/Z']=Array('A'); +arDCLC_FS['XX_M']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_M/Z']=Array('A'); +arDCLC_FS['XX_MS2']=Array('A', 'HS'); +arDCLC_FS['XX_MY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_MY/Z']=Array('A'); +arDCLC_FS['XX_N']=Array('A', 'HS', '1', '2', '3'); + +var arDCLC_DWV=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_DWV['XX_B']=Array('0'); +arDCLC_DWV['XX_B/Z']=Array('0'); +arDCLC_DWV['XX_BS2']=Array('0'); +arDCLC_DWV['XX_BY']=Array('0'); +arDCLC_DWV['XX_BY/Z']=Array('0'); +arDCLC_DWV['XX_C']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_C/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_D']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_D/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_DS2']=Array('0', '4_sp'); +arDCLC_DWV['XX_DY']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_DY/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_K']=Array('0'); +arDCLC_DWV['XX_K/Z']=Array('0'); +arDCLC_DWV['XX_M']=Array('0'); +arDCLC_DWV['XX_M/Z']=Array('0'); +arDCLC_DWV['XX_MS2']=Array('0'); +arDCLC_DWV['XX_MY']=Array('0'); +arDCLC_DWV['XX_MY/Z']=Array('0'); +arDCLC_DWV['XX_N']=Array('0'); + +var arDS_KLR=Array(); +arDS_KLR['RK_AF']=Array('AL', 'CR'); +arDS_KLR['RK_BA']=Array('CR', 'BA'); +arDS_KLR['RK_BI']=Array('CR'); +arDS_KLR['RK_GF']=Array('MG', 'CR'); +arDS_KLR['RK_GMA']=Array('MG', 'CR'); +arDS_KLR['RK_GS']=Array('MG', 'CR'); +arDS_KLR['RK_IMA']=Array('CR'); +arDS_KLR['RK_IS']=Array('CR'); +arDS_KLR['RK_WS']=Array('WI', 'CR'); +arDS_KLR['KX_AF']=Array('AL'); +arDS_KLR['KX_BA']=Array('IN'); +arDS_KLR['KX_BI']=Array('IN'); +arDS_KLR['KX_GF']=Array('MG'); +arDS_KLR['KX_GMA']=Array('MG'); +arDS_KLR['KX_GS']=Array('MG'); +arDS_KLR['KX_IMA']=Array('IN'); +arDS_KLR['KX_IS']=Array('IN'); +arDS_KLR['KX_WS']=Array('WI'); Index: Prod/GAMeta/BT/TBFrontSteun.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBFrontSteun.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBFrontSteun.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBFSD") +TBFrontSteunDefaultData +^Res.PI.Items("PR;GA;TBFSD") +^Res.PI.Items("index","PR;GA;TBFS") +^Res.PI.Items("stream","PR;GA;TBFS") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: vhLib.mac.rou =================================================================== diff -u --- vhLib.mac.rou (revision 0) +++ vhLib.mac.rou (revision 2) @@ -0,0 +1,2095 @@ +#include %occInclude +#include vhLib.Macro + +#define MAXLOCALSIZE 32768 + + + // ========================================================================================================================================== + // Name : info - Info - INFO + // Author : WIM VERMEULEN + // Function: schrijft de commentaar die direct onder het label staat, naar current device + // DEPRECATED + // ========================================================================================================================================== +info(Label,RtnName) +Info(Label,RtnName) +INFO(Label,RtnName) + New txt,RtnMask,RtnLine,i + Set RtnMask=Label_"+@L"_$S($L($G(RtnName)):"^"_RtnName, 1:"") + Set i=0 + Set RtnLine=$$REPLACE^vhRtn1(RtnMask,"@L",i) + Write $TEXT(@RtnLine),! + For Do Quit:($E(txt,1,2)'="//")&&($E(txt,1)'=";") Write $E(txt,2,999),! + . Set RtnLine=$$REPLACE^vhRtn1(RtnMask,"@L",$INCREMENT(i)) + . Set txt=$ZSTRIP($TEXT(@RtnLine)," REDIRECTED to vhTools.MAC + // ========================================================================================================================================== +ArrayToText(Ref,RefArray,ProptName) + Quit $$ArrayToText^vhTools(.Ref,.RefArray,.ProptName) + +ArrayToTextW(Ref,DevObj) + Do ArrayToTextW^vhTools(.Ref,.DevObj) + Quit + +ArrayToTextProcBlockW(Ref,RefArray,DevObj) + Do ArrayToTextProcBlockW^vhTools(.Ref,.RefArray,.DevObj) + Quit + +ArrayToTextMultiDimProptW(Ref,obj,ProptName,DevObj) + Do ArrayToTextMultiDimProptW^vhTools(.Ref,.obj,.ProptName,.DevObj) + Quit + +MDToText(obj,ProptName) + Quit $$MDToText^vhTools(.obj,.ProptName) + +ArrayToTextWF(Ref,FilePath,WrAttrib) + Quit $$ArrayToTextWF^vhTools(.Ref,.FilePath,.WrAttrib) + +ArrayToTextEx(Ref,max) + Quit $$ArrayToTextEx^vhTools(.Ref,.max) + +ArrayToTabDelim(arData,FilePath,WrAttrib,arConfig) + Quit $$ArrayToTabDelim^vhTools(.arData,.FilePath,.WrAttrib,.arConfig) + +ArrayToTabDelimW(arData,DevObj,arConfig) + Do ArrayToTabDelimW^vhTools(.arData,.DevObj,.arConfig) + Quit + + // ========================================================================================================================================== + // Name : ArrayToHTMLTable + // Author : JO CLAES + // !!!!! Restored .. WV took my code .... sebiet no bollekes for him !!!!! + // + // HTMLTable ( stream ) maken vanaf een array met tab delimited info + // + // ========================================================================================================================================== +ArrayToHTMLTable(Array) + + Set Stream = ##class(%GlobalCharacterStream).%New() + + New Index + Set Index="" + Do Stream.Write(""_$$$CRLF) + + If $D(Array(0)) Do + . Do Stream.Write("") + . Do Stream.Write("") + . Do Stream.Write(""_$$$CRLF) + + Set Index=0 + For Set Index=$O(Array(Index)) Quit:Index="" Do + . Do Stream.Write( "") + . Do Stream.Write("") + . Do Stream.Write(""_$$$CRLF) + Do Stream.Write("
    "_$$$Replace(Array(0),$$$TAB,"")_"
    "_$$$Replace(Array(Index),$$$TAB,"")_"
    "_$$$CRLF) + Quit Stream + + + // ========================================================================================================================================== + // Name : ProxyToXMLFile + // Author : WIM VERMEULEN + // Function : Zie ObjToXMLFile() --> analoge routine, maar deze gebruikt de XmlWriter en "NoXMLDeclaration" i.p.v. obj.XMLExportToStream() + // ========================================================================================================================================== +ProxyToXMLFile(pxObj,FileName,TopTag,blnIndentTags,FNSuffix,NoXMLDeclaration) ; FileName als .local doorgeven + Quit:('$IsObject($G(pxObj))) $$$ERROR($$$GeneralError,"ObjToXmlFile: NO OBJECT: "_$G(pxObj)) + New stream,sc + Do otxSetFileName + Set stream=##class(%FileCharacterStream).%New() + Set sc=stream.LinkToFile(FileName) + Quit:($$$ISERR(sc)) sc + Set sc=$$ProxyToXMLStream^vhLib(pxObj,.stream,.TopTag,.blnIndentTags,1,.NoXMLDeclaration) + Do:($$$ISERR(sc)) stream.Write("XMLExport mislukt: "_$$ParseStatus^vhLib(sc)) + Set sc=stream.SaveStream() + Set stream="" ; Do BStream.%Close() + Quit sc + + // ========================================================================================================================================== + // Name : ObjToXMLFile (+ObjToXMLFileDBG) + // Author : WIM VERMEULEN + // Function : Schrijft het gegeven object in XML-vorm naar een file. + // Geeft de status van de uitvoer (As %Status) terug. + // OPGELET: overschrijft bestaande files !!! + // Parameters : + // - obj : te converteren naar XML + // - FileName : optioneel; indien "" (leeg), dan automatische naamgeving. + // Ook mogelijkheid om enkel het path op te geven (eindigen met "\") --> naam automatisch. + // Als .local doorgeven om de EXACTE naam(+path) terug te krijgen. + // - TopTag : optioneel; RootElement van de ge-exporteerde XML + // - Format : optioneel; [Default="literal,indent"], leeg is ook toegelaten + // - FNSuffix : optioneel; bij de automatische naangeving kan een achtervoegsel nodig zijn om een unieke FileName te bekomen (bvb: "_001") + // ========================================================================================================================================== +ObjToXMLFile(obj,FileName,TopTag,Format,FNSuffix) ; FileName als .local doorgeven + Quit:('$IsObject($G(obj))) $$$ERROR($$$GeneralError,"ObjToXmlFile: NO OBJECT: "_$G(obj)) + New stream,sc,blnIndentTags + Do otxSetFileName + Set stream=##class(%FileCharacterStream).%New() + Set sc=stream.LinkToFile(FileName) + Quit:($$$ISERR(sc)) sc + Set sc=obj.XMLExportToStream(stream,.TopTag,$G(Format,"literal,indent")) + Do:($$$ISERR(sc)) stream.Write("XMLExport mislukt: "_$$ParseStatus^vhLib(sc)) + Set sc=stream.SaveStream() + Set stream="" ; Do BStream.%Close() + Quit sc +otxSetFileName +#define DefaultFN "ObjectExport_time.xml" +#define CurWorkDir $ZU(168) + New tmpPath,tmpName + Set tmpPath=##class(%File).GetDirectory($G(FileName)) Set:(tmpPath="c:") tmpPath="c:\" ; work around for bug in Cache + Set tmpName=##class(%File).GetFilename($G(FileName)) + Set:(tmpPath="") tmpPath=$$$CurWorkDir + Set:(tmpName="") tmpName=$$$Replace($$$DefaultFN,"_time.xml","_"_$TR($ZT($P($H,",",2),1),":","")_$G(FNSuffix)_".xml") + Set FileName=##class(%File).NormalizeDirectory(tmpPath)_tmpName + Quit +otxWV(FileName) + Do otxSetFileName + Quit + +ObjToXMLFileDBG(obj,FileName,TopTag,Format,FNSuffix) ; FileName als .local doorgeven + New sc + Set sc=$$ObjToXMLFile(.obj,.FileName,.TopTag,.Format,.FNSuffix) + Write "FileName: "_FileName,! + Write "Status: "_$S($$$ISERR(sc):$$ParseStatus^vhLib(sc), 1:sc),! + Quit sc + + // ========================================================================================================================================== + // Name : ObjToXML + // Author : WIM VERMEULEN + // Function: Geeft een XMLExportToStream() terug in een (tekst)variabele. + // Alternatief voor ProxyToXMLStream() + // ========================================================================================================================================== +ObjToXML(obj,TopTag,Format,MsgNoObj,CStream) ; CStream: OPTIONAL parameter (passed by reference) + New txt + Quit:('$IsObject($G(obj))) $S($G(MsgNoObj,"?")="?":"NO OBJECT: "_$G(obj), 1:MsgNoObj) + ;Do IOToStream(.CStream,$LB("OBJXML"),.obj) + Set sc=obj.XMLExportToStream(.CStream,.TopTag,$G(Format,"literal,indent")) + Quit:($$$ISERR(sc)) ""_$$ParseStatus^vhLib(sc)_"" + Set txt=CStream.Read($$$MAXLOCALSIZE) + Quit txt + + // ========================================================================================================================================== + // Name : ObjToText + // Author : WIM VERMEULEN + // Function: Geeft een DumpObject terug in een (tekst)variabele in plaats van naar de Current IO. + // Maakt gebruik van IOToStream + // ========================================================================================================================================== +ObjToText(obj,MsgNoObj,BStream) ; BStream: OPTIONAL parameter (passed by reference) + New txt + Quit:('$IsObject($G(obj))) $S($G(MsgNoObj,"?")="?":"NO OBJECT: "_$G(obj), 1:MsgNoObj) + Do IOToStream(.BStream,$LB("OBJ"),.obj) + Set txt=BStream.Read($$$MAXLOCALSIZE) + Quit txt + + // ========================================================================================================================================== + // Name : ObjListToText + // Author : WIM VERMEULEN + // Function: Geeft een ShowObjects() terug in een (tekst)variabele in plaats van naar de Current IO. + // Maakt gebruik van IOToStream + // ========================================================================================================================================== +ObjListToText(flags,BStream) ; BStream: OPTIONAL parameter passed by reference) + New txt + Do IOToStream(.BStream,$LB("OBJLIST",$G(flags))) + Set txt=BStream.Read($$$MAXLOCALSIZE) + Quit txt + + // ========================================================================================================================================== + // Name : IOToStream + // Author : WIM VERMEULEN + // Function: De output van een routine (bepaald door lbArgs) wordt naar + // een stream weggeschreven in plaats van naar de Current IO. + // De variabele als .local doorgeven. + // lbArgs: $LB("OBJ") + obj / $LB("CLASSM",classname,meth) / $LB("INDIRECT","label^routine(args)") / $LB("EXEC","executestring") / + // $LB("OBJLIST",[flags]) / $LB("OBJXML",[toptag,fmt]) / + // ========================================================================================================================================== +IOToStream(stream,lbArgs,obj) ; stream als .local doorgeven + New io,sc,file,ArgMain + Set io=$io + If ($IsObject($G(stream)))&&(stream.%Extends("%FileStreamAdaptor")) Do + . ;Do:('stream.AtEnd) stream.MoveToEnd() + Else Do + . Set stream=##class(%FileBinaryStream).%New() + Set sc=stream.Write("") ; force stream's file to open + If $$$ISERR(sc) Goto itsIOError + Set file=stream.Filename ; get filename and make current device + Use file + Do itsWriteData + Close file + Use io + If $$$ISERR(sc) Goto itsIOError + Quit +itsIOError + Set %objlasterror=sc + Quit +itsWriteData + Set ArgMain=$LG(lbArgs,1) + If ArgMain="OBJ" Do + . Set sc=$system.OBJ.Dump(obj) + Else If ArgMain="OBJXML" Do + . New toptag,fmt + . Set toptag=$LG(lbArgs,2) + . Set fmt=$LG(lbArgs,3,"literal,indent") + . Set sc=obj.XMLExport(toptag,fmt) + Else If ArgMain="OBJLIST" Do + . New flags + . Set flags=$LG(lbArgs,2) + . Set sc=$system.OBJ.ShowObjects(flags) + Else If ArgMain="XMLSCHEMA" Do + . New cls,toptag,fmt + . Set cls=$LG(lbArgs,2) + . Set toptag=$LG(lbArgs,3) + . Set fmt=$LG(lbArgs,4) + . Do $zobjclassmethod(cls,"XMLSchema",toptag,fmt) + Else If ArgMain="CLASSM" Do + . New cls,mth,ValCM + . Set cls=$LG(lbArgs,2) + . Set mth=$LG(lbArgs,3) + . Set ValCM=$$$METHclassmethod($$$MGINFO,cls,mth) + . Quit:('ValCM) ; cls_"."_mth_"() is not a classmethod + . Do $zobjclassmethod(cls,mth) + Else If ArgMain="INDIRECT" Do + . New Rtn + . Set Rtn=$LG(lbArgs,2) + . Quit:(Rtn="") + . Do @Rtn + Else If ArgMain="EXEC" Do + . New Line + . Set Line=$LG(lbArgs,2) + . Quit:(Line="") + . X Line + Quit + + // ========================================================================================================================================== + // Name : ProxyToXMLStream() + // Author : WIM VERMEULEN + // Function: Build XML-stream, using the %XML.Writer to generate from pxObj and returns %Status + // DataStream contains the resulted XML (%FileBinaryStream) + // TopTag : XML-tag of the root element + // blnIndentTags : pretty-print the output XML + // AllowEmptyProxy : if set to 0 and pxObj is not an object, then an error is returned + // NoXMLDeclaration : if set to 1, then output will not include + // ========================================================================================================================================== +ProxyToXMLStream(pxObj,DataStream,TopTag,blnIndentTags,AllowEmptyProxy,NoXMLDeclaration) ; DataStream als .local + #define ErrorEmptyProxyObject $$$ERROR($$$GeneralError,"No proxy-object supplied") + + Set AllowEmptyProxy=$G(AllowEmptyProxy,0) + + New writer,sc,ClassName + If ('$IsObject(pxObj))&&(pxObj?1"XMLSCHEMA:".E) Set ClassName=$P(pxObj,":",2) + Else Quit:('AllowEmptyProxy)&&('$IsObject(pxObj)) $$$ErrorEmptyProxyObject + + Set:('$IsObject($G(DataStream))) DataStream=##class(%FileBinaryStream).%New() + Set writer=##class(%XML.Writer).%New() + Set writer.Charset="UTF-8" + Set writer.Indent=''$G(blnIndentTags,0) + Set:($D(NoXMLDeclaration)) writer.NoXMLDeclaration=NoXMLDeclaration + Set sc=writer.OutputToStream(DataStream) + If $IsObject(pxObj) Do + . Set sc=writer.RootObject(pxObj, .TopTag) ; $G(TopTag,"DOCS")) + Else If $L(ClassName) Do + . Quit:('##class(%Dictionary.ClassDefinition).%ExistsId(ClassName)) + . Do writer.AddSchemaNamespace("s") + . Set sc=writer.RootElement("schema") + . Set sc=writer.Write($$$CRLF) + . New tmpStream + . Do IOToStream^vhLib(.tmpStream, $LB("XMLSCHEMA",ClassName,$G(TopTag),"")) + . Set sc=writer.Write(tmpStream) + . Set tmpStream="" + . Set sc=writer.EndRootElement() + Else Do + . Set sc=writer.RootElement($G(TopTag,"EMPTY")) + . Set sc=writer.EndRootElement() + Set writer="" + ; Other method: Use XMLExportToStream() , but this does not generate the initiator + ;Set sc=pxObj.XMLExportToStream(.DataStream,"DOCS","literal,indent") + Quit sc + + + // ========================================================================================================================================== + // Name : ObjectListToLB + // Author : WIM VERMEULEN + // Function: ObjectList is van het type %Library.AbstractList (of ervan afgeleid) + // ========================================================================================================================================== +ObjectListToLB(objList) +#define TRIM(%v) $ZSTRIP(%v,"<>W") + New Key,Val,LB + Set (LB,Key)="" + For Set Val=objList.GetNext(.Key) Quit:(Key="") Set LB=LB_$LB($$$TRIM(Val)) + Quit LB + + + // ========================================================================================================================================== + // Name : ObjectArrayToLB + // Author : WIM VERMEULEN + // Function: ObjectArray is van het type %Library.AbstractArray (of ervan afgeleid) + // ========================================================================================================================================== +ObjectArrayToLB(objArray) +#define TRIM(%v) $ZSTRIP(%v,"<>W") + New Key,Val,LB + Set (LB,Key)="" + For Set Val=objArray.GetNext(.Key) Quit:(Key="") Set LB=LB_$LB(Key_":"_$$$TRIM(Val)) + Quit LB + + + // ========================================================================================================================================== + // Name : CountInList + // Author : WIM VERMEULEN + // Function: geeft het aantal maal, dat een item voorkomt in de list LB, terug + // ========================================================================================================================================== +CountInList(LB,find) ; Parameters: LB,find + New cnt,pos + Set (cnt,pos)=0 + For Set pos=$LF(LB,find,pos) Quit:(pos=0) Set cnt=cnt+1 + Quit cnt + + + // ========================================================================================================================================== + // Name : ListToDelimited - ListToCRLF + // Author: WIM VERMEULEN + // ========================================================================================================================================== + + ;ListToDelimited(lbVal,Delimiter) ; Parameters: lbVal (als .local doorgeven voor betere performantie) + ; ZIE LAGER (ListToPieces) + + ;ListToCRLF(lbVal) ; Parameters: lbVal (als .local doorgeven voor betere performantie) + ; ZIE LAGER (ListToPieces) + + + // ========================================================================================================================================== + // Name : MaxVal en MinVal (+ MaxValViaArray en MinValViaArray) + // Author : WIM VERMEULEN + // Function: bepaald het Maximum (resp. Minimum) van de waarden van de array (of van Args...) terug + // arArgs bevat enkel NUMERIEKE waarden op het eerste niveau : arArgs(i) + // Niet-numerieke waarden worden genegeerd! + // ========================================================================================================================================== +MaxVal(Args...) + Quit $$MaxValViaArray(.Args) +MaxValViaArray(arArgs) + Quit:($G(arArgs)<2) +$G(arArgs(1)) ; Nul of ��n element(en) + Quit:(arArgs=2) $$$Max($G(arArgs(1)),$G(arArgs(2))) + New i,MaxVal + Set i=$O(arArgs("")) + Quit:(i="") "" + Set MaxVal=+$G(arArgs(i)) + For Set i=$O(arArgs(i)) Quit:(i="") Do + . Set:($IsValidNum($G(arArgs(i))))&&(arArgs(i)>MaxVal) MaxVal=arArgs(i) + Quit MaxVal + +MinVal(Args...) + Quit $$MinValViaArray(.Args) +MinValViaArray(arArgs) + Quit:($G(arArgs)<2) +$G(arArgs(1)) ; Nul of ��n element(en) + Quit:(arArgs=2) $$$Min($G(arArgs(1)),$G(arArgs(2))) + New i,MinVal + Set i=$O(arArgs("")) + Quit:(i="") "" + Set MinVal=+$G(arArgs(i)) + For Set i=$O(arArgs(i)) Quit:(i="") Do + . Set:($IsValidNum($G(arArgs(i))))&&(arArgs(i) en + // bvb. "test"_$C(15)_$LB("AA","GG") ==> test\015(AA,GG) + // ========================================================================================================================================== +LCVT(LB) +#define LeftPad(%v,%NC) $S($L(%v)>%NC:%v, 1:$E((10**%NC)+%v,2,99999)) + Quit:($D(LB)#10=0) "" + Quit:(LB="") """""" ; ""= empty quotes + ; Samenstelling van LB bepalen + eventueel begin van de List + New NonLB,blnList + Set NonLB="" + Set blnList=0 + For Do Quit:(blnList) Quit:(LB="") + . If $$IsList(LB) Do Quit + .. Set blnList=1 ; Start of a list detected + . ; Else : Analyseren van telkens het eerste character van LB; indien controle-karater, vertalen naar ("\"_ASCII-waarde), anders kopi�ren + . Set NonLB=NonLB_$S($E(LB,1)?1c:"\"_$$$LeftPad($A(LB,1),3), 1:$E(LB,1)) + . Set $E(LB,1)="" ; Remove first character + ; What's left is a list + Quit:(LB="") NonLB + New i,txt + Set txt="(" + For i=1:1:$LL(LB) Set txt=txt_$S(i>1:", ", 1:"")_$$lstFormatItemCHKQuoted(LB,i) + Set txt=txt_")" + Quit NonLB_txt +lstFormatItemCHK(LB,i) + Quit:('$LD(LB,i)) "" + Quit $$LCVTCHK($LI(LB,i)) +lstFormatItemCHKQuoted(LB,i) +#define item $LI(LB,i) + Quit:('$LD(LB,i)) "" + Quit $S($IsValidNum($$$item)||$$IsList($$$item):$$LCVTCHK($$$item), 1:""""_$$LCVTCHK($$$item)_"""") + +LISTCVT(LB) + Quit $$LCVT(LB) +LCVTCHK(LB) + Quit $$LCVT(LB) + + // ========================================================================================================================================== + // Name : LCVT - LCVTCHK - LISTCVT + // Author : WIM VERMEULEN + // Function: List ConVerT Quick-'N-Dirty + // Deze versie van LISTCVT converteert enkel zuivere ListBuilds en zuivere single values (string/numeric): + // bvb. $LB("AA","GG",$LB($LB("TT"),"ABC",-23.6)) ==> (AA,GG,((TT),ABC,-23.6)) + // ========================================================================================================================================== +LCVTQND(LB) + Quit:($G(LB)="") """""" + Quit:('$$IsList(LB)) LB ; LB is een zuivere single value + ; Else + New i,txt + Set txt="(" + For i=1:1:$LL(LB) Set txt=txt_$S(i>1:", ", 1:"")_$$lstFormatItemQND(LB,i) + Set txt=txt_")" + Quit txt +lstFormatItemQND(LB,i) + Quit:('$LD(LB,i)) "" + Quit $$LCVTQND($LI(LB,i)) + + + // ========================================================================================================================================== + // Name : LCVT - LCVTCHK - LISTCVT + // Author : WIM VERMEULEN + // Function: List ConVerT eXTendeD + // Formattering is parametriseerbaar + // Defaults: ChrListDef = "(, )" ; FormatIndex = "" ; UseQuotes = 1 ; ListChecking = 1 ; MaxLevels = -1 + // FormatIndex : gebruik bvb.: "[@I:@V]" als formattering, @I is Index en @V is Value/List + // ========================================================================================================================================== +LCVTXTD(LB,ChrListDef,FormatIndex,UseQuotes,ListChecking,MaxLevels) + Quit:($D(LB)#10=0) "" + ; Set Defaults + Set ChrListDef=$G(ChrListDef, "(, )") + Set FormatIndex=$G(FormatIndex,"") + Set UseQuotes=$G(UseQuotes,1) + Set ListChecking=$G(ListChecking,1) + Set MaxLevels=$G(MaxLevels,-1)\1 + ; Prepare param values + New ChrListStart,ChrListEnd,ChrListSep + Set ChrListStart=$E(ChrListDef,1) ; Eerste karakter + Set ChrListSep=$E(ChrListDef,2,$L(ChrListDef)-1) ; Tweede tot voorlaatste karakter(s) + Set ChrListEnd=$E(ChrListDef,$L(ChrListDef)) ; Laatste karakter + Set:($ZCVT(FormatIndex,"U")="DFL") FormatIndex=" @I: @V" + Set:(FormatIndex="") FormatIndex="@V" + Set:(MaxLevels<-1) MaxLevels=-1 + Quit $$lstLCVTXTD(LB,MaxLevels) +lstLCVTXTD(LB,MaxLevels) +#define LeftPad(%v,%NC) $S($L(%v)>%NC:%v, 1:$E((10**%NC)+%v,2,99999)) + Quit:($D(LB)#10=0) "" + Quit:(LB="") """""" ; ""= empty quotes + + New NonLB + If 'ListChecking Quit:('$$IsList(LB)) LB ; LB is een zuivere single value + Else Do Quit:(LB="") NonLB + . ; Samenstelling van LB bepalen + eventueel begin van de List + . Set NonLB="" + . New blnList + . Set blnList=0 + . For Do Quit:(blnList) Quit:(LB="") + .. If $$IsList(LB) Do Quit + ... Set blnList=1 ; Start of a list detected + .. ; Else : Analyseren van telkens het eerste character van LB; indien controle-karater, vertalen naar ("\"_ASCII-waarde), anders kopi�ren + .. Set NonLB=NonLB_$S($E(LB,1)?1c:"\"_$$$LeftPad($A(LB,1),3), 1:$E(LB,1)) + .. Set $E(LB,1)="" ; Remove first character + . ; What's left is a list + + New MaxLevel + Quit:(MaxLevels=0) $G(NonLB)_"$LB(...)" + Set MaxLevel=$S(MaxLevels=-1:-1, 1:MaxLevels-1) + + New i,txt + Set txt=ChrListStart + If FormatIndex="@V" For i=1:1:$LL(LB) Set txt=txt_$S(i>1:ChrListSep, 1:"")_$$lstFormatItemXTDValueOnly(LB,i) + Else For i=1:1:$LL(LB) Set txt=txt_$S(i>1:ChrListSep, 1:"")_$$lstFormatItemXTD(LB,i) + Set txt=txt_ChrListEnd + Quit $G(NonLB)_txt +lstFormatItemXTD(LB,i) +#define item $LI(LB,i) + Quit:('$LD(LB,i)) "" + New outTxt + Set outTxt=$S(UseQuotes=0 || $IsValidNum($$$item) || $$IsList($$$item) : $$lstLCVTXTD($$$item,MaxLevel), 1:""""_$$lstLCVTXTD($$$item,MaxLevel)_"""") + Quit $$REPLACE^vhRtn1($$REPLACE^vhRtn1(FormatIndex,"@I",i) ,"@V",outTxt) +lstFormatItemXTDValueOnly(LB,i) +#define item $LI(LB,i) + Quit:('$LD(LB,i)) "" + Quit $S(UseQuotes=0 || $IsValidNum($$$item) || $$IsList($$$item) : $$lstLCVTXTD($$$item,MaxLevel), 1:""""_$$lstLCVTXTD($$$item,MaxLevel)_"""") + ;Quit "["_i_":"_$$lstLCVTEXTD($$$item)_"]" + + // ========================================================================================================================================== + // Name : LCVTSimple + // Author : WIM VERMEULEN + // Function: List ConVerT Simple: + // LB is een simpele ListBuild; vb.: $LB("TestA","TestB",1,2, "", , "TestC") + // Defaults: ListSep = ", " ; SkipEmptyLI = 0 ; ListChecking = 0 ; strEmptyList = "" + // ========================================================================================================================================== +LCVTSimple(LB,ListSep,SkipEmptyLI,ListChecking,strEmptyList) + Quit:($G(LB)="") $G(strEmptyList,"") + Quit:($G(ListChecking,0))&&('$$IsList(LB)) $$LCVT(LB) + New i,txt + Set ListSep=$G(ListSep, ", ") + Set txt="" + If $G(SkipEmptyLI, 0) Do + . For i=1:1:$LL(LB) Set:($L($LG(LB,i))) txt=txt_ListSep_$LG(LB,i) + Else Do + . For i=1:1:$LL(LB) Set txt=txt_ListSep_$LG(LB,i) + Set:($P(txt,ListSep,1)="") $E(txt,1,$L(ListSep))="" + Quit txt + + // ========================================================================================================================================== + // Author: WIM VERMEULEN + // ========================================================================================================================================== +LeftPad(Val,NChar) ; Pad number to left with zeros. E.g.: LeftPad(24,5)="00024" + Quit $S($L(Val)>NChar:Val, 1:$E((10**NChar)+Val,2,99999)) + + // ========================================================================================================================================== + // Author: WIM VERMEULEN + // ========================================================================================================================================== +vmlROTATE(X,Y1,Y2) + New Delta + Set Delta=$ZABS(Y2-Y1) + Quit "X1="_(X-(Delta/2))_" X2="_(X+(Delta/2))_" YMid="_((Y1+Y2)/2)_$C(13,10)_ + "" + + + // ========================================================================================================================================== + // Name : GetFileExtension - GetFileNoExt + // Author : WIM VERMEULEN + // Function: Geeft de extensie resp. de naam zonder extensie van de gegeven FileName. + // ========================================================================================================================================== +GetFileExtension(FName) + Quit:(FName'[".") "" + Quit $$$LastPiece(FName,".") + +GetFileNoExt(FName) +#define NoLastPiece(%v,%d) $P(%v, %d, 1, $L(%v,%d)-1) + Quit:(FName'[".") FName + Quit $$$NoLastPiece(FName,".") + + // ========================================================================================================================================== + // Name : ParseStatus + // Author : TOM ROMBAUT + // Function: Opdrachten zoals %Save & %Delete geven een resultaat terug van het type %Status. Deze status is echter 'gecodeerd' en kan + // via deze functie leesbaar gemaakt worden naar de gebruiker toe + // ========================================================================================================================================== + #Include %occStatus + +ParseStatus(Status,IgnoreFirstLine) + Quit $$ParseStatus^vhLib.System(.Status,.IgnoreFirstLine) + + // ================== + // Name : GetStack + // ================== +GetStack(Short,QuitAtSource) + Do GetStack^vhTools(.Short,.QuitAtSource) + + // ========================== + // Name : GetStackToString + // ========================== +GetStackToString(Short,NoLastLevels) + Quit $$GetStackToString^vhTools(.Short,.NoLastLevels) + + // ========================================================================================================================================== + // Name : MailError + // Author : PAUL VERHULST + // Function: Verstuurt een error mail met met de stack informatie + // De To parmeter is een $LB + // De From is optioneel en wordt gedefault naar System@VanHoecke.be + // ========================================================================================================================================== +MailError(To,From) + New Body,Subject + Set Body=$$GetStackToString(,3) ;Levels MailError,GetStackToString en For-lus niet tonen in mail -> dit zijn de laatste 3 + Set From=$G(From,"ErrorTrap@VanHoecke.be") + Set:$G(To)="" To=$LB("PV@VanHoecke.be") + Set Subject="ERROR TRAP "_$ZERROR + Do SendMiniMail^vhLib(From,To,Subject,Body,,,,,) + Quit + + // ========================================================================================================================================== + // Name : ShowLocks + // Author : TOM ROMBAUT + // Function: Geeft de huidige locks weer, samen met nog andere betekenisvolle (pid,...) gegevens + // ========================================================================================================================================== +ShowLocks + N lockline + S lockline="" + FOR S lockline=$ZU(89,0,$P(lockline,"~",1)) Q:lockline="" DO + . W "pid:"_$P(lockline,"~",2)_" locking "_$P(lockline,"~",7),! + QUIT + + // ========================================================================================================================================== + // Name : StartLog & StopLog + // Author : TOM ROMBAUT + // Function: Maakt het mogelijk om via 'write' te schrijven naar bestanden (handig voor bijv. ListAllObjects in een omgegeving waar write + // geen zichtbare output genereert (Bijv. Visual Basic, Makova, ...) + // ========================================================================================================================================== +StartLog(Index) + Set Index=$G(Index," "_$TR($ZDT($H,2,1),":","_")) + Set FileName="C:\VHLogs\Log job " _ $J _ Index _ ".txt" + Open FileName:("NWS") + Use FileName + Quit + +StopLog + Close:($Get(FileName)'="") FileName + Kill FileName + Quit + +GetFileName() + Quit $G(FileName) + + // ========================================================================================================================================== + // Name : StartTimer & StopTimer + // Author : TOM ROMBAUT + // Function: Gebruik beide routines voor het berekenen van tijdsintervallen tussen bijv. 2 routines + // ========================================================================================================================================== +#define TimeNow $PIECE($ZU(188),",",2) +#define TimeDelta(%v2,%v1) $S($G(%v1)>0:%v2-%v1, 1:"") + +StartTimer + Set %StartTime=$$$TimeNow + Quit + +StopTimer + Set %StopTime=$$$TimeNow + Quit + +GetInterval() + New Time + Set Time=(%StopTime-%StartTime) + Quit Time + + // ========================================================================================================================================== + // Name : TimeFromStart & RestartTimer & ChronoStep & ChronoReset + // Author : WIM VERMEULEN + // Function: Gebruik beide routines voor het berekenen van tussentijden + // ========================================================================================================================================== +TimeFromStart() + Quit $$$TimeDelta($$$TimeNow,%StartTime) ; $S($G(%StartTime)>0:$$$TimeNow-%StartTime, 1:"") + +RestartTimer() + New Time + Set Time=$$TimeFromStart + Do StartTimer + Quit $J(Time,0,4) + +ChronoReset() ; Reset the Chrono and returns the new %StartTime + Do StartTimer + Set %LastStepTime=%StartTime + Quit %StartTime + +ChronoStep(blnReset) ; Returns $LB(TimeFromStart,TimeDelta,%LastStepTime). Param blnReset=1 resets the Chrono. + New Time,TimeFromStart,TimeDelta + Set Time=$$$TimeNow + Set TimeFromStart=$$$TimeDelta(Time,%StartTime) + Set TimeDelta=$$$TimeDelta(Time,%LastStepTime) + If $G(blnReset) Do + . Do ChronoReset() + Else Do + . Set %LastStepTime=Time + Set %LastStepTime=$$$TimeNow + Quit $LB(TimeFromStart,TimeDelta,%LastStepTime) + +ChronoStepFMT(blnReset) ; Returns "TimeFromStart (TimeDelta)" . Param blnReset=1 resets the Chrono. + New tmpLB + Set tmpLB=$$ChronoStep(.blnReset) + Quit $J($LG(tmpLB,1),6,3)_$S($L($LG(tmpLB,2)):" (D: "_$J($LI(tmpLB,2),6,3)_")", 1:"") + + + // ========================================================================================================================================== + // Name : iXecute + // Author : TOM ROMBAUT + // Function: 'Intelligente' Xecute versie, met Error Trapping, die de fout weergeeft, als er een fout in het Xecute Statement zit + // ========================================================================================================================================== +iXecute(ExeString) + Quit:(ExeString="") "" + Set $ZTRAP="ixError" + Xecute ExeString + Quit "" +ixError + Set $ZTRAP="" + New ErrStr + Set ErrStr=$P($ZError,">",1)_ "> " _ ExeString _ " ["_$P($ZError,">",2)_"]" + Quit ErrStr + + // ========================================================================================================================================== + // Name : mXecute + // Author : TOM ROMBAUT + // Function: 'Multi' Xecute versie, voert meerdere lijnen uit (wel volgens de regels van Xecute!) + // ========================================================================================================================================== +mXecute(ExeString) + Quit:(ExeString="") + New mxLoop + For mxLoop=1:1:$L(ExeString,$C(13,10)) Do + . Xecute $P(ExeString,$C(13,10),mxLoop) + Quit + + // ========================================================================================================================================== + // Name : imXecute + // Author : TOM ROMBAUT + // Function: Intelligente 'Multi' Xecute versie, voert meerdere lijnen uit, geeft eventueel fout terug + // ========================================================================================================================================== +imXecute(ExeString) + Quit:($G(ExeString)="") "" + New mxLoop,ErrStr + Set ErrStr="" + For mxLoop=1:1:$L(ExeString,$C(13,10)) Quit:(ErrStr'="") Do + . Set ErrStr=$$iXecute^vhLib($P(ExeString,$C(13,10),mxLoop)) + Quit $S(ErrStr="":"",1:"LINE "_mxLoop_": "_ErrStr) + + // ========================================================================================================================================== + // Name : GetCaller + // Author : TOM ROMBAUT + // Function: Soms kan het gebeuren dat zaken worden uitgevoerd zonder uw medeweten. Denk maar aan het saven van een parent, dit resulteert + // ook in het saven van de children (bij een correcte relatie). Plaats dit op een bepaalde plaats en komt te weten wie de functie + // aanroept. + // ========================================================================================================================================== +GetCaller(Index,QuitAtSource) + Set QuitAtPlace=$G(QuitAtSource,$C(0)) + New FN + Do StartLog^vhLib(Index) + Set FN=$$GetFileName^vhLib() + Do GetStack^vhLib(0,QuitAtSource) + Do StopLog^vhLib + Quit FN + +GetStackToFile(Index) + If $D(MApplication) Do + . Do MApplication.MessageBox("Wijzig GetStackToFile->WriteStackToFile") + Else Do + . Write "Wijzig GetStackToFile->WriteStackToFile",! +WriteStackToFile(Index) + New FN + Do StartLog^vhLib(Index) + Set FN=$$GetFileName^vhLib() + + SET $ECODE="" + FOR loop=1:1:$STACK(-1)-2 DO + . WRITE !,"Context level: ",loop + . WRITE !,?5,"- Context type: ",$STACK(loop) + . WRITE !,?5,"- Current place: ",$STACK(loop,"PLACE") + . WRITE !,?5,"- Current source: ",$STACK(loop,"MCODE") + . WRITE ! + + Do StopLog^vhLib + Quit FN +WriteObjectsToFile(Index) + New FN + Do StartLog^vhLib(Index) + Set FN=$$GetFileName^vhLib() + Do $System.OBJ.ShowObjects("d") + Do StopLog^vhLib + Quit FN +WriteLocalsToFile(Index) + New FN + Do StartLog^vhLib(Index) + Set FN=$$GetFileName^vhLib() + w + Do StopLog^vhLib + Quit FN +WriteXMLDataSetToFile(DS,Index) + New FN + Do StartLog^vhLib(Index) + Set FN=$$GetFileName^vhLib() + Do DS.WriteXML(,,,,,1) + Do StopLog^vhLib + Quit FN + + + // ========================================================================================================================================== + // Name : IsPersistent + // Author : Tom Rombaut + // Function: Test of een bepaalde ORef een persistent is of niet + // ========================================================================================================================================== +IsPersistent(ORef) + Set $ZT="NotPersistent" + If ORef.%Id() //Creates error (unknown property) when non-persistent + Set $ZT="" + Quit 1 + + ; ORef is not persistent +NotPersistent + Set $ZE="" + q 0 + + // ========================================================================================================================================== + // Name : IsValidPattern + // Author : Tom Rombaut + // Function: Test of een bepaald pattern correct is of niet... + // ========================================================================================================================================== +IsValidPattern(Pattern) + Set $ZT="NoValidPattern" + If ""?@Pattern //Creates error + Set $ZT="" + Quit 1 + + ; ORef is not persistent +NoValidPattern + Set $ZE="" + q 0 + + // ========================================================================================================================================== + // Name : Bit + // Author : Tom Rombaut + // Function: Test of een bepaalde bit actief is of niet + // ========================================================================================================================================== +Bit(Number,BitPos) + Quit (Number\($ZPOWER(2,BitPos-1)))#2 + + // ========================================================================================================================================== + // Name : IntToBits + // Author : Tom Rombaut + // Function: Converteer een integer naar een reeks bits, cache stijl (kan dan $bit e.d. gebruiken) + // ========================================================================================================================================== +IntToBits(Number) + New Loop,Bits + Set $BIT(Bits,1)=0 + Set Loop=1 + For Quit:(Number=0) Do + . Set $BIT(Bits,Loop)=(Number#2) + . Set Number=Number\2 + . Set Loop=Loop+1 + Quit Bits + +BitsToInt(Bits) + New Loop,Int + Set Int=0 + For Loop=1:1:$BITCOUNT(Bits) Do + . Set Int=Int+($BIT(Bits,Loop)*(2**(Loop-1))) + Quit Int + +IntToBits2(Number) + New Loop,Bits + Set $BIT(Bits,1)=0 + Set Loop=1 + For Quit:(Number=0) Do + . Set $BIT(Bits,Loop)=(Number#2) + . Set Number=Number\2 + . Set Loop=Loop+1 + Set Number=Bits + Quit + +StrToBits(Str) + New B,i + For i=1:1:$L(Str) Set $Bit(B,i)=$E(Str,i) + Quit B +BitsToStr(B) + New S,i + Set S="" + For i=1:1:$BitCount(B) Set S=S_$Bit(B,i) + Quit S + + // ========================================================================================================================================== + // Name : WildCardToPattern + // Author : Tom Rombaut + // Function: Converteer een wildcard string(met '*' en '?') naar cache pattern style (met .E, 1'J', ...) + // De optionele param StartWith append automatisch een "*" aan de WildCard + // Als de eerste karakter van de wildcard een '�' is dan wordt de rest van de WildCard beschouwt als een PatternMatch, dit om complexe patters mogelijk te maken + // ========================================================================================================================================== +WildCardToPattern(WildCard,StartWith) + New Pattern,Pos,NeedToEnd,CurChar,EscapeChar + Set NeedToEnd=0,Pattern="",EscapeChar=0 + + If $E(WildCard)="�" Quit $E(WildCard,2,999) ; Zelf patternmatch ingegeven ipv van wildcard + + For Pos=1:1:$L(WildCard) Do + . Set CurChar=$E(WildCard,Pos) + . If (CurChar="\") && 'EscapeChar Do Quit + .. Set EscapeChar=1 + . Else If (CurChar="*") && 'EscapeChar Do + .. If NeedToEnd Do + ... Set Pattern=Pattern_"""" + ... Set NeedToEnd=0 + .. Set Pattern=Pattern_".E" + . Else If (CurChar="?") && 'EscapeChar Do + .. If NeedToEnd Do + ... Set Pattern=Pattern_"""" + ... Set NeedToEnd=0 + .. Set Pattern=Pattern_"1E" + . Else Do + .. If 'NeedToEnd Do + ... Set NeedToEnd=1 + ... Set Pattern=Pattern_"1"""_CurChar + .. Else Do + ... Set Pattern=Pattern_CurChar + .. Set EscapeChar=0 + + If NeedToEnd Do + . Set Pattern=Pattern_"""" + + If $G(StartWith) Do + . New PatternLen + . Set PatternLen=$L(Pattern) + . Set:($E(Pattern,PatternLen-1,PatternLen)'=".E") Pattern=Pattern_".E" + + Quit Pattern + + // ==================== + // Name : IsTerminal + // ==================== +IsTerminal(IO) + ;Quit $$IsTerminal^vhTools(.IO) + Set IO=$G(IO,$IO) + Quit IO?1"|TNT|".E1":".N1"|".N + + // ========================= + // Name : GetTerminalList + // ========================= +GetTerminalList(ExcludeSelf) + Quit $$GetTerminalList^vhTools(.ExcludeSelf) + + // ========================================================================================================================================== + // Name : HToNum + // Author : Tom Rombaut + // Function: $H bestaat uit 2 pieces, deze routine maakt er ��n van (handig voor het vergelijken van 2 $h's) + // ========================================================================================================================================== +HToNum(H) + Set H=$G(H,$H) + Quit ($P(H,",",1)*86400)+$P(H,",",2) + // ========================================================================================================================================== + // Name : NumToH + // Author : Tom Rombaut + // Function: + // ========================================================================================================================================== +NumToH(Num) + Quit (Num\86400)_","_(Num#86400) + + // ========================================================================================================================================== + // Name : DottedInt + // Author : Tom Rombaut + // Function: Plaatst dots tussen integers (geen decimale getallen!) + // ========================================================================================================================================== +DottedInt(Integer,Seperator) + Set Integer=+(Integer\1) + Set Seperator=$G(Seperator,".") + Quit $FN(Integer,Seperator) + /*** In commentaar gezet door WimV. op 08/02/2008 *** / + /*** Originele code door TomR. *** / + New DottedInteger,Loop,Len + Set DottedInteger="" + Set Len=$L(Integer) + Set DottedInteger=$E(Integer,Len-2,Len) + For Loop=(Len-3):-3:1 Do + . Set DottedInteger=$E(Integer,Loop-2,Loop)_"."_DottedInteger + Quit DottedInteger + */ + + // ========================================================================================================================================== + // Name : GetEWMSInsertTime + // Author : Tom Rombaut + // Function: Krijg de huidige tijd in een soort van EWMS format: YYYY-MM-DD-HH.MM.SS.000000 + // ========================================================================================================================================== +GetEWMSInsertTime(H) + Set H=$G(H,$H) + Quit $TR($ZDT(H,3)," :","-.")_".000000" + + // ========================================================================================================================================== + // Name : ConvertEWMSInsertTimeToH + // Author : Tom Rombaut + // Function: Vertaal EWMS format (YYYY-MM-DD-HH.MM.SS.000000) naar $H, geeft leeg terug bij foute InsertTime parameter + // ========================================================================================================================================== +ConvertEWMSInsertTimeToH(InsertTime) + New H,tmpVal + ;Vertalen 'YYYY-MM-DD' + Set tmpVal=$ZDH($E(InsertTime,1,10),3,,,,,,,"") + Quit:(tmpVal="") "" + Set $P(H,",",1)=tmpVal + + ;Vertalen 'HH.MM.SS' + Set tmpVal=$ZTH($TR($E(InsertTime,12,19),".",":"),1,"") + Quit:(tmpVal="") "" + Set $P(H,",",2)=tmpVal + + Quit H + + + // ========================================================================================================================================== + // Name : GetJobInfo + // Author : Wim Vermeulen + // Function: Geeft informatie over de huidige job. + // Handig bij het versturen van bvb. mails met een error-melding + // ========================================================================================================================================== +GetJobInfo(blnMultiLine,Indent) + Quit $$GetJobInfo^vhLib.System(.blnMultiLine,.Indent) + + // ========================================================================================================================================== + // Name : GetMailAddressFromTerminal + // Author : Joren Blancquaert + // Function: Geef mail adres vanuit een ip-adres (enkel binnen ict) + // Device : $I + // ========================================================================================================================================== +GetMailAddressFromTerminal() + Set IP = $$GetClientIP + Set User=$$$IctUserFromIP(IP) + Set:(User="") User=$$$IctUserFromDevice($I) + + Quit:($Length(User)) User_"@vanhoecke.be" + + Quit "" + + // ========================================================================================================================================== + // Name : SendMiniMail + // Author : Tom Rombaut + // Function: Stuurt een minimail + // ========================================================================================================================================== +SendMiniMail(From,To,Subject,Body,BodyIsStream,IsHTML,AuthUser,AuthPwd,lbAttachments,ReplyTo,ccTo,BccTo) + Quit $$SendMiniMail^vhLib.Mail(.From,.To,.Subject,.Body,.BodyIsStream,.IsHTML,.AuthUser,.AuthPwd,.lbAttachments,.ReplyTo,.ccTo,.BccTo) + + // ========================================================================================================================================== + // Name : PiecesToList + // Author : Tom Rombaut + // Function: Bijv. ";A;B;C" -> $LB(A,B,C) of "A;B;C" indien de seperator apart wordt opgegeven + // ========================================================================================================================================== +PiecesToList(Pieces,Sep) + New StartIndex + If $D(Sep) Do + . Set StartIndex=1 + Else Do + . Set StartIndex=2 + . Set Sep=$E(Pieces,1) + New List,Loop + Set List="" + For Loop=StartIndex:1:$L(Pieces,Sep) Do + . Set List=List_$LB($P(Pieces,Sep,Loop)) + Quit List + + // ========================================================================================================================================== + // Name : ListToPieces + // Author : Tom Rombaut + // Function: Bijv. $LB(A,B,C) -> A/B/C met '/' als seperator + // De separator wordt ge-default (',') + // + // Name : ListToDelimited + // Author : Wim Vermeulen + // Function: idem + // De separator wordt NIET ge-default + // ========================================================================================================================================== +ListToPieces(List,Sep) + Quit:(List="") "" + Quit $$ListToDelimited(.List,$G(Sep,",")) +ListToDelimited(List,Sep) ; Parameters: List (List : $LB(), als .local doorgeven voor betere performantie) + New i,Pieces + Set Pieces=$LG(List,1) + For i=2:1:$LL(List) Set Pieces=Pieces_Sep_ $LG(List,i) + Quit Pieces + + // ========================================================================================================================================== + // Name : ListToCRLF + // Author : Wim Vermeulen + // ========================================================================================================================================== +ListToCRLF(lbVal) ; Parameters: lbVal (als .local doorgeven voor betere performantie) + Quit $$ListToDelimited(.lbVal,$$$CRLF) + + + // ========================================================================================================================================== + // Name : AddLeadingChar + // Author : Tom Rombaut + // Function: "er" -> " er" met params " " en 5. "GFT" -> "000GFT" met params "0" en 6. + // ========================================================================================================================================== +AddLeadingChar(Str,Char,ToLen) + New StrLen + Set StrLen=$L(Str) + Quit:(StrLen>ToLen) Str + New ZeroStr + Set $P(ZeroStr,Char,ToLen-StrLen+1)=Str + Quit ZeroStr + + // ========================================================================================================================================== + // Name : AddTrailingChar + // Author : Tom Rombaut + // Function: "er" -> "er " met params " " en 5. "GFT" -> "GFT000" met params "0" en 6. + // ========================================================================================================================================== +AddTrailingChar(Str,Char,ToLen) + New StrLen + Set StrLen=$L(Str) + Quit:(StrLen' volledige datum tonen (d.i. met jaartal) + Quit:(Year'=CurYear) $$$GetTransDate(HDate)_$S(HideTime:"",1:" om "_$ZT(HTime,2)) + + Quit $P($$$GetFullTransDate(HDate)," ",1,2)_$S(HideTime:"",1:" om "_$ZT(HTime,2)) + + // ========================================================================================================================================== + // Name : InDevelop / InWebDevelop + // Author : Tom Rombaut + // Function: Wordt dit programma in development-omgeving uitgevoerd of niet + // ========================================================================================================================================== +InDevelop() + Quit ($ZCVT($ZU(110),"U")="CACHE02") + +InWebDevelop() + Quit ("WWW01/CACHE01"'[$ZCVT($ZU(110),"U")) + + + // ========================================================================================================================================== + // Name : ClientIsIP / GetClientIP + // Author : WIM VERMEULEN + // Function: ClientIsIP(ip) checkt of het gevraagde ip overeenstemt met het ip-adres van de client/host pc. + // GetClientIP() geeft het IP-adres van de gebruiker (client pc) terug. + // - Werkt voor TELNET / TERMINAL / MAKOVA / VB+VBA (factory alg.) / CSP. + // - Werkt wellicht NIET bij Web Services (SOAP) --> vooraf checken in de SOAP Client kant! + // ========================================================================================================================================== +ClientIsIP(IP) + Set:(IP?1.3N) IP="192.168.1."_IP + Quit ($$GetClientIP()=IP) + +GetClientIP() + new IP + if ($D(MApplication)) { Set IP = MApplication.GetClientIP() } + elseif ($IsObject($G(%request)))&&(%request.%IsA("%CSP.Request")) + { Set IP=$G(%request.CgiEnvs("REMOTE_ADDR")) } + else { set IP = $$GetIPFromTerminalSessie } + quit IP + + +GetIPFromTerminalSessie() + New IONaam,CNaam,IP + Set IONaam=$I + Quit:$E(IONaam,1,5)'="|TNT|" "" + Set CNaam=$P($E(IONaam,6,99),":",1) + If CNaam?1.3N1"."1.3N1"."1.3N1"."1.3N Do ; eerst kijken of het IPAdres niet vervat zit in de device $I + . Set IP=CNaam + Else Do ; opzoeken van het IPAdress in de cQSYS tabel + . ;Set IP=$P($G(cQSYS(0,"DDB",io)),",",2) + . Set IP="" ; niet opzoeken in cQSYS, altijd via GetIP() + . If IP'?1.3N1"."1.3N1"."1.3N1"."1.3N Set IP=$$GetIP^BLDSYSLOG(CNaam,1) ; vertaling aanvragen van de Computernaam naar IPAdres + Quit IP + +GetICTSysOp() + Set ClientIP = $$GetClientIP() + Set User=$$$IctUserFromIP(ClientIP) + Set:(User="") User=$$$IctUserFromDevice($IO) + + Quit:($Length(User)) User_"@vanhoecke.be" + Quit "ICT_SysOp@vanhoecke.be" + + + // ========================================================================================================================================== + // Name : FirstCase + // Author : Tom Rombaut + // Function: Eerste letter een hoofdletter maken + // ========================================================================================================================================== +FirstCase(String) + Set $E(String)=$ZCVT($E(String),"U") + Quit String + + // ========================================================================================================================================== + // Name : IsLocked + // Author : Tom Rombaut + // Function: Is een bepaalde global gelocked of niet (meegeven als string) + // ========================================================================================================================================== +IsLocked(Global) + Lock +@Global:0 + Else Do Quit 1 + Lock -@Global + Quit 0 + + // ========================================================================================================================================== + // Name : SwapListObjects + // Author : Tom Rombaut + // Function: 2 objects in een ListOfObjects verwisselen van plaats (param LOO=ListOfObjects obj; Obj1 en Obj2: te swappen objs) + // ========================================================================================================================================== +SwapListObjects(LOO,Obj1,Obj2) + New Key,tmpObj,Key1,Key2 + Set (Key,Key1,Key2)="" + For Set tmpObj=LOO.GetNext(.Key) Quit:(Key="") Do + . Set:(tmpObj=Obj1) Key1=Key + . Set:(tmpObj=Obj2) Key2=Key + Quit $$SwapListObjectsViaKey(LOO,Key1,Key2,Obj1,Obj2) + + // ========================================================================================================================================== + // Name : SwapListObjects + // Author : Tom Rombaut + // Function: 2 objects in een ListOfObjects verwisselen van plaats, params: LOO=ListOfObjects obj + // Key1 en Key2: keys van te swappen objs, Obj1 en Obj2 (OPTIONEEL) de overeenkomstige te swappen objs + // ========================================================================================================================================== +SwapListObjectsViaKey(LOO,Key1,Key2,Obj1,Obj2) + Quit:((Key1="") || (Key2="")) 0 + + Set:('$D(Obj1)) Obj1=LOO.GetAt(Key1) + Set:('$D(Obj2)) Obj2=LOO.GetAt(Key2) + + Quit:((Obj1="") || (Obj2="")) 0 + Quit:(Obj1=Obj2) 0 + + If Key1>Key2 Do + . Do LOO.RemoveAt(Key1) + . Do LOO.RemoveAt(Key2) + . Do LOO.InsertAt(Obj1,Key2) + . Do LOO.InsertAt(Obj2,Key1) + Else Do + . Do LOO.RemoveAt(Key2) + . Do LOO.RemoveAt(Key1) + . Do LOO.InsertAt(Obj2,Key1) + . Do LOO.InsertAt(Obj1,Key2) + + Quit 1 + + // ========================================================================================================================================== + // Name : GetClassParamValue + // Author : Tom Rombaut + // Function: Verkrijg de waarde van een parameter gedefinieerd in een class + // ========================================================================================================================================== + #Include %occReference + #Include %occKeyword + #Include %occLocation +GetClassParamValue(ClassName,ParamName) + Quit:('$$$defMemberKeyDefined(ClassName,$$$cCLASSparameter,ParamName,$$$cPARAMdefault)) "" + Quit $$$defMemberKeyGet(ClassName,$$$cCLASSparameter,ParamName,$$$cPARAMdefault) + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : StrToBool + // Author : Manuel Bauwens + // Function: Zet een string om naar een boolean ==> ["0","","false,"False",leeg = 0] [ "true","True", andere tekst = 1] + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +StrToBool(Str) + q:'$L(Str) 0 + q:Str="" 0 + q:Str="0" 0 + q:Str="False" 0 + q:Str="false" 0 + q:Str="True" 1 + q:Str="true" 1 + Quit 1 + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : BoolToStr + // Author : Manuel Bauwens + // Function: Zet een boolean om naar een string ==> [1 = "True"] [0 = "False"] + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +BoolToStr(Bool) + q:Bool "True" + Quit "False" + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : InvStrBool + // Author : Manuel Bauwens + // Function: Inverteert een string als boolean + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +InvStrBool(Str) + Quit $$BoolToStr(Str="False") + + + + + + + + // ========================================================================================================================================== + // Name : IsList + // Author : n/a (George James) + // Function: Test of een bepaalde variabele een $LB is of niet + // ========================================================================================================================================== + ; Is this variable a list + ; If it looks like a list then it is a list + ; $ll and $lf dont always fail even for a valid list so have to try both + ; eg $c(7)_"abc"_$lb(1,2,3) passes the $ll test but fails the $lf test + ; $lb(1,2,3)_"gaga" passes the $lf test but fails the $ll test +IsList(variable) ; + + New $ETRAP + s $ETRAP="G notList^"_$ZN + i $ll(variable) + i $lf(variable,"anything") + q 1 + ; Variable is not a list +notList + i $ZERROR["" s $ECODE="" q 0 + q 0 + + // ========================================================================================================================================== + // Name : LocToGlob(Global,Node) + // Author : n/a (Messageboard) + // Function: Plaats alle lokale vars in een global (parameter). Unieke subnode via parameter 'Node', bijv. $J + // ========================================================================================================================================== +LocToGlob(Global,Node) ; save local vars to global + New % + Kill @Global@(Node) + Set %="" + For Set %=$O(@%) Quit:(%="") Do + . Quit:((%="Node") || (%="Global") || (%="%")) //Dit zijn locals eigen aan functie + . m @Global@(Node,%)=@% + Quit + + // ========================================================================================================================================== + // Name : Fill(String,Length,Character) + // Author : n/a (Messageboard) + // Function: Voeg zoveel karakters toe aan 'String' om opgegeven 'Length' te bereiken (indien Length negatief is worden chars achteraan toegevoegd!) + // ========================================================================================================================================== +Fill(Str,Len,Chr) + Set Chr=$G(Chr) + Set:(Chr="") Chr=" " + Quit $$rFill(Str,Len,Chr) +rFill(Str,Len,Chr) + Quit $S($L(Str)'<$ZABS(Len):Str,Len<0:$$rFill(Str_Chr,Len,Chr),1:$$rFill(Chr_Str,Len,Chr)) + + // ========================================================================================================================================== + // Name : Trace(ToJob,Msg) + // Author : n/a (Messageboard) + // Function: Verstuur een bericht(Msg) naar een process(ToJob), dit process kan bijv. een terminal zijn + // ========================================================================================================================================== +Trace(ToJob,Msg) + Set Msg=Msg_$C(13,10) + Quit:($ZU(67,1,ToJob)<2) //Kijken of process waar bericht nr verstuurd wo nog actief is... + If $ZU(94,ToJob,Msg,3) Do + . h .1 + Quit + + // ========================================================================================================================================== + // Name : GetJobList + // Author : n/a (Messageboard) + // Function: Verkrijg een lijst met alle huidige jobs + // ========================================================================================================================================== +GetJobList() //Uitlezen handig via 'Do JobInfo^%SS($J,.Info)' + New Base,Loop,pID,MaxpID,JobList + Set JobList="" + Set Base=$v($zu(40,2,47),-2,"S") + Set MaxpID=$v($zu(40,2,118),-2,4) + For Loop=1:1:MaxpID Do + . Set pID=$v(Loop*4+Base,-3,4) + . Set:pID JobList=JobList_$LB(pID) + Quit JobList + + // ========================================================================================================================================== + // Name : ListEvents + // Author : WIM VERMEULEN + // Function: Geeft een lijst van de Resources gecre�erd in $SYSTEM.Event + // Delim: default=$$$CRLF + // ========================================================================================================================================== +ListEvents(Delim) + Quit $$LCVTSimple^vhLib($SYSTEM.Event.List(),$G(Delim,$$$CRLF)) + + // ========================================================================================================================================== + // Name : Format + // Author : Tom Rombaut + // Function: Format nr (bijv. '#.##0,00#') of datetime (bijv. 'dd/mm/yyyy') + // ========================================================================================================================================== +Format(Fmt,Val,Lang) + If ($G(Val)'="") && $IsValidNum(Val) Quit $$FormatNumber(Fmt,Val) + Else Quit $$FormatDateTime(Fmt,$G(Val),$G(Lang)) + + #Define IsQuote(%v) (%v="'") || (%v="""") + + //------------------------------------------------------------------------------------------------ + // FORMAT DATE/TIME + //------------------------------------------------------------------------------------------------ + #Define fcDateTimeAllowedChars " :/-" + + #Define IsPossibleStartOfToken(%v) "jJyYmMdDwWvVuUhHsSnIi"[%v + + #Define MonthShortN $LB("Jan","Feb","Maa","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec") + #Define MonthShortF $LB("Jan","F�v","Mar","Avr","Mai","Jun","Jul","Ao�","Sep","Oct","Nov","D�c") + #Define MonthShortD $LB("J�n","Feb","M�r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez") + #Define MonthShortE $LB("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") + + #Define GetMonthShort(%dn,%l) $CASE(%l,"N":$LI($$$MonthShortN,%dn),"F":$LI($$$MonthShortF,%dn),"D":$LI($$$MonthShortD,%dn),:$LI($$$MonthShortE,%dn)) + + #Define MonthLongN $LB("Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December") + #Define MonthLongF $LB("Janvier","F�vrier","Mars","Avril","Mai","Juin","Juillet","Ao�t","Septembre","Octobre","Novembre","D�cembre") + #Define MonthLongD $LB("Januar","Februar","M�rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember") + #Define MonthLongE $LB("January","February","March","April","May","June","July","August","September","October","November","December") + + #Define GetMonthLong(%dn,%l) $CASE(%l,"N":$LI($$$MonthLongN,%dn),"F":$LI($$$MonthLongF,%dn),"D":$LI($$$MonthLongD,%dn),:$LI($$$MonthLongE,%dn)) + + #Define DayShortN $LB("Zon","Maa","Din","Woe","Don","Vri","Zat") + #Define DayShortF $LB("Dim","Lun","Mar","Mer","Jeu","Ven","Sam") + #Define DayShortD $LB("Son","Mon","Die","Mit","Don","Fre","Sam") + #Define DayShortE $LB("Sun","Mon","Tue","Wed","Thu","Fri","Sat") + + #Define GetDayShort(%dn,%l) $LI($CASE(%l,"N":$$$DayShortN,"F":$$$DayShortF,"D":$$$DayShortD,:$$$DayShortE),%dn) + + #Define DayLongN $LB("Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag") + #Define DayLongF $LB("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi") + #Define DayLongD $LB("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag") + #Define DayLongE $LB("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday") + + #Define GetDayLong(%dn,%l) $CASE(%l,"N":$LI($$$DayLongN,%dn),"F":$LI($$$DayLongF,%dn),"D":$LI($$$DayLongD,%dn),:$LI($$$DayLongE,%dn)) + + //DAY OF MONTH + #Define IsDayOfMonthIn1Or2Digits(%v) (%v="d") || (%v="D") + #Define IsDayOfMonthIn2Digits(%v) $ZCVT(%v,"U")="DD" + #Define IsDayOfWeek3CharsMinuscule(%v) %v="ddd" + #Define IsDayOfWeekFullMinuscule(%v) %v="dddd" + #Define IsDayOfWeek3CharsInitCap(%v) %v="Ddd" + #Define IsDayOfWeekFullInitCap(%v) %v="Dddd" + #Define IsDayOfWeek3CharsA1lCap(%v) %v="DDD" + #Define IsDayOfWeekFullA1lCap(%v) %v="DDDD" + + //MONTH + #Define IsMonthIn1Or2Digits(%v) (%v="m") || (%v="M") + #Define IsMonthIn2Digits(%v) $ZCVT(%v,"U")="MM" + #Define IsMonth3CharsMinuscule(%v) %v="mmm" + #Define IsMonthFullMinuscule(%v) %v="mmmm" + #Define IsMonth3CharsInitCap(%v) %v="Mmm" + #Define IsMonthFullInitCap(%v) %v="Mmmm" + #Define IsMonth3CharsA1lCap(%v) %v="MMM" + #Define IsMonthFullA1lCap(%v) %v="MMMM" + + //YEAR + #Define IsYearIn2Digits(%v) "JJ,YY"[$ZCVT(%v,"U") + #Define IsYearIn4Digits(%v) "JJJJ,YYYY"[$ZCVT(%v,"U") + + //WEEK + #Define IsWeekIn1Or2Digits(%v) (%v="w") || (%v="W") + #Define IsWeekIn2Digits(%v) $ZCVT(%v,"U")="WW" + + //YEAR of WEEK + #Define IsYearOfWeekIn2Digits(%v) $ZCVT(%v,"U")="II" + #Define IsYearOfWeekIn4Digits(%v) $ZCVT(%v,"U")="IIII" + + //DAY (nr) OF WEEK + #Define IsDayNrOfWeek(%v) (%v="v") || (%v="V") + + //HOUR, MINUTE, SECOND + #Define IsHour(%v) (%v="uu") || (%v="hh") + #Define IsMinute(%v) %v="nn" + #Define IsSecond(%v) %v="ss" + + + //$$FormatDateTime^TRTST("") +FormatDateTime(Fmt,Val,Lang) + Set:($G(Val)="") Val=$H + Set:($G(Lang)="") Lang="N" + + New FmtLen, Loop, Output, Char, QuoteChar, StartTokenChar, ExitLoop, tmpToken,TokenLen + New remDateStr,remTimeStr,remDayNr,remMonthNr,remYearNr,remWeekNr,remYearOfWeekNr,remDayNrOfWeek //remDayNr,remMonthNr,remWeekNr met voorloopnul + Set FmtLen=$L(Fmt) + Set Loop=0 + Set Output="" + For Set Loop=Loop+1 Quit:(Loop>FmtLen) Do + . Set Char=$E(Fmt,Loop) + . If $$$IsQuote(Char) Do + .. // *** Textloop + .. Set QuoteChar=Char + .. Set ExitLoop=0 + .. For Quit:(ExitLoop) Set Loop=Loop+1 Quit:(Loop>FmtLen) Do + ... Set Char=$E(Fmt,Loop) + ... If Char=QuoteChar Do + .... Set ExitLoop=1 + ... Else Do + .... Set Output=Output_Char + . Else If $$$IsPossibleStartOfToken(Char) Do + .. // *** Tokenloop (dd,Mm,Yyyy,...) + .. Set tmpToken=Char + .. Set StartTokenChar=$ZCVT(Char,"U") + .. Set ExitLoop=0 + .. For Quit:(ExitLoop) Set Loop=Loop+1 Quit:(Loop>FmtLen) Do + ... Set Char=$E(Fmt,Loop) + ... If $ZCVT(Char,"U")=StartTokenChar Do + .... Set tmpToken=tmpToken_Char + ... Else Do + .... Set ExitLoop=1 + .. // Handle token + .. Set TokenLen=$L(tmpToken) + .. // TOKENLEN = 1 + .. If TokenLen=1 Do + ... If $$$IsDayOfMonthIn1Or2Digits(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remDayNr)) remDayNr=$E(remDateStr,7,8) + .... Set Output=Output_+remDayNr + ... Else If $$$IsMonthIn1Or2Digits(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_+remMonthNr + ... Else If $$$IsWeekIn1Or2Digits(tmpToken) Do + .... Do:('$D(remWeekNr)) GetWeek(Val,.remYearOfWeekNr,.remWeekNr) + .... Set Output=Output_+remWeekNr + ... Else If $$$IsDayNrOfWeek(tmpToken) Do + .... Set:('$D(remDayNrOfWeek)) remDayNrOfWeek=$ZD(Val,10)+1 ;(Zo=1, Ma=2, Di=3,...) + .... Set Output=Output_$S(remDayNrOfWeek=1:7,1:remDayNrOfWeek-1) + .. // TOKENLEN = 2 + .. Else If TokenLen=2 Do + ... If $$$IsDayOfMonthIn2Digits(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remDayNr)) remDayNr=$E(remDateStr,7,8) + .... Set Output=Output_remDayNr + ... Else If $$$IsMonthIn2Digits(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_remMonthNr + ... Else If $$$IsYearIn2Digits(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remYearNr)) remYearNr=$E(remDateStr,1,4) + .... Set Output=Output_$E(remYearNr,3,4) + ... Else If $$$IsWeekIn2Digits(tmpToken) Do + .... Do:('$D(remWeekNr)) GetWeek(Val,.remYearOfWeekNr,.remWeekNr) + .... Set Output=Output_remWeekNr + ... Else If $$$IsYearOfWeekIn2Digits(tmpToken) Do + .... Do:('$D(remYearOfWeekNr)) GetWeek(Val,.remYearOfWeekNr,.remWeekNr) + .... Set Output=Output_$E(remYearOfWeekNr,3,4) + ... Else If $$$IsHour(tmpToken) Do + .... Set:('$D(remTimeStr)) remTimeStr=$ZT($P(Val,",",2)) + .... Set Output=Output_$E(remTimeStr,1,2) + ... Else If $$$IsMinute(tmpToken) Do + .... Set:('$D(remTimeStr)) remTimeStr=$ZT($P(Val,",",2)) + .... Set Output=Output_$E(remTimeStr,4,5) + ... Else If $$$IsSecond(tmpToken) Do + .... Set:('$D(remTimeStr)) remTimeStr=$ZT($P(Val,",",2)) + .... Set Output=Output_$E(remTimeStr,7,8) + .. // TOKENLEN = 3 + .. Else If TokenLen=3 Do + ... If $$$IsDayOfWeek3CharsMinuscule(tmpToken) Do + .... Set:('$D(remDayNrOfWeek)) remDayNrOfWeek=$ZD(Val,10)+1 + .... Set Output=Output_$ZCVT($$$GetDayShort(remDayNrOfWeek,Lang),"L") + ... Else If $$$IsDayOfWeek3CharsInitCap(tmpToken) Do + .... Set:('$D(remDayNrOfWeek)) remDayNrOfWeek=$ZD(Val,10)+1 + .... Set Output=Output_$$$GetDayShort(remDayNrOfWeek,Lang) + ... Else If $$$IsDayOfWeek3CharsA1lCap(tmpToken) Do + .... Set:('$D(remDayNrOfWeek)) remDayNrOfWeek=$ZD(Val,10)+1 + .... Set Output=Output_$ZCVT($$$GetDayShort(remDayNrOfWeek,Lang),"U") + ... Else If $$$IsMonth3CharsMinuscule(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_$ZCVT($$$GetMonthShort(+remMonthNr,Lang),"L") + ... Else If $$$IsMonth3CharsInitCap(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_$$$GetMonthShort(+remMonthNr,Lang) + ... Else If $$$IsMonth3CharsA1lCap(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_$ZCVT($$$GetMonthShort(+remMonthNr,Lang),"U") + .. // TOKENLEN = 4 + .. Else If TokenLen=4 Do + ... If $$$IsDayOfWeekFullMinuscule(tmpToken) Do + .... Set:('$D(remDayNrOfWeek)) remDayNrOfWeek=$ZD(Val,10)+1 + .... Set Output=Output_$ZCVT($$$GetDayLong(remDayNrOfWeek,Lang),"L") + ... Else If $$$IsDayOfWeekFullInitCap(tmpToken) Do + .... Set:('$D(remDayNrOfWeek)) remDayNrOfWeek=$ZD(Val,10)+1 + .... Set Output=Output_$$$GetDayLong(remDayNrOfWeek,Lang) + ... Else If $$$IsDayOfWeekFullA1lCap(tmpToken) Do + .... Set:('$D(remDayNrOfWeek)) remDayNrOfWeek=$ZD(Val,10)+1 + .... Set Output=Output_$ZCVT($$$GetDayLong(remDayNrOfWeek,Lang),"U") + ... Else If $$$IsMonthFullMinuscule(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_$ZCVT($$$GetMonthLong(+remMonthNr,Lang),"L") + ... Else If $$$IsMonthFullInitCap(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_$$$GetMonthLong(+remMonthNr,Lang) + ... Else If $$$IsMonthFullA1lCap(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remMonthNr)) remMonthNr=$E(remDateStr,5,6) + .... Set Output=Output_$ZCVT($$$GetMonthLong(+remMonthNr,Lang),"U") + ... Else If $$$IsYearIn4Digits(tmpToken) Do + .... Set:('$D(remDateStr)) remDateStr=$ZD(Val,8) //20040528 + .... Set:('$D(remYearNr)) remYearNr=$E(remDateStr,1,4) + .... Set Output=Output_$E(remYearNr,1,4) + ... Else If $$$IsYearOfWeekIn4Digits(tmpToken) Do + .... Do:('$D(remYearOfWeekNr)) GetWeek(Val,.remYearOfWeekNr,.remWeekNr) + .... Set Output=Output_remYearOfWeekNr + .. Set Loop=Loop-1 + . Else If $$$fcDateTimeAllowedChars[Char Do + .. // *** Allowed chars + .. Set Output=Output_Char + + Quit Output + + //----------------------------------------------------------------- +GetWeek(HDate,YearNr,WeekNr) + Set HDate=+HDate + + New DateAsStr + Set DateAsStr=$ZD(HDate,8) + + Set YearNr=$E(DateAsStr,1,4) + + New HStartOfYear + Set HStartOfYear=$ZDH(YearNr_"0101",8) + + New StartDay + Set StartDay=$ZD(HStartOfYear,10) + + New FirstDay + Set FirstDay=$S(StartDay<5:StartDay+6,1:StartDay-1) + + New NumberOfDays + Set NumberOfDays=(HDate-HStartOfYear)+FirstDay + + Set WeekNr=NumberOfDays\7 + + If WeekNr=0 Do + . Do GetWeek($ZDH((YearNr-1)_"1231",8),.YearNr,.WeekNr) + Else If WeekNr=53 Do + . New HEndOfYear + . Set HEndOfYear=$ZDH(YearNr_"1231",8) + . If $ZD(HEndOfYear,10)<4 Do //<4: ma, di of woe + .. Set WeekNr=1 + .. Set YearNr=YearNr+1 + + Set:(WeekNr<10) WeekNr="0"_WeekNr + + Quit + + //------------------------------------------------------------------------------------------------ + // FORMAT NUMBER + //------------------------------------------------------------------------------------------------ + + #Define fcThousandSep "." + #Define fcDecimalSep "," + #Define fcDigitPlaceholder "#" + #Define fcDigitPlaceholderZero "0" + #Define fcSectionSeperator ";" + #Define fcPercentage "%" + #Define fcStartCodeSet $$$fcDigitPlaceholder_$$$fcDigitPlaceholderZero_$$$fcThousandSep_$$$fcDecimalSep_$$$fcPercentage + #Define fcNrAllowedChars "$-+:/()!^&~{}=<> " + +FormatNumber(Fmt,Val) + Quit:(Fmt="") Val + + ;Indien Val="", text item teruggeven + Quit:(Val="") $P(Fmt,$$$fcSectionSeperator,4) + + ;Fmt mogelijk opgedeeld in sections (pos, neg & 0), afhankelijk van de waarde van Val reageren + New UseFmt,NegativeNr + If Val=0 Do + . Set UseFmt=$P(Fmt,$$$fcSectionSeperator,3) + . Set:(UseFmt="") UseFmt=$P(Fmt,$$$fcSectionSeperator,1) + . Set NegativeNr=0 + Else If Val<0 Do + . Set UseFmt=$P(Fmt,$$$fcSectionSeperator,2) + . If UseFmt="" Do + .. Set UseFmt=$P(Fmt,$$$fcSectionSeperator,1) + .. Set NegativeNr=1 + . Else Do + .. Set NegativeNr=0 //Zelf verantwoordelijk voor minteken + . Set Val=$ZABS(Val) + Else Do + . Set UseFmt=$P(Fmt,$$$fcSectionSeperator,1) + . Set NegativeNr=0 + + ;Format string parsen en variabel gewijs opbouwen hoe deze eruit ziet + New FmtLen, Loop, Char, QuoteChar, ExitLoop, Output, tmpVal + New ThousandSep,Decimal,ZeroBefore,ZeroAfter,SignificantAfter,ValDecimalCnt + Set Loop=0 + Set FmtLen=$L(UseFmt) + Set Output="" + Set ValDecimalCnt=$L($P(Val,".",2)) + For Set Loop=Loop+1 Quit:(Loop>FmtLen) Do + . Set Char=$E(UseFmt,Loop) + . If $$$IsQuote(Char) Do + .. // *** Textloop + .. Set QuoteChar=Char + .. Set ExitLoop=0 + .. For Quit:(ExitLoop) Set Loop=Loop+1 Quit:(Loop>FmtLen) Do + ... Set Char=$E(UseFmt,Loop) + ... If Char=QuoteChar Do + .... Set ExitLoop=1 + ... Else Do + .... Set Output=Output_Char + . Else If $$$fcStartCodeSet[Char Do + .. // *** FormatCodeLoop (reeds uitgelezen char ook verwerken) + .. Set ThousandSep=0, Decimal=0, ZeroBefore=0, ZeroAfter=0, SignificantAfter=0 + .. Set ExitLoop=0 + .. For Quit:(ExitLoop) Do Set Loop=Loop+1 Set Char=$E(UseFmt,Loop) + ... If Char=$$$fcThousandSep Do + .... Set ThousandSep=1 + ... Else If Char=$$$fcDecimalSep Do + .... Set Decimal=1 + ... Else If Char=$$$fcDigitPlaceholderZero Do + .... If Decimal Do + ..... Set ZeroAfter=ZeroAfter+1 + .... Else Do + ..... Set ZeroBefore=ZeroBefore+1 + ... Else If Char=$$$fcDigitPlaceholder Do + .... Set:(Decimal) SignificantAfter=SignificantAfter+1 + ... Else If Char=$$$fcPercentage Do + .... Set Val=Val*100 + ... Else Do + .... ;Interne loop heeft character niet verwerkt, terug aanbieden aan hoofdloop (deze doet ook nog eens +1, dus loop-2) + .... Set Loop=Loop-2 + .... ;Indien format bijv='0,' dan is ZeroAfter=0 EN SignificantAfter=0 -> Zet Decimal=0 + .... Set:(Decimal && (ZeroAfter=0) && (SignificantAfter=0)) Decimal=0 + .... ;Decimal rounding, decimal zeros + .... ; FORMAT: ... , | 0's | #'s | | + .... ; I II III + .... ; E.g. format='0,00###' dan zit 5,7 in I (ZeroAfter) / 5,754 in II (SignificantAfter) / 5,754487 in III (buiten format) + .... If ValDecimalCnt(ZeroAfter+SignificantAfter) Do ; III: afronden + ..... Set tmpVal=$FN(Val,$S(ThousandSep:".",1:""),ZeroAfter+SignificantAfter) + .... Else Do ; II: enkel thousand seperator verwerken + ..... Set tmpVal=$FN(Val,$S(ThousandSep:".",1:"")) + .... ;Voorloopnullen (ZeroBefore=1 niet 'opvangen', dit is de gewone notatie) + .... If ZeroBefore=0 Do + ..... Set:((tmpVal<1) && ($E(tmpVal)=0)) tmpVal=$E(tmpVal,2,9999) + .... Else If ZeroBefore>1 Do + ..... If tmpVal<(10**(ZeroBefore-1)) Do + ...... Set tmpVal=$J(tmpVal,(ZeroBefore+ZeroAfter+Decimal+SignificantAfter)) + ...... Set tmpVal=$TR(tmpVal," ",$$$fcDigitPlaceholderZero) + .... Set:('ThousandSep) tmpVal=$TR(tmpVal,".",",") + .... Set:(NegativeNr) tmpVal="-"_tmpVal + .... Set Output=Output_tmpVal + .... Set ExitLoop=1 + . Else If $$$fcNrAllowedChars[Char Do + .. // *** Allowed chars + .. Set Output=Output_Char + + Quit Output + + // Name: ValidatePassword, Author : Tom Rombaut, Function: Check of een opgegeven password 'veilig' genoeg is... +ValidatePassword(Password,MinLen,MaxLen,SpaceAllowed,NrRequired,SpecialCharRequired,SpecialCharSet,UserName,AllowThreeEqualConsChars) + Set MinLen=$G(MinLen,6) + Set MaxLen=$G(MaxLen,16) + Set SpaceAllowed=$G(SpaceAllowed,0) + Set SpecialCharRequired=$G(SpecialCharRequired,1) + Set SpecialCharSet=$G(SpecialCharSet,"!*+,-/:'?&;_()`#$%") + Set UserName=$G(UserName) + Set NrRequired=$G(NrRequired,1) + Set AllowThreeEqualConsChars=$G(AllowThreeEqualConsChars,0) ;Mogen is een pwd 3 opeenvolgende gelijke chars voorkomen? + + Quit:($L(Password)MaxLen) "Maximum aantal karakters is "_MaxLen_"." + Quit:('SpaceAllowed && (Password[" ")) "Een spatie is niet toegelaten." + + New SpecialCharFound + Set SpecialCharFound=0 + If SpecialCharRequired Do Quit:('SpecialCharFound) "Minstens ��n speciaal karakter ("_SpecialCharSet_") is vereist." + . New Loop,SpecialChar + . For Loop=1:1:$L(SpecialCharSet) Do Quit:(SpecialCharFound) + .. Set SpecialChar=$E(SpecialCharSet,Loop) + .. Set:(Password[SpecialChar) SpecialCharFound=1 + + Quit:(NrRequired && ($ZSTRIP(Password,"*E'N")="")) "Er dient minstens ��n cijfer voor te komen." + + New EqualConsChar + Set EqualConsChar="" + If 'AllowThreeEqualConsChars Do Quit:(EqualConsChar'="") "Het karakter '"_EqualConsChar_"' komt driemaal achter elkaar voor." + . New Loop,PwdChar + . For Loop=1:1:$L(Password) Do Quit:(EqualConsChar'="") + .. Set PwdChar=$E(Password,Loop) + .. Set:($E(Password,Loop+1,Loop+2)=(PwdChar_PwdChar)) EqualConsChar=PwdChar + + Quit "" + + // Name: ListOfDataTypesToLB, Author : Tom Rombaut, Function: Conversie list of datatypes naar listbuild +ListOfDataTypesToLB(LODT) + New lbResult,Loop + Set lbResult="" + For Loop=1:1:LODT.Count() Do + . Set lbResult=lbResult_$LB(LODT.GetAt(Loop)) + Quit lbResult + + // Name: LBToListOfDataTypes, Author : Tom Rombaut, Function: Conversie list of datatypes naar listbuild +LBToListOfDataTypes(lbList,LODT) + New Loop + Do LODT.Clear() + For Loop=1:1:$LL(lbList) Do + . Do LODT.Insert($LI(lbList,Loop)) + Quit + +ExecuteSQL(SQL,RS) + If $IsObject(RS) Do + . Do RS.Close() ;eventueel vorige cursor sluiten + Else Do + . Set RS=##class(%ResultSet).%New("%DynamicQuery:SQL") + + New tmpStatus + Set tmpStatus=RS.Prepare(SQL) + + Quit:($$$ISERR(tmpStatus)) $$ParseStatus^vhLib(tmpStatus) + + Set tmpStatus=RS.Execute() + + Quit $S(($$$ISERR(tmpStatus)):$$ParseStatus^vhLib(tmpStatus),1:"") + + // Name: TestURL (http of ftp scheme vereist), Author: Tom Rombaut, Function: Euh, test een url +TestURL(URL,ErrStr) + Set ErrStr="" + + New Components + Do ##class(%Net.URLParser).Parse(URL,.Components) + If $G(Components("scheme"))="" Do Quit 0 + . Set ErrStr="Scheme 'http' or 'ftp' not defined." + If $G(Components("host")) Do Quit 0 + . Set ErrStr="Server not defined." + + New HR + Set HR=##class(%Net.HttpRequest).%New() + Set HR.Server=$G(Components("host")) + Do HR.Get($G(Components("path"))) + Quit ($E(HR.HttpResponse.StatusCode)=2) + + // Name: TrimEndOfText, Author: Tom Rombaut, Function: Verwijderen zinloze enters/spaties & andere ctrl-chars op het einde van een text +TrimEndOfText(Text) + New CharLoop + Set CharLoop=$L(Text) + For Quit:((CharLoop=0) || ($ASCII($E(Text,CharLoop))>32)) Do + . Set CharLoop=CharLoop-1 + + Quit $E(Text,1,CharLoop) + +TrimBeginOfText(Text) + New CharLoop,Len + Set CharLoop=0 + Set Len=$L(Text) + For Quit:$I(CharLoop)>Len Quit:($ASCII($E(Text,CharLoop))>32) + Quit $E(Text,CharLoop,Len) + + // Name: EncryptHTTPParamStr, Author : Tom Rombaut, Function: een html parameterstring naar AES, BASE64 encrypteren +EncryptHTTPParamStr(ParamStr,AESKey) + Quit $TR($system.Encryption.Base64Encode($system.Encryption.AESEncode(ParamStr,AESKey)),"+="_$C(10,13),"_-") + + // Name: DecryptHTTPParamStr, Author: Tom Rombaut, Function: een html parameterstring, ge�crypteerd in AES, BASE64, decrypteren +DecryptHTTPParamStr(ParamStr,AESKey) + Quit $TR($system.Encryption.AESDecode($system.Encryption.Base64Decode($TR(ParamStr,"_-","+=")),AESKey),$C(0),"") + + // Name: GetStrAsBytes, Author: Tom Rombaut, Function: geef een string op en krijg het resultaat terug in bytes (gescheiden door spatie) +GetStrAsBytes(Str,BracketCtrlChars) + Set BracketCtrlChars=$G(BracketCtrlChars,1) + + New AsBytes,AsByte,Loop + Set AsBytes="" + For Loop=1:1:$L(Str) Do + . Set AsByte=$ASCII($E(Str,Loop)) + . Set:(BracketCtrlChars && (AsByte<32)) AsByte="("_AsByte_")" + . Set AsBytes=AsBytes_" "_AsByte + + Quit AsBytes + + // Name: AddToText, Author: Tom Rombaut, Function: +ConcatStringWithEmptyCheck(StrToAdd,varText,PrefixStrToAdd,SEP) + Set SEP=$G(SEP,"
    ") + Set:(StrToAdd'="") varText=$S($G(varText)="":"",1:varText_SEP)_$G(PrefixStrToAdd)_StrToAdd + Quit + + // Name: GetHumanFileSize, Author: Tom Rombaut, Function: vertaalt filesizes uitgedrukt in bytes naar B, KB en MB varianten +GetHumanFileSize(FileSize,Decimal) + Set FileSize=+FileSize + Quit:((FileSize=0) || (FileSize<1024)) FileSize_" bytes" + + Set Decimal=$G(Decimal,1) + Quit:(FileSize<1048576) $FNUMBER(FileSize/1024,".",Decimal)_" kB" + Quit:(FileSize<1073741824) $FNUMBER(FileSize/1048576,".",Decimal)_" MB" + Quit $FNUMBER(FileSize/1073741824,".",Decimal)_" GB" + + // Name: Pluralize, Author: Tom Rombaut +Pluralize(Str,Cnt,DefTags,CntStr) + Set DefTags=$G(DefTags,"[]") + New DefStart,DefStop,DefSep + Set DefStart=$E(DefTags) + Set DefStop=$E(DefTags,2) + Set DefSep="/" + + Set CntStr=$G(CntStr,"%v") + Set Cnt=+Cnt + + New Loop,StrLen,NewStr,InDef,InPlural,Char + Set Loop=1 + Set StrLen=$L(Str) + Set NewStr="" + Set InDef=0 + For Quit:(Loop>StrLen) Do + . Set Char=$E(Str,Loop) + . If 'InDef && (Char=DefStart) Set InDef=1, InPlural=0 + . Else If InDef && (Char=DefSep) Set InPlural=1 + . Else If InDef && (Char=DefStop) Set InDef=0, InPlural=0 + . Else If InDef Set:((Cnt'=1)=InPlural) NewStr=NewStr_Char + . Else Set NewStr=NewStr_Char + . Set Loop=Loop+1 + + Set NewStr=$$REPLACE^vhRtn1(NewStr,CntStr,Cnt) + + Quit NewStr + + // Name: IPIsVanHoecke, Author: Tom Rombaut +IPIsVanHoecke(IP) + Quit (IP="195.130.157.2") + // Name: IPIsIntern, Author: Tom Rombaut +IPIsIntern(IP) + Quit (IP?1"192.168.1."1.3N) + + // Name: GetStrCrossSection, Author: Tom Rombaut +GetStrCrossSection(Str1,Str2,Sep) + New StrR,Loop,Found,MaxPieces + Set MaxPieces=$L(Str2,Sep) + Set Found=0 + For Loop=1:1:MaxPieces Do Quit:(Found'=0) + . If $P(Str1,Sep,Loop)'=$P(Str2,Sep,Loop) Do + .. Set Found=Loop + + Set:('Found) Found=MaxPieces+1 + + Set StrR=$J($P(Str2,Sep,Found,MaxPieces),$L(Str2)) + + Quit StrR + + // Name: VersionIsNewer +VersionIsNewer(VersionToCheck,CurrentVersion) + New MaxLen,Loop,tmpNr,IsNewer,tmpVTC,tmpV + Set MaxLen=$L(VersionToCheck,".") + Set tmpNr=$L(CurrentVersion,".") + Set:(tmpNr>MaxLen) MaxLen=tmpNr + For Loop=1:1:MaxLen Do Quit:(tmpVTC'=tmpCV) + . Set tmpVTC=+$P(VersionToCheck,".",Loop) + . Set tmpCV=+$P(CurrentVersion,".",Loop) + Quit (tmpVTC>tmpCV) + + // Name: SendFileViaFTP +SendFileViaFTP(SourceFile, ServerName, DestDir, DestFileName, UserName, Password, Port, IsBinary) + Quit:('##class(%File).Exists(SourceFile)) $$$ERROR($$$FileDoesNotExist,SourceFile) + + ;Verzenden van bestand via FTP gebeurt adhv stream + New SourceStream,Status + Set SourceStream=##class(%FileBinaryStream).%New() + Set Status=SourceStream.LinkToFile(SourceFile) + Quit:($$$ISERR(Status)) Status + + ;verzenden! + Quit $$SendStreamViaFTP(.SourceStream, .ServerName, .DestDir, .DestFileName, .UserName, .Password, .Port, .IsBinary) + + // Name: SendStreamViaFTP +SendStreamViaFTP(SourceStream, ServerName, DestDir, DestFileName, UserName, Password, Port, IsBinary) + #Define FTPError $$$ERROR($$$GeneralError,FTPSession.ReturnMessage) + + ;Connect FTP + Set UserName=$G(UserName,"anonymous") + + New FTPSession + Set FTPSession=##class(%Net.FtpSession).%New() + Quit:('FTPSession.Connect(ServerName,UserName,$G(Password),.Port)) $$$FTPError + + ;Switch binary/ascii + Set IsBinary=$G(IsBinary,0) + + Set Status=$$$OK + If IsBinary Do + . Set:('FTPSession.Binary()) Status=$$$FTPError + Else Do + . Set:('FTPSession.Ascii()) Status=$$$FTPError + Quit:($$$ISERR(Status)) $$svfLogoutAndQuit(Status) + + ;FTP dir selecteren + Quit:('FTPSession.SetDirectory(DestDir)) $$svfLogoutAndQuit($$$FTPError) + + ;FTP send! + Quit:('FTPSession.Store(DestFileName,SourceStream)) $$svfLogoutAndQuit($$$FTPError) + + ;Logout + Quit:('FTPSession.Logout()) $$$FTPError + + Quit $$$OK + + ;----------------- +svfLogoutAndQuit(Status) + Do FTPSession.Logout() + Quit Status + + // Name: ClassMethod uitvoeren van een classmethod, Author: Paul Verhulst, Function: $zobjclassmethod kan niet geJOBbed worden maar via deze routine kan het wel +ClassMethod(ClassName,Method,NrOfParam,P1,P2,P3,P4,P5,P6,P7,P8) + Set NrOfParam=$G(NrOfParam) + If 'NrOfParam Do $zobjclassmethod(ClassName,Method) Quit + If NrOfParam=1 Do $zobjclassmethod(ClassName,Method,.P1) Quit + If NrOfParam=2 Do $zobjclassmethod(ClassName,Method,.P1,.P2) Quit + If NrOfParam=3 Do $zobjclassmethod(ClassName,Method,.P1,.P2,.P3) Quit + If NrOfParam=4 Do $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4) Quit + If NrOfParam=5 Do $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5) Quit + If NrOfParam=6 Do $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5,.P6) Quit + If NrOfParam=7 Do $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5,.P6,.P7) Quit + If NrOfParam=8 Do $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5,.P6,.P7,.P8) Quit + Quit + +ClassFunction(ClassName,Method,NrOfParam,P1,P2,P3,P4,P5,P6,P7,P8) + Set NrOfParam=$G(NrOfParam) + If 'NrOfParam Quit $zobjclassmethod(ClassName,Method) + If NrOfParam=1 Quit $zobjclassmethod(ClassName,Method,.P1) + If NrOfParam=2 Quit $zobjclassmethod(ClassName,Method,.P1,.P2) + If NrOfParam=3 Quit $zobjclassmethod(ClassName,Method,.P1,.P2,.P3) + If NrOfParam=4 Quit $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4) + If NrOfParam=5 Quit $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5) + If NrOfParam=6 Quit $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5,.P6) + If NrOfParam=7 Quit $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5,.P6,.P7) + If NrOfParam=8 Quit $zobjclassmethod(ClassName,Method,.P1,.P2,.P3,.P4,.P5,.P6,.P7,.P8) + Quit "" + +NewClass(ClassName) + Quit $SYSTEM.OBJ.New(ClassName) + ;Quit $zobjclassmethod(ClassName,"%New") + + + ;---------------------------------------------- +IsFeestDag(DollarH,OokVervangingsFeestdag) + Set DollarH = $G(DollarH) + Set OokVervangingsFeestdag = $G(OokVervangingsFeestdag) + Quit:'$L(DollarH) 0 + Quit $S(OokVervangingsFeestdag:$P($G(^KBA("VP",DollarH)),"\",1)["F",1:$P($G(^KBA("VP",DollarH)),"\",1)="F") + ;---------------------------------------------- + +ExcelNum(Value) + Set Result=$TR($G(Value),".",",") + Set:($E(Result,1)=",") Result = 0_Result + Quit Result + /* + Set Value=$G(Value) + Set Result=$TR(Value,".",",") + If $E(Result)="," Set Result = 0_Result + Quit Result + */ + + // Ophalen method description uit %Dictionary MethodDefinition +MethodDescription(ClassName,Method) + Set Result = "" + Set oMethod = ##class(%Dictionary.MethodDefinition).%OpenId(ClassName_"||"_Method) + Set:$IsObject(oMethod) Result = oMethod.Description + Quit Result \ No newline at end of file Index: Prod/GAMeta/BT/LadeCode.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/LadeCode.cls.xml (revision 0) +++ Prod/GAMeta/BT/LadeCode.cls.xml (revision 2) @@ -0,0 +1,240 @@ + + + +0 +0 +persistent +0 +0 +%Library.Persistent,Res.PI.Abstract +0 +0 + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 +array +0 +0 +0 +0 +0 + + + + +Beperkingen op Design. +%String + + + +0 +1 +1 +ItemID +0 + + + +0 +1 +generator + +ExtentSortExecute +0 +%Library.Status +0 + + + + +0 +1 +generator + +0 +%Library.Status +0 + + + + +0 +1 +generator + +ExtentSortExecute +0 +%Library.Status +0 + + + + + +Ophalen van de gesorteerde lijst van alle Items. +%Library.Query +0 +0 + + + + + +1 +generator + +ExtentSortExtraExecute +%Library.Status + + + + +1 +generator + +%Library.Status + + + + +1 +generator + +ExtentSortExtraExecute +%Library.Status + + + + + +Ophalen van de gesorteerde lijst van alle Items, behalve deze waarvan ID begint met ExceptID (bijvoorbeeld : "I" om alle Intrabox te skippen) +%Library.Query +ExceptID:%String="" + + + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;LACD") +LadeCombiDefaultData +^Res.PI.Items("PR;GA;LACD") +^Res.PI.Items("index","PR;GA;LACD") +^Res.PI.Items("stream","PR;GA;LACD") + +%%CLASSNAME +node +0 + + +listnode + +ItemID + + +Omschrijving + + +VolgNr + + +ImageURL + + +BeperkDesign + + + +TBKenm +subnode +"KM" + + +TaalOms +subnode +"TO" + + + + Index: zTryout/WV/TBXWeb/OrderChecker.cls.xml =================================================================== diff -u --- zTryout/WV/TBXWeb/OrderChecker.cls.xml (revision 0) +++ zTryout/WV/TBXWeb/OrderChecker.cls.xml (revision 2) @@ -0,0 +1,217 @@ + + + +vhLib.Macro,TECH.Error +1 +%RegisteredObject +0 + + + +Maximum aantal werkdagen dat een order niet verwerkt mag zijn. +M.a.w. indien groter dan MaxWerkdagenNietVerwerkt en nog niet geïmporteerd, dan vermelden in de mail. +1 + + + + +Oproepen via + Set sc=##class(zTryout.WV.TBXWeb.OrderChecker).MailNietVerwerkteOrdersTEST() w sc,! +1 +%Status + + + + +%Status + + + + + +TabelArray als .local doorgeeven +TabelArray:%String +1 +%Status + + + + + +TabelArray als .local doorgeeven + +1 +..#MaxDagenNietVerwerkt { + Set TabelArray($Increment(cntRows))=$$LCVTSimple^vhLib( $LB(TBXOrder.OrderNrGet(), TBXOrder.KLNummer, TBXOrder.KLNaam, " " , DagenNietVerwerkt, $$FormatDateTime^vhLib("dd-mm-yyyy hh:nn:ss",SubmitTS), "", TBXOrder.WebDomain) ,$$$TAB) + } + ;Write ID_" SubmittedOn "_$$FormatDateTime^vhLib("dd-mm-yyyy hh:nn:ss",SubmitTS)_" "_TBXOrder.WebDomain_" "_$S(DagenNietVerwerkt>..#MaxDagenNietVerwerkt:" DagenNietVerwerkt : "_DagenNietVerwerkt, 1:"")_$$$CRLF + } + + If cntRows>0 { + Set TabelArray(0)=$$LCVTSimple^vhLib( $LB("EDI nr.", "KlantNr", "KlantNaam", " ", "#Dagen", "Verzonden op", " ", "Domein"), $$$TAB) + } + Quit +]]> + + + +SubmittedDatum:%String,RefDatum:%String=$H +1 +%Integer + + + + +1 +%ListOfDataTypes + '2011-01-01') + AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) + ORDER BY SubmitTS, ID + + +SELECT SubmitTS, ID, BonType, TransferLog, $LIST($LIST(TransferLog,1),2) AS OffID, KLNummer, KLNaam, WebDomain + FROM WS_TBX.WebOrder + WHERE (WebDomain <> 'www.tandem-box.com') AND (NOT BonType in ('BBON','OFF')) + AND (SubmitTS > '2011-01-01') + AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) + ORDER BY WebDomain, SubmitTS, ID + + */ + + Set lbSQLParams = "" + Set SQLQuery = "SELECT ID FROM WS_TBX.WebOrder WHERE (WebDomain = 'www.tandem-box.com') AND (NOT BonType in ('OFF','OFFAV')) AND (SubmitTS > '2011-01-01') AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) ORDER BY SubmitTS, ID" + Set Lijst=..GeefLijstOrderIDs(SQLQuery,lbSQLParams) + + Set SQLQuery = "SELECT ID FROM WS_TBX.WebOrder WHERE (WebDomain <> 'www.tandem-box.com') AND (NOT BonType in ('BBON','OFF')) AND (SubmitTS > '2011-01-01') AND ((TransferLog is NULL) OR (not ($LIST($LIST(TransferLog,1),2) > 0))) ORDER BY WebDomain, SubmitTS, ID" + Set Lijst2=..GeefLijstOrderIDs(SQLQuery,lbSQLParams) + + Set Lijst=##Class(TECH.ListUtils).CopyList(Lijst2,Lijst) + + Quit Lijst +]]> + + + + +De SQLQuery moet een veld met naam "ID" in de SELECT statement bevatten +SQLQuery:%String,lbSQLParams:%List +1 +%ListOfDataTypes + + + + + Eenmalig uitgevoerd op 25/05/2011 op WWW01 - HADEV + +Oproepen via + Set sc=##class(zTryout.WV.TBXWeb.OrderChecker).FixSFSSubmitToVH() w sc,! ]]> +1 +%Status + + + + Index: TECH/Config/ConfigMgr.cls.xml =================================================================== diff -u --- TECH/Config/ConfigMgr.cls.xml (revision 0) +++ TECH/Config/ConfigMgr.cls.xml (revision 2) @@ -0,0 +1,181 @@ + + + + +De ConfigMgr beheert configuratie-waarden. +Het gebruikt ConfigItem instanties als data-bron. +Elk proces heeft zijn eigen ConfigMgr instantie. +Een proces kan zijn instantie resetten, bvb aan het begin van het verwerken van een SOAP call. +Een proces kan een config waarde tijdelijk wijzigen, zonder andere processen te impacteren. + +Dit kan uitgebreid worden met: +- controle op het type van de waarde +- wijziging van een waarde enkel in het huidige proces toepassen +- periodiciteit van waardes +- in sync houden van waardes over meerdere databanken +- Default waarde (per omgeving?) +- duurtijd waarop een applicatie een configuratie waarde mag cachen +... +vhLib.Macro,TECH.Error +1 +%RegisteredObject +0 + + +ConfigMgr + + + +ALLE + + + +1 +TECH.Config.ConfigMgr + + + + +Sleutel:%String +%Boolean + + + + + +Remark: DefaultWaarde is optioneel. +Sleutel:%String,DefaultWaarde:%String +%String + + + + + +Remark: DefaultWaarde is optioneel. +Sleutel:%String,DefaultWaarde:%Boolean +%Boolean + + + + + +Remark: Applicatie is optioneel. +Sleutel:%String,Waarde:%String,Applicatie:%String + + + + +Omgeving:%String="",Sleutel:%String + + + + +Sleutel:%String,Waarde:%Boolean,Applicatie:%String + + + + +Sleutel:%String + + + + + + + + Index: DW/WWW/ExcludedFiles.cls.xml =================================================================== diff -u --- DW/WWW/ExcludedFiles.cls.xml (revision 0) +++ DW/WWW/ExcludedFiles.cls.xml (revision 2) @@ -0,0 +1,43 @@ + + + +persistent +ExcludedFiles +%Persistent +0 + + + +Welke website +%Library.String + + + + +File of string to exclude +%Library.String + + + +%Library.CacheStorage +^DW.WWW.ExcludedFilesD +ExcludedFilesDefaultData +^DW.WWW.ExcludedFilesD +^DW.WWW.ExcludedFilesI +^DW.WWW.ExcludedFilesS + +listnode + + +%%CLASSNAME + + +ExcludeString + + +Website + + + + + Index: csp/tbx/mainorderdtl.cls.xml =================================================================== diff -u --- csp/tbx/mainorderdtl.cls.xml (revision 0) +++ csp/tbx/mainorderdtl.cls.xml (revision 2) @@ -0,0 +1,766 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean + " + Write "" + Write !,"" + Write ! + If '(($G(arUrl("HideOrder"))="")) Goto %csp00001 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_" "_(..WebTextValue("Order",Taal,"L"))_"",! + Write $c(9,9)_" ",! + Write $c(9)_"",! + Goto %csp00002 ;} +%csp00001 ;{ + Write $c(9,9),! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + Write "" + Write (..WebTextValue("Order",Taal,"L")),! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + Write "" + Write "" + Write "" + Write !,$c(9,9)_"",! + Write $c(9)_"",! +%csp00002 ;} + Write !,"" + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_" " + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9) + If '(($G(sMode)="PROCESS")) Goto %csp00003 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9) +%csp00003 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    " + Write "
    " + Write (..WebTextValue("Algemene gegevens",Taal,"L")) + Write "
    " + Write "
    " + Write "
    " + Write (..WebTextValue("KLNaam",Taal,"L"))_" :" + Write "
    " + Write "
    "_(WSOrd.KLNaam)_""_($G(arWSVTL("BonType")))_""_(..WebTextValue("Nummer_Kort",Taal,"L"))_" : "_(WSOrd.OrderNr)_"
    " + Write "
    " + Write (..WebTextValue("Commissie",Taal,"L"))_" :" + Write "
    " + Write "
    "_(WSOrd.Commissie)_"
    " + Write "
    " + Write (..WebTextValue("Levertijd",Taal,"L"))_" :" + Write "
    " + Write "
    "_(WSOrd.LeverTijd)_"
    " + Write "
    " + Write (..WebTextValue("Kleurkeuze",Taal,"L")) + Write "
    " + Write "
    ",! + Write $c(9,9,9,9,9,9) + Write "
    " + Write (..WebTextValue("Design",Taal,"L")_"/"_..WebTextValue("Ladezijden",Taal,"L"))_" :" + Write "
    " + Write !,!,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "
    " + Write ($G(arWSVTL("KLR_DS"))) + Write "
    " + Write !,!,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "
    " + Write ($TR(..WebTextValue("Bodem&Rug",Taal,"L")," ",""))_" :" + Write "
    " + Write !,$c(9,9,9,9,9,9) + If '((dcID'="I")) Goto %csp00004 ;{ + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write ($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue("Relingen",Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9,9,9,9,9) +%csp00004 ;} + Write !,$c(9,9,9,9,9,9) + If '((dcID'="A")) Goto %csp00005 ;{ + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write ($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue($S(0:"VerhoogdeZijwand",1:"VullingGlas_"_dcID),Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9,9,9,9,9) +%csp00005 ;} + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "
    " + Write ($G(arWSVTL("KLR_KB"))) + Write "
    " + Write !,$c(9,9,9,9,9,9) + If '((dcID'="I")) Goto %csp00006 ;{ + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write ($G(arWSVTL("KLR_RK"))) + Write "
    " + Write !,$c(9,9,9,9,9,9) +%csp00006 ;} + Write !,$c(9,9,9,9,9,9) + If '((dcID'="A")) Goto %csp00007 ;{ + Write !,$c(9,9,9,9,9,9) + Write "
    " + Write ($G(arWSVTL("KLR_KV"))) + Write "
    " + Write !,$c(9,9,9,9,9,9) +%csp00007 ;} + Write !,$c(9,9,9,9,9)_"
    " + Write "
    " + Write (..WebTextValue("Maten",Taal,"L")) + Write "
    " + Write "
     
    "_$c(9),! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) + If '($G(blnShowAKPrijs)) Goto %csp00008 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9) + Goto %csp00009 ;} +%csp00008 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9) +%csp00009 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + #define RightSet00(%v) $TR("BA","AB",$Reverse(%v)_"00") + Set RowCnt=0 + Set lnI="" + Kill tmpArLN + Merge tmpArLN=arWSVTL("LN") + Write !,$c(9,9,9) +%csp00011 If '(..LoopArray(.tmpArLN,.lnI)) Goto %csp00010 ;{ + Write !,$c(9,9,9,9) + Set RowCnt=RowCnt+1 + Set i=lnI + Set RowStyle=$S((RowCnt#2):"clsMRowEven", 1:"clsMRowOdd")_$S($O(tmpArLN(lnI))="":" clsMRowLastX", 1:"") + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9)_" ",! + Write $c(9,9,9) + Goto %csp00011 +%csp00010 ;} + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9) + If '(($L($G(arWSVTL("NietMee"))))) Goto %csp00012 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) + Goto %csp00013 ;} +%csp00012 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00013 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    "_(arVTL("TH","LT") )_""_(arVTL("TH","CB") )_""_(arVTL("TH","WD") )_""_(arVTL("TH","LD") )_""_(arVTL("TH","DK") )_""_(arVTL("TH","FB") )_""_(arVTL("TH","BX") )_""_(arVTL("TH","DIV"))_""_(arVTL("TH","Aant"))_" " + Write "" + Write (..WebTextValue("PrijsAKPrefix",Taal,"L")) + Write "" + Write " "_(..WebTextValue("PrijsPerStukTH",Taal,"L"))_""_(..WebTextValue($S(WSOrd.TotPrijs>0:"PrijsPerStukTH", 1:"InfoTH"),Taal,"L"))_"
    "_(arWSVTL("LN",i,"LT"))_""_(arWSVTL("LN",i,"CB"))_""_(arWSVTL("LN",i,"WD"))_""_(arWSVTL("LN",i,"LD"))_""_(arWSVTL("LN",i,"DK"))_""_(arWSVTL("LN",i,"FB"))_""_(arWSVTL("LN",i,"BX"))_""_(arWSVTL("LN",i,"DIV"))_""_(arWSVTL("LN",i,"AANT"))_" "_(arWSVTL("LN",i,"PRIJS"))_"
    ",! + Write $c(9,9,9,9,9,9)_"

    "_(..WebTextValue("NietMeeleveren",Taal,"L"))_": "_($G(arWSVTL("NietMee")))_"

    ",! + Write $c(9,9,9,9,9)_"
    " + Write "" + Write "
     "_(..WebTextValue("PrijsTotaal",Taal,"L"))_":"_(WSOrd.TotAantal)_" "_($S($G(arWSVTL("TotPrijs"))="":" ",1:arWSVTL("TotPrijs")))_"
    ",! + Write $c(9,9,9) + If '(0 && $G(blnShowAKPrijs)) Goto %csp00014 ;{ + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9) + Write "" + Write (..WebTextValue("Aankoopprijzen",Taal,"L")) + Write "" + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9) +%csp00014 ;} + Write !,$c(9,9,9) + If '($G(arShow("WSErrorsInfo","INFO"))) Goto %csp00015 ;{ + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9) + Write "" + Write "" + Write "" + Write ($G(arShow("WSErrorsInfo","TEXT"))),! + Write $c(9,9,9,9,9) + Write "" + Write (..WebTextValue("MeerInfo",Taal,"L")) + Write "" + Write " ...",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9) +%csp00015 ;} + Write !,$c(9,9,9) + If '($G(arShow("VervaldagOFF","INFO"))) Goto %csp00016 ;{ + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9)_($G(arShow("VervaldagOFF","TEXT"))),! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9) +%csp00016 ;} + Write !,$c(9,9,9) + If '($G(arShow("BrutoPrijsHein","INFO"))) Goto %csp00017 ;{ + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9)_"Die Bruttopreise verstehen sich ab Werk, zuzüglich der gesetzlichen Mehrwertsteuer.",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9) +%csp00017 ;} + Write !,$c(9,9,9) + If '($G(arShow("NotRegUserInfo","INFO"))) Goto %csp00018 ;{ + Write !,$c(9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9)_(..WebTextValue("NotRegUserInfo",Taal,"O")),! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9) +%csp00018 ;} + Write !,$c(9,9),! + Write $c(9,9,9) + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9),! + Write $c(9,9,9) + If '($G(arShow("RecalcOrder","BTN"))) Goto %csp00019 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00019 ;} + Write !,$c(9,9,9),! + Write $c(9,9,9) + If '($G(arShow("Submit","BTN"))||$G(arShow("SubmitToVHEPN","BTN"))) Goto %csp00020 ;{ + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9) +%csp00020 ;} + Write !,$c(9,9,9) + If '($G(arShow("Submit","BTN"))) Goto %csp00021 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00021 ;} + Write !,$c(9,9,9) + If '($G(arShow("SubmitAgain","BTN"))) Goto %csp00024 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00024 ;} + Write !,$c(9,9,9) + If '($G(arShow("PrintPage","BTN"))) Goto %csp00025 ;{ + Write !,$c(9,9,9,9) + If '((TextPos="LEFT")) Goto %csp00026 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_""_$c(9),! + Write $c(9,9,9,9) +%csp00026 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9) + If '((TextPos="LEFT")||($G(arShow("PrintPage","HREF"))="")) Goto %csp00029 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9) + Goto %csp00030 ;} +%csp00029 ;{ + Write $c(9,9),! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9) +%csp00030 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9) + Goto %csp00032 ;} +%csp00025 If '($G(arShow("ExportXML","BTN"))) Goto %csp00033 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00032 ;} +%csp00033 + Write !,$c(9,9,9) + If '($G(arShow("SwitchViewMode","BTN"))) Goto %csp00034 ;{ + Write !,$c(9,9,9,9) + If '((TextPos="LEFT")) Goto %csp00035 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_""_$c(9),! + Write $c(9,9,9,9) +%csp00035 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) + Goto %csp00037 ;} +%csp00036 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) +%csp00037 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00034 ;} + Write !,$c(9,9,9) + If '($G(arShow("BookmarkPage","BTN"))&&(%request.UserAgent["MSIE")) Goto %csp00038 ;{ + Write !,$c(9,9,9,9) + If '((TextPos="LEFT")) Goto %csp00039 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_""_$c(9),! + Write $c(9,9,9,9) +%csp00039 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) + If '((TextPos="RIGHT")) Goto %csp00040 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) + Goto %csp00041 ;} +%csp00040 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) +%csp00041 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00038 ;} + Write !,$c(9,9,9) + Write !,$c(9,9,9) + If '(((%request.UserAgent["MSIE")=0)&&($G(arShow("BookmarkPage","BTN")))&&(TextPos="LEFT")) Goto %csp00042 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_""_$c(9),! + Write $c(9,9,9) +%csp00042 ;} + Write !,$c(9,9),! + Write $c(9,9,9) + If '($G(arShow("SubmitToVHEPN","BTN"))) Goto %csp00043 ;{ + Write !,$c(9,9,9,9,9) + If '($G(arShow("SubmitToVHEPNAgain","INFO"))="") Goto %csp00044 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9) + Goto %csp00045 ;} +%csp00044 ;{ + Write !,$c(9,9,9,9,9) + Write "" + Write $c(9,9,9,9,9),! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9) +%csp00045 ;} + Write !,$c(9,9,9) +%csp00043 ;} + Write !,!,!,!,$c(9,9,9) + If '(($G(arShow("SubmitAdmin","BTN")))) Goto %csp00046 ;{ + Write !,$c(9,9) + If '(($G(arShow("SubmitAdminAgain","INFO"))="")) Goto %csp00047 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9) + If '((($G(arShow("ChangeBulk","BTN")))&&($G(arShow("ChangeBulk","EXPAND"))'=1))) Goto %csp00048 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) + Goto %csp00049 ;} +%csp00048 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) +%csp00049 ;} + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9) +%csp00047 ;} + Write !,$c(9,9) + If '(($L($G(arShow("SubmitAdminAgain","INFO"))))) Goto %csp00050 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9) +%csp00050 ;} + Write !,$c(9,9) + If '(($G(arShow("ChangeBulk","BTN"))=1)) Goto %csp00051 ;{ + Write !,$c(9,9,9,9) + Set WzgBulkValue=$S($G(arShow("ChangeBulk","EXPAND"))=1:$LG(lbBulkConfig,1), 1:"O") + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9) +%csp00051 ;} + Write !,$c(9,9,9) +%csp00046 ;} + Write !,$c(9,9,9),! + Write !,$c(9,9,9),! + Write !,$c(9,9,9) + If '($G(arShow("CalcOrder","BTN"))) Goto %csp00053 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00053 ;} + Write !,$c(9,9,9) + If '($G(arShow("ModifyOrder","BTN"))) Goto %csp00054 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00054 ;} + Write !,!,$c(9,9,9) + If '(0 && $G(arShow("NewFromOrder","BTN"))) Goto %csp00055 ;{ + Write !,$c(9,9,9,9) + Write "" + Write " ",! + Write $c(9,9,9) +%csp00055 ;} + Write !,!,!,$c(9,9,9)_"
     ",! + Write $c(9,9,9,9,9,9) + Write "" + Write "" + Write ""_(..WebTextValue("BtnRecalcOrder",Taal,"L"))_"" + Write "" + Write "" + Write !,$c(9,9,9,9,9)_" : "_(..WebTextValue($S((RedenVervallen="NieuweActie"):"Actie_SFS_GRATIS_KORPUSSCHIENEN_2011_NieuweActie", (RedenVervallen="ActieVervallen"):"Actie_SFS_GRATIS_KORPUSSCHIENEN_2011_ActieVervallen", 1:"VervallenRecalc"),Taal,"L"))_"
     ",! + Write $c(9,9,9,9,9,9) + If '($L($G(arShow("Submit","HREF")))) Goto %csp00022 ;{ + Write !,$c(9,9,9,9,9,9,9) + Set jsSubmitAction="javascript:ShowMailWin();" + If (blnSFS||blnMBHO)&&($G(blnWSErrors,0)) Set jsSubmitAction="javascript:alert("_$$$QuoteJS($G(arShow("WSErrorsInfo","TEXT"),"ERROR: see above."))_");" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "" + Write ""_($G(arShow("Submit","TEXT"),"Verzenden"))_"" + Write "" + Write "" + Write !,$c(9,9,9,9,9,9) + Goto %csp00023 ;} +%csp00022 ;{ + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write ""_($G(arShow("Submit","TEXT"),"Verzenden"))_"" + Write "" + Write !,$c(9,9,9,9,9,9) +%csp00023 ;} + Write !,$c(9,9,9,9,9)_""_($S($L($G(arShow("Submit","INFO"))):" : "_$G(arShow("Submit","INFO")), 1:""))_"
    ",! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_($G(arShow("SubmitAgain","INFO")))_" " + Write !,$c(9,9,9,9,9)_"
    "_(..WebTextValue("AfdrukVersieInfo",Taal,"L",$LB("F")))_"
     ",! + Write $c(9,9,9,9,9,9) + If '($L($G(arShow("PrintPage","HREF")))) Goto %csp00027 ;{ + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "" + Write ""_(..WebTextValue("Afdrukbare versie",Taal,"L"))_"" + Write "" + Write "" + Write !,$c(9,9,9,9,9,9) + Goto %csp00028 ;} +%csp00027 ;{ + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write ""_(..WebTextValue("Afdrukbare versie",Taal,"L"))_"" + Write "" + Write !,$c(9,9,9,9,9,9) +%csp00028 ;} + Write !,$c(9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9,9) + Write "" + Write " : "_(..WebTextValue("AfdrukVersieInfo",Taal,"L"))_"." + Write "" + Write !,$c(9,9,9,9,9,9) + If '($G(arShow("ExportXML","BTN"))) Goto %csp00031 ;{ + Write !,$c(9,9,9,9,9,9)_"
       « " + Write "" + Write (..WebTextValue("ToonXML",Taal,"L")) + Write "" + Write " »",! + Write $c(9,9,9,9,9,9)_"    « " + Write "" + Write (..WebTextValue("PrintEnSluit",Taal,"L")) + Write "" + Write " »",! + Write $c(9,9,9,9,9,9) +%csp00031 ;} + Write !,$c(9,9,9,9,9)_"
     ",! + Write $c(9,9,9,9,9,9) + Write "" + Write "" + Write ""_(..WebTextValue("ToonXML",Taal,"L"))_"" + Write "" + Write "" + Write !,$c(9,9,9,9,9)_" 
    "_(..WebTextValue("SwitchViewMode",Taal,"O",$LB("F")))_"
     " + Write "" + Write "" + Write ""_(..WebTextValue($S(1:"BtnShowVKPrijs",1:"BtnSwitchViewMode"),Taal,"L"))_"" + Write "" + Write "" + Write !,$c(9,9,9,9,9) + If '((TextPos="RIGHT")) Goto %csp00036 ;{ + Write !,$c(9,9,9,9,9)_" : "_(..WebTextValue("SwitchViewMode",Taal,"O"))_" 
    "_(..WebTextValue("BookmarkPage",Taal,"O",$LB("F")))_"
     " + Write "" + Write ""_(..WebTextValue("BookmarkPage",Taal,"L"))_"" + Write "" + Write " : "_($P(..WebTextValue("BookmarkPage",Taal,"O"),",",1))_" 
    "_(..WebTextValue("BookmarkPage",Taal,"O",$LB("F")))_" (Ctrl-D)
     ",! + Write $c(9,9,9,9,9,9) + Write "" + Write "" + Write ""_($G(arShow("SubmitToVHEPN","TEXT"),"Verzenden"))_"" + Write "" + Write "" + Write !,$c(9,9,9,9,9)_""_($S($L($G(arShow("SubmitToVHEPN","INFO"))):" : "_arShow("SubmitToVHEPN","INFO"), 1:""))_"
      ",! + Write $c(9,9,9,9,9,9)_" : "_(..WebTextValue("VerzondenToVH",Taal,"L"))_"  ",! + Write $c(9,9,9,9,9,9)_"« " + Write "" + Write ($$$LCase(..WebTextValue("VerzendenOpnieuw",Taal,"L"))) + Write "" + Write " »
    ",! + Write $c(9,9,9,9,9,9)_"   "_(arShow("SubmitToVHEPNAgain","INFO")),! + Write $c(9,9,9,9,9)_"
    " + Write "
    " + Write "" + Write "+" + Write "" + Write "  " + Write "
    " + Write "
     ",! + Write $c(9,9,9,9,9,9) + Write "" + Write "" + Write ""_(..WebTextValue("BtnSubmitAdmin",Taal,"L"))_"" + Write "" + Write "" + Write !,$c(9,9,9,9,9)_" : de bestelling naar ADMIN verzenden (verdere verwerking noodzakelijk)
      ",! + Write $c(9,9,9,9,9,9)_" : deze bestelling is naar ADMIN verzonden !  ",! + Write $c(9,9,9,9,9,9)_"« " + Write "" + Write (..WebTextValue("BtnSubmitAdmin",Taal,"L")) + Write "" + Write " »
    ",! + Write $c(9,9,9,9,9,9)_"   "_(arShow("SubmitAdminAgain","INFO"))_" ",! + Write $c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9)_"   --> wijzig verpakking: " + Write "" + Write "bulk ("_(WzgBulkValue)_")" + Write "" + Write !,$c(9,9,9,9,9,9) + If '(((KLNr?1(1"X999_1385")))) Goto %csp00052 ;{ + Write " / " + Write "" + Write "bulk MET ("_("O")_")" + Write "" +%csp00052 ;} + Write !,$c(9,9,9,9,9,9)_" / " + Write "" + Write "per stuk" + Write "" + Write !,!,$c(9,9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9)_"
     " + Write "" + Write "" + Write ""_(..WebTextValue("BtnCalcOrder",Taal,"L"))_"" + Write "" + Write "" + Write " : de prijzen berekenen via de web-wizard
     " + Write "" + Write "" + Write ""_(..WebTextValue("BtnModifyOrder",Taal,"L"))_"" + Write "" + Write "" + Write " : "_(..WebTextValue("ModifyOrder",Taal,"O"))_"
    ",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "" +]]>
    +
    + + +c:\cachesys\csp\vhisie\TBX\MainOrderDtl.csp + + + +/vhisie/TBX/MainOrderDtl.csp + + + +62199,56754 + +
    +
    Index: MakovaDrawTextCnts.inc.rou =================================================================== diff -u --- MakovaDrawTextCnts.inc.rou (revision 0) +++ MakovaDrawTextCnts.inc.rou (revision 2) @@ -0,0 +1,92 @@ + ; Top-justifies text (single line only). + #define DTTOP $ZHEX("0H") + #define bDTTOP 0 + + ; Aligns text to the left. + #define DTLEFT $ZHEX("0H") + #define bDTLEFT 0 + + ; Centers text horizontally in the rectangle. + #define DTCENTER $ZHEX("1H") + #define bDTCENTER 1 + + ; Aligns text to the right. + #define DTRIGHT $ZHEX("2H") + #define bDTRIGHT 2 + + ; Centers text vertically (single line only). + #define DTVCENTER $ZHEX("4H") + #define bDTVCENTER 3 + + ; Justifies the text to the bottom of the rectangle. This value must be combined with DT_SINGLELINE. + #define DTBOTTOM $ZHEX("8H") + #define bDTBOTTOM 4 + + ; Breaks words. Lines are automatically broken between words if a word would extend + ;past the edge of the rectangle specified by the lpRect parameter. A carriage return-linefeed + ;sequence also breaks the line. + #define DTWORDBREAK $ZHEX("10H") + #define bDTWORDBREAK 5 + + ; Displays text on a single line only. Carriage returns and linefeeds do not break the line. + #define DTSINGLELINE $ZHEX("20H") + #define bDTSINGLELINE 6 + + ; Expands tab characters. The default number of characters per tab is eight. + #define DTEXPANDTABS $ZHEX("40H") + #define bDTEXPANDTABS 7 + + ; Sets tab stops. Bits 15-8 (high-order byte of the low-order word) of the uFormat + ;parameter specify the number of characters for each tab. The default number of + ;characters per tab is eight. + #define DTTABSTOP $ZHEX("80H") + #define bDTTABSTOP 8 + + ; Draws without clipping. DrawText is somewhat faster when DT_NOCLIP is used. + #define DTNOCLIP $ZHEX("100H") + #define bDTNOCLIP 9 + + ; Includes the font external leading in line height. Normally, external leading + ;is not included in the height of a line of text. + #define DTEXTERNALLEADING $ZHEX("200H") + #define bDTEXTERNALLEADING 10 + + ; Determines the width and height of the rectangle. If there are multiple lines + ;of text, DrawText uses the width of the rectangle pointed to by the lpRect + ;parameter and extends the base of the rectangle to bound the last line of text. + ;If there is only one line of text, DrawText modifies the right side of the + ;rectangle so that it bounds the last character in the line. In either case, + ;DrawText returns the height of the formatted text but does not draw the text. + #define DTCALCRECT $ZHEX("400H") + #define bDTCALCRECT 11 + + ; Turns off processing of prefix characters. Normally, DrawText interprets + ;the mnemonic-prefix character & as a directive to underscore the character + ;that follows, and the mnemonic-prefix characters && as a directive to print + ;a single &. By specifying DT_NOPREFIX, this processing is turned off. + #define DTNOPREFIX $ZHEX("800H") + #define bDTNOPREFIX 12 + + ; Duplicates the text-displaying characteristics of a multiline edit control. + ;Specifically, the average character width is calculated in the same manner as + ;for an edit control, and the function does not display a partially visible last line. + #define DTEDITCONTROL $ZHEX("2000H") + #define bDTEDITCONTROL 14 + + ; Replaces part of the given string with ellipses, if necessary, so that the + ;result fits in the specified rectangle. The given string is not modified unless + ;the DT_MODIFYSTRING flag is specified. You can specify DT_END_ELLIPSIS to replace + ;characters at the end of the string, or DT_PATH_ELLIPSIS to replace characters in + ;the middle of the string. If the string contains backslash (\) characters, + ;DT_PATH_ELLIPSIS preserves as much as possible of the text after the last backslash. + #define DTPATHELLIPSIS $ZHEX("4000H") + #define bDTPATHELLIPSIS 15 + #define DTENDELLIPSIS $ZHEX("8000H") + #define bDTENDELLIPSIS 16 + + ; Modifies the given string to match the displayed text. This flag has no + ;effect unless the DT_END_ELLIPSIS or DT_PATH_ELLIPSIS flag is specified. + #define DTMODIFYSTRING $ZHEX("10000H") + #define bDTMODIFYSTRING 17 + + #define StdDrawFlags $$$DTNOPREFIX+$$$DTLEFT+$$$DTVCENTER+$$$DTSINGLELINE \ No newline at end of file Index: WV.mac.rou =================================================================== diff -u --- WV.mac.rou (revision 0) +++ WV.mac.rou (revision 2) @@ -0,0 +1,1144 @@ +HELP +Help +help + + w "ALFAEDIT() : Testroutine ter vervanging van het ALPHA-EDIT programma (conversie .ANC --> .PPG)"_$C(13,10) + W "CLEARTLOG() : Leegmaken van de ""T""-subnode in ^HADPR"_$C(13,10) + w "DEBUG() : (GlobalN,HoofdNode,SubNode,Waarde,UseCounter)"_$C(13,10) + w " : --> Schrijft Waarde in de opgegeven ^GlobalN(Nodes). UseCounter=1 schrijft op SubNode ^GlobalN(Nodes,LastSN+1)"_$C(13,10) + W "FREES() : Test voor het leggen van profielen"_$C(13,10) + W "MODPROD() : Modify Producten via KlantNr; ProductNrs en KADID's worden uit ^KTO en ^HADPR gehaald "_$C(13,10) + W "ROTATE(X,Y1,Y2) : roteert de co�rdinaten van een horizontale lijn naar een verticale (rotatie om het middelpunt). Geeft tevens de VML-code"_$C(13,10) + W "TESTLEFT() : Vergelijkende test tussen 2 methodes om het 1ste character te verwijderen : $E(txt,1)="""" - txt=$E(txt,2,99999) "_$C(13,10) + W "WFILE() : Test voor cre�ren van een bestand op een netwerkmap"_$C(13,10) + Quit + + // ========================================================================================================================================== + + +#include %cspBuild +#include %VHMacro +#include %occInclude + + + /* * / +TestRQ + Set:('$D(%ClientIP)) %ClientIP="192.168.1.97" + New fopReq,sc + Set:('$G(%blFOPDocBase)) %blFOPDocBase=$System.OBJ.New("BL.FOP.DocBase.TestWS") + Set fopReq=%blFOPDocBase.NewFopRequest() + Set fopReq.data = "" + Set fopReq.dataRef = "" ; "c:\Program Files\Assentis\DocBase\Data\resources\processes\TestDocBase\TestDocBase_vh2.xml" + Set fopReq.perfTrace = 0 ; "false" + Set fopReq.process = "RenderAndDistributeVH" + Set fopReq.stage = "DEV" + ;Set fopReq.taskProps = "" + Set fopReq.traceLevel = 6 + d %blFOPDocBase.AddToTaskPropt(fopReq.taskProps,"Test","TestVal") + Set:(fopReq.data="") fopReq.data=" " + Set:(fopReq.dataRef="") fopReq.dataRef=" " + d $System.OBJ.Dump(fopReq) + d WL^vhDBG("Dump fopReq "_fopReq_$$$CRLF_$$ObjToText^vhLib(fopReq)) + Set sc=fopReq.%Save() + If $$$ISERR(sc) Do + . w "SaveResult: "_$$ParseStatus^vhLib(sc) + Else Do + . w "Save OK",! + Quit + +OpenRQ(ReqID) + Set:('$D(%ClientIP)) %ClientIP="192.168.1.97" +#define WSRequestInfo WS.FOP.WSRequestInfo + New fopReq,sc + Set fopReq=##class($$$WSRequestInfo).%OpenId($G(ReqID,18)) + d WL^vhDBG("Dump fopReq "_fopReq_$$$CRLF_$$ObjToText^vhLib(fopReq)) + New aval,val + Set aval=fopReq.taskProps + d WL^vhDBG(aval_" CountTaskProps:"_aval.Count()) ; _$C(13,10)_$$ObjToText^vhLib(aval)) + set val=aval.GetNext("") + d WL^vhDBG(val) + Set sc="" + If $$$ISERR(sc) Do + . w "SaveResult: "_$$ParseStatus^vhLib(sc) + Else Do + . w "Save OK",! + Quit + /* */ + + +StartDebug() + New k,x,y + w "Attach Studio to process "_$J_" and press to continue ... " + r k,! + w !,"First line in Debug mode",! + w "Key again ... " + r k,! + w !,"Second line in Debug mode",! + s y=x + q + + +Rtn0() +#define ResourceName "TestWVEvents" + New Param,JobID1,Key,Rslt + Do WLIP^vhDBG(97,"Begin of Rtn0. $Job="_$J) + Set Param="" + Do WL^vhDBG("Starting Rtn1 via JOB") + Job Rtn1^WV(Param) + Set JobID1=$ZCHILD + Do WL^vhDBG("Started Rtn1 (via JOB) --> JobID1:"_JobID1) + + Do:(0) + . Quit:(JobID1=0) + . w !,"Press any key ... " + . r Key,! + . Write !,"continu Rnt0" + . Do WL^vhDBG("Send signal to Job 1") + . Set Rslt=$SYSTEM.Event.Signal(JobID1) + . Do WL^vhDBG("signal sent (to Job 1) --> Result:"_Rslt) + Do:(1) + . w !,"Press any key ... " + . r Key,! + . Write !,"continu Rnt0" + . If '$SYSTEM.Event.Defined($$$ResourceName) Do Quit + .. Do WL^vhDBG("Resource "_$$$ResourceName_" does not exist. No need to signal!") + . Do WL^vhDBG("Send signal to Job 2") + . Set Rslt=$SYSTEM.Event.Signal($$$ResourceName) + . Do WL^vhDBG("signal sent (to Job 2) --> Result:"_Rslt) + Do WL^vhDBG("End of Rtn0") + Quit +Rtn1(Param) + New ParentJob,JobID2,Rslt + Do WLIP^vhDBG(97,"Begin of Rtn1. $Job="_$J) + Set ParentJob=$ZPARENT + Do:(ParentJob>0) WL^vhDBG("Rnt1 started by process "_ParentJob) + /* */ + Do WL^vhDBG("Starting Rtn2 via JOB") + Job Rtn2^WV(Param) + Set JobID2=$ZCHILD + Do WL^vhDBG("Started Rtn2 (via JOB) --> JobID2:"_JobID2) + /* */ + Do WL^vhDBG("Rtn1 Waiting for Event") + Set Rslt=$SYSTEM.Event.Wait("",3) + Do WL^vhDBG("Rtn1 after Wait --> Result:"_Rslt) + Hang 3 + Do WL^vhDBG("End of Rtn1") + Quit + +Rtn2(Param) + New ParentJob,JobID1,Rslt + Do WLIP^vhDBG(97,"Begin of Rtn2. $Job="_$J) + Set ParentJob=$ZPARENT + Do:(ParentJob>0) WL^vhDBG("Rnt2 started by process "_ParentJob) + Set Rslt=$SYSTEM.Event.Create($$$ResourceName) + Do WL^vhDBG("Rtn2 created Resource --> Result:"_Rslt) + Do WL^vhDBG("Rtn2 Waiting for Event") + Set Rslt=$SYSTEM.Event.Wait($$$ResourceName,10) + Do WL^vhDBG("Rtn2 after Wait --> Result:"_Rslt) + Hang 5 + Set Rslt=$SYSTEM.Event.Delete($$$ResourceName) + Do WL^vhDBG("Rtn2 deleted Resource --> Result:"_Rslt) + Set JobID1=ParentJob + Do WL^vhDBG("Send signal to Job 1") + Set Rslt=$SYSTEM.Event.Signal(JobID1) + Do WL^vhDBG("signal sent (to Job 1) --> Result:"_Rslt) + Do WL^vhDBG("End of Rtn2") + Quit + +GGDP + Do GetGADataProd^Prod.GAData.Product.tmpDev(.arPR) + Quit +CGDP + Do CountGADataParams^Prod.GAData.Product.tmpDev() + Quit + + + /* +OLKenmXtd + New GroepID,Kenm,lstWaarde,ArPR,PRNr,Param,sc,arLU + Set GroepID="OL" + Set Kenm="HoofdGroep" + Do okmBuildLookup + Do ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,"ArPR") ; Array opbouwen van alle producten + Set PRNr="" + For Set PRNr=$O(ArPR(PRNr)) Quit:(PRNr="") Do + . ;q:(PRNr'=107823) + . Set sc=##class(Prod.Kenmerk.DataDefinitie).%DeleteId(PRNr_"||"_GroepID_"||"_Kenm) + . Set ProdType=$$okmGetProdType(PRNr) + . Set lstWaarde=$G(arLU(ProdType)) + . If lstWaarde="" Do Quit + . . w PRNr_" WAARDE IS LEEG !!!",! + . Set Param=GroepID_"\"_Kenm_"\"_PRNr_"\"_lstWaarde + . Set sc=##class(Prod.Kenmerk.DataDefinitie).NewObjectViaList(Param) + . w PRNr_" "_$S(sc=1:lstWaarde,1 :sc),! + Quit +okmBuildLookup + New i,PT,tmpAr,tmpLB + Set tmpAr("HG_Laden")=$LB("Bestek & werkbestek","Messen & werkbestek","Kruiden","Folie","Deegrol","Verwarmer","Weegschaal","Combi-laden") + Set tmpAr("HG_VLaden")=$LB("BOXSIDE","Koken","ORGALUX-tray","Voorraad","Brood","Flessen","Combi-voorraadladen","Borden","Afval") + Set tmpAr("HG_Laden;HG_VLaden")=$LB("Antislipmatten","Nuttige producten") + Set PT="" + For Set PT=$O(tmpAr(PT)) Quit:(PT="") Do + . Set tmpLB=tmpAr(PT) + . For i=1:1:$LL(tmpLB) Set:($L($LG(tmpLB,i))) arLU($LI(tmpLB,i))=PT + Quit +okmGetProdType(PRNr) + ; Ophalen van de Interne Waarde van de "Sleutel" + Set DataID=PRNr_"||"_GroepID_"||ProductType" + &sql(SELECT Waarden INTO :lbWaarden FROM Prod_Kenmerk.DataDefinitie WHERE (ID=:DataID)) + Quit $LG(lbWaarden,1) + */ + + +TM(cls,mth) +#define IsClassMethod(%cls,%mth) $$$METHclassmethod($$$MGINFO,%cls,%mth) +#define IsMethod(%cls,%mth) ($$$METHid($$$MGINFO,%cls,%mth)>0) +#define IsWebMethod(%cls,%mth) $$$METHwebmethod($$$MGINFO,%cls,%mth) + w $$$IsClassMethod(cls,mth)_" mth:"_$$$IsMethod(cls,mth)_" Web mth:"_$$$IsWebMethod(cls,mth) + Quit + + +MultiParam(Args...) + w "Via ...: $D()="_$D(Args), ! , $$$ArrayTT("Args"),!,! + Do MultiParamViaArray(.Args) + Quit +MultiParamViaArray(arArgs) + w "Via Array: $D()="_$D(arArgs), !, $$$ArrayTT("arArgs"),! + Quit + + + + /// CSP-RULE : verwerken van de Child-tags +RenderElement(el) + Quit:('$G(el)) + ;d WL^vhDBG("Tag="_el.TagName) + New sc,i + Set sc=el.RenderStartTag() + If sc=$$$PROCESSCHILDREN Do + . For i=1:1:el.Children.Count() Do RenderElement(el.Children.GetAt(i)) + Set sc=el.RenderEndTag() + Quit + + +ImportOLType(PRNr,pdlLTs,pldLTdef) + Quit:($G(PRNr)="") "" + Quit:('$IsValidNum(PRNr)) "PRNr expected numeric." + Set %ClientIP="192.168.1.97" + ;d WL^vhDBG("test:"_$G(PRNr)) + New GroepID,Kenmerk,lstWaarde,i,Param + Set GroepID="OL" + Set Kenmerk="LadeType" + // N_ZR;M_ZR;B_ER;D_ER;D_DR;D_BD;D_BC;D_BZ;K_ZR;C_ER;MZ_ZR;BZ_ER;DZ_ER;DZ_DR;DZ_BD;DZ_BC;DZ_BZ;KZ_ZR;CZ_ER + + Set lstWaarde="" + For i=1:1:$L(pldLTdef,";") Do:($P(pdlLTs,";",i)'="") + . Set lstWaarde=lstWaarde_";"_$P(pldLTdef,";",i) + Set:($E(lstWaarde,1)=";") $E(lstWaarde,1)="" + d WL^vhDBG("test:"_$G(PRNr)) ; _" lstW:"_lstWaarde) + Set Param=GroepID_"\"_Kenmerk_"\"_PRNr_"\"_lstWaarde + Set DDefID=PRNr_"||"_GroepID_"||"_Kenmerk + Do ##class(Prod.Kenmerk.DataDefinitie).%DeleteId(DDefID) + ;Do ##class(Prod.Kenmerk.DataIndex).DeleteWaarden(GroepID,Kenmerk,PRNr) + Quit ##class(Prod.Kenmerk.DataDefinitie).NewObjectViaList(Param) + Quit 1 + + +CoCom() + // Conditional compilation + // INT-code depends on the Server(Name) where the code is compiled. + New ComputerName + Set ComputerName=$ZCVT($ZUTIL(110),"U") ; $ZCVT($G(ComputerName,$ZUTIL(110)),"U") + Write "Computer: "_ComputerName,! +#If $ZCVT($ZUTIL(110),"U")="CACHE02" + Write "The Develop Server is "_ComputerName +#ElseIf $ZCVT($ZUTIL(110),"U")="CACHE01" + Write "The ""HALUX"" Server is "_ComputerName +#ElseIf $ZCVT($ZUTIL(110),"U")="WWW01" + Write "The WebServer is "_ComputerName +#ElseIf $Get(^Country,0)="England" + Write "The capital is London." +#ElseIf $Get(^Country,"FR")="FR" + Write "The capital is Paris." +#Else + Write "The capital Tallinn." +#EndIf + Write "Fixed text." + Quit + + +TestURL(sURL,ServName,ServPort) + Set sURL=$G(sURL,"http://192.168.1.67/csp/hadev/TBoxCSP/TandemboxWizard.csp") + Set ServName=$G(ServName,"192.168.1.67") + Set ServPort=$G(ServPort,"80") + + Set PageURL=sURL + Set PageDomain=$P($P(PageURL,"://",2),"/",1) + Set SubPath=PageURL + Set:($L(PageDomain)) SubPath=$P(PageURL,PageDomain,2) + Set SubPath=$P(SubPath,"/",1,$L(SubPath,"/")-1) + Set:(ServName="") ServName="res.vanhoecke.be" + Set:(ServPort'=80) ServName=ServName_":"_ServPort + + w "sURL :"_sURL,! + w "PageDomain:"_PageDomain,! + w "SubPath :"_SubPath,! + w "new :"_"http://"_ServName_SubPath_"/"_"TandemboxOrder.csp?WSID=",! + + /* + Set PageURL=%request.URL + Set PageDomain=$P($P(PageURL,"://",2),"/",1) + Set SubPath=$P(PageURL,PageDomain,2) + Set ServName=$G(%request.CgiEnvs("SERVER_NAME")) + Set ServPort=$G(%request.CgiEnvs("SERVER_PORT"),80) + Set:(ServName="") ServName="res.vanhoecke.be" + Set:(ServPort'=80) ServName=ServName_":"_ServPort + +
    +	
    +	
    + + */ + Quit + +TestOref +#Include %occInclude + Set QHandle="" + Set QHandle=$zobjnext(QHandle) + ;w QHandle_" -> "_$$$objOrefToInt(QHandle) + ;w $$$ObjOref(5) + quit + New QHandle,Row + Set QHandle="" + For Set QHandle=$zobjnext(QHandle) Quit:(QHandle=$$$SYSFUNCNULLOREF) Do + . Set Row=$LB($$$objOrefToInt(QHandle),QHandle.%ClassName(1)) + Quit + +RWSORD + Do RepairWSOrdData + Quit +RepairWSOrdData + s:('$D(ClientIP)) ClientIP="192.168.1.97" + New sDomein,ClientHostIP,arRepair,tmpAr,i +#If $ZCVT($ZUTIL(110),"U")="WWW01" + Set sDomein="www.tandem-box.com" + Set ClientHostIP="192.168.1.%" +#Else + Set sDomein="192.168.1.67" + Set ClientHostIP="192.168.1x.%" +#EndIf + + /* + // Domain VHEPN + (LogT.WSOrderID>0) and (LogT.Domein=:sDomein) and (not LogT.KlantNr is null) + and ((LogT.Actie = 'WIZARD_CALC')or(LogT.Actie || LogT.WizardMode = 'MAINPAGECOMPLETE')) + and (LogT.LogTime like '2004-%') and (not LogT.ClientHost like :ClientHostIP) + and (LogT.WSOrderID=OrdHfd.ID) and (OrdHfd.KLNummer is null) + + // Domain HEIN + (LogT.WSOrderID>0) and (LogT.WSOrderID=OrdHfd.ID) and (LogT.Domein='tbx.tandem-box.de') + and ((LogT.Actie = 'WIZARD_CALC')or(LogT.Actie || LogT.WizardMode = 'MAINPAGECOMPLETE')) + and (LogT.LogTime like '2004-%') and (not LogT.ClientHost like :ClientHostIP) + and (not (OrdHfd.IngaveTijdStip like '2004-%')) + */ + + +#If $ZCVT($ZUTIL(110),"U")'="CACHE01" + &SQL(DECLARE crsRWS CURSOR FOR + SELECT OrdHfd.ID, OrdHfd.IngaveTijdStip, OrdHfd.KLNaam, OrdHfd.KLNummer, LogT.KlantNr + INTO :tmpAr("wsID"), :tmpAr("OrdTime"), :tmpAr("KLNaam"), :tmpAr("KLNr"), :tmpAr("LogKLNr") + FROM WS_TBX.WebOrder OrdHfd, DW_WWW.SysLogTBX LogT + WHERE (LogT.WSOrderID>0) and (LogT.Domein=:sDomein) and (not LogT.KlantNr is null) + and ((LogT.Actie = 'WIZARD_CALC')or(LogT.Actie || LogT.WizardMode = 'MAINPAGECOMPLETE')) + and (LogT.LogTime like '2004-%') and (not LogT.ClientHost like :ClientHostIP) + and (LogT.WSOrderID=OrdHfd.ID) and (OrdHfd.KLNummer is null) + GROUP BY OrdHfd.ID + ORDER BY OrdHfd.ID + ) + &SQL(OPEN crsRWS) + Set i=0 + For &SQL(FETCH crsRWS) Quit:(SQLCODE) Do rwsBuildRepairArray + &SQL(CLOSE crsRWS) + d WL^vhDBG($$$ArrayTT("arRepair")) + Set i="" + For Set i=$O(arRepair("WS",i)) Quit:(i="") Do rwsRepairViaNode(i) +#EndIf + Quit +rwsBuildRepairArray + Set i=i+1 + Merge arRepair("WS",i)=tmpAr + Kill tmpAr + Quit +rwsRepairViaNode(i) +#define DateZDT(%v) $S(%v?5N1","1.5N:$ZDT(%v,3), 1:%v) + New WSOrd,arFullDataOrig,arFullDataNew,nd,wsID,dbgMsg,sc + Set wsID=$G(arRepair("WS",i,"wsID")) + Quit:(wsID="") + If ##class(WS.TBX.Order).%ExistsId(wsID) Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + Else Quit + Set arFullDataNew("KLT","IngaveTijdStip")=$$$DateZDT(arRepair("WS",i,"OrdTime")) + Set arFullDataNew("KLT","KLNummer")=$G(arRepair("WS",i,"LogKLNr")) + Set arFullDataNew("KLT","TotAantal")=$$rwsSumQty(WSOrd) + Do WSOrd.DataArrayFromWS(.arFullDataOrig) + For nd="ID","IngaveTijdStip","KLNummer","TotAantal","TotPrijs" Do + . Merge arFullDataNew("TMP","KLT",nd)=arFullDataOrig("KLT",nd) + Set dbgMsg="New values for ID :"_wsID + w !,dbgMsg_$$$ArrayTT("arFullDataNew") ; $Na(arFullDataNew("KLT")) ; arFullDataOrig + d WL^vhDBG(dbgMsg_$$$ArrayTT("arFullDataNew")) ; arFullDataOrig) + Set WSOrd.KLNummer=arFullDataNew("KLT","KLNummer") + Set WSOrd.IngaveTijdStip=arFullDataNew("KLT","IngaveTijdStip") + Set WSOrd.TotAantal=arFullDataNew("KLT","TotAantal") + ;Set sc=WSOrd.%Save() + Write !,$S($D(sc):$E(sc,1)_" "_$$ParseStatus^vhLib(sc), 1:""),! + Quit +rwsSumQty(WSOrd) + Quit:('$G(WSOrd)) "" + New SomAant,WSLn + Set SomAant=0 + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . Set:(WSLn.KostPrijs'="ERROR") SomAant=SomAant+WSLn.Qty + Quit $S(SomAant>0:SomAant, 1:"") + + +StatTBXUpg(Ref) +#define TRIM(%v) $ZSTRIP(%v,"<>w") + New arLog,tmpAr,ProdID,KP1,KP2,MK1,MK2,Nd,Cnt + Merge arLog=@Ref + Kill ^wvStatTBX + Set Cnt="" + Set ProdID="" + For Set ProdID=$O(arLog(ProdID)) Quit:(ProdID="") Do + . Kill tmpAr + . Merge tmpAr=arLog(ProdID) + . Set Cnt=Cnt+1 + . Set KP1=+$$$TRIM($TR($P(tmpAr(2),"kostprijs",2),":","")) + . Set KP2=+$$$TRIM($TR($P(tmpAr(4),"kostprijs",2),":","")) + . Set MK1=+$$$TRIM($TR($P(tmpAr(2),"MaakKost",2),":","")) + . Set MK2=+$$$TRIM($TR($P(tmpAr(4),"MaakKost",2),":","")) + . Set Nd=0 + . Set:(KP1'=KP2) Nd=Nd+1 + . Set:(MK1'=MK2) Nd=Nd+2 + . Set SubNd=$S(Nd=0:"=", $$stuCalcPct(KP1,KP2)>0.01:">>", 1:"=%") + . Set ^wvStatTBX(Nd,SubNd,ProdID,1)=$J((+$P(tmpAr(1),"Staffel=",2)),3)_" / "_$S(Nd=0:"", 1:$J(" ",25))_tmpAr(3)_$S(Nd#2=0:" / "_KP1, 1:"")_$S(Nd<2:" / "_MK1, 1:"") + . Set:(KP1'=KP2) ^wvStatTBX(Nd,SubNd,ProdID,2)="KP: "_$J(KP1,0,4)_" ==> "_ $J(KP2,0,4) + . Set:(MK1'=MK2) ^wvStatTBX(Nd,SubNd,ProdID,3)="MK: "_$J(MK1,0,4)_" ==> "_ $J(MK2,0,4) + . Set:(Nd=3) ^wvStatTBX(Nd,SubNd,ProdID,4)="KPDiff: "_$ZAbs(KP2-KP1)_" MKDiff"_$S((KP1-MK1)=(KP2-MK2):" = ", 1:":"_$ZAbs(MK2-MK1)) + . Set ^wvStatTBX(Nd,SubNd)=$G(^wvStatTBX(Nd,SubNd))+1 + . Set ^wvStatTBX(Nd)=$G(^wvStatTBX(Nd))+1 + + Set ^wvStatTBX("I","CNT")=Cnt + Set:($D(^wvStatTBX(0))) ^wvStatTBX(0,"I")="SAME" + Set:($D(^wvStatTBX(1))) ^wvStatTBX(1,"I")="KPRS" + Set:($D(^wvStatTBX(2))) ^wvStatTBX(2,"I")="MAAK" + Set:($D(^wvStatTBX(3))) ^wvStatTBX(3,"I")="BOTH" + Do stuAddSummary + w "Output to ^wvStatTBX()",! + Quit +stuCalcPct(Val1,Val2) + Quit:(Val1=Val2) 0 + Quit:(Val1>Val2) (Val1-Val2)/Val1 + ; Else + Quit (Val2-Val1)/Val2 +stuAddSummary + n i,j,p,tmpAr + Merge tmpAr=^wvStatTBX + f i=0:1:3 s j="" f s j=$O(tmpAr(i,j)) q:j="" s p="" f s p=$O(tmpAr(i,j,p)) q:p="" k tmpAr(i,j,p) + Merge ^wvStatTBX("I","SUMM")=tmpAr + Quit + + + + /* +FixKPR + New PRNr,Tm,GenType,GAProdID,GAObj,DosNr + New D,Q,U Set D="\",Q="K",U=";" + ;Kill ^WVfixBS + Set GAObj="" + Set PRNr=210000 ; "" ; + For Set PRNr=$O(^KPR(PRNr),1) Quit:(PRNr="") Do + . Set Tm=$P($P($G(^KPR(PRNr,2)),"\",17),";",2) + . ;Quit:(PRNr\10'=21380) + . ;Quit:(PRNr'=213816) + . Quit:(Tm="")||($H-Tm>3) + . Set GenType=$$GENTYP^HAD(PRNr) + . If GenType'?1(1"TBX",1"DIV\GRP",1"DIV\TLM").E Do Quit + .. q + .. w !,PRNr + . Set GAProdID=$P($G(^KPR(PRNr,"G")),"\",13) + . w !,PRNr + . w " - #d:"_($H-Tm) + . w " - GenType:"_GenType + . w " - GAProdID:"_GAProdID + . Quit:(GAProdID="")||('$D(^Prod.GAData.ProductD(GAProdID)))||(GAProdID<100) + . Set GAObj=##class(Prod.GAData.Product).%OpenId(GAProdID) + . ;Set GAObj=##class(Prod.GAData.Product).OpenWithCalc(GAProdID) + . w " - GAObj :"_GAObj + . Quit:('$IsObject(GAObj)) + . Set %this=GAObj + . Set DosNr=GAObj.Dossier + . w " - DosNr :"_DosNr ; $LG($G(^Prod.GAData.ProductD(GAProdID)),6) + . ;Do kpcHALFFAB^Prod.GAData.Product.tmpKPRCreate + . Set ^WVfixBS("LOG",PRNr)=$LB(GenType,GAProdID,DosNr) + . Kill %this + . Set GAObj="" + Quit + */ + + + // ========================================================================================================================================== + + + +ExportGA(ProdID) + ; Converteert een Array naar Text + New OutF,Ref,FName + Set Ref="^Prod.GAData.ProductD("_ProdID_")" + Set OutF=##class(%Library.File).%New("\\WV_W2K\C$\Wim\wvExport_GA"_ProdID_".txt") + w OutF.Open("WSN"),! + w "IsOpen:"_$S(OutF.IsOpen:"Open", 1:"Niks"),! + ;Set FName=OutF.Directory_"\"_OutF.FileName + Set FName=OutF.Name + Do ArrayToTextW^vhLib(Ref,OutF) + Do OutF.%Close() + w "Output geschreven naar bestand: "_FName + + ;Do DevObj.%Close() + Quit + + + + /* + Sequentie van commando's om snel te importeren via Cach�-terminal: + !!! Uitvoeren in: Cache01 - HALUX !!! + Set LC="N" + Set fn="c:\tbx"_LC_".pcx" w "Importeren van bestand "_fn,! do ImportTBX^WV(fn,.ipt) + Merge ^IPCom("CS","TBX"_LC)=ipt s t="" f s t=$O(^IPCom("CS",t)) q:(t="") zw ^IPCom("CS",t,0) + */ +ImportTBX(FilePath,Rec) ; Rec doorgeven als .local ! + ; Importeert een bestand (zoals *.PCX) in Binary-mode in de local of global Rec +#define NMaxLen 511 + Quit:($G(FilePath)="") + New fbs,gbs,OK,i,RL + Set fbs=##class(%FileBinaryStream).%New() + Set OK=fbs.LinkToFile(FilePath) + If 'OK Do Quit + . Write "Fout bij link to file: "_$$ParseStatus^vhLib(OK),! + . Do fbs.%Close() + ; bestand uitlezen + Set Rec(0)=fbs.Size + If Rec(0)=0 Do Quit + . Write "FileSize van "_fbs.CurrFile()_" is "_Rec(0),! + Set RL=$$$NMaxLen + Set i=0 + For Set i=i+1 Do Quit:(RL=-1) + . Set Rec(i)=fbs.Read(.RL) + . Write i_" --> "_$J(RL,5)_" bytes gelezen.",! + Do fbs.%Close() + Write "ImportTBX afgelopen.",! + Quit + + +CCA + Set CheckArray(1,"GR","BASIS2")="BASIS+PROD+KOST" + Set CheckArray(1,"SG","CALC")="INPUT+OPTIES+KENM+CALC2" + Set CheckArray(1,"DI","PRKENM026")="PRBASIC*+PRKENM2*+PR1DIM*" + Set CheckArray(1,"DI","PRKENM027")="PRBASIC*+PRKENM2*+PR1DIM*" + Set CheckArray(2,"PR1DIM||1","PRNr")=5 + Set CheckArray(3,"T","KST009","OV13")=2 + Set CheckArray(3,"T","KST009","OV12")=2 + Set CheckArray(3,"T","KST009","OV13")=2 + Set CheckArray(4,"PRKENM004")="PRLALI" + Set CheckArray(5,"PARAM034","ProgLabel")="VPCP" + Set CheckArray(6,"VPKOO","KST010")=4 + Set CheckArray(7,"PR1DIM||1","Oms")="Z" + Set CheckArray(7,"PR1DIM||1","PRLen")="Q" + Set CheckArray(8,"Sub1")="ErrExec1" + Set CheckArray(8,"Sub1","Sub2")="ErrExec2" + Quit + + +WSTB + Do WSTB^BL.PR.GA.TB.tmpDev2 + Quit +PRGA + Do ^BL.PR.GA.TB.tmpDev + Quit +TLM + Do ^BL.PR.GA.TLM.tmpDev + Quit +KMBM(Groep) ;(Kenmerk -> BuildMeta) + Do BuildMeta^Kenm.Basis.MetaDefinitie.LoadObjects(.Groep) + Quit +KMRD(Groep) ;(Kenmerk -> Remove Data) + Do DeleteDataDef^Kenm.Basis.MetaDefinitie.LoadObjects(.Groep) + Quit +PRBM(Groep) ;(Prod.Kenmerk -> BuildMeta) + Do BuildMeta^Prod.Kenmerk.MetaDefinitie.LoadObjects(.Groep) + Quit +PRRD(Groep) ;(Prod.Kenmerk -> Remove Data) + Do DeleteDataDef^Prod.Kenmerk.MetaDefinitie.LoadObjects(.Groep) + Quit + + +TESTRClear + New clu,i,tmpLid,FindID + Set clu=##class(Test.W.Club).%OpenId("C03") + Quit:('clu) + Do clu.Leden.Clear() + w "SaveOK: "_clu.%Save(),! + Do clu.%Close() + Quit + +TESTRFind + New clu,i,tmpLid,FindID + Set clu=##class(Test.W.Club).%OpenId("C03") + Quit:('clu) + w "Members before CLEAR : "_clu.Leden.Count(),! + Do clu.Leden.Clear() + ;w "SaveOK: "_clu.%Save(),! + for i=1:1:3 do + . Set oL=##class(Test.W.Lid).%New() + . Set oL.Club=clu + . Set oL.Naam="NTest"_$E(1000+i,2,4) + . Set oL.Voornaam="VTest"_$E(1000+i,2,4) + . Set oL.Code="TST"_$E(1000+i,2,4) + . do oL.%Close() + w "Members after FILL: "_clu.Leden.Count(),! + w "SaveOK: "_clu.%Save(),! + Do clu.%Close() + Quit + +TESTRFind2 + New clu,i,tmpLid,FindID + Set clu=##class(Test.W.Club).%OpenId("C03") + Quit:('clu) + w "Juist geopend",! + Do ListAllObjects^%apiOBJ() + w "Aantal Leden before CLEAR : "_clu.Leden.Count(),! + ;Do:(clu.Leden.Count()>0) clu.Leden.Clear() + Do clu.Leden.Clear() + w "Childs are removed. Swizzled refs:",! + Do ListAllObjects^%apiOBJ() + w "SaveOK: "_clu.%Save(),! + Do ListAllObjects^%apiOBJ() + for i=1:1:3 do + . Set oL=##class(Test.W.Lid).%New() + . Set oL.Club=clu + . Set oL.Naam="Test"_$E(1000+i,2,4) + . Set oL.Voornaam="VTest"_$E(1000+i,2,4) + . Set oL.Code="TST"_$E(1000+i,2,4) + . ;w "i="_i_" Save:"_oL.%Save(),! + . do oL.%Close() + w "Na invullen van Leden:",! + Do ListAllObjects^%apiOBJ() + w "Aantal Leden after FILL: "_clu.Leden.Count(),! + + Set FindID="TST001" + Set i=clu.Leden.FindObject($LB(clu.%Id()_"||"_FindID)) + w ".FindObject : "_$$LCVT^vhLib($LB(clu.%Id()_"||"_FindID))_" -> i="_i,! + Set FindID="TST003" + Set i=clu.Leden.FindObject($LB(clu.%Id()_"||"_FindID)) + w ".FindObject : "_$$LCVT^vhLib($LB(clu.%Id()_"||"_FindID))_" -> i="_i,! + + w "SaveOK: "_clu.%Save(),! + + Set FindID="TST001" + Set i=clu.Leden.FindObject($LB(clu.%Id()_"||"_FindID)) + w "SVD.FindObject : "_$$LCVT^vhLib($LB(clu.%Id()_"||"_FindID))_" -> i="_i,! + Set FindID="TST003" + Set i=clu.Leden.FindObject($LB(clu.%Id()_"||"_FindID)) + w "SVD.FindObject : "_$$LCVT^vhLib($LB(clu.%Id()_"||"_FindID))_" -> i="_i,! + + Do clu.%Close() + Quit + +TESTRFindAgain + New clu,i,tmpLid,FindID + Set clu=##class(Test.W.Club).%OpenId("C03") + Quit:('clu) + w "Aantal Leden : "_clu.Leden.Count(),! + + Set FindID="TST001" + Set i=clu.Leden.FindObject($LB(clu.%Id()_"||"_FindID)) + w ".FindObject : "_$$LCVT^vhLib($LB(clu.%Id()_"||"_FindID))_" -> i="_i,! + + Set FindID="TST004" + Set i=clu.Leden.FindObject($LB(clu.%Id()_"||"_FindID)) + w ".FindObject : "_$$LCVT^vhLib($LB(clu.%Id()_"||"_FindID))_" -> i="_i,! + + w "SaveOK: "_clu.%Save(),! + Do clu.%Close() + Quit + + ;Set FindID="WVT" + ;Set i="" + ;Set tmpLid=clu.LedenGetChildAt(FindID,.i) + ;w "Child : "_FindID_" -> i="_i_" Oref="_tmpLid_" Code="_$S(tmpLid:tmpLid.Code, 1:""),! + ;Set i=clu.Leden.FindObject($LB(clu.%Id()_"||"_FindID)) + ;w ".FindObject : "_$$LCVT^vhLib($LB(clu.%Id()_"||"_FindID))_" -> i="_i,! + + +TESTREL(clu) + New i,tmpLid,FindID + Set FindID="WV01" + Do clu.ClearLedenIndex() + + for i=101:1:120 do + . Set oL=##class(Test.W.Lid).%New() + . Set oL.Club=clu + . Set oL.Naam="Test"_$E(1000+i,2,4) + . Set oL.Voornaam="VTest"_$E(1000+i,2,4) + . Set oL.Code="TST"_$E(1000+i,2,4) + . ;Set sc=oL.%Save() + . w "i="_i_" Save:"_$$ParseStatus^vhLib($G(sc)),! + . do oL.%Close() + . Set oL="" + + Do Start^TRTimer + for i=1:1:10000 Set CI="" Set tmpLid=clu.LedenSmartGetByID(FindID,.CI) + Do Stop^TRTimer + Write !,"Test Relationship SmartGet "_$$GetTime^TRTimer() + + ;Do Start^TRTimer + ;for i=1:1:10000 Set CI="" Set tmpLid=clu.LedenGetByID(FindID,.CI) + ;Do Stop^TRTimer + ;Write !,"Test Relationship Get "_$$GetTime^TRTimer() + + Do Start^TRTimer + for i=1:1:10000 Set CI="" Set tmpLid=clu.LedenGetChildAt3(FindID,.CI) + Do Stop^TRTimer + Write !,"Test Relationship Get "_$$GetTime^TRTimer() + + + Do Start^TRTimer + for i=1:1:10000 Set CI="" Set tmpLid=clu.LedenGetChildAt(FindID,.CI) + Do Stop^TRTimer + Write !,"Test Relationship Get "_$$GetTime^TRTimer() + + Quit + + +ExportXMLStream(Obj,msgNoObj) + ; Creates a New CharStream Object and fills it with the XML of the Object + Quit:('$G(Obj)) $G(msgNoObj,"") + New xs + Set xs=##class(%GlobalCharacterStream).%New() + Do Obj.XMLExportToStream(xs) + Quit xs + +ExportXML(Obj,msgNoObj) + Quit:('$G(Obj)) $G(msgNoObj,"") + New xs + Set xs="" + Do Obj.XMLExportToString(.xs) + Quit xs + +ExportXMLGAProd(Obj,msgNoObj) + Quit:('$G(Obj)) $G(msgNoObj,"") + New xs, sx + Set xs=##class(%GlobalCharacterStream).%New() + Do Obj.XMLWrite(xs,"N","","x.XSL") + s sx=xs.Read(xs.Size) + Set xs="" + Quit sx + +DEBUG(GlobalN,HoofdNode,SubNode,Waarde,UseCounter) + New Ref,RetVal,XCmd,i + Set GlobalN=$G(GlobalN,"^wvDEBUG") + Set HoofdNode=$G(HoofdNode,"1") + If $L($G(SubNode)) Do + . If SubNode["," Do + .. Set XCmd="Set Ref=$Na("_GlobalN_"("_$$dbgQuoteNodes(HoofdNode_","_SubNode)_"))" + .. Xecute XCmd + . Else Do + .. Set Ref=$Na(@GlobalN@(HoofdNode,SubNode)) + Else Do + . Set Ref=$Na(@GlobalN@(HoofdNode)) + ; Debug action at Node @Ref + If Waarde="$KILL" Do + . Kill @Ref + Else If +$G(UseCounter) Do + . Set @Ref=$G(@Ref)+1 + . Set @Ref@(@Ref)=Waarde + . Set RetVal=@Ref + . ;Set @Ref@($O(@Ref@(""),-1)+1)=Waarde + Else Do + . Set @Ref=Waarde + Quit $G(RetVal) + ;Quit $O(@Ref@(""),-1) +dbgQuoteNodes(Nodes) + New Nd + For i=1:1:$L(Nodes,",") Set Nd=$P(Nodes, ",", i) Do + . Set:(Nd="") $P(Nodes, ",", i)="." + . If '$IsValidNum(Nd), $E(Nd,1)'="""", $E(Nd,$L(Nd))'="""" Set $P(Nodes,",",i)=""""_Nd_"""" + Quit Nodes + + +MODPROD + New ToeNr,LijnNr,PRNr,KadID,Kadobj + New KLNr + ;Set KLNr=1239 ; Keller + ;Set KLNr=2967 ; BurBidge + ;Set KLNr=3479 ; Svedex + ;Set KLNr=3711 ; Keukengroep TULP + R "Geef KlantNr: ", KLNr + W ! + Do mprKlantModProd(KLNr) + Quit +mprKlantModProd(KLNr) + ;Set ToeNr="" + ;For Set ToeNr=$O(^KTO(6332,ToeNr)) Quit:(ToeNr="") Do + ;. ;w "ToeNr: "_ToeNr_" KLNr: "_$P($G(^KTO(6332,ToeNr,1)),"\",8),! + ;. Quit:($P($G(^KTO(6332,ToeNr,1)),"\",8)'=KLNr) + ;. ;zw ^KTO(6332,ToeNr) + ;. Set LijnNr=100 + ;. For Set LijnNr=$O(^KTO(6332,ToeNr,LijnNr)) Quit:(LijnNr="") Do + ;.. ;w "LijnNr: "_LijnNr,! + ;.. Set PRNr=$P($G(^KTO(6332,ToeNr,LijnNr)),"\",2) + ;.. Quit:(PRNr'?4.6N) + ;.. Set KadID=$P($G(^HADPR("P",PRNr,"GK")),"\",13) + Quit:('$D(^KOD(KLNr))) + Quit:('$D(^KOD(KLNr,"F"))) + Set ToeNr="" + For Set ToeNr=$O(^KOD(KLNr,"F",ToeNr)) Quit:(ToeNr="") Do + . Set LijnNr=100 + . For Set LijnNr=$O(^KOD(KLNr,"F",ToeNr,LijnNr)) Quit:(LijnNr="") Do + .. Set PRNr=$P($G(^KOD(KLNr,"F",ToeNr,LijnNr)),"\",2) + .. Quit:(PRNr'?4.6N) + .. Set KadID=$P($G(^KPR(PRNr,"G")),"\",13) + .. ; + .. w "KLNr: "_KLNr_" ToeNr: "_ToeNr_" LijnNr: "_LijnNr_" PRNr: "_PRNr_" KadID: "_KadID,! + .. Quit:(KadID<1000) + .. Set Kadobj=##class(Prod.GADef.KaderDeur).%OpenId(KadID) + .. Quit:('Kadobj) + .. Do mprAdaptChanges(KLNr,Kadobj) + .. Do Kadobj.%Close() + . w ! + Quit +mprAdaptChanges(KLNr,Kadobj) + New emBeslag,BKey,emBor,i,blnSave + Set blnSave=0 + If $G(KLNr)=1000 Do ; TestKlant + . ; + Else If $G(KLNr)=1239 Do ; Keller + . ; Boringen van 3mm ==> puntboring + . Set BKey="" + . For Set emBor=Kadobj.Boringen.GetNext(.BKey) Quit:(BKey="") Do + .. Set:(emBor.BoorDiameter<3.2)&(emBor.BoorDiameter>0) blnSave=1 + .. Set:(emBor.BoorDiameter<3.2)&(emBor.BoorDiameter>0) emBor.BoorDiameter=-emBor.BoorDiameter + .. W "Boring: diameter; (nieuwe) waarde :"_emBor.BoorDiameter,! + . ; + Else If $G(KLNr)=2967 Do ; Burbidge + . ; Boringen CncID="HULS" ==> CncID="!BOR" + . Set BKey="" + . For Set emBor=Kadobj.Boringen.GetNext(.BKey) Quit:(BKey="") Do + .. If emBor.CncID["HULS" Do + ... Set emBor.CncID="BOR" ; previous: "!BOR" + ... Set emBor.AfschuinDiameter="" + ... Set:(emBor.BoorGlasDiameter="7") emBor.BoorGlasDiameter="5" + ... ;Set blnSave=1 + ... W "Boring: diameter; (nieuwe) waarden: BGD: "_emBor.BoorGlasDiameter_" AD: "_emBor.AfschuinDiameter_" CncID: "_emBor.CncID_"",! + .. If emBor.CncID="!BOR" Do + ... Set emBor.CncID="BOR" + ... Set blnSave=1 + ... W "Boring: Automatisch frezen: BGD: "_emBor.BoorGlasDiameter_" AD: "_emBor.AfschuinDiameter_" CncID: "_emBor.CncID_"",! + . ; + Else If $G(KLNr)=3479 Do ; Svedex + . ; Beslag "HETS" ==> "FERSSVD" + . Set emBeslag=Kadobj.Beslag.GetAt("S") + . If emBeslag,$E(emBeslag.BeslagGetObjectId()="5||HETS",1,7) Do + .. Do emBeslag.BeslagSetObjectId("5||FERSSVD") + .. Set blnSave=1 + .. W "Beslag: ScharnierType aangepast; nieuwe waarde :"_emBeslag.BeslagGetObjectId(),! + . If Kadobj.Toepassing.ItemID="VDS" Do + .. Set emBeslag=Kadobj.Beslag.GetAt("VC") + .. Quit:('emBeslag) + .. For i=1:1:emBeslag.Positie.Count() w "AR voor:"_emBeslag.Positie.GetAt(i).AfstandRand Set:(emBeslag.Positie.GetAt(i).AfstandRand'=8.8) blnSave=1 Set emBeslag.Positie.GetAt(i).AfstandRand=8.8 w " AR na:"_emBeslag.Positie.GetAt(i).AfstandRand,! + .. ;Set blnSave=1 + . If Kadobj.Toepassing.ItemID="VDV" Do + .. Set emBeslag=Kadobj.Beslag.GetAt("VV") + .. Quit:('emBeslag) + .. For i=1:1:emBeslag.Positie.Count() w "AR voor:"_emBeslag.Positie.GetAt(i).AfstandRand Set:(emBeslag.Positie.GetAt(i).AfstandRand'=3.5) blnSave=1 Set emBeslag.Positie.GetAt(i).AfstandRand=3.5 w " AR na:"_emBeslag.Positie.GetAt(i).AfstandRand,! + .. ;Set blnSave=1 + . ; + Else If $G(KLNr)=3711 Do ; Keukengroep TULP + . ; Boringen van 3mm ==> puntboring + . If Kadobj.ProfType.ItemID="PBG" Do + .. Set BKey="" + .. For Set emBor=Kadobj.Boringen.GetNext(.BKey) Quit:(BKey="") Do + ... Set:(emBor.BoorDiameter=5)&(emBor.BoorDiepte<0)&(emBor.AfschuinDiameter=7) blnSave=1 + ... Set:(emBor.BoorDiameter=5)&(emBor.BoorDiepte<0)&(emBor.AfschuinDiameter=7) emBor.AfschuinDiameter="" + ... If 'Kadobj.ControleBoring(emBor) Set $ECODE=",UFout bij controle," + ... W "Boring: diameter: "_emBor.BoorDiameter_" (nieuwe) waarde :"_emBor.AfschuinDiameter_" "_emBor.CncID,! + . ; + + ;w:(blnSave) Kadobj.%Save() + w:(blnSave) " Kadobj.%Save()",! + Quit + + +CreateHexTableStr + Set ^VHHex2Bin(0)="0000" + Set ^VHHex2Bin(1)="0001" + Set ^VHHex2Bin(2)="0010" + Set ^VHHex2Bin(3)="0011" + Set ^VHHex2Bin(4)="0100" + Set ^VHHex2Bin(5)="0101" + Set ^VHHex2Bin(6)="0110" + Set ^VHHex2Bin(7)="0111" + Set ^VHHex2Bin(8)="1000" + Set ^VHHex2Bin(9)="1001" + Set ^VHHex2Bin("A")="1010" + Set ^VHHex2Bin("B")="1011" + Set ^VHHex2Bin("C")="1100" + Set ^VHHex2Bin("D")="1101" + Set ^VHHex2Bin("E")="1110" + Set ^VHHex2Bin("F")="1111" + Set ^VHHex2Bin("-")="" + Quit + + +ROTATE(X,Y1,Y2) + New Delta + Set Delta=$ZABS(Y2-Y1) + Quit "X1="_(X-(Delta/2))_" X2="_(X+(Delta/2))_" YMid="_((Y1+Y2)/2)_$C(13,10)_ + "" + + +FREES + New BedDef,BedDefID,pl,bl,DestDir,XMLPath + Set BedDefID=356 ; 165 ; 20 : PBR-ON / 21 : PBG-ON + Set BedDef=##CLASS(Fabr.Frees.BedDef).%OpenId(BedDefID) + Read:('BedDef) !,"Geef BedDefID : ", BedDefID + Write ! + Set:('BedDef)&(BedDefID>0) BedDef=##CLASS(Fabr.Frees.BedDef).%OpenId(BedDefID) + Write:('BedDef) "Ongeldig BedDefID. Routine wordt afgebroken.",! + Quit:('BedDef) + + Set bl=##CLASS(Fabr.Frees.BedLijst).NewBedDef(BedDef) + w "Opbouw ProfielLijst ...",! + Set pl=##CLASS(Fabr.Frees.ProfielLijst).OpenKaderDeur(11087,999999) + ;Set pl=##CLASS(Fabr.Frees.ProfielLijst).OpenToelevering(262328) + Do frsTestQueryPL + ;Do frsTestLeggen + Do pl.%Close() + Do ##CLASS(Fabr.Frees.BedLijst).LookUpOrefRemove(bl) + Do bl.%Close() + Do BedDef.%Close() + zw ^wvCNC("ALL") + Quit +frsTestQueryPL + w "Testen van de Query ""ProfielLijst"" ...",! + New RS,Query + Set Query="Fabr.Frees.ProfielLijst:ProfielLijst" + Set RS=##class(%ResultSet).%New(Query) + If 'RS Do Quit + . ;"Kan geen nieuwe instantie van de query '"_Query_"' maken." + New tmpStatus + Set tmpStatus=RS.Execute(pl,BedDefID) + ; do DEBUG^%Serenji("labelDebug+1^"_$zn,"192.168.1.97") + ;labelDebug + For Quit:('RS.Next()) Do + . w "test Qry"_$G(RS.Data("ID"))_" "_$G(RS.Data("Lengte"))_" "_$G(RS.Data("Zijde")),! + Do RS.%Close() + Quit +frsTestLeggen + w "Leggen van Profielen ...",! + New PLIndex,KalIndex + Set PLIndex=1 + ;do DEBUG^%Serenji("labelDebug+1^"_$zn,"192.168.1.97") + ;labelDebug + Set KalIndex="" + Set ProfielPlaatsbaarID=pl.ProfielPlaatsbaarID(PLIndex, .KalIndex, (+bl)_";", 0) + + ;Do bl.ProfielLeggen(pl,1,101) + ;Do bl.ProfielLeggen(pl,2,101,,,"AP") + ;Do bl.ProfielLeggen(pl,3,101,,,"AP") + ;Do bl.ProfielLeggen(pl,4,101,,,"AP") + + ;Do bl.ProfielLeggen(pl,20,101) + ;Do bl.ProfielLeggen(pl,19,101,,,"AP") + ;Do bl.ProfielLeggen(pl,17,101,2,,"AP") + + w "Altern.leggen: Rslt="_bl.AlternerendLeggen(pl, $LB($LB(27,10,""),$LB(28,7,"")), ""),! + Do bl.FreesBed.GetAt(1).CNCFiles.Insert("TestXML.ANC") + ;Do bl.XMLCreateFile(.XMLPath,,bl.CNCGetDir("TestW5")) + ;w "XMLPath="_XMLPath,! + + ;w "Opbouw CNC-Prog ...",! + ;w bl.CreateAll(pl, "4682", "TestW1", .XMLPath),! + Quit + +ALFAEDIT() +#define SubDir "week08P" + New Resl,DestinDir,ProgAll + Set Resl=##class(Fabr.Frees.BedLijst).CNCGetDir($$$SubDir) + Quit:($E(Resl,1)="0") Resl ; DestinDir contains the errormessage + Set DestinDir=Resl + Quit:($G(DestinDir)="") + New InF,OutF,FilePath,FileName,BaseName,ToelevNr,i + ;R "Geef naam van het ANC-bestand: ", FileName w ! + Set FileName="266331test.ANC" ; "266331.ANC" ; "7851AYR.ANC" + Set:(FileName'[".ANC") FileName=FileName_".ANC" + Set FilePath=##class(%Library.File).NormalizeDirectory(DestinDir)_FileName + w "Volledig path: "_FilePath,! + Set InF=##class(%Library.File).%New(FilePath) + Do InF.Open("RU") + If InF.IsOpen Do + . Do InF.Rewind() + . Set ProgAll=InF.Read(InF.Size) + Else Do + . w "0;Kan bestand niet openen om uit te lezen: "_FilePath + Set InF="" ; Do InF.%Close() + Quit:$G(ProgAll)="" + Set FilePath=$$REPLACE^vhRtn1(FilePath,".ANC",".PPW") + w "Creatie van .PPG bestand ...",! + Set OutF=##class(%Library.File).%New(FilePath) + Do OutF.Open("WSN") + If OutF.IsOpen Do + . Do OutF.Rewind() + . Do OutF.Write($$aleAncFilter(ProgAll)) + . ;Do:(i=1) %this.CNCFiles.Insert(FileName) + Else Do + . w "0;Kan bestand niet openen: "_FilePath + Do OutF.%Close() + w "Einde creatie van .PPG bestand.",! + Quit 1 +aleAncFilter(Prog) + Do ##class(Fabr.Frees.emBed).CNCFilterANC(.Prog) + Quit Prog + + + +WFILE + New OutF + ;Set OutF=##class(%Library.File).%New("\\Notes01\Shared\W V\wvTEST.txt") + Set OutF=##class(%Library.File).%New("\\Notes01\C$\Data\Private\WV\wvTEST.txt") + ;Set OutF=##class(%Library.File).%New("\\WV_W2K\C$\Wim\wvTEST.txt") + w OutF.Open("WSN"),! + w "IsOpen:"_$S(OutF.IsOpen:"Open", 1:"Niks"),! + ;Do OutF.Rewind() + Set sTxt="Test vanuit Cach� voor kalibers. Dit mag weg. WimV."_$C(13,10)_"Tijdstip:"_$ZDATETIME($H,4) + Do OutF.Write(sTxt) + Do OutF.%Close() + Quit + + +WFILESTREAM ; Parameters: (geen) + new CStream,LinkOK,SaveOK + New arKDtl + Set CStream=##class(%FileCharacterStream).%New() + Set LinkOK=CStream.LinkToFile("\\Notes01\C$\Data\Private\WV\Test.txt") + Do:('LinkOK) MApplication.MessageBox("Link mislukt: "_$$ParseStatus^vhLib(LinkOK)) + ; Write to CharacterStream: + ;Do ..Product.XMLWrite(CStream,"N","GAF;GAO","Format GAProduct.xsl") + Set SaveOK=CStream.SaveStream() + Write:('SaveOK) "Save mislukt: "_$$ParseStatus^vhLib(SaveOK) + ;Do:('SaveOK) MApplication.MessageBox("Save mislukt: "_$$ParseStatus^vhLib(SaveOK)) + Do CStream.%Close() + Quit + + +DeleteKenmData(Groep) + New PRNr,k,Kenm,CntAll,CntMissed,CntDel,DelStatus + Set Groep=$G(Groep,"OL") + Set (CntAll,CntMissed,CntDel)=0 + Set PRNr="" + w ! + For Set PRNr=$O(^Prod.Ken.DataDefinitieD(PRNr)) Quit:(PRNr="") Do + . w !,PRNr + . Set Kenm=$O(^Prod.Ken.DataDefinitieD(PRNr,Groep)) + . Quit:($P(Kenm,"||",1)'=Groep) + . w " in groep: "_Groep + . Set CntAll=CntAll+1 + . Quit:($D(^KPR(PRNr))) + . Set CntMissed=CntMissed+1 + . w !,"Volgend PRNr niet gevonden in ^KPR: "_PRNr,! + . ;quit + . w "Data voor dit Product verwijderen [J/N] ? " + . r *k,! + . Set k=$C(k) + . Quit:(k'="J")&&(k'="j") + . Set DelStatus=##class(Prod.Kenmerk.DataDefinitie).DeleteViaPRNr(PRNr,$LB(Groep)) + . w "Result deleting Product "_PRNr_" : "_DelStatus_" "_$S('DelStatus:$$ParseStatus^vhLib(DelStatus), 1:""),! + . Set:(DelStatus) CntDel=CntDel+1 + w !,"CntAll="_CntAll_" CntMissed="_CntMissed_" CntDel="_CntDel + Quit + +DeleteKenmDataIndex + New Groep,Kenmerk,Waarde,PRNr,ArPRNr,Kenm,CntAll,CntMissed,CntDel,DelStatus,blnPresent + Set (CntAll,CntMissed,CntDel)=0 + Set (Groep,Kenmerk,Waarde,PRNr)="" + For Set Groep=$O(^Prod.Ken.DataIndexD(Groep)) Quit:Groep="" Do + . For Set Kenmerk=$O(^Prod.Ken.DataIndexD(Groep,Kenmerk)) Quit:Kenmerk="" Do + .. For Set Waarde=$O(^Prod.Ken.DataIndexD(Groep,Kenmerk,Waarde)) Quit:Waarde="" Do + ... For Set PRNr=$O(^Prod.Ken.DataIndexD(Groep,Kenmerk,Waarde,PRNr)) Quit:PRNr="" Do + .... Do dkdDeleteIfNotPresent + .... ;Set ArPRNr(PRNr)=$G(ArPRNr(PRNr))+1 + .... ;Set ArPRNr(PRNr,ArPRNr(PRNr))=$LB(Groep,Kenmerk,Waarde) + + ; ArPRNr alfopen en van de niet-bestaande producten de DataIndexen verwijderen + Set PRNr="" + For Set PRNr=$O(ArPRNr(PRNr)) Quit:PRNr="" Do + . Do dkdDeleteIfNotPresent + Quit +dkdDeleteIfNotPresent + ;w !,PRNr + If '$D(^Prod.Ken.DataDefinitieD(PRNr)) Do + . w !,PRNr + . w " niet gevonden in DataDefinitie",! + . w "Kill "_$name(^Prod.Ken.DataIndexD(Groep,Kenmerk,Waarde,PRNr))_"",! + . Kill ^Prod.Ken.DataIndexD(Groep,Kenmerk,Waarde,PRNr) + . ;Do dkdDeleteAllIndexen(PRNr) + Else Do + . Set blnPresent=($D(^KPR(PRNr))>0) + . Quit:(blnPresent) ; bestaand product met DataDefinities + . w !,PRNr + . w " --> eerst DataDefinities verwijderen",! + Quit +dkdDeleteAllIndexen(PRNr) + quit + New Groep,Kenmerk,Waarde + Set (Groep,Kenmerk,Waarde)="" + For Set Groep=$O(^Prod.Ken.DataIndexD(Groep)) Quit:Groep="" Do + . For Set Kenmerk=$O(^Prod.Ken.DataIndexD(Groep,Kenmerk)) Quit:Kenmerk="" Do + .. For Set Waarde=$O(^Prod.Ken.DataIndexD(Groep,Kenmerk,Waarde)) Quit:Waarde="" Do + ... Kill ^Prod.Ken.DataIndexD(Groep,Kenmerk,Waarde,PRNr) + + + + /* +FixTemplateUsed() + New KadID,PICode,tmpID,tmpCode + &sql(DECLARE crsTP cursor for SELECT KD.ID,TP.PICode INTO :KadID, :PICode FROM Prod_GADef.KaderDeur As KD, Res_PI.TemplateKader As TP + WHERE (KD.ID = TP.GADefTemplate) and ((TP.PICode <> KD.TemplateUsed) or (KD.TemplateUsed is null)) + ORDER BY KD.ID) + &sql(OPEN crsTP) + For &sql(FETCH crsTP) Quit:SQLCODE Do:($L($G(KadID)))&&($L($G(PICode))) ftuSetTPCode(KadID,PICode) + &sql(CLOSE crsTP) + Quit +ftuSetTPCode(KadID,PICode) + Quit:$G(KadID)="" + &sql(UPDATE Prod_GADef.KaderDeur SET TemplateUsed=:PICode WHERE ID=:KadID) + w "Updated ID"_KadID,! + Kill tmpID,tmpCode + &sql(SELECT ID,TemplateUsed INTO :tmpID, :tmpCode FROM Prod_GADef.KaderDeur WHERE ID=:KadID) + w tmpID_" "_$G(tmpCode),! + Quit + + ; Full SQL-statement +SELECT KD.ID, TP.Sort, TP.PICode, TP.Klant, Breedte, Hoogte, KD.TemplateUsed, WijzigTijdStip, ProfType, Toepassing, OphangPlaats, Vulling_Vulling, Product, TemplateRoutine + FROM Prod_GADef.KaderDeur As KD, Res_PI.TemplateKader As TP + WHERE KD.ID = TP.GADefTemplate + ORDER BY KD.ID + */ + \ No newline at end of file Index: _vhisie/TBX/TBoxFrame.js =================================================================== diff -u --- _vhisie/TBX/TBoxFrame.js (revision 0) +++ _vhisie/TBX/TBoxFrame.js (revision 2) @@ -0,0 +1,13 @@ +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function InitPage() { + var sURL=window.location.href; + window.fraMain.location.href="DecodeURL.csp?REF=VHEPN\\7833\\252\\W"; // ?REF=VHEPN\\7833\\252\\W // "Tandembox Wizard New.htm"; +} + +function FrameInit() { + InitPage(); +} Index: _vhisie/TBX/SelectSPZK.csp =================================================================== diff -u --- _vhisie/TBX/SelectSPZK.csp (revision 0) +++ _vhisie/TBX/SelectSPZK.csp (revision 2) @@ -0,0 +1,611 @@ + + + + + + + + TandemBox #(..WebTextValue("Spoelbaklade",Taal,"L"))# + + + + + + + + + + + + +
    + #(..WebTextValue($S(blnIsSpoelbak:"Spoelbaklade",1:"Sifonlade"),Taal,"L")_$S(blnDemo:" - DEMO", 1:""))#
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       
    #(..WebTextValue("SPZKKeuze",Taal,"L"))#:
     
    + + + + + + + + + + + + + + + + + +
    #(ZKLi)##($S($L(SPBR):..WebTextValue("Spoelbak",Taal,"L")_":"_SPBR, 1:" "))##(ZKRe)#
    #(..WebTextValue("BinnenmaatCorpus",Taal,"L")_": "_IB_" mm")#
    +
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(..WebTextValue("SPZKType",Taal,"L"))##(..WebTextValue("Spoelbak",Taal,"L"))# *#(..WebTextValue("SPZijstukken",Taal,"L"))# **
    #(iOms)##(iSPBR)# mm#(iZKLi)# mm
      +  
    +
    +   (*) #(..WebTextValue("SPZKOpmerking1",Taal,"O"))#
    +  (**) #(..WebTextValue("SPZKOpmerking2",Taal,"O"))# +
     
    + #(..WebTextValue("Opmerkingen",Taal,"L"))#:
    + #(..WebTextValue("SPZKInbegrepen",Taal,"O"))# +
    + + + + + + + + + + + + + + + + + + + + + + + +
       
    #(..WebTextValue("SPZKKeuze",Taal,"L"))#:
     
    + + + + + + + + + + + + + + + + + +
    #(ZKLi)##($S($L(SPBR):..WebTextValue("Spoelbak",Taal,"L")_":"_SPBR, 1:" "))##(ZKRe)#
    #(..WebTextValue("BinnenmaatCorpus",Taal,"L")_": "_IB_" mm")#
    +
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
               
              
                 
                
                
                
      #(IB)#
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    + + +
    + + +
    + + +
    + + +
    + + +
        
      
    #(..WebTextValue("edtOpen1_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))# mm 
    #(..WebTextValue("edtMidden_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))# mm 
    #(..WebTextValue("edtOpen2_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))# mm 
    #(..WebTextValue("edtRechts_"_$S(blnIsSpoelbak:"SP",1:"SY"),Taal,"L"))# mm 
       
    #(..WebTextValue("edtTotaal",Taal,"L"))# mm 
    + + + + + + + + + + + + + + +
     
     
    + #(..WebTextValue("Sifon_MeerInfo",Taal,"L"))# +  
    +
    + +
    + +
    + +
    + + #(..WebTextValue("Sluiten",Taal,"L"))# + + #("OK"_..WebTextValue("",Taal,"L"))#   #(..WebTextValue("Annuleren",Taal,"L"))# + +
    + + + + + + Index: BL/Prod/GAData/TBXLadeXML.cls.xml =================================================================== diff -u --- BL/Prod/GAData/TBXLadeXML.cls.xml (revision 0) +++ BL/Prod/GAData/TBXLadeXML.cls.xml (revision 2) @@ -0,0 +1,598 @@ + + + +%VHMacro +1 +%RegisteredObject +0 + + +WS.TBX.Order + + + + +Settings voor BuildProxyDoc +%String + + + +%Boolean + + + +%Boolean + + + +%Boolean + + + +%String + + + +%String + + + + +Munt voor de Aankoopprijzen (EUR) +%String + + + + +Set blProxy=##class(BL.Sys.FOP.DataXML).Instantiate(...) +1 +ParentBL:%RegisteredObject +BL.Prod.GAData.TBXLadeXML + + + + + +Parameters: +Indien sDomVERW = "", dan wordt dit afgeleid uit het WSOrder +Taal:%String,Munt:%String="EUR",sDomVERW:%String="",blnShowAKP:%Boolean,blnShowVKP:%Boolean,blnBeursUser:%Boolean=0 + + + + + + + + + +Aanmaken van het proxy-object pxOrder. +OutputType = "PRINT" / "EDI" + +%RegisteredObject + + + + + +Proxy-Doc voor EDI + +BL.Prod.GAData.TBXLadeXML.pxEDIOrder +1) LevTOms=$$$Trim($P(LevTOms," (",1))_" ("_$P(LevTOms," (",2,99) + . Set LevTOms=$$$Replace(LevTOms,"Semaine","Sem.") + . Set pxOrder.LeverTijd=LevTOms + Else Do + . Set pxOrder.LeverTijd=WSOrd.LeverTijd + + // Niet Meeleveren + Do ; If $L(WSOrd.NietMeeleveren) Do + . Set str="" + . For i=1:1:$L(WSOrd.NietMeeleveren,";") Do + . . Set NietMeeKey=($P(WSOrd.NietMeeleveren,";",i)) + . . Set:($E(NietMeeKey,1,2)="NM")&&($E(NietMeeKey,3)'="_") $E(NietMeeKey,1,2)="NM_" + . . Set:($L(NietMeeKey)) str=str_$S($L(str):", ", 1:"")_$$$LCase($$$GetVertaling(NietMeeKey,..Taal,"L")) + . Set WSOrd.NietMeeleverenOms=str + Set pxOrder.NietMeeleveren=WSOrd.NietMeeleveren + Set pxOrder.NietMeeleverenOms=WSOrd.NietMeeleverenOms + + Set:($L(WSOrd.IngaveTijdStip)) pxOrder.IngaveTijdStip=$$FormatDateTime^vhLib("yyyy-mm-dd hh:nn:ss", $$$DateH(WSOrd.IngaveTijdStip)) + Set:($L(WSOrd.SubmitTS)) pxOrder.SubmitTS=$$FormatDateTime^vhLib("yyyy-mm-dd hh:nn:ss", $$$DateH(WSOrd.SubmitTS)) + Set:($LG($LG(WSOrd.SubmitToVHLog,1),1)>0) pxOrder.SubmitToVHTS=$$FormatDateTime^vhLib("yyyy-mm-dd hh:nn:ss", $LG($LG(WSOrd.SubmitToVHLog,1),1), ..Taal) + + Set pxOrder.URLPrintPage = WSOrd.GetPrintPageURL(,..Taal) + + ;Set pxOrder.KLPrijsKlasse=WSOrd.KLPrijsKlasse + ;Set pxOrder.TransferLog=WSOrd.TransferLog + ;Set pxOrder.WebDomain=WSOrd.WebDomain + ;Set pxOrder.WebQSData=WSOrd.WebQSData + ;Set pxOrder.WebURL=WSOrd.WebURL + ;Set pxOrder.ShowInHist=WSOrd.ShowInHist + + Set blnContainsGlas=0 + Set i="" + For Set WSLn=pxOrder.Lijnen.GetNext(.i) Quit:(i="") Set blnContainsGlas=(blnContainsGlas)||(WSLn.ItemBX?1(1"BG",1"COV"))||(WSLn.ItemBGRP?1(1"V")) + + // Fill Order Lijnen + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do Quit:($$$ISERR(sc)) + . Set pxLijn=..BuildLijnEDI(WSLn, .sc) + . Quit:($$$ISERR(sc))||('$IsObject(pxLijn)) + . Do pxOrder.Lijnen.Insert(pxLijn) + . Set:(blnContainsGlas) pxLijn.ItemKVOms="-" + + /// Prijzen invullen + Set (TotPrijsVK,TotPrijsAK)=0 + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . Set TotPrijsVK=TotPrijsVK+(WSLn.KostPrijs*WSLn.Qty) + . Set TotPrijsAK=TotPrijsAK+(WSLn.AKPrijs*WSLn.Qty) + Set pxOrder.TotPrijsVK=$S(..blnShowVKP:##class(BL.Prod.GAData.TBXLadeXML.pxAttribMunt).Create(TotPrijsVK,..Munt ), 1:"") ; =..PrijsConvert(MuntCalc ,TotPrijsVK) + Set pxOrder.TotPrijsAK=$S(..blnShowAKP:##class(BL.Prod.GAData.TBXLadeXML.pxAttribMunt).Create(TotPrijsAK,..MuntAK), 1:"") ; =..PrijsConvert(MuntCalcAK,TotPrijsAK) + ;Set pxOrder.Munt="" + + Quit pxOrder +]]> + + + + +Proxy-Lijn voor EDI + +BL.Prod.GAData.TBXLadeXML.pxEDIOrderLijn + + + + + +Proxy-Doc voor PrintPage + +BL.Prod.GAData.TBXLadeXML.pxPrintOrder + m.a.w. pxOrder.Munt moet correct ingevuld worden (EUR of CHF); prijzen van WSOrd niet meer omrekenen, dus Munt="EUR" + . Set ..Munt=$S(..blnShowAKP:..MuntAK, 1:..Munt) + Set sc=$$$OK + + // Create Proxy + Set pxOrder=##class(BL.Prod.GAData.TBXLadeXML.pxPrintOrder).%New() + + // Copy Properties + Set pxOrder.OrderNr=WSOrd.OrderNr ; Set pxOrder.mID=WSOrd.mID + Set pxOrder.Taal=WSOrd.Taal + Set pxOrder.Commissie=WSOrd.Commissie + Set pxOrder.KLNaam=WSOrd.KLNaam + Set pxOrder.KLNummer=WSOrd.KLNummer + Set pxOrder.KLStraatNrBus=WSOrd.KLStraatNrBus + Set pxOrder.KLPostNr=WSOrd.KLPostNr + Set pxOrder.KLWoonPlaats=WSOrd.KLWoonPlaats + Set pxOrder.KLTelefoon=WSOrd.KLTelefoon + Set pxOrder.KLFax=WSOrd.KLFax + Set pxOrder.KLEMail=WSOrd.KLEMail + Set pxOrder.KLBTWNr=WSOrd.KLBTWNr + + Set pxOrder.TotAantal=WSOrd.TotAantal + Set pxOrder.ExtraTekst=WSOrd.ExtraTekst + Set pxOrder.Opmerking1=WSOrd.Opmerking1 + Set pxOrder.BonType=WSOrd.BonType + If ..blnShowAKP Do + . Set pxOrder.BonType=WSOrd.BonType_"-AK" + Else Do + . Set:(WSOrd.BonType="INKP") pxOrder.BonType="BBON" + + // Levertijd + Set pxOrder.LeverTijdID=WSOrd.LeverTijdID + If WSOrd.LeverTijdID="ASAP" Do + . Set LevTOms=WSOrd.LeverTijd + . Set:(LevTOms[" (") $P(LevTOms," (",1)="ASAP" + . Set pxOrder.LeverTijd=LevTOms + Else If pxWSOrd.LeverTijdID="LATER" Do + . Set pxOrder.LeverTijd=WSOrd.LeverTijd_$$$CRLF_">>"_$C(160)_WSOrd.Opmerking1 + Else If $L(WSOrd.LeverTijdID) Do + . Set LevTOms=$TR(WSOrd.LeverTijd,$C(160)," ") + . Set LevTOms=$$$Replace(LevTOms," - ","-") + . Set:($L(LevTOms," (")>1) LevTOms=$$$Trim($P(LevTOms," (",1))_" ("_$P(LevTOms," (",2,99) + . Set LevTOms=$$$Replace(LevTOms,"Semaine","Sem.") + . Set pxOrder.LeverTijd=LevTOms + Else Do + . Set pxOrder.LeverTijd=WSOrd.LeverTijd + + // Niet Meeleveren + Do ; If $L(WSOrd.NietMeeleveren) Do + . Set str="" + . For i=1:1:$L(WSOrd.NietMeeleveren,";") Do + . . Set NietMeeKey=($P(WSOrd.NietMeeleveren,";",i)) + . . Set:($E(NietMeeKey,1,2)="NM")&&($E(NietMeeKey,3)'="_") $E(NietMeeKey,1,2)="NM_" + . . Set:($L(NietMeeKey)) str=str_$S($L(str):", ", 1:"")_$$$LCase($$$GetVertaling(NietMeeKey,Taal,"L")) + . Set WSOrd.NietMeeleverenOms=str + Set pxOrder.NietMeeleveren=WSOrd.NietMeeleveren + Set pxOrder.NietMeeleverenOms=WSOrd.NietMeeleverenOms + + Set:($L(WSOrd.IngaveTijdStip)) pxOrder.IngaveTijdStip=$$FormatDateTime^vhLib($$$DateH(WSOrd.IngaveTijdStip)) + Set:($L(WSOrd.SubmitTS)) pxOrder.SubmitTS=$$FormatDateTime^vhLib($$$DateH(WSOrd.SubmitTS)) + Set:($LG($LG(WSOrd.SubmitToVHLog,1),1)>0) pxOrder.SubmitToVHTS=$$FormatDateTime^vhLib("yyyy-mm-dd hh:nn:ss", $LG($LG(WSOrd.SubmitToVHLog,1),1), .Taal) + + ;Set pxOrder.KLKorting=WSOrd.KLKorting + ;Set pxOrder.KLPrijsKlasse=WSOrd.KLPrijsKlasse + ;Set pxOrder.TransferLog=WSOrd.TransferLog + ;Set pxOrder.WebDomain=WSOrd.WebDomain + ;Set pxOrder.WebQSData=WSOrd.WebQSData + ;Set pxOrder.WebURL=WSOrd.WebURL + ;Set pxOrder.ShowInHist=WSOrd.ShowInHist + + Set blnContainsGlas=0 + Set i="" + For Set WSLn=pxOrder.Lijnen.GetNext(.i) Quit:(i="") Set blnContainsGlas=(blnContainsGlas)||(WSLn.ItemBX?1(1"BG",1"COV"))||(WSLn.ItemBGRP?1(1"V")) + + // Fill Order Lijnen + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do Quit:($$$ISERR(sc)) + . Set pxLijn=..BuildLijnPrint(WSLn, .sc) + . Quit:($$$ISERR(sc))||('$IsObject(pxLijn)) + . Do pxOrder.Lijnen.Insert(pxLijn) + . Set:(blnContainsGlas) pxLijn.ItemKVOms="-" + + /// Prijzen invullen + Set (TotPrijsVK,TotPrijsAK)=0 + Set i="" + For Set WSLn=pxWSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . Set TotPrijsVK=TotPrijsVK+(WSLn.KostPrijs*WSLn.Qty) + . Set TotPrijsAK=TotPrijsAK+(WSLn.AKPrijs*WSLn.Qty) + Set pxOrder.TotPrijs=$S(..blnShowVKP:TotPrijsVK, ..blnShowAKP:TotPrijsAK, 1:"") ; =..PrijsConvert(MuntCalc,TotPrijs) + Set pxOrder.Munt=..Munt + + Quit pxOrder +]]> + + + + +Proxy-Lijn voor Print + +BL.Prod.GAData.TBXLadeXML.pxPrintOrderLijn + + + + + +Berekende waarden voor de Omschrijving van Kleurkeuzes e.d. +pxLijn:%RegisteredObject,WSLn:%RegisteredObject + + + + + +Omzetten van prijs naar andere munt-eenheden +1 +Munt:%String,Val:%String +%String + + + + + +%Status + + + + + +TestMethod Create XMLSchema for EDI +Oproepen via + s sc=##class(BL.Prod.GAData.TBXLadeXML).CreateEDISchema() w sc,! +1 +%Status + + + + + +TestMethod +Oproepen via + s sc=##class(BL.Prod.GAData.TBXLadeXML).TestEDI() w sc,! +1 +wsID:%String +%Status + + + + + +TestMethod +Oproepen via + s sc=##class(BL.Prod.GAData.TBXLadeXML).TestEDI() w sc,! +!!! DEPRECATED !!! +1 +wsID:%String +%Status + + + + Index: TECH/FileInfo.cls.xml =================================================================== diff -u --- TECH/FileInfo.cls.xml (revision 0) +++ TECH/FileInfo.cls.xml (revision 2) @@ -0,0 +1,28 @@ + + + +1 +%RegisteredObject +0 + + +%Date + + + +%Date + + + +%Float + + + +%String + + + +%String + + + Index: _vhisie/TBX/Wizard.csp =================================================================== diff -u --- _vhisie/TBX/Wizard.csp (revision 0) +++ _vhisie/TBX/Wizard.csp (revision 2) @@ -0,0 +1,461 @@ + + + + + + + + + + + + + #($S(blnVHEPN:"Van Hoecke - ",1:"")_"TandemBox - "_..WebTextValue("INGAVE-WIZARD",Taal,"L"))# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + + + +
    1
    #(..WebTextValue("Personalia",Taal,"L",$LB("U")))#
    2
    #(..WebTextValue("Kleurkeuze",Taal,"L",$LB("U")))#
    3
    #(..WebTextValue("Maten",Taal,"L",$LB("U")))#
    4
    #(..WebTextValue("Overzicht",Taal,"L",$LB("U")))#
    +
    + + +
    + +
    + +
    + +
    + +
    + +
    + +
    + +
    + + +
    + + +
    + + + + + + \ No newline at end of file Index: DW/WWW/FilterDef.cls.xml =================================================================== diff -u --- DW/WWW/FilterDef.cls.xml (revision 0) +++ DW/WWW/FilterDef.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +FilterDef +%Persistent +0 + + + +Om hoofdgroep te bepalen +Over welke site gaat het (Van Hoecke, Orgalux,...) +%Library.String + + + + +Categorie van webpagina +%Library.String + + + + +Zoekstring waarop gefiltert moet worden +%Library.String + + + +%Library.CacheStorage +^DW.WWW.FilterDefD +FilterDefDefaultData +^DW.WWW.FilterDefD +^DW.WWW.FilterDefI +^DW.WWW.FilterDefS + +listnode + + +%%CLASSNAME + + +Categorie + + +Site + + +ZoekString + + +Item + + +FilterDoel + + + + + Index: BL/Sys/FOP/Common.inc.rou =================================================================== diff -u --- BL/Sys/FOP/Common.inc.rou (revision 0) +++ BL/Sys/FOP/Common.inc.rou (revision 2) @@ -0,0 +1,129 @@ + /// Routine : BL.Sys.FOP.Common.INC + /// + /// Author : Wim Vermeulen + /// Created : 12/12/2006 + /// + + #include %occInclude + #include %VHMacro + #include DocBaseCNTs + #include VHSys.Scheduler + + // ResourceName for the DocBaseWS Lock (prevent simultaneous async WS-calls) + #define ResDocBaseWS SysFOPDocBaseWSProcess + // ResourceName for the FaxWS Lock (prevent simultaneous async WS-calls) + #define ResFaxWS SysFOPFaxWSProcess + + // Error messages etc. + #define msgSOAPTRAP "SOAP TRAP" + #define StringEmpty $C(0) + #define ErrorNextOnQueue $$$ERROR($$$GeneralError,"Cannot find/open next task on Queue.") + #define ErrorProxyEmpty(%v) $$$ERROR($$$GeneralError,%v_" is empty.") + #define ErrorProxyPLEmpty $$$ErrorProxyEmpty("List pxDoc.PrijsLijsten") + + + + ; === Path to disk locations === + + // Suffixes are FOP (accessible from FOP-server), Ntw (Network), User (User-share), URL (converted web-dir) + #define ArchiveDirFOP "\\Notes01\f$\archive\" + #define ArchiveDirUser "\\Notes01\archive\" + + #define CvtFop2Ntw(%v) $$$CvtFopC2Ntw($$$CvtFopE2Ntw(%v)) + #define CvtFopC2Ntw(%v) $$$Replace(%v,"C:\","\\fop\c$\") + #define CvtFopE2Ntw(%v) $$$Replace(%v,"E:\","\\fop\e$\") + + #define OMRSourceDir "E:\FOP\PPOD_Out\" + #define OMRSourceDirNtw $$$CvtFopE2Ntw($$$OMRSourceDir) + #define OMRPrintDir "E:\FOP\OMR_Print\" + #define OMRPrintDirNtw $$$CvtFopE2Ntw($$$OMRPrintDir) + + #define PPODSourceDir "E:\FOP\PPOD_Out\" + #define PPODSourceDirNtw $$$CvtFopE2Ntw($$$PPODSourceDir) + #define PPODFaxDir "E:\FOP\PPOD_Fax\" + #define PPODFaxDirNtw $$$CvtFopE2Ntw($$$PPODFaxDir) + + #define PDFMailDir "E:\FOP\PDF_Mail\" + #define PDFMailDirNtw $$$CvtFopE2Ntw($$$PDFMailDir) + + #define FOPInetPubURL "http://fop/pdfs/" + #define FOPInetPubDir "E:\InetpubFOP\pdfs\" + #define FOPInetPubDirNtw $$$CvtFopE2Ntw($$$FOPInetPubDir) + + + + // === PPOD fields : Type === + + ;Factuur + #define ppodtFactuur "FACTUUR" + ;PrijstLijst + #define ppodtPrijsLijst "PRIJSLIJST" + ;Rappel + #define ppodtRappel "RAPPEL" + // Gebruikt, maar niet in PPOD : + ;Order + #define ppodtOrder "ORDER" + ;Offerte + #define ppodtOfferte "OFFERTE" + ;Levering + #define ppodtLevBon "LEVBON" + ;Toelevering + #define ppodtToelev "TOELEV" + + ;TransportLijst + #define ppodtTransportLijst "TRANSPORTLIJST" + + // !!! BIJ WIJZIGING volgende routine uitvoeren !!!, boven elke macro de stringversie in commentaar + // d GenerateRes^vhTools("FOP.DocRepo.PPOD","BL.Sys.FOP.Common","Type","PPOD fields Type","ppodt",1) + + + ; === PPOD fields : Regio === + + ;Boekhouding + #define ppodrIntern "BKH" + ;Belgi� + #define ppodrBelgie "BE" + ;Europa + #define ppodrEurRegio "EUR" + ;Andere + #define ppodrAndere "XX" + ;Kopie + #define ppodrKopieAan "KOPIE" + + // !!! BIJ WIJZIGING volgende routine uitvoeren !!!, boven elke macro de stringversie in commentaar + // d GenerateRes^vhTools("FOP.DocRepo.PPOD","BL.Sys.FOP.Common","Regio","PPOD fields Regio","ppodr",1) + + + + // === Miscellaneous === + + // BL-class for the CHUI.Print interface + #define cmPrint ##class(BL.FOP.Print) + + // Reprint suffix added to Printgroup + #define ResetSuffix "-RE" + + // Printlog types + #define pltPrint 1 + + // PPOD Statuses + #define psCompleted "C" + #define psWaiting "W" + + // Delimiter for Task.KeyWords + #define TaskKeyWordDelim ";" + + // Delimiter voor Xslt-Parameter configs (i.e. samengestelde parameters zoals pStaplingConfig = Stapling_StapleOption_OutputTray + #define xslpDelim "_|_" + + // LevDocType (ldt) : Type bepaalt de parameters/combinatie voor het afdrukken van doc/papier/logo/... + #define ldtBonWit "BonWit" + #define ldtBonWitBewijs "BonWit_Bewijs" + #define ldtBewijsBonWit "Bewijs_BonWit" + #define ldtBonWitBonGeel "BonWit\BonGeel" + #define ldtBonWitBewijsLos "BonWit\Bewijs" + #define ldtBonGeel "BonGeel" + + // Mail From adres voor FOP-server (DocBase) + #define FopMailFromKort "" + #define FopMailFrom """PDF-service VH"" " \ No newline at end of file Index: APPS/TBXWeb/impl/Logger.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/Logger.cls.xml (revision 0) +++ APPS/TBXWeb/impl/Logger.cls.xml (revision 2) @@ -0,0 +1,32 @@ + + + +vhLib.Macro +1 +vhLib.Logger +0 + + +%New method to +provide notification that a new instance of an object is being created. + +

    If this method returns an error then the object will not be created.]]> +Groep:%String +1 +1 +%Status + + + + + + + + + Index: csp/tbx/help/howto.cls.xml =================================================================== diff -u --- csp/tbx/help/howto.cls.xml (revision 0) +++ csp/tbx/help/howto.cls.xml (revision 2) @@ -0,0 +1,504 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9) + Write "" + Write "" + Write "
    ",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    " + Write "" + Write (..WebTextValue("Help",Taal,"L",$LB("U"))) + Write "" + Write "
     
     
    ",! + Write $c(9,9,9,9,9,9) + If '(sDomVERW?1(1"HEIN",1"MBHO")) Goto %csp00001 ;{ + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "INDEX:" + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9,9,9,9,9,9,9)_"→ " + Write "" + Write "TANDEM-BOX" + Write "" + Write !,$c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) +%csp00002 ;} + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9)_"
    ",! + If '(sDomVERW?1(1"HEIN",1"SFS",1"MBHO")) Goto %csp00003 ;{ + Write !,$c(9) + Write "" + Write "" + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("ContactInfo",Taal,"L",$LB("U")))_":" + Write "" + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9) + If '(sDomVERW="HEIN") Goto %csp00004 ;{ + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "Hein:" + Write "" + Write " Sie erreichen uns zu den üblichen Bürozeiten unter:
    ",! + Write $c(9,9,9,9,9,9,9)_"
      ",! + Write $c(9,9,9,9,9,9,9,9)_"
    • Tel.: +49 (0) 7034-9270-0
      ",! + Write $c(9,9,9,9,9,9,9,9)_"
    • Fax : +49 (0) 7034-9270-70
      ",! + Write $c(9,9,9,9,9,9,9,9)_"
    • E-mail: " + Write "" + Write ($$$EMailTBXInfo2Hein) + Write "" + Write "
      ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9) +%csp00004 ;} + Write !,$c(9,9,9,9) + If '(sDomVERW="SFS") Goto %csp00005 ;{ + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "SFS unimarket:" + Write "" + Write " Sie erreichen uns zu den üblichen Bürozeiten unter:
    ",! + Write $c(9,9,9,9,9,9,9)_"
      ",! + Write $c(9,9,9,9,9,9,9,9)_"
    • Tel.: +41 71 727 52 50
      ",! + Write $c(9,9,9,9,9,9,9,9)_"
    • Fax : +41 71 727 52 04
      ",! + Write $c(9,9,9,9,9,9,9,9) + If '(Taal="F") Goto %csp00006 ;{ + Write !,$c(9,9,9,9,9,9,9,9)_"
    • E-mail: " + Write "" + Write ($$$EMailTBXInfo2SfsFR) + Write "" + Write "
      ",! + Write $c(9,9,9,9,9,9,9,9) + Goto %csp00007 ;} +%csp00006 ;{ + Write !,$c(9,9,9,9,9,9,9,9)_"
    • E-mail: " + Write "" + Write ($$$EMailTBXInfo2SfsDU) + Write "" + Write "
      ",! + Write $c(9,9,9,9,9,9,9,9) +%csp00007 ;} + Write !,$c(9,9,9,9,9,9,9)_"
    "_$c(9,9,9,9,9,9,9),! + Write $c(9,9,9,9) +%csp00005 ;} + Write !,$c(9,9,9,9) + If '(sDomVERW="MBHO") Goto %csp00008 ;{ + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "Meubelbeslag Holland:" + Write "" + Write " U kan ons bereiken tijdens onze kantooruren via:
    ",! + Write $c(9,9,9,9,9,9,9)_""_$c(9,9,9,9,9,9,9),! + Write $c(9,9,9,9) +%csp00008 ;} + Write !,$c(9,9,9,9,9,9)_"

    ↑ " + Write "" + Write "Top" + Write "" + Write "
    ",! + Write $c(9,9,9)_"
    ",! +%csp00003 ;} + Write !,!,$c(9) + Write "" + Write "" + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) + Write !,$c(9,9,9),! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) + If '((sDomVERW?1(1"VHEPN",1"LMC",1"SFS",1"MBHO"))) Goto %csp00010 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) +%csp00010 ;} + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) + If '((Taal="F")=0) Goto %csp00011 ;{ + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9) +%csp00011 ;} + Write !,!,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write !,!,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("MainInfoTipsKlik",Taal,"L",$LB("U")))_":" + Write "" + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + If '((+$H<61605)) Goto %csp00009 ;{ + Write "" + Write "
    " +%csp00009 ;} + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("IHT_DefaultsKLR",Taal,"L"))_":" + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("IHT_DefaultsKLR",Taal,"O")),! + Write $c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("Spoelbaklade",Taal,"L"))_":" + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("IHT_SPZK",Taal,"O")),! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("HistoriekTonen",Taal,"L"))_":" + Write "" + Write ($S(sDomVERW="VHEPN":"  ("_..WebTextValue("IHT_LoginVerplicht_VH",Taal,"L")_")",1:""))_"
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("IHT_HistoriekTonen",Taal,"O")),! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("IHT_OrderDtlActies",Taal,"L"))_":" + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("IHT_OrderDtlActies",Taal,"O")),! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("BtnModifyOrder",Taal,"L"))_":" + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("IHT_ModifyOrder",Taal,"O")),! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("IHT_LadeBeperkingen",Taal,"L"))_":" + Write "" + Write " ("_(..WebTextValue("IHT_FoutOplossen",Taal,"O"))_")
    ",! + Write $c(9,9,9,9,9,9,9) + Set OmsLadeBeperkingen=..WebTextValue("IHT_LadeBeperkingen",Taal,"O") + Set:(sDomVERW="LMC") OmsLadeBeperkingen=$$$Replace(OmsLadeBeperkingen,"BonTBX_","BonTBX LMC_") + Set OmsContactUs=..WebTextValue("IHT_LadeBeperkingen2",Taal,"O") + Set OmsContactInfo=..WebTextValue("ContactInfo",Taal,"L") + Set OmsContactURL=..WebTextValue("ContactInfoURL_"_$CASE(sDomVERW, "HEIN":"HEIN", "LMC":"OPTIMA", "DUPO":"DUPO", "HELMY":"DESTIL", "HFLE":"HFLE", "SFS":"SFS", "MBHO":"MBHO", :"VH"),Taal,"L") + ;Set OmsContactFull=OmsContactUs_" "_OmsContactInfo_"." + Write !,$c(9,9,9,9,9,9,9)_(OmsLadeBeperkingen)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"→ "_(OmsContactUs)_" "_(""_OmsContactInfo_"")_".",! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("IHT_ControlesIngave",Taal,"L"))_":" + Write "" + Write "  "_(..WebTextValue("IHT_ControlesIngave2",Taal,"L"))_"
    ",! + Write $c(9,9,9,9,9,9,9)_( $$$Replace(..WebTextValue("IHT_ControlesIngave",Taal,"O"),"(*)","(*)") )_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"   " + Write "" + Write "(*)" + Write "" + Write " "_(..WebTextValue("IHT_ControlesIngaveRef",Taal,"O")),! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("IHT_TekstLabelInfo",Taal,"L"))_":" + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("IHT_TekstLabelInfo",Taal,"O")),! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write (..WebTextValue("IHT_ScrollLijstMaten",Taal,"L"))_":" + Write "" + Write "
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("IHT_ScrollLijstMaten",Taal,"O")),! + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    ↑ " + Write "" + Write "Top" + Write "" + Write "

    " + Write "" + Write (..WebTextValue("Sluiten",Taal,"L")) + Write "" + Write "
     
    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     
    ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_""_(..WebTextValue("TBoxInfo",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write ! + Do ..OnPageHEAD() + Write ! + Set UrlGeneralInfo=$CASE(sDomVERW, "HEIN":"http://www.tandem-box.de/01Startseite/Startseite.html", "LMC":"http://www.optimapack.fr/France/TbxPresentation.asp", "DUPO":"", "HELMY":"", "SFS":"", "HFLE":"", "MBHO":$$$TBoxInfoPageMBHO, :"http://www.vanhoecke.be/"_$S(Taal="F":"fr/produits",1:"nl/producten")_"/tandem-box/") + Set:(UrlGeneralInfo="") UrlGeneralInfo="javascript:;" + Set TargetGeneralInfo=$S(sDomVERW="HEIN":"Main", (sDomVERW="DUPO")||(sDomVERW="HELMY")||(sDomVERW="HFLE")||(sDomVERW="MBHO"):"_self", 1:"_blank") + /* + #(..WebTextValue("Help",Taal,"L"))# + #(..WebTextValue("Help",Taal,"L"))# + #(..WebTextValue("Help",Taal,"L"))# + */ + Write ! + Do ..OnPageBODY() + Write !,"" +]]> + + + +c:\cachesys\csp\vhisie\TBX\Help\HowTo.csp + + + +/vhisie/TBX/Help/HowTo.csp + + + +0 + + + +62055,43762 + + + +0 + +
    +
    Index: Prod/GAMeta/BT/TBFrontKleur.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBFrontKleur.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBFrontKleur.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBKFD") +TBFrontKleurDefaultData +^Res.PI.Items("PR;GA;TBKFD") +^Res.PI.Items("index","PR;GA;TBKF") +^Res.PI.Items("stream","PR;GA;TBKF") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Derde/Lev/Lev.cls.xml =================================================================== diff -u --- Derde/Lev/Lev.cls.xml (revision 0) +++ Derde/Lev/Lev.cls.xml (revision 2) @@ -0,0 +1,1072 @@ + + + +persistent +DataM +%Library.Persistent + + + +Uniekheid index voor property Nr +0 +1 +0 +Nr +1 + + + + +Format: Char: 8 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 28 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Numeric: 9 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Numeric: 12 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Numeric: 12 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 1 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 7 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Date +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +E-mail adres voor de ganse firma +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 1 + +Waarde +empty = naan +. = ja +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +verouderd zie ^PERS +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Numeric: 2 +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 3 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 3 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Numeric: 1 + +Waarde +empty = neen +1 = ja +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 2 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 3 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 3 +Waarde: BF, HFL, FF of MTL +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 25 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 28 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Numeric: 5 +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +Format: Numeric:4 of Char: 3-Char: 18 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Numeric: 4 of Char: 3-Char: 18 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 28 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 1 +Waarde: N, F of D +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 1 +Waarde: N,F,D of E +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 18 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 18 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 18 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 18 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 5 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 28 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 35 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 4 +Waarde tussen 7000 en 7300 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Numeric: 2 +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 24 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Format: Char: 24 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +0 +1 +code +LevNr:%Library.String +0 +%Library.String +0 + + + + +0 +1 +code +Filter:%Library.String +0 +%Library.List +0 + + + + +%CacheSQLStorage +^Derde.Le.LevS + +data +^KLE +delimited + +"K" + + +"LE.A" + + +{Nr} + + +"\" +0 +4 + + +"\" +4 +2 + + +"\" +1 +12 + + +"\" +0 +16 + + +"\" +1 +1 + + +"\" +1 +17 + + +"\" +2 +7 + + +"\" +0 +18 + + +"\" +2 +22 + + +"\" +2 +19 + + +"\" +1 +10 + + +"\" +2 +20 + + +"\" +0 +17 + + +"\" +0 +8 + + +"\" +1 +15 + + +"\" +2 +17 + + +"\" +3 +3 + + +"\" +0 +22 + + +"\" +0 +11 + + +"\" +0 +2 + + +"\" +1 +11 + + +"\" +0 +1 + + +"\" +0 +6 + + +"\" +1 +13 + + +"\" +0 +5 + + +"\" +0 +9 + + +"\" +1 +16 + + +"\" +1 +24 + + +"\" +0 +13 + + +"\" +0 +14 + + +"\" +1 +18 + + +"\" +2 +2 + + +"\" +0 +3 + + +"\" +4 +4 + + +"\" +4 +5 + + +"\" +4 +6 + + +"\" +4 +1 + + +"\" +4 +3 + + +"\" +2 +12 + + +"\" +2 +11 + + +"\" +2 +14 + + +"\" +3 +5 + + +"\" +3 +4 + + +"\" +2 +13 + + +"\" +2 +1 + + +"\" +2 +18 + + +"\" +0 +7 + + +"\" +1 +14 + + + + + Index: _vhisie/TBX/TBoxSelectVulstuk.js =================================================================== diff -u --- _vhisie/TBX/TBoxSelectVulstuk.js (revision 0) +++ _vhisie/TBX/TBoxSelectVulstuk.js (revision 2) @@ -0,0 +1,221 @@ +// Constants: +var cHyperEventError="HyperEvent Error"; + +// General variabels (initial values): +var ActiveTaal=""; +var UserID=""; +var OrdID=""; +var sPrintRef=""; +//var wsID=""; +//var KLNr=""; +var blnDocInited=false; +var blnSesActive=true; + +var arActBtn=Array(); +var arValidateClick=Array(); + +var DS=""; // DesignID, voor beperkingen op LT - LD - DK - BX +var DC=""; // DesignCode : S, I, B, F,MA +var VSM ; +var KV ; +var KVUpdate = false ; + +var winTBXHelp=Object; +var winInfoPage=Object; + +var DisplayVSM; + + +function SimulButtonClick(NewButton, GroepVar) { + ClickButtonObj(document.getElementById(NewButton), GroepVar); + ToggleButtonObj(document.getElementById(NewButton), "ON", GroepVar); +} + +function ToggleButton(OnOff, id, GroepVar) { + ToggleButtonObj(document.getElementById(id), OnOff, GroepVar); +} + +function ClickButton(id, GroepVar) { + ClickButtonObj(document.getElementById(id), GroepVar); +} + +function ToggleButtonXtd(obj, OnOff, ActiveButton, ClassNormal, ClassHiLite, ClassActive) { + if (!obj) return; + var id=obj.getAttribute('id'); + if (isIE()) //microsoft doesn't like ECMA-standards... + { + if (id==ActiveButton) obj.className=ClassActive; + else obj.className=(OnOff.toUpperCase()=="ON" ? ClassHiLite : ClassNormal); + } + else + { + if (id==ActiveButton) obj.setAttribute("class",ClassActive); + else obj.setAttribute("class",(OnOff.toUpperCase()=="ON" ? ClassHiLite : ClassNormal)); + } +} + +function ClickButtonObjXtd(obj, GroepVar, ActBtnRef, blnForceAct, ExecRtn) { + if (obj=="") { var NewButton=""; } // Deselect previous button. + else if (!obj) { return; } // Abort ClickButton + else { var NewButton=obj.getAttribute('id'); } + var ActiveButton=eval(ActBtnRef); + if (!blnForceAct) blnForceAct=false; + if (NewButton != ActiveButton || blnForceAct) + { + // By having added "|| blnForceAct" to the above condition, the if clause + // will be executed when blnForceAct=true, also if a user clicked on the ActiveButton. + var OldButton=ActiveButton; + ActiveButton=NewButton; + eval(ActBtnRef + "=ActiveButton;"); // execute: ActBtn=ActiveButton; + if (!OldButton) OldButton=""; + ToggleButtonObj(document.getElementById(OldButton), "OFF", GroepVar); + ToggleButtonObj(document.getElementById(ActiveButton), "ON", GroepVar); + // Extra routine uitvoeren + if (ExecRtn && ExecRtn.length) eval(ExecRtn); + } +} + + +function ToggleButtonObj(obj, OnOff, GroepVar) { + if (!obj) return; + var arSettings=Array(); + switch (GroepVar) + { + //case "xx" : arSettings=Array(ActiveButton, ClassNormal, ClassHiLite, ClassActive ); break; + //----------- ------------ ----------- ----------- ----------- + case "VSMat" : arSettings=Array(arActBtn[GroepVar], "clsVSMatBtn", "clsVSMatBtnHiLite", "clsVSMatBtnActive"); break; + case "VSKleur" : arSettings=Array(arActBtn[GroepVar], "clsVSKleur" , "clsVSKleurHiLite" , "clsVSKleurActive" ); break; + default : alert ('Onbekend type'); return; break; + } + if (isUndef(arSettings[3])) arSettings[3]=arSettings[2]; + ToggleButtonXtd(obj,OnOff,arSettings[0],arSettings[1],arSettings[2],arSettings[3]); +} + +function ClickButtonObj(obj, GroepVar) { + if (!obj) return; + if (!ValidateClick(GroepVar)) return; + var arSettings=Array(); + var ActBtnRef='arActBtn["'+GroepVar+'"]'; + switch (GroepVar) + { + //case "xx" : arSettings=Array(ActiveButton, blnForceAct, ExecRtn ); break; + //----------- ------------ ----------- ------- + case "VSMat" : arSettings=Array(ActBtnRef, false , "BtnVSMatClickExec(NewButton,OldButton);" ); break; + case "VSKleur" : arSettings=Array(ActBtnRef, false , "BtnVSKleurClickExec(NewButton,OldButton);" ); break; + default : alert ('Onbekend type'); return; break; + } + ClickButtonObjXtd(obj,GroepVar,arSettings[0],arSettings[1],arSettings[2]); +} + +function ValidateClick(GroepVar) { + if (!GroepVar) return true; + if (isUndef(arValidateClick[GroepVar])) return true; + return arValidateClick[GroepVar].Rtn(); +} + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function TaalIndex (Taal) { + var Ndx; + switch (Taal) + { + case "N" : Ndx=0; break; + case "F" : Ndx=1; break; + case "E" : Ndx=2; break; + case "D" : Ndx=3; break; + default : Ndx=0; break; + } + return (Ndx); +} + +function SetDivsHidden(ExcludeDivName) { + var i; + var DivID; + var coll = document.getElementsByTagName("DIV"); + if (coll!=null) { + if (! ExcludeDivName) ExcludeDivName=''; + for (i=0; i < coll.length; i++) { + DivID=DollarGet(coll[i].getAttribute('id')); + if ((DivID.indexOf('grpVSMat_')==0) && (DivID != ExcludeDivName)) { + coll[i].style.visibility='hidden'; + } + } + } +} + +function BtnVSMatClickExec(NewButton,OldButton) { + var NewDiv=document.getElementById(NewButton.replace("btn","grp")); + var OldDiv=document.getElementById(OldButton.replace("btn","grp")); + if (OldDiv) { OldDiv.style.visibility="hidden"; OldDiv.style.zIndex=-1; } + if (NewDiv) { NewDiv.style.visibility="visible"; NewDiv.style.zIndex=1; } +} + +function SetVulstukImage(KV) +{ var imgVulstuk=document.getElementById("imgVulstuk"); + if (imgVulstuk) imgVulstuk.src = "./media/vulstukken/KV_" + KV + "_1.jpg"; + +} + +function SetVulstukText(idVSM,idKV) +{ var txtVulstuk = GetInnerText(idVSM) + ' : ' + GetInnerText(idKV.replace("img","txt")); + SetInnerHTML ("txtVulstuk",txtVulstuk); + +} + +function BtnVSKleurClickExec(NewButton,OldButton) { + var idKV = arActBtn["VSKleur"]; + var idVSM = arActBtn["VSMat"]; + + KV = idKV.replace("imgVSKleur_",""); + VSM = idVSM.replace("btnVSMat_",""); + + KVUpdate = true ; + + SetVulstukImage(KV); + SetVulstukText(idVSM,idKV); +} + +function UpdateKV (KV,VSM) { + var idKV = arActBtn["VSKleur"]; + var idVSM = arActBtn["VSMat"]; + var InschfElmnt=Object; + InschfElmnt.ID=KV; + InschfElmnt.Oms=GetInnerText(idKV.replace("img","txt")); + InschfElmnt.MatID=VSM; + InschfElmnt.MatOms=GetInnerText(idVSM); + var winOpener = window.opener; + if (winOpener) + { if (KVUpdate) winOpener.UpdateInschfElmnt(InschfElmnt); + window.close() ; } + else alert("return value " + KV + " "+ VSM ); +} + +function btnOkClick() +{ + UpdateKV(KV,VSM); +} + + +function init () { + var DefaultTaal = "N"; + + MM_preloadImages(); + + // Initialisatie van andere objecten + SetDivsHidden(); + + initJSArrays(); // function in Header of CSP-page : set DefaultButton = ... + + var InitVSM = DisplayVSM; + var InitKleur = DollarGet(arActBtn["VSKleur"]); + + if (InitVSM != "btnVSMat_GL8") arActBtn["VSMat"]="btnVSMat_GL8"; + if (InitVSM != "") SimulButtonClick(InitVSM, "VSMat"); + if (InitKleur != "") SimulButtonClick(InitKleur, "VSKleur"); + + blnDocInited=true; +} + Index: _vhisie/TBX/TBox WebOrder VH_TLOLD.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder VH_TLOLD.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder VH_TLOLD.xsl (revision 2) @@ -0,0 +1,552 @@ + + + + + + + + + Van Hoecke - TandemBOX - Web Order + + + + + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + Nummer_Kort:  +
    KLNaam:
     
    (BTW)  
    KLStraatNr:
     
    Postcode:
     
    Gemeente:
     
    Telefoon:
     
    Fax:
     
    Email:
     
    Levertijd:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + FT_OFFAV + FT_OFF + FT_BBON + FT_INKP + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    StdLade (UitStock):
    + + + + + +
    +
    + + + + + + + + + + + +
     PrijsTotaal: +   + +   EUR +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    + +
    +
    +
    +
    + + + + + + +   + + +   + + + + + + + 1 + + + + + + + + + +
    + + + + + + + + + + + + + + + + +
    Kleurkeuze*
    LadezijdenBodem&RugRelingenBoxside
    + + + KL_WI_DS'"/> + + + + KL_MG'"/> + + + + KL_AL'"/> + + + + KL_IN'"/> + + + + KL_BE_DS'"/> + + + + + KL_WI'"/> + + + + KL_LG'"/> + + + + KL_DG'"/> + + + + KL_BE'"/> + + + + + KL_WI'"/> + + + + KL_MG'"/> + + + + KL_AL'"/> + + + + KL_CR'"/> + + + + + KL_WI'"/> + + + + KL_MG'"/> + + + + KL_AL'"/> + + + + KL_IN'"/> + +
    +
    + + + + + + + + + + + + +
    Frontbevestiging
    +

    FB

    +
    + + + FB_S'"/> + + + + FB_I'"/> + + + + FB_A'"/> + + + + FB_Z'"/> + +
    +
    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + + + + + + + + + mm + + + +
    + mm + + + + mm + + + + kg + + + + + + +   + + + + + + + + + + + + clsMColQty + + + + + clsOvzPrices + + + + +
    +
    + + + + EUR +
    # FOUT #
    + +
     
    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +   + LadetypeTH + BreedteTH + WanddikteTH + LadediepteTH + DraagkrachtTH + BlumotionTH + BoxsideTH * + DiverseTH + AantalTH + + Ink. Prijs/stPrijsPerStukTHInfoTH + + + + + + + + * BX : Boxside (Legende)
    + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + : + + + + + + + + + + == + --- +   + + + + + + + + BX_DR + BX_ER + BX_ZR/Boxside + BX_BD + BX_BC + BX_BZ + BX_BF + (Code ) + + + + Index: BL/Prod/GAData/TBXLadeXML/pxPrintOrder.cls.xml =================================================================== diff -u --- BL/Prod/GAData/TBXLadeXML/pxPrintOrder.cls.xml (revision 0) +++ BL/Prod/GAData/TBXLadeXML/pxPrintOrder.cls.xml (revision 2) @@ -0,0 +1,184 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + + +ID van het object +%Integer + + + + +%String + + + + + +Taal van de aanvrager +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%TimeStamp + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Waarde wordt on-the-flight berekend en ingevuld (proxy) +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + + + +De optie Niet Meeleveren wordt toegepast op alle lijnen van het order. Vandaar als propt. van de hoofding i.p.v. de lijnen +Bevat ";"-gescheiden waarden : bvb. "NMCP;NMAK" +Uitzondering voor NMFB : Frontbevestiging niet meeleveren wordt per lijn gekozen : oLijn.ItemFB="NM" +%String + + + + + + +Berekende properties voor Proxy-klasse. +%String + + + + +%Integer + + + + +pxPrintOrderLijn +array + + + + + + + + + Index: csp/tbx/selectvulstukkleur.cls.xml =================================================================== diff -u --- csp/tbx/selectvulstukkleur.cls.xml (revision 0) +++ csp/tbx/selectvulstukkleur.cls.xml (revision 2) @@ -0,0 +1,417 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("csp.errorvh","OnPageMinimum") + #Else + Set %cspEHandler($$$etPageLoadError,"ACTIONS")=$LB("ErrPage") + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") + #EndIf + + Quit + +]]> + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"
    ",! + Write " " + Write "" + Write " "_("TANDEMBOX intivo - "_..WebTextValue("VS_VulstukKleur",Taal,"L"))_" " + Write "" + Write !,"

    ",! + Write " ",! + Write " ",! + Write " " + Write "" + Write !," ",! + Write " ",! + Write " " + Write "" + Write !," "_$c(9)_"",! + Write " " + Write "" + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_" " + Write "" + Write " ",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write " " + Write "
    " + Write !," " + Write "
    " + Write "" + Write "
    " + Write !," " + Write "
    " + Write "" + Write "
    " + Write !," " + Write "
    " + Write ($S(KV="ZV":..WebTextValue("VSMat_ZV",Taal,"L",$LB("U")),1:..WebTextValue("VSMat_"_$G(VSM,DisplayVSM),Taal,"L",$LB("U"))_" : "_..WebTextValue("KLV_"_KV,Taal,"L",))) + Write "
    " + Write !," " + Write "
    " + Write !,"
    ",! + Write $c(9)_" " + Write "
    " + Write !,$c(9)_" "_(..WebTextValue("VS_Info",Taal,"L")),! + Write $c(9)_" " + Write "
    " + Write " ",! + Write "
    " + Write "" + Write !,$c(9,9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9,9)_"",! + Write $c(9,9,9) + For ctrVSMat=1:1:($LL(lbVSMat)) { + Write !,$c(9,9,9)_" " + If '(($L($LG(lbVSMat,ctrVSMat)))) Goto %csp00001 ;{ + Write !,$c(9,9,9)_" ",! + Write $c(9,9,9)_" ",! + Write $c(9,9,9)_" " +%csp00001 ;} + Write !,$c(9)_" " + } + Write $c(9,9,9),! + Write $c(9)_" ",! + Write $c(9,9)_" ",! + Write $c(9,9)_"
    " + Write "
    " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write (..WebTextValue("VSMat_"_$LG(lbVSMat,ctrVSMat),Taal,"L",$LB("U"))) + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "
    " + Write "
    ",! + Write $c(9,9)_"
    " + Write "" + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9,9) + set idxVSMat=$O(arVSKleur("")) + Write !,$c(9,9,9) +%csp00003 If '($L(idxVSMat)) Goto %csp00002 ;{ + Write !,$c(9,9,9) + Set grpVSMat = idxVSMat + Set lbVSKleur = arVSKleur(idxVSMat) + Set idxVSMat=$O(arVSKleur(idxVSMat)) + Set rowVSKleur = 0 + Set colVSKleur = 0 + Write !,$c(9,9,9,9)_" " + Write "
    " + Write !,$c(9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9)_" " + For ctrVSKleur=1:1:($LL(lbVSKleur)) { + Write !,$c(9,9,9,9,9,9) + If '(($L($LG(lbVSKleur,ctrVSKleur)))) Goto %csp00004 ;{ + Write !,$c(9,9,9,9,9,9,9) + If rowVSKleur > MaxItemsPerRow do + . Set colVSKleur = colVSKleur + 1 + . Set rowVSKleur = 0 + Set rowVSKleur = rowVSKleur + 1 + Set idVSKleur = $LG(lbVSKleur,ctrVSKleur) + Write !,$c(9,9,9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9,9,9)_" "_$c(9)_" ",! + Write $c(9,9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9,9,9)_"
    " + Write "" + Write "" + Write "
    " + Write (..WebTextValue("KLV_"_idVSKleur,Taal,"L")) + Write "
    " + Write "
    ",! + Write $c(9,9,9,9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9,9,9) +%csp00004 ;} + Write !,$c(9,9,9,9,9,9) + } + Write !,$c(9,9,9,9,9)_" " + Write "
    " + Write $c(9,9,9,9),! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9) + Goto %csp00003 +%csp00002 ;} + Write !,$c(9,9,9)_" " + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write " "_$c(9)_"
    ",! + Write $c(9) + Write "" + Write ("OK"_..WebTextValue("",Taal,"L")) + Write "" + Write "   " + Write "" + Write (..WebTextValue("Annuleren",Taal,"L")) + Write "" + Write !,"
    ",! + set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TANDEMBOX intivo - "_(..WebTextValue("VS_VulstukKleur",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9),! + Write "" + Write !,$c(9),! + Write "" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..Include("PRGACNTs.INC") + Write !,!,!,!,!,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,$$$TaalDfl) + ;Set Taal="N" + Set blnDemo=(''$G(%request.Data("DEMO",1))) + + Set DC = $G(%request.Data("DC",1),"I") + Set DS = $G(%request.Data("DS",1),"WI") + Set KV = $G(%request.Data("KV",1)) + Set DisplayVSM = $G(%request.Data("DisplayVSM",1)) + + Set MaxItemsPerRow = ( $$$MaxItemsPerRow - 1 ) + + Set blTBox=##class(BL.PR.GA.TandemBox).%New() + Do blTBox.Initialize(DC) + + ;d WLIP^vhDBG(97,"BTDep") + ;d WL^vhDBG($$$ArrayTT3("BTDep",blTBox,"BTDep")) + ;d WL^vhDBG($$$CRLF_$$$CRLF_$$$CRLF_$$$ArrayTT3("BTExt",blTBox,"BTExtent")) + + Set lbrefVSMat = blTBox.BTExtent("TBVulstukMateriaal") + Set idxVSMat="" + For Set idxVSMat=$O(blTBox.BTExtent("TBVulstukMateriaal","Val",idxVSMat)) Quit:idxVSMat="" Do + . Quit:idxVSMat="ZV" + . Set VolgNr = $LG(blTBox.BTExtent("TBVulstukMateriaal","Val",idxVSMat),1) + . Set:$LF(lbrefVSMat,idxVSMat) $LI(lbVSMat,VolgNr)=idxVSMat + + for ctr = 1 : 1 : $LL(lbVSMat) do + . Set idxVSMat=$LG(lbVSMat,ctr) + . If $L(idxVSMat) Do + . . Set arVSKleur(idxVSMat) = blTBox.BTDep("TBVulstukMateriaal","TBVulstukKleur",idxVSMat) + . . Set amVSKleurItems = $LL(arVSKleur(idxVSMat)) + . . If ( amVSKleurItems > $G(maxVSKleurItems) ) Set maxVSKleurItems = amVSKleurItems + . + If '$L(DisplayVSM) Do + . Quit:'$L(KV) + . Set DisplayVSM = $S(KV="ZV":"GL8",1:..VSMFromKV(KV)) + Else Do + . If '$LF(lbrefVSMat,DisplayVSM) Do + . . If $L(KV) Do + . . . Set DisplayVSM = ..VSMFromKV(KV) + . . Else Do + . . . Set DisplayVSM="GL8" + + If '$L(KV) ! (KV="ZV") Do + . Set KV="BRO8" + . Set DisplayVSM = ..VSMFromKV(KV) + + If +$G(maxVSKleurItems) > MaxItemsPerRow Set maxVSKleurItems = MaxItemsPerRow + + +]]> + + + +1 +code +KV +cache +%String + + + + +c:\cachesys\csp\vhisie\TBX\SelectVulstukKleur.csp + + + +/vhisie/TBX/SelectVulstukKleur.csp + + + +0 + + + +62129,51712 + + + +0 + +
    +
    Index: Prod/GAData/Product/tmpDev2.mac.rou =================================================================== diff -u --- Prod/GAData/Product/tmpDev2.mac.rou (revision 0) +++ Prod/GAData/Product/tmpDev2.mac.rou (revision 2) @@ -0,0 +1,483 @@ +#include PRGACNTs + +XMLWrite ; Parameters: DevObj,Taal,Opties,XSLURL +#define HTML(%v) $ZCVT(%v,"O","HTML") +#define Attrib(%n,%v) $$PARAMFILL^XMLWRITE(%n,$$$HTML(%v)) + + New MetaCode,Key,DItem,Oms,TypeAttr + Set MetaCode=..MetaStruct.Code ; = "TBX" / "GRP" / "TLM" + Kill %arInvers("DItem") + + Do WRITE^XMLWRITE(DevObj,"") + If $L($G(XSLURL)) Do + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITELN^XMLWRITE(DevObj) + If $L($G(XSLURL))||($IsObject($G(%request))&&($G(%request.Data("NOXSL",1))=1)) Do + . Do WRITE^XMLWRITE(DevObj," ]>") + . Do WRITELN^XMLWRITE(DevObj) + If $G(Opties)["GAF" Do + . Do BEGINTAG^XMLWRITE(DevObj,"PRODUCTEN") + . Do xmlwLangEnKortTxt + + Do WRITELN^XMLWRITE(DevObj) + Do xmlwSpecialOms ; bepaalt variables Oms en TypeAttr + Do BEGINTAG^XMLWRITE(DevObj,"GAPROD",$S($G(Opties)["GAO":$$$Attrib("OMS",Oms) ,1:""),$$$Attrib("TYPE",TypeAttr) ) + Do WRITELN^XMLWRITE(DevObj) + + Do:(..%Id()) TAGWRITE^XMLWRITE(DevObj,"PRODID",..%Id()) + Do BEGINTAG^XMLWRITE(DevObj,"METASTRUCT") + Do TAGWRITE^XMLWRITE(DevObj,"CODE",..MetaStruct.Code) + Do TAGWRITE^XMLWRITE(DevObj,"VERSIE",..MetaStruct.Version) + Do ENDTAG^XMLWRITE(DevObj,"METASTRUCT",1) + + Do TAGWRITE^XMLWRITE(DevObj,"TEMPLATECODE",%this.TemplateCode) + If %this.Template Do + . Do TAGWRITE^XMLWRITE(DevObj,"TEMPLATE",%this.Template.%Id()) + . Do WRITELN^XMLWRITE(DevObj) + + Do xmlwSpecialValues + + Do TAGWRITE^XMLWRITE(DevObj,"DOSSIERNR",..Dossier) + Do WRITELN^XMLWRITE(DevObj) + + New MetaArray,%arMetaDefObj + Set Key="" + For Set DItem=..DataItems.GetNext(.Key) Quit:(Key="") Do:(DItem.IsActief()) + . Do DItem.XMLWrite(DevObj,Taal,.Opties,.XSLURL) + . ;Do WRITELN^XMLWRITE(DevObj) + Do xmlwUnloadMetaObjs + + Do ENDTAG^XMLWRITE(DevObj,"GAPROD",1) + Do:($G(Opties)["GAF") ENDTAG^XMLWRITE(DevObj,"PRODUCTEN",1) + Quit +xmlwUnloadMetaObjs + ; Close MetaObjects (opened in MetaDef. - method GetOmsViaKenm() ) + New k,tmpOref + Set k="" + For Set k=$O(MetaArray(k)) Quit:(k="") Set MetaArray(k)="" Kill MetaArray(k) ; Set tmpOref=MetaArray(k) Do tmpOref.%Close() + For Set k=$O(%arMetaDefObj(k)) Quit:(k="") Set %arMetaDefObj(k)="" Kill %arMetaDefObj(k) ; New %array - added by WimV on 14/02/2008 + Quit +xmlwLangEnKortTxt + New Oms,Cnt,Txt + Do TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",..KortTekst()) + Do WRITELN^XMLWRITE(DevObj) + Do ..LangTekst(.Taal,.Oms) + Do BEGINTAG^XMLWRITE(DevObj,"OMS",$$PARAMFILL^XMLWRITE("TAAL",Taal)) + Set Cnt=0 + Set J="" + For Set J=$O(Oms(J)) Quit:(J="") Do:($L(Oms(J))) + . Set Cnt=Cnt+1 + . Do TAGWRITE^XMLWRITE(DevObj,"LIJN",$$ConvertToHTML^vhRtn1(Oms(J)),$$PARAMFILL^XMLWRITE("VOLGNR",Cnt)) + . Do WRITELN^XMLWRITE(DevObj) + Do ENDTAG^XMLWRITE(DevObj,"OMS") + Quit +xmlwSpecialOms + If MetaCode="TBX" Do + . Set TypeAttr="Tandembox" + . Set Oms="TandemBOX"_$S(..Val("PRO")=1:" pro", 1:"") + Else If MetaCode="GRP" Do + . Set TypeAttr="Greep" + . Set Oms="Greep op maat" + Else If MetaCode="TLM" Do + . Set TypeAttr="Verlichting" + . Set Oms="TL-Verlichting" + Else If MetaCode="ASM" Do + . Set TypeAttr="Antislipmat" + . Set Oms="Antislipmat op maat" + Else Do + . Set TypeAttr="Onbekend" + . Set Oms="Onbekend" + Quit +xmlwSpecialValues + If MetaCode="TBX" Do xmlwSpecialsTBX + Else If MetaCode="GRP" Do xmlwSpecialsGRP + Else If MetaCode="TLM" Do xmlwSpecialsTLM + Else If MetaCode="ASM" Do xmlwSpecialsASM + Quit + +xmlwSpecialsTLM +#define ImageDir $$$ImageDirGA("TLM") +#define NodeIL "IL" +#define DflSnoerLen 1500 + New URLLi,URLRe,UL,UR,blTLM,PosList,pID,pIDFirstVR,pIDLastVR,SnoerUit,SnoerLExtra,pType,ktxt + New TLID,blnTLExist, pTypeVR,pTypeOms,SnoerLExtraVR,SnLen,DItem + Set UL=..Val("UL") + Set UR=..Val("UR") + Set URLLi=$$$ImageDir_$S($L(UL):"Verstek_Li_"_UL_".jpg", 1:"spacer.gif") + Set URLRe=$$$ImageDir_$S($L(UR):"Verstek_Re_"_UR_".jpg", 1:"spacer.gif") + Do TAGWRITE^XMLWRITE(DevObj,"IMAGE_LI_URL",URLLi) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"IMAGE_RE_URL",URLRe) + Do WRITELN^XMLWRITE(DevObj) + ; Posities: + Set PosList=..Val("LPOS") + Set SnoerUit=..Val("SN") + Set SnoerLExtra=1200 ; ..Val("SNLX") + If $LL(PosList)=0 Do Quit + . Do TAGWRITE^XMLWRITE(DevObj,"TLPOSITIES","") + . Do WRITELN^XMLWRITE(DevObj) + ; Else + Do BEGINTAG^XMLWRITE(DevObj,"TLPOSITIES") + Set blTLM=##class(BL.PR.GA.Verlichting).%New() + Do blTLM.Initialize() + Do blTLM.FillTLPosFromLists(..Val("LLAMP"),PosList,,..Val("LP")) + Do blTLM.CalcSnoerLengte("*") + Set pID=$O(blTLM.TLPos(0)) + Set pIDFirstVR=$S($L(pID)&&($G(blTLM.TLPos(pID,".TYPE"))="VR"):pID, 1:"X") + Set pID=$O(blTLM.TLPos($$$MaxTLPos),-1) + Set pIDLastVR= $S($L(pID)&&($G(blTLM.TLPos(pID,".TYPE"))="VR"):pID, 1:"X") + Set pID=0 + For Set pID=$O(blTLM.TLPos(pID)) Quit:(pID=$$$MaxTLPos)||(pID="") Do + . Set pType=$G(blTLM.TLPos(pID,".TYPE")) + . Quit:(pType="UIT") + . Do BEGINTAG^XMLWRITE(DevObj,"TLPOS",$$$Attrib("sort",pID)) + . If pType="TL" Do xmlwTLPosTL + . Else If pType="VR" Do xmlwTLPosVR + . Else Do xmlwTLPosUnknown + . Do ENDTAG^XMLWRITE(DevObj,"TLPOS") + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"LISTBEGINPOS",$$LCVTSimple^vhLib(PosList," - ",1),$$$Attrib("unit","mm")) + Do WRITELN^XMLWRITE(DevObj) + Do ENDTAG^XMLWRITE(DevObj,"TLPOSITIES") + Quit +xmlwTLPosTL +#define ProgLblLamp(%v) "PRLA"_%v +#define ProgLblLampH(%v) "PRLH"_%v + Set TLID=blTLM.TLPos(pID,"ID") + Set blnTLExist=$L(TLID)&&(blTLM.SwizzleTLs(TLID)) + Set (ktxt,ktxtLH)="" + Do + . Set DItem=$G(..LookUp($$$NodeIL,$$$ProgLblLamp(TLID))) + . Quit:('DItem) + . Set ktxt=DItem.Eval("KTekst") + Do + . Set DItem=$G(..LookUp($$$NodeIL,$$$ProgLblLampH(TLID))) + . Quit:('DItem) + . Set ktxtLH=DItem.Eval("KTekst") + Do TAGWRITE^XMLWRITE(DevObj,"OBJTYPE",pType,$$$Attrib("oms","Lamp")) + Do TAGWRITE^XMLWRITE(DevObj,"KENM",$S(blnTLExist:blTLM.SwizzleTLs(TLID).Vermogen, 1:"?"),$S(blnTLExist:$$$Attrib("unit","W"),1:"")) + Do TAGWRITE^XMLWRITE(DevObj,"TUSSENLENGTE",$G(blTLM.TLPos(pID,"LEN")),$$$Attrib("unit","mm")) + Do TAGWRITE^XMLWRITE(DevObj,"BEGINPOS",$G(blTLM.TLPos(pID,"POS","B")),$$$Attrib("unit","mm")) + Do TAGWRITE^XMLWRITE(DevObj,"EINDPOS", $G(blTLM.TLPos(pID,"POS","E")),$$$Attrib("unit","mm")) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",ktxtLH) ; Lamphouder + Do TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",ktxt) ; Lamp + Do WRITELN^XMLWRITE(DevObj) + Quit +xmlwTLPosVR +#define ProgLblSnoer(%v) "PRSN"_"" + If pID=pIDFirstVR Do ;If (blnFirstVR)&&($$xmlwTLPosIsOfType($O(..TLPos(pID),-1),"UIT")) Do + . If $E(SnoerUit,1)="L" Do + .. Set pTypeVR="SN" + .. Set SnoerLExtraVR=SnoerLExtra + . Else Do + .. Set pTypeVR="B" + Else If pID=pIDLastVR Do + . If $E(SnoerUit,1)="R" Do + .. Set pTypeVR="SN" + .. Set SnoerLExtraVR=SnoerLExtra + . Else Do + .. Set pTypeVR="E" + Else Do + . Set pTypeVR="SN" + . Set tmpSnoerLExtra=0 + ; Snoer gegevens + If pTypeVR="SN" Do + . Set SnLen=$$$DflSnoerLen + . Set ktxt="EYY.test" + . ; Of via Lookup wordt dit: + . Set DItem=$G(..LookUp($$$NodeIL,$$$ProgLblSnoer(""))) + . Set ktxt="KTekst" + . Quit:('DItem) + . Set ktxt=DItem.Eval("KTekst") + . ;Set SnLen=$$$DflSnoerLen + Set pTypeOms=$CASE(pTypeVR, "SN":"Snoer", "B":"Begin", "E":"Einde", :"?") + Do TAGWRITE^XMLWRITE(DevObj,"OBJTYPE",pTypeVR,$$$Attrib("oms",pTypeOms)) + Do:(pTypeVR="SN") TAGWRITE^XMLWRITE(DevObj,"KENM",SnLen,$$$Attrib("unit","mm")) + Do TAGWRITE^XMLWRITE(DevObj,"TUSSENLENGTE",$G(blTLM.TLPos(pID,"LEN")),$$$Attrib("unit","mm")) + Do WRITELN^XMLWRITE(DevObj) + Do:(pTypeVR="SN") TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",ktxt) + Do:(pTypeVR="SN") WRITELN^XMLWRITE(DevObj) + Quit +xmlwTLPosIsOfType(pID,pType) + Quit:(pID="") 0 + Quit ($G(blTLM.TLPos(pID,".TYPE"))=pType) +xmlwTLPosUnknown + Do TAGWRITE^XMLWRITE(DevObj,"OBJTYPE",pType,$$$Attrib("oms","Onbekend "_pType)) + Quit + +xmlwSpecialsASM + Quit + +xmlwSpecialsGRP + Quit + +xmlwSpecialsTBX +#define VTLKeyLC "PR;GA;TBLC" + New LC,URL2 + Set LC=..Val("LC") + Do TAGWRITE^XMLWRITE(DevObj,"LADECODE",LC) + Do WRITELN^XMLWRITE(DevObj) + // Via BL.Prod.ImageLink + Set URL2=##class(BL.PR.GA.TandemBox).GetImageURL("WEB", ..Val("LC"),..Val("BS"),..Val("DS"),..Val("BGRP")) + + // Via VertalingLink (OLD) + ;Set URL2=##class(Res.VertalingLink).GetLinkVertaling($$$VTLKeyLC,$$xmlwTBXLCToImg(LC),"LB",Taal,,"WWW") + ;Set:(URL2[".gif")&&(..Val("BS")="BD") URL2=$$REPLACE^vhRtn1(URL2,".gif","_BS.gif") ; Dubbelwandige boxside + Do TAGWRITE^XMLWRITE(DevObj,"IMAGEURL",URL2) + Do WRITELN^XMLWRITE(DevObj) + Quit + /* +xmlwTBXLCToImg(LC) + Quit:($G(LC)="") "" + Quit ##class(BL.PR.GA.TandemBox).ImageCodeFromLC(.LC,..Val("BS")) + */ + + + ; GAData.Product methods: +ConsistencyCheck() ; Parameters: CheckArray,lbChecks CheckArray als .local doorgeven + Set:('$D(lbChecks)) lbChecks=$LB($$$ccChildExpr,$$$ccVolgNrDItem,$$$ccVolgNrKost,$$$ccItemLabel,$$$ccProgLabel,$$$ccKolomNrParam,$$$ccParamMode,$$$ccExecutes) + Quit:(lbChecks="") + Kill CheckArray + Do:($LF(lbChecks,$$$ccChildExpr)) cchChildExpr + Do:($LF(lbChecks,$$$ccVolgNrDItem)) cchVolgNrDItem + Do:($LF(lbChecks,$$$ccVolgNrKost)) cchVolgNrKost + Do:($LF(lbChecks,$$$ccItemLabel)) cchItemLabel + Do:($LF(lbChecks,$$$ccProgLabel)) cchProgLabel + Do:($LF(lbChecks,$$$ccKolomNrParam)) cchKolomNrParam + Do:($LF(lbChecks,$$$ccParamMode)) cchParamMode + Do:($LF(lbChecks,$$$ccExecutes)) cchExecutes + Quit $D(CheckArray)=0 +cchChildExpr + New arChExprSG + Do cchChildExprMStruct + Do cchChildExprDItems + Quit +cchChildExprMStruct + ; Controleert voor alle Childs (in de hierarchy) dat de Code aanwezig is in de ChildExpr van de Parent (HG-GR-SG) + New tmpAr,tmpLB + New MetaH,MetaG,MetaS,ChExprH,ChExprG,iG,iS + Set MetaH=..MetaStruct + Quit:('MetaH) + Set ChExprH=$$cchExprToList(MetaH.ChildExpr) + Set iG="" + For Set MetaG=MetaH.Groepen.GetNext(.iG) Quit:(iG="") Do + . Set:($LF(ChExprH,MetaG.Code)<1) tmpAr("GR",MetaG.Code)=MetaH.ChildExpr + . Set ChExprG=$$cchExprToList(MetaG.ChildExpr) + . Set iS="" + . For Set MetaS=MetaG.SubGroepen.GetNext(.iS) Quit:(iS="") Do + .. Set:($LF(ChExprG,MetaS.Code)<1) tmpAr("SG",MetaS.Code)=MetaG.ChildExpr + .. Set arChExprSG(MetaS.Code)=MetaS.ChildExpr + Merge CheckArray($$$ccChildExpr)=tmpAr + Quit +cchChildExprDItems + ; Controleert voor alle DataItems dat DItem.Code aanwezig is in de ChildExpr van de SubGroep + ; Maakt gebruik van local "arChExprSG" die opgebouwd is in routine "cchChildExprMStruct" + New tmpAr,iI,DItem,SGCode + New i,Ch,blnIsChild + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . Set SGCode=DItem.SubGroepCode + . If SGCode="" Do Quit + .. Set tmpAr("DI",DItem.Code)="?SubGroep" + . Else If $$cchExprViaWildCard($$cchExprToList($G(arChExprSG(SGCode))),DItem.Code) Quit + . Else Set tmpAr("DI",DItem.Code)=$G(arChExprSG(SGCode)) ; DItem.Code past niet in de ChildExpr van de SG + Merge CheckArray($$$ccChildExpr)=tmpAr + Quit +cchExprViaWildCard(lbChExpr,ItemCode) + Quit:($LF(lbChExpr,ItemCode)>0) 1 + Set blnIsChild=0 + For i=1:1:$LL(lbChExpr) Do + . Set Ch=$LI(lbChExpr,i) + . If (Ch?.E1"*")&&($E(Ch,1,$L(Ch)-1)=$E(ItemCode,1,$L(Ch)-1)) Do + .. Set blnIsChild=1 + .. Set i=$LL(lbChExpr) ; quit for-loop immediate + Quit blnIsChild +cchVolgNrDItem + ; Controleert dat de VolgNrs van alle DataItems binnen dezelfde SubGroep uniek zijn + New tmpAr,tmpVNr,iI,DItem + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . If $D(tmpVNr(DItem.SubGroepCode,DItem.VolgNr)) Set tmpAr(DItem.SubGroepCode,DItem.Code)=DItem.VolgNr + . Else Set tmpVNr(DItem.SubGroepCode,DItem.VolgNr)="" + Merge CheckArray($$$ccVolgNrDItem)=tmpAr + Quit +cchVolgNrKost + ; Controleert dat de VolgNrs van alle Kost-elementen binnen hetzelfde DataItem uniek zijn + New tmpAr,iI,DItem,KKey,MKost,KostArray + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . New tmpVNr + . Do cchVNrKostType("T") + . Do cchVNrKostType("M") + Merge CheckArray($$$ccVolgNrKost)=tmpAr + Quit +cchVNrKostType(KostType) + Set KostArray=$S(KostType="M":DItem.KostMat, 1:DItem.KostTijd) ; Materiaal of Tijd - array of objects + Set KKey="" + For Set MKost=KostArray.GetNext(.KKey) Quit:(KKey="") Do + . If $D(tmpVNr(MKost.VolgNr)) Set tmpAr(KostType,DItem.Code,KKey)=MKost.VolgNr + . Else Set tmpVNr(MKost.VolgNr)="" + Quit +cchItemLabel + ; Controleert dat het ItemLabel van alle DataItems uniek zijn + New tmpAr,tmpVNr,iI,DItem + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . Quit:(DItem.Label="") + . If $D(tmpVNr(DItem.Label)) Set tmpAr(DItem.Code)=DItem.Label + . Else Set tmpVNr(DItem.Label)="" + Merge CheckArray($$$ccItemLabel)=tmpAr + Quit +cchProgLabel + ; Controleert dat de ProgLabels van alle DataItems uniek zijn + New tmpAr,tmpVNr,iI,DItem,iP,ProgLabel,MParam + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . Quit:('DItem.IsActief()) + . Set iP="" + . For Set MParam=DItem.MetaItem.Parameters.GetNext(.iP) Quit:(iP="") Do:(iP?1"ProgLabel".E) + .. Set ProgLabel=DItem.Get(iP) + .. Quit:(ProgLabel="") + .. If $D(tmpVNr(ProgLabel)) Set tmpAr(DItem.Code,iP)=ProgLabel + .. Else Set tmpVNr(ProgLabel)="" + Merge CheckArray($$$ccProgLabel)=tmpAr + Quit +cchKolomNrParam + ; Deze method moet eigenlijk alleen maar op ieder MetaItem-object uitgevoerd worden, ipv. alle DataItems af te lopen ! + ; Controleert dat de KolomNrs van alle MetaParams binnen hetzelfde MetaItem uniek zijn + New tmpAr,iI,DItem,iP,MParam + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . New tmpVNr + . Set iP="" + . For Set MParam=DItem.MetaItem.Parameters.GetNext(.iP) Quit:(iP="") Do:(MParam.KolomNr>0) + .. If $D(tmpVNr(MParam.KolomNr)) Set tmpAr(DItem.MetaItem.%Id(),iP)=MParam.KolomNr + .. Else Set tmpVNr(MParam.KolomNr)="" + Merge CheckArray($$$ccKolomNrParam)=tmpAr + Quit +cchParamMode + ; Deze method moet eigenlijk alleen maar op ieder MetaItem-object uitgevoerd worden, ipv. alle DataItems af te lopen ! + ; Controleert dat de waarde van Mode van alle MetaParams toegelaten is. + New tmpAr,iI,DItem,iP,MParam + Set iI="" + For Set DItem=..DataItems.GetNext(.iI) Quit:(iI="") Do + . New tmpVNr + . Set iP="" + . For Set MParam=DItem.MetaItem.Parameters.GetNext(.iP) Quit:(iP="") Do + .. If (MParam.Mode="")||("S;F;V;C;M;L;E"'[MParam.Mode) Set tmpAr(DItem.MetaItem.%Id(),iP)=MParam.Mode + Merge CheckArray($$$ccParamMode)=tmpAr + Quit +cchExecutes + Quit +cchExprToList(sExpr) + ; Convert Child Expression to $LB() + ; New tmpLB in bovenliggende routine + Set tmpLB="" + For i=1:1:$L(sExpr,"+") Set tmpLB=tmpLB_$LB($P(sExpr,"+",i)) + Quit tmpLB + + +CheckArrayTranslate ; Parameters: CheckArrayIn,CheckArrayOut,blnAsText CheckArray's als .local doorgeven) + Kill CheckArrayOut + Do chtChildExpr + Do chtVolgNrDItem + Do chtVolgNrKost + Do chtItemLabel + Do chtProgLabel + Do chtKolomNrParam + Do chtParamMode + Do chtExecutes + Quit +chtAddMsg(type,msg) + If blnAsText Do + . Set CheckArrayOut=$G(CheckArrayOut)_"["_type_"]: "_msg_$$$CRLF + Else Do + . Set:($L(msg)) CheckArrayOut($O(CheckArrayOut(""),-1)+1)="["_type_"]: "_msg + Quit +chtChildExpr +#define TranslMetaType(%v) $CASE(%v, "GR":"de Groep", "SG":"de Subgroep", "DI":"het DataItem", :"?") + Quit:('$D(CheckArrayIn($$$ccChildExpr))) + New tmpAr,i,c + Merge tmpAr=CheckArrayIn($$$ccChildExpr) + Set i="" + For Set i=$O(tmpAr(i)) Quit:(i="") Do + . Set c="" + . For Set c=$O(tmpAr(i,c)) Quit:(c="") Do + .. Do chtAddMsg("ChildExpr",$$$TranslMetaType(i)_" met code """_c_""" kan niet voorkomen in de ChildExpr: "_tmpAr(i,c)) + Quit +chtVolgNrDItem + Quit:('$D(CheckArrayIn($$$ccVolgNrDItem))) + New tmpAr,i,c + Merge tmpAr=CheckArrayIn($$$ccVolgNrDItem) + Set i="" + For Set i=$O(tmpAr(i)) Quit:(i="") Do + . Set c="" + . For Set c=$O(tmpAr(i,c)) Quit:(c="") Do + .. Do chtAddMsg("UniekVolgNrDItem","het VolgNr ("_tmpAr(i,c)_") van het DataItem """_c_""" is niet uniek binnen de Subgroep """_i) + Quit +chtVolgNrKost + Quit:('$D(CheckArrayIn($$$ccVolgNrKost))) + New tmpAr,i,c + Merge tmpAr=CheckArrayIn($$$ccVolgNrKost) + Set i="" + For Set i=$O(tmpAr("T",i)) Quit:(i="") Do + . Set c="" + . For Set c=$O(tmpAr("T",i,c)) Quit:(c="") Do + .. Do chtAddMsg("UniekVolgNrKost","het VolgNr ("_tmpAr("T",i,c)_") van het KostTijd-element """_c_""" is niet uniek binnen DataItem """_i) + Set i="" + For Set i=$O(tmpAr("M",i)) Quit:(i="") Do + . Set c="" + . For Set c=$O(tmpAr("M",i,c)) Quit:(c="") Do + .. Do chtAddMsg("UniekVolgNrKost","het VolgNr ("_tmpAr("M",i,c)_") van het KostMat-element """_c_""" is niet uniek binnen DataItem """_i) + Quit +chtItemLabel + Quit:('$D(CheckArrayIn($$$ccItemLabel))) + New tmpAr,i + Merge tmpAr=CheckArrayIn($$$ccItemLabel) + Set i="" + For Set i=$O(tmpAr(i)) Quit:(i="") Do + . Do chtAddMsg("UniekItemLabel","het Label """_tmpAr(i)_""" van het DataItem """_i_""" is niet uniek") + Quit +chtProgLabel + Quit:('$D(CheckArrayIn($$$ccProgLabel))) + New tmpAr,i,c + Merge tmpAr=CheckArrayIn($$$ccProgLabel) + Set i="" + For Set i=$O(tmpAr(i)) Quit:(i="") Do + . Set c="" + . For Set c=$O(tmpAr(i,c)) Quit:(c="") Do + .. Do chtAddMsg("UniekProgLabel","de ProgLabel """_tmpAr(i,c)_""" van het DataItem """_i_ """ bij parameter """_c_""" is niet uniek") + Quit +chtKolomNrParam + Quit:('$D(CheckArrayIn($$$ccKolomNrParam))) + New tmpAr,i,c + Merge tmpAr=CheckArrayIn($$$ccKolomNrParam) + Set i="" + For Set i=$O(tmpAr(i)) Quit:(i="") Do + . Set c="" + . For Set c=$O(tmpAr(i,c)) Quit:(c="") Do + .. Do chtAddMsg("UniekKolomNrParam","het KolomNr ("_tmpAr(i,c)_") van parameter """_c_""" is niet uniek binnen het MetaItem """_i) + Quit +chtParamMode + Quit:('$D(CheckArrayIn($$$ccParamMode))) + New tmpAr,i,c + Merge tmpAr=CheckArrayIn($$$ccParamMode) + Set i="" + For Set i=$O(tmpAr(i)) Quit:(i="") Do + . Set c="" + . For Set c=$O(tmpAr(i,c)) Quit:(c="") Do + .. Do chtAddMsg("ParamMode","In het MetaItem """_i_""" is Mode """_tmpAr(i,c)_""" (bij parameter """_c_""") is niet toegelaten") + Quit +chtExecutes + Quit:('$D(CheckArrayIn($$$ccExecutes))) + New tmpAr,i,c + Merge tmpAr=CheckArrayIn($$$ccExecutes) + Set i="" + For Set i=$O(tmpAr(i)) Quit:(i="") Do + . Do:($D(tmpAr(i))#10) chtAddMsg("Execute",i_"/"_tmpAr(i)) + . Set c="" + . For Set c=$O(tmpAr(i,c)) Quit:(c="") Do + .. Do chtAddMsg("Execute",i_"/"_c_"/"_tmpAr(i,c)) + Quit + \ No newline at end of file Index: WS/TBX/SFS/Logger.cls.xml =================================================================== diff -u --- WS/TBX/SFS/Logger.cls.xml (revision 0) +++ WS/TBX/SFS/Logger.cls.xml (revision 2) @@ -0,0 +1,35 @@ + + + +vhLib.Macro +1 +vhLib.Logger +0 + + + +Do ##class(VHSys.Logging).GetMailFields(.From,.lbTo,.Subj, "Error") + +" + Set lbTo=$LB("ICT_SFS.WS.TBXSysOp@vanhoecke.be") + Quit +]]> + + + +%New method to +provide notification that a new instance of an object is being created. + +

    If this method returns an error then the object will not be created.]]> +NotUsed:%String +1 +1 +%Status + + + + Index: BL/EC/pxXMLDataSet.cls.xml =================================================================== diff -u --- BL/EC/pxXMLDataSet.cls.xml (revision 0) +++ BL/EC/pxXMLDataSet.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + + +AANGEPASTE DATASET OM TE FUNCTIONEREN MET FLEX 2 +1 +%XML.DataSet +0 + + + +GEWIJZIGD VOOR FLEX 2: +anyType + + + + +Generate hard coded schema that is used for DataSet +1 + +%Status +1 +",$LB("ict admin"),"Caché version changed ("_$zu(5)_")","Update overridden routine 'XMLSchema' found in class '"_..%ClassName(1)_"'.") + + Set class=..%ClassName(1) + If ($get(format)'="")&&(format'="literal") Quit $$$ERROR($$$XMLInvalidEncoding,format) + If $get(input) Quit $$$OK + Quit:$data(schema(class)) $$$OK + If $get(top)="" Set top=..#XMLTYPE + If top="" Set top=$$$ClassShortName(class) + Write "",! + Write " ",! + If ..#NAMESPACE'="" { + Write " ",! + } Else { + ;Write " ",! VERWIJDERD VOOR FLEX 2 + Write " ",! + } + Write " ",! + Write "",! + Set schema(class)="" + Quit $$$OK +]]> + + + Index: Prod/GAMeta/Groep.cls.xml =================================================================== diff -u --- Prod/GAMeta/Groep.cls.xml (revision 0) +++ Prod/GAMeta/Groep.cls.xml (revision 2) @@ -0,0 +1,174 @@ + + + +persistent +PRGACNTs +%Library.Persistent,%XML.Adaptor + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%String + +0 + + + +Prod.GAMeta.Struct +0 +0 +parent + +Groepen +0 +0 +1 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String + +0 + + + +Prod.GAMeta.SubGroep +0 +0 +children + +Groep +0 +0 +1 +0 +0 +0 + + + +%Integer + +0 + + + +0 +1 +1 +Code,Version +1 + + + + +Parameter Key is passed by Reference and gets the value of the position in the collection of Childs. +]]> +0 +0 +code + +0 +%RegisteredObject +0 + + + + + +Returns the Child-object with the given ChildID (without ParentID), or "" if not found. +Parameter Key is passed by Reference and gets the value of the position in the collection of Childs. +0 +0 +code + +0 +Prod.GAMeta.SubGroep +0 + + + + +%Library.CacheStorage +{%%PARENT}("GR") +GroepDefaultData +{%%PARENT}("GR") +^Prod.GAMeta.GroepI +^Prod.GAM.GroepS + +%%CLASSNAME +node +0 + + +listnode + +ChildExpr + + +LijstDef + + +Omschrijving + + + + + Index: _vhisie/TBX/UpdateCache.csp =================================================================== diff -u --- _vhisie/TBX/UpdateCache.csp (revision 0) +++ _vhisie/TBX/UpdateCache.csp (revision 2) @@ -0,0 +1,14 @@ + + + Testing Wait window + + + +
    +
    +
    +

    +
    +
    + + Index: WS/EC/WebShopProxy/CancelAll.cls.xml =================================================================== diff -u --- WS/EC/WebShopProxy/CancelAll.cls.xml (revision 0) +++ WS/EC/WebShopProxy/CancelAll.cls.xml (revision 2) @@ -0,0 +1,53 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.MsgDescriptor +WS.EC.WebShopProxy + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +BL.EC.pxDynaPlug + + + + Index: cspBasis/TBX/DecodeURL/tmpDev.mac.rou =================================================================== diff -u --- cspBasis/TBX/DecodeURL/tmpDev.mac.rou (revision 0) +++ cspBasis/TBX/DecodeURL/tmpDev.mac.rou (revision 2) @@ -0,0 +1,402 @@ +#include PRGACNTs +#include APPS.TBXWeb + +#define RefStartNew "\\\A" +#define EncKey "megameubelgeheim" + +OnPreHTTP() +#define CSPPage ##class(%CSP.Page) +#define CookieKey(%v) "Key"_%v +#define EncryptPSW(%v) $$ophEncryptVal(%v,$$ophGetPswEncKey) + s:('$D(ClientIP)) ClientIP="192.168.1.97" + ;d WL^vhDBG($C(13,10)) + New %RemoteIP,name,tmpRq,RefArray,OutPage,Ref,luSafe,luTBX + New blnSubmit,blnRedir,PSW,i + Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) + Do ophInitLookups + // Set session data + locals + Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,"N") + Set Ref=$G(%request.Data("REF",1)) + Set blnSubmit=%request.IsDefined("SUBMIT") + Set RefNew=$S('$D(%request.Data):$$$RefStartNew, 1:"") + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set blnVHEPN=(sDomVERW="VHEPN") + Set blnHEIN=(sDomVERW="HEIN") + Set blnLMC=(sDomVERW="LMC") + Set blnDUPO=(sDomVERW="DUPO") + Set blnHELMY=(sDomVERW="HELMY") + Set blnHFLE=(sDomVERW="HFLE") + Set blnSFS=(sDomVERW="SFS") + Set blnMBHO=(sDomVERW="MBHO") + + Set Flow=$S(blnSubmit:"SUBMIT", $L(Ref)||$L(RefNew):"REF", 1:"") + Set (UrlOut,LoginState,PSW)="" + ; Convert QueryString to Array: tmpRq(name)=value + Set name="" + For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) + + If 1,($$$LCase(Ref)?.E1"http:".E) Do ; attempt to hack the website + . Set Flow="BAD_QS" + If ($$$LCase($G(%request.Data("REFMN",1)))?.E1"http:".E)||($$$LCase($G(%request.Data("Taal",1)))?.E1"http:".E) Do ; attempt to hack the website + . Set Flow="BAD_QS" + + ; Analyse URL + If Flow="SUBMIT" Do + . Set blnMustLogin=1 + . Set PSW=$G(%request.Data("PSW",1)) + . Set VERW=$G(%request.Data("VERW",1)) + Else If Flow="REF" Do + . Set Ref=$$ophGetRef(Ref) ; Get Ref decrypted + . Set:(Ref="")&&($L(RefNew)) Ref=RefNew + . Do ophRefToArray(Ref,.RefArray) + . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW + . Set VERW=RefArray("VERW") + . If VERW="-" Do + .. Set VERW="" + . Else If $$ophGetVERWType(sDomCVT,VERW)<$$$utVerwSub Do Quit + .. ; VERW is niet toegelaten als Verwerker. + .. Set blnRedir=0 + .. Set blnMustLogin=0 + . ; Else + . Set blnMustLogin=$$ophRefWithLogin + . If blnMustLogin Do + .. Set EncPSW=%request.GetCookie($$$CookieKey(VERW)) + .. Set PSW=$$ophDecryptVal(EncPSW,$$ophGetPswEncKey) + .. ;d WL^vhDBG("EncPSW="_EncPSW_" PSW="_PSW) + . Else Do + .. Set blnRedir=1 + Else Do + . Set blnRedir=0 + . Set blnMustLogin=0 + . Do ophAddToLog("!ACCESS!",$G(Flow)) + + + Set:($G(VERW)="") VERW=sDomVERW + If blnMustLogin Do + . If $$ophAccountCheckOK(PSW,VERW,sDomCVT) Do + .. Set blnRedir=1 + .. If Flow="SUBMIT" Do + ... ;d WL^vhDBG("MustLogin/Submit: Cookie Name="_$$$CookieKey(VERW)_" PSW="_PSW_" EncKey="_$$ophGetPswEncKey_" EncPSW="_$$ophEncryptVal(PSW,$$ophGetPswEncKey)) + ... Do ophStoreCookie($$$CookieKey(VERW), $$ophEncryptVal(PSW,$$ophGetPswEncKey), +7, "/VHISIE/TBX/") + ... Set UrlIn=$G(%session.Data("FIRSTURL")) ; Reset orig URL to redirect to. + ... Set UrlOut=UrlIn + .. Kill %session.Data("FIRSTURL") + .. Kill %session.Data("LoginAttempt") + .. Set LoginState="OK" + . Else Do + .. Set blnRedir=0 + .. If Flow="SUBMIT" Do + ... Set i=$G(%session.Data("LoginAttempt"))+$S(PSW="":0, 1:1) + ... Set %session.Data("LoginAttempt")=i + ... Set msg=$S(i<3:"Try again", 1:"Unable to login. Try again later.") + ... if PSW="WIS" do ophStoreCookie($$$CookieKey(VERW), "", -1, "/VHISIE/TBX/") + ... Set LoginState=$S(i<3:"ASK_AGAIN", 1:"TRY_LATER") + .. Else Do + ... Set UrlIn=$$$CSPPage.Link(%request.URL,.tmpRq) + ... Set %session.Data("FIRSTURL")=UrlIn + ... Set msg="Password is required. Please log in." + ... Set LoginState="ASK" + Else Do + . Set LoginState=$S(blnRedir:"NO", 1:"ERR") + + If (Flow="REF")&&(blnRedir) Do ; Transform URL + . ; Modify tmpRq for Output: + . Set:($G(RefArray("VERW"))="-") RefArray("VERW")=sDomVERW + . Kill tmpRq("REF") + . Merge tmpRq=RefArray + . ; UrlOut: Link to be passed/redirect: + . Set OutPage=$S($G(RefArray("MODE"))?1(1"P",1"PUA"):"PrintPage.csp", 1:"Wizard.csp") ; 1:"ErrorTBox.csp") + . Set UrlOut=OutPage_$S($D(tmpRq):"?", 1:"")_##class(cspBasis.GAProdTBox).CQueryString(.tmpRq) ; $$$CSPPage.Link(OutPage,.tmpRq) + . ;d WL^vhDBG("UrlOutDec="_$$ophDecryptURL^cspBasis.TBX.DecodeURL.tmpDev(UrlOut)) + . ;d WL^vhDBG("UrlOut="_UrlOut_" "_$$$ArrayTT("tmpRq")) + + If $D(RefArray) Do + . Set UserType=$$ophGetUserType($G(RefArray("KLNR")),sDomCVT,VERW,$G(RefArray("MODE"))) + . Set UserTypeTxt=$CASE(UserType, $$$utKlantAnon:"KlantAnon", $$$utKlantKnown:"KlantKnown", $$$utVerwSub:"VerwSub", $$$utVerwDomain:"VerwDomain", $$$utVerwAdmin:"VerwAdmin", "":"?", :UserType) + . If blnRedir Set %session.Data("UserType")=UserType + . Else Kill %session.Data("UserType") + + If (blnLMC||blnSFS||blnMBHO)&&($G(RefArray("KLNR"))'>0) Do + . Set blnRedir=0 + . Set LoginState="ERR" + + ; Redirect URL + If %request.PageName["DecodeURL" Do Quit 1 + . Set:(blnRedir)&&($L(UrlOut)) msgRedir="Redir To : "_UrlOut + . ;Set:($L(UrlOut)) UrlOutDec=$$ophDecryptURL^cspBasis.TBX.DecodeURL.tmpDev(UrlOut) ; UrlOut Decrypted + . Set:($L(UrlOut)) UrlOutEnc=$$$CSPPage.Link(UrlOut) ; UrlOut Encrypted + . Set encPSW=PSW + . Set decRef=Ref + ;Else Do + + If '$$AppIsEnabled^cspBasis.Library("WWW-TBX","WIZARD",%RemoteIP) Do Quit 1 ; Temporary put Wizard under construction + . Set LoginState="CONSTRUCTION" + // Else continue... + + d WL^vhDBG(UrlOut) + d WL^vhDBG($$$CSPPage.Link(UrlOut)) + ;Set:(blnRedir)&&($L(UrlOut)) %response.Redirect=UrlOut ; $$ophDecryptURL^cspBasis.TBX.DecodeURL.tmpDev(UrlOut) ; UrlOut + Set:(blnRedir)&&($L(UrlOut)) %response.Redirect=UrlOut ; $$$CSPPage.Link(UrlOut) ; $$ophDecryptURL^cspBasis.TBX.DecodeURL.tmpDev(UrlOut) ; UrlOut + Quit 1 + +ophAddToLog(Actie,sInfo) + Set Actie=$G(Actie,"ACCESS") + Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,sDomain,$G(KLNr),$G(sInfo),$G(wsID),$G(VERW),$G(Taal),"") + Quit +ophInitLookups + /*** ***/ + /*** OPGELET : ***/ + /*** ========= ***/ + /*** ***/ + /*** De encryptie-key voor de main REF (in de URLs) is NIET deze uit onderstaande LuSafe tabel, ***/ + /*** maar wel die bovenaan deze routine staat in de macro $$$EncKey ***/ + /*** Deze is gemeenschappelijk voor alle TBX-domeinen en MOET strikt binnen VH bewaard blijven !!! ***/ + /*** ***/ + /*** Tevens bestaat er een encryptie-key per domein voor de DATAOPT parameter (QueryString in URL) ***/ + /*** Deze keys zijn als macro gedefinieerd in de routine PRGACNTs.inc ***/ + /*** ***/ + /*** Onderstaande PSW en ENC-keys worden alleen gebruikt voor een login paswoord te encrypten. ***/ + /*** Dit paswoord wordt enkel en alleen gebruikt voor het wijzigen van een "besteld" order. ***/ + /*** Deze functionaliteit wordt nog nauwelijks gebruikt (dd 25/11/2010). ***/ + /*** ***/ + + ; luSafe + Set luSafe("www.tandem-box.com","VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe("www.tandem-box.com","VHEPN","ENC")="meubelgeheimVH" + ; Other tbx-domains + Set luSafe("tbx.tandem-box.de","HEIN","PSW")="pwd7833H" + Set luSafe("tbx.tandem-box.de","HEIN","ENC")="meubelgeheimHEIN" + Set luSafe("tbx.tandem-box.de","VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe("tbx.tandem-box.de","VHEPN","ENC")="meubelgeheimHEIN" + Set luSafe("www.optima-tbx.fr","LMC","PSW")="pwd1759M" + Set luSafe("www.optima-tbx.fr","LMC","ENC")="meubelgeheimLMC" + Set luSafe("www.optima-tbx.fr","VHEPN","PSW")="pwd4682VH" + Set luSafe("www.optima-tbx.fr","VHEPN","ENC")="meubelgeheimLMC" + Set luSafe("tbx.du-pont.be" ,"DUPO","PSW")="pwd1736D" + Set luSafe("tbx.du-pont.be" ,"DUPO","ENC")="meubelgeheimDUPO" + Set luSafe("tbx.du-pont.be" ,"VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe("tbx.du-pont.be" ,"VHEPN","ENC")="meubelgeheimDUPO" + Set luSafe("tbx.destil.nl","HELMY","PSW")="pwd2127D" ; 2127 = KLNr HelmY, 4598 = KLNr Destil + Set luSafe("tbx.destil.nl","HELMY","ENC")="meubelgeheimHELM" + Set luSafe("tbx.destil.nl","VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe("tbx.destil.nl","VHEPN","ENC")="meubelgeheimHELM" + Set luSafe("hafele.tandem-box.com","HFLE","PSW")="pwd2671H" + Set luSafe("hafele.tandem-box.com","HFLE","ENC")="meubelgeheimHFLE" + Set luSafe("hafele.tandem-box.com","VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe("hafele.tandem-box.com","VHEPN","ENC")="meubelgeheimHFLE" + Set luSafe("tbx.sfsunimarket.biz","SFS","PSW")="pwd12486S" + Set luSafe("tbx.sfsunimarket.biz","SFS","ENC")="meubelgeheimSFS" + Set luSafe("tbx.sfsunimarket.biz","VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe("tbx.sfsunimarket.biz","VHEPN","ENC")="meubelgeheimSFS" + Set luSafe("demo.tandem-box.com","VHEPN","PSW")="demo6819VH" + Set luSafe("demo.tandem-box.com","VHEPN","ENC")="meubelgeheimVH" + Set luSafe("demo.sfsunimarket.biz","SFS","PSW")="pwd12486S" + Set luSafe("demo.sfsunimarket.biz","SFS","ENC")="meubelgeheimSFS" + Set luSafe("demo.sfsunimarket.biz","VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe("demo.sfsunimarket.biz","VHEPN","ENC")="meubelgeheimSFS" + Set luSafe($$$TBoxWebDomeinMBHO,"MBHO","PSW")="pwd2999H" + Set luSafe($$$TBoxWebDomeinMBHO,"MBHO","ENC")="meubelgeheimMBHO" + Set luSafe($$$TBoxWebDomeinMBHO,"VHEPN","PSW")="auftrage" ; "pwd4682VH" + Set luSafe($$$TBoxWebDomeinMBHO,"VHEPN","ENC")="meubelgeheimMBHO" + ; luTBX + ; Temporary copied local values from (class(WS.TBX.Order).DomaimLookup/cdtFillArrayLU): + Set luTBX("www.tandem-box.com","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("tbx.tandem-box.de","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("tbx.tandem-box.de","UserType","HEIN")=$$$utVerwDomain + Set luTBX("www.optima-tbx.fr","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("www.optima-tbx.fr","UserType","LMC")=$$$utVerwDomain + Set luTBX("tbx.du-pont.be" ,"UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("tbx.du-pont.be" ,"UserType","DUPO")=$$$utVerwDomain + Set luTBX("tbx.destil.nl","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("tbx.destil.nl","UserType","HELMY")=$$$utVerwDomain + Set luTBX("hafele.tandem-box.com","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("hafele.tandem-box.com","UserType","HFLE")=$$$utVerwDomain + Set luTBX("tbx.sfsunimarket.biz","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("tbx.sfsunimarket.biz","UserType","SFS")=$$$utVerwDomain + Set luTBX("demo.tandem-box.com","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("demo.sfsunimarket.biz","UserType","VHEPN")=$$$utVerwAdmin + Set luTBX("demo.sfsunimarket.biz","UserType","SFS")=$$$utVerwDomain + Set luTBX($$$TBoxWebDomeinMBHO,"UserType","VHEPN")=$$$utVerwAdmin + Set luTBX($$$TBoxWebDomeinMBHO,"UserType","MBHO")=$$$utVerwDomain + Quit +ophGetUserType(KLNr,Domain,Verw,Mode) +#If $$$NSpace="xDEMO" + Quit:(Mode="A") $S(1:$$$utKlantAnon) +#Else + Quit:(Mode="A") $S(blnHEIN||blnDUPO||blnHELMY||blnHFLE:$$$utKlantAnonWP, KLNr>0:$$$utKlantKnown, 1:$$$utKlantAnon) ; blnLMC,blnSFS,blnMBHO : $$$utKlantKnown +#EndIf + Quit:(Mode="W") $$ophGetVERWType(Domain,Verw) + Quit:(Mode="P") $$$utKlantAnon ; Temporary: fixed value + Quit:(Mode="PUA") $$$utKlantAnon + ;Else + Quit $$$utKlantAnon ; UserType unknown ==> default user +ophGetVERWType(Domain,Verw) + Quit:($G(Domain)="")||($G(Verw)="") $$$utKlantAnon + Quit $G(luTBX(Domain,"UserType",Verw), $$$utKlantAnon) +ophDecryptURL(inURL) + Set UrlOutDec=$P(inURL,"?",1) + Quit:(UrlOut'["?") UrlOutDec + New QS,QSi,QSiDec,i,j + Set UrlOutDec=UrlOutDec_"?" + Set QS=$P(inURL,"?",2) + For i=1:1:$L(QS,"&") Do + . Set QSi=$P(QS,"&",i) + . If $P(QSi,"=",1)="CSPToken" Do + .. Set QSiDec=$$$CSPPage.Decrypt($P(QSi,"=",2)) + .. For j=1:1:$LL(QSiDec) Set:($LD(QSiDec,1)) UrlOutDec=UrlOutDec_$LG($LI(QSiDec,j),1)_"="_$LG($LI(QSiDec,j),2)_"&" + . Else Do + .. Set UrlOutDec=UrlOutDec_QSi_"&" + Set:($E(UrlOutDec,$L(UrlOutDec))="&") $E(UrlOutDec,$L(UrlOutDec))="" + Quit UrlOutDec +ophGetRef(Ref) +#define RefNotEncrypted (Ref["\")||(Ref?1"http:".E) + Quit:(Ref="") "" + Quit:($$$RefNotEncrypted) $S($G(^Settings("HashedRefOnly"),0):"", 1:Ref) ; return Non-encrypted Ref only when allowed by ^Settings() + Quit $$ophDecryptHashedRef(Ref) +ophDecryptHashedRef(Ref,key) + New DRef + Set key=$G(key,$$$EncKey) + Set DRef=$$ophDecryptVal($TR(Ref,"_-","+="),key) + Quit DRef +ophEncryptRefHashed(Ref,key) + New encRef + Set key=$G(key,$$$EncKey) + Set encRef=$TR($$ophEncryptVal(Ref,key),"+=","_-") + Quit encRef +ophDecryptVal(Val,key) + Quit:($G(key)="") Val + New DRef + Set DRef=$system.Encryption.AESDecode($system.Encryption.Base64Decode(Val),key) + Quit $ZStrip(DRef,">C") +ophEncryptVal(Val,key) + Quit:($G(key)="") Val + ;Quit $system.Encryption.Base64Encode($system.Encryption.AESEncode(Val,key)) + Quit $TR($system.Encryption.Base64Encode($system.Encryption.AESEncode(Val,key)),$$$CRLF,"") ; Added $TR() : modified by WimV on 30/11/2007 (see previous line) +ophRefToArray(Ref,RefArray) + Kill RefArray + Quit:(Ref="") + Set:($L($P(Ref,"\",1))) RefArray("VERW")=$P(Ref,"\",1) + Set:($L($P(Ref,"\",2))) RefArray("KLNR")=$P(Ref,"\",2) + Set:($L($P(Ref,"\",3))) RefArray("WSID")=$P(Ref,"\",3) + Set:($L($P(Ref,"\",4))) RefArray("MODE")=$P(Ref,"\",4) + Set:($G(RefArray("MODE"))="") RefArray("MODE")="A" + Quit +ophArrayToRef(RefArray) + New Ref + Set Ref="" + Set $P(Ref,"\",1)=$G(RefArray("VERW")) + Set $P(Ref,"\",2)=$G(RefArray("KLNR")) + Set $P(Ref,"\",3)=$G(RefArray("WSID")) + Set $P(Ref,"\",4)=$G(RefArray("MODE"),"A") + Quit Ref +ophMustLogin() + Quit:(Flow="REF") $$ophRefWithLogin() ; ($G(RefArray("MODE"))="W") + Quit:(Flow="SUBMIT") 1 + Quit 0 +ophRefWithLogin() + Quit:($G(RefArray("MODE"))="W") 1 + Quit:(($G(RefArray("MODE"))="A")&&($G(RefArray("WSID"))>0)&&'$$ophWSOrdIsSent) 0 + Quit 0 + ; Prev condition: + ;Quit ($G(RefArray("MODE"))="W") || (($G(RefArray("MODE"))="A")&&($G(RefArray("WSID"))>0)) +ophWSOrdIsSent() + New WSOrd,blnIsSubmitted + Set WSOrd=##class(WS.TBX.Order).%OpenId(RefArray("WSID")) + Quit:('WSOrd) 0 + Set blnIsSubmitted=(WSOrd.IsSubmitted()) + Set WSOrd="" + Quit blnIsSubmitted +ophAccountCheckOK(PSW,VERW,Domain) + ;d WL^vhDBG("PSW:"_PSW_" ?= "_$G(luSafe(Domain,VERW,"PSW"),"[node not defined]")) + Quit ($D(luSafe(Domain,VERW,"PSW"))#10)&&(PSW=luSafe(Domain,VERW,"PSW")) +ophGetPswEncKey() + Quit $G(luSafe(sDomCVT,VERW,"ENC"),$$$EncKey) +ophDecryptHashedPSW(PSW) + New key + ; PSW,VERW,sDomCVT + Set key=$G(luSafe(sDomCVT,VERW,"ENC"),$$$EncKey) + Quit DRef=$$ophDecryptVal(PSW,key) +ophEncryptPSWHashed(PSW) + New encRef + Set key=$G(key,$$$EncKey) + Set encRef=$$ophEncryptVal(Ref,key) + Quit encRef +ophStoreCookie(Name,Value,ExpireOffset,sPath) + Quit:($G(Name)="") + Quit:('$D(Value)) + New Expires + If $G(ExpireOffset)="" Set Expires="" + Else Do + . Set Expires=+$H + ExpireOffset + . Set Expires=$ZD(Expires,11)_", "_$ZD(Expires,2)_" 00:00:00 GMT" + Do %response.SetCookie(Name,Value,Expires,.sPath) + Quit + + // Oproepen via: w $$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(4682)) +CreateHashedRef(lbRefArgs,EncKey) ; lbRefArgs=$LB(KLNr,VERW,wsID,Mode) + New RefArray,Ref,encRef + Set RefArray("KLNR")=$LG(lbRefArgs,1,"") + Set RefArray("VERW")=$LG(lbRefArgs,2,"VHEPN") + Set RefArray("WSID")=$LG(lbRefArgs,3,"") + Set RefArray("MODE")=$LG(lbRefArgs,4,"A") + ;d WL^vhDBG($$$ArrayTT("RefArray")) + Set Ref=$$ophArrayToRef(.RefArray) + ;d WL^vhDBG("Ref ="_Ref) + Set encRef=$$ophEncryptRefHashed(Ref,.EncKey) + Quit encRef + +OPTIMADecryptData(encData,arData,sDomVERW) ; arData als .local doorgeven +#define SepData "\" +#define NotEncrypted(%v) (%v[$$$SepData) + New OptimaKey,Data + Kill arData + Quit:($G(encData)="") "" + Set OptimaKey=$S(sDomVERW="LMC":$$$OptimaKey, sDomVERW="SFS":$$$SfsOptKey, sDomVERW="MBHO":$$$MBHollandOptKey, 1:ERROR) + If ($G(%blnBuildRef))&&($$$NotEncrypted(encData)) Set Data=encData + Else Set Data=$$ophDecryptHashedRef(encData,OptimaKey) + Do OPTIMAAnalyseCommon(.Data,,.encData) + Quit Data + +OPTIMAAnalyseData(Data,arData) ; arData als .local doorgeven + ; Data moet reeds decrypted zijn; GEEN controles !!! + Kill arData + Do OPTIMAAnalyseCommon(.Data) + Quit + +OPTIMAAnalyseCommon(Data,blnDataControle,encData) +#define SepData "\" +#define DataPc(%i) $P(Data,$$$SepData,%i) + If ($G(blnDataControle,1))&&('$$OPTIMADataIsValid) Do + . New KLNr + . Set KLNr=$$$DataPc(2) + . Set %OptimaVar("KLNr")=KLNr + . Set %OptimaVar("Data")=Data + . Set %OptimaVar("EncData")=$G(encData) + . Set Data="" + . Quit:($IsValidNum(KLNr))&&($G(ForceKLNrLookup,1)=0) + . ; Else match encData with values from global + . Set KLNr=##class(cspBasis.GAProdTBox).GetOptimaFixKLNr($G(encData)) + . Set:($L(KLNr)) %OptimaVar("KLNr")=KLNr + . Set %OptimaVar("KLNrViaLookup")=(KLNr'="") + Quit:($G(Data)="") + Set arData("Taal")= $$$DataPc(1) + Set arData("KLNummer")=$$$DataPc(2) + Set arData("KLNaam")=$$$DataPc(3) + Set arData("EMail")=$$$DataPc(4) + Set arData("Korting")=$$$DataPc(5) + Quit +OPTIMADataIsValid() + Quit:($L(Data,$$$SepData)<5) 0 + Quit:($L($$$DataPc(5)))&&('$IsValidNum($$$DataPc(5))) 0 + Quit 1 + +OPTIMAEncryptData(Data,sDomVERW) + New OptimaKey,encData + Quit:($G(Data)="") "" + Set OptimaKey=$S(sDomVERW="LMC":$$$OptimaKey, sDomVERW="SFS":$$$SfsOptKey, sDomVERW="MBHO":$$$MBHollandOptKey, 1:ERROR) + Set encData=$$ophEncryptRefHashed(Data,.OptimaKey) + Quit encData \ No newline at end of file Index: csp/test1.cls.xml =================================================================== diff -u --- csp/test1.cls.xml (revision 0) +++ csp/test1.cls.xml (revision 2) @@ -0,0 +1,77 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,!,$c(9,9) + Write "" + Write !,$c(9,9)_"My page body",! + Write "" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,!,"" + Write !,""_$c(9)_"Cache Server Page ",! + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write ! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +c:\cachesys\csp\test\test1.csp + + + +/csp/test/test1.csp + + + +59554,49065 + + + Index: Prod/GAData/Product/tmpKPRCreate.mac.rou =================================================================== diff -u --- Prod/GAData/Product/tmpKPRCreate.mac.rou (revision 0) +++ Prod/GAData/Product/tmpKPRCreate.mac.rou (revision 2) @@ -0,0 +1,507 @@ +KPRCreate ; parameters = (GenPRNr,QtyStaffel) +#define NodePL "PL" +#define DEP "DEP" +#define MEERWAARDELABELS ";PRBDHO;PRBDHZ;PRRUGHS;PRVPCP;PRVPZW;PRVPOD;PRVULSTUK;PRVULPAL;" + + New D,Q,U,PRNr,NewRec,NewPRNr,LEVNr,Taal,IsStock,KortT,PR,LT,ModPRNr,blnLosProf,ProfPlaats + New blnTBX,blnGRP,blnTLM,blnASM + Set blnTBX=(..MetaStruct.Code="TBX") + Set blnGRP=(..MetaStruct.Code="GRP") + Set blnTLM=(..MetaStruct.Code="TLM") + Set blnASM=(..MetaStruct.Code="ASM") + Set D="\",Q="K",U=";" + Set ModPRNr=..ProductGetObjectId() ; Nieuw of Wijzigen van product + Set:(ModPRNr'?4.7N) ModPRNr="" + If $G(GenPRNr)'?4.7N Do ; Defaulting + . Set GenPRNr=..GenerischPRNr() + . ;If blnTBX Do + ..; Set GenPRNr=89322 ; GEN.HALTB + ..; Set:(..Val("PRO")) GenPRNr=89325 ;GEN.HALTBPRO + ..; Set:(..Val("KLAS")="B") GenPRNr=131884 ;GEN.HALBB BuroBOX + . ;Else If blnGRP Set GenPRNr=93260 ;GEN.HALGRP greep op maat + . ;Else If blnTLM Set GenPRNr=141366 ;GEN.HALTLM verlichting op maat + . ;Else ; + ; KPR + Lock:ModPRNr +^KPR(ModPRNr) + Do:($D(..LookUp($$$NodePL))<10) ..BuildLookUp($LB("PL")) + Do kpcCOPY(GenPRNr,ModPRNr,.NewRec) + Do:('ModPRNr) kpcCLEAN(GenPRNr,,.NewRec) ; Alleen bij nieuwe product + Do kpcFILL(.NewRec) + ;d WL^vhDBG($$ArrayToText^vhLib("NewRec")) + Do kpcSAVE(.NewRec) + Do kpcHALFFAB + Lock:ModPRNr -^KPR(ModPRNr) + Quit + +kpcHALFFAB + New Rec,PRNr,HFPRNr,Rec,Key,Rec2,ProgLabel,ClassName,Qty,MetaTag,KostPlaats + New DItem,Label,iG,iS,iI,Groep,KostVolgNr,MatVolgNr,arTree,SortNr + Set PRNr=..ProductGetObjectId() + Set Rec=$G(^KPR(PRNr,"G")) ; G-node overnemen van afgeleid product + Do DELOBJ^PRBS(PRNr) + ;Kill ^HADPR("P",PRNr) + Merge ^HADPR("P",PRNr,"G")=Rec + ; BasisParameters + Set ProgLabel="" + For Set ProgLabel=$O(..LookUp($$$NodePL,ProgLabel)) Quit:(ProgLabel="") Do + . Set ^HADPR("P",PRNr,"BP",ProgLabel)=..LookUp($$$NodePL,ProgLabel) ; Basis Parameters + . Set Status=##class(Prod.Kenmerk.DataDefinitie).Set(..MetaStruct.Code,PRNr,ProgLabel,..LookUp($$$NodePL,ProgLabel)) + + ; Halffabrikaten en kosten + Set (SortNr,KostVolgNr,MatVolgNr)=0 + Set ProdKey=$$kpcCountExpr("PROD") + Set KostKey=$$kpcCountExpr("KOST") + Set ^PRBS("BS",PRNr)="E\TBX" + Merge arTree=..arTree + For iG=ProdKey,KostKey Do ;groepnummers 2 en 3 + . Set iS="" + . For Set iS=$O(arTree($$$DEP,iG,iS)) Quit:(iS="") Do + .. Set iI="" + .. Set Groep=arTree($$$DEP,iG,iS).Code + .. For Set iI=$O(arTree($$$DEP,iG,iS,iI)) Quit:(iI="") Do + ... Set DItem=arTree($$$DEP,iG,iS,iI) + ... Quit:'DItem.IsActief() + ... If DItem.MetaItem.%ClassName()["ItemPR" Do ; halffabrikaat + .... Do kpcHALFFABPR + ... Else If iG=KostKey Do ; laatste subnode is deze van de verwerkingkost + .... Do kpcHALFFABVW + Quit + +kpcHALFFABVW ; Verwerkingstijd en kost + New TijdKost,TijdPlanning,KostPrijs,Kost,BSKey,Rec,MatPrijs,Oms + Set TijdKost=..Cumuls("TijdKost",iG,iS,iI) + Set TijdPlanning=..Cumuls("TijdWerk",iG,iS,iI) + Set KostPrijs=..Cumuls("KPrijs",iG,iS,iI) + Set KostPlaats=DItem.Autos.GetAt("KostPlaats") + Set Oms=DItem.Autos.GetAt("Oms") + If '$D(KostPlaats(KostPlaats)) Do ; cache voor de kost van kostplaats + . New KostObj + . Set KostObj=##class(Prod.GAMeta.BT.KostPlaats).%OpenId(KostPlaats) + . Set KostPlaats(KostPlaats)=KostObj.Kost() + Set Kost=$J(TijdKost*$G(KostPlaats(KostPlaats))/3600,0,4) + Set MatPrijs=$S(KostPrijs>Kost:KostPrijs-Kost,1:"") ; een deel is voor materiaal + If MatPrijs Do + . Set MatVolgNr=MatVolgNr+1 + . Set BSKey="MAT."_$E(1000+MatVolgNr,2,4) + . Set Rec="" + . Set $P(Rec,D,2)=1 + . Set $P(Rec,D,3)="S" ; Surplus + . Set $P(Rec,D,4)=MatPrijs + . Set SortNr=SortNr+1 + . Set $P(Rec,D,10)=SortNr + . Set $P(Rec,D,11)=Groep + . Set $P(Rec,D,13)=Oms + . Set $P(Rec,D,16)=1 ; Meerwaarde + . Set ^PRBS("BS",PRNr,BSKey)=Rec ; Halffabricaten + If Kost Do + . Set MatVolgNr=MatVolgNr+1 + . Set BSKey="KST."_$E(1000+MatVolgNr,2,4) + . Set Rec="" + . Set $P(Rec,D,2)=1 + . Set $P(Rec,D,3)="T" + . Set $P(Rec,D,7)=TijdPlanning + . Set $P(Rec,D,8)=TijdKost + . Set $P(Rec,D,9)=KostPlaats + . Set SortNr=SortNr+1 + . Set $P(Rec,D,10)=SortNr + . Set $P(Rec,D,11)=Groep + . Set $P(Rec,D,13)=Oms + . Set $P(Rec,D,16)=1 ; Meerwaarde + . Set ^PRBS("BS",PRNr,BSKey)=Rec ; Halffabricaten + Quit + +kpcHALFFABPR ; Producten + New Rec,Rec2,BSKey,MetaTag + Set Label=DItem.Label + Quit:Label="" + Set HFPRNr=DItem.Get("PRNr") Quit:PRNr="" + Set Qty=DItem.Get("Qty") Quit:'Qty + Set Rec=HFPRNr_D_Qty_D_"H" + Set SortNr=SortNr+1 + Set $P(Rec,D,10)=SortNr + Set $P(Rec,D,11)=Groep + Set $P(Rec,D,16)=$S($$$MEERWAARDELABELS[(";"_Label_";"):1,1:"") ; meerwaarde + Set $P(Rec,D,18)=DItem.EvalTemplAuto("FabrGroep") + Set $P(Rec,D,19)=DItem.EvalTemplAuto("FabrPrep") + Set (MetaTag,Rec2)="" + If DItem.MetaItem.%ClassName()["ItemPR1DIM" Do ; dimensie (lengte) afhankelijk + . Set MetaTag="PR1DIM" ; MetaTag + . Set $P(Rec2,D,1)=DItem.Get("DimHF") + . Set $P(Rec2,D,2)=DItem.Get("DimHFBrut") + . Set $P(Rec2,D,3)=DItem.Get("DimHFUitval") + Set BSKey=Label_".001" + ; Opslag in PRBS + Set ^PRBS("BS",PRNr,BSKey)=Rec ; Halffabricaten + Set:$L(MetaTag) ^PRBS("BS",PRNr,BSKey,"D")=Rec2 ; Halffabricaten - dimensie afhankelijk van de METATAG + Set ^PRBS("IP",HFPRNr,PRNr,BSKey)=$P(Rec,D,3) ; Index + ; Opslag in HADPR + Set ^HADPR("P",PRNr,"HF",BSKey)=$P(Rec,D,1,2) + Set:$L(MetaTag) ^HADPR("P",PRNr,"HF",BSKey,"D")=Rec2 ; Halffabricaten - dimensie afhankelijk van de METATAG + Quit + +kpcFILL(NewRec) + New List,Node,I,Piece ; toegevoegd door WV + Do ..DossierDefine(GenPRNr) + Set KortT=..KortTekst() + Set $P(NewRec(0),D)=KortT + For Taal="N","F","D","E","R" Do + . Set:Taal="N" List="0.2,0.11,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9,6.10" + . Set:Taal="F" List="1.22,3.21,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9,8.10" + . Set:Taal="D" List="2.2,3.23,10.1,10.2,10.3,10.4,10.5,10.6,10.7,10.8,10.9,10.10" + . Set:Taal="E" List="2.1,3.22,12.1,12.2,12.3,12.4,12.5,12.6,12.7,12.8,12.9,12.10" + . Set:Taal="R" List="4.1,4.2,4.3,5.1,5.2,5.3,4.4,4.5,4.6,4.7,4.8,4.9,4.10" ; Leveranciersreferentie + . Do ..LangTekst($S(Taal="R":"N",1:Taal),.LT,Taal) + . For I=1:1:LT Do + .. Set Node=$P($P(List,",",I),".",1) + .. Set Piece=$P($P(List,",",I),".",2) + .. Set:$L($G(LT(I))) $P(NewRec(Node),D,Piece)=LT(I) + Set $P(NewRec(1),D,13)=..Gewicht("B") + Set $P(NewRec("J"),D,19)=$$kpcPrijs() ; Aankoopprijs + Set NewRec("G")="" + Set $P(NewRec("G"),D,1)=..Dossier + Set $P(NewRec("G"),D,12)=$$kpcPrijs() ;aankoopprijs + Set $P(NewRec("G"),D,11)=$J($G(..Cumuls("KPrijs",$$kpcCountExpr("KOST"))),0,4) ; aankoopprijs van de werkuren + Set $P(NewRec("G"),D,16)=$J($G(..Cumuls("TijdWerk")),0,1) ; tijd van de werkuren + Set $P(NewRec("G"),D,15)=$J($G(..Cumuls("TijdKost")),0,1) ; tijd voor kostprijs + Set $P(NewRec("G"),D,13)=..%Id() + Set $P(NewRec("G"),D,14)=..Val("Staffel") + Quit +kpcPrijs() ;params : geen; return : $LB van Netto,Tarra en bruto gewicht + Quit $J(..Cumuls("KPrijs"),0,2) +kpcCountExpr(CodeGR) + ; Convert Child Expression to $LB() en geef het volgnr van de opgeven code + New sExpr,tmpLB,i + Set sExpr=..MetaStruct.ChildExpr + Set tmpLB="" + For i=1:1:$L(sExpr,"+") Set tmpLB=tmpLB_$LB($P(sExpr,"+",i)) + Quit $LF(tmpLB,CodeGR) +kpcCOPY(GenPRNr,FromPRNr,NewRec) + ; NewRec via .Local + Do FETCHPR^UTILI($S('$G(FromPRNr):GenPRNr,1:FromPRNr),"NewRec") + Set $P(NewRec(0),D,3)=GenPRNr + Quit +kpcCLEAN(GenPRNr,FromPRNr,NewRec) + ; Newrec via .Local + Set $P(NewRec(0),D,6)="" ; Ligging + Set $P(NewRec(0),D,12,14)=D_D ; Beginstock,FysStock + Set $P(NewRec(0),D,16)="" ; Laatste beweging + Set $P(NewRec(0),D,17)="" ; Bestelling + Set $P(NewRec(0),D,20)="" ; Schaduwkorttekst + Set $P(NewRec(0),D,21)="" ; Schaduw sectie + Set $P(NewRec(1),D,9)="" ; Inventaris fysstock + Set $P(NewRec(1),D,20)=$G(IsStock) ; Stock/niet stock + Set $P(NewRec(1),D,21)="" ; Gem Weekverkoop + Set $P(NewRec(1),D,23)="" ; Gewogen gem. weekverkoop + Set $P(NewRec(2),D,3)="" ; Schad PPL + ;Set $P(NewRec(2),D,4)="" ; Schad Korting + ;Set $P(NewRec(2),D,5)="" ; Schad Vork + ;Set $P(NewRec(2),D,6)="" ; Schad Winst + ;Set $P(NewRec(2),D,7)="" ; Schad Cif + Set $P(NewRec(2),D,9)="" ; Reservatie + Set $P(NewRec(2),D,25)=8_$E($P(NewRec(2),D,25),2,99) ; Identnummer + Set $P(NewRec(0),D,2)="" ; Omschrijving N1 + Set $P(NewRec(0),D,11)="" ; Omschrijving N2 + Set $P(NewRec(1),D,22)="" ; Omschrijving F1 + Set $P(NewRec(2),D,25)="" ; Identnummer + Set $P(NewRec(3),D,21)="" ; Omschrijving F2 + Set $P(NewRec("J"),D,3)="" ; Leveranciersref + ;Set $P(NewRec("J"),D,24)=50 ; DB% + Set $P(NewRec("J"),D,10)=20 ; KSDB% + Set $P(NewRec("J"),D,19)="" ; Aankoopprijs + Set $P(NewRec("J"),D,25)="" ; Lijstprijs + Quit +kpcSAVE(NewRec) + ; NewRec via .Local + New IdentNr,I ; toegevoegd door WV + Set PRNr=..ProductGetObjectId() + If PRNr'?4.6N Do + . Set PRNr=$$NEXTID^PRODUKT() + Set IdentNr=$$IDENTNR^PRODUKT(PRNr,"9") + Set $P(NewRec(2),D,25)=IdentNr + For I=0:1:13 Set:$D(NewRec(I)) ^KPR(PRNr,I)=NewRec(I) + Set:($D(NewRec("G"))) ^KPR(PRNr,"G")=NewRec("G") ; Generische node + Set ^KPR(PRNr,"I")="" + Set ^KPR(PRNr,"I1")=NewRec("I") + Set ^KPR(PRNr,"J")="" + Set ^KPR(PRNr,"J"_$P(NewRec("J"),D))=NewRec("J") + Do:(..ProductGetObjectId()'=PRNr) ..ProductSetObjectId(PRNr) + Quit + + +KortTekst() ; Params : geen; > return : string + New Txt,Dossier + Quit:(..MetaStruct.Code="TBX") $$ktxTBX + Quit:(..MetaStruct.Code="GRP") $$ktxGRP + Quit:(..MetaStruct.Code="TLM") $$ktxTLM + Quit:(..MetaStruct.Code="ASM") $$ktxASM + Quit "" +ktxASM() +#define ASMStruct(%type) $CASE(%type, "Z":"R", "G":"N", "R":"P", :"") +#define ASMKleurK(%type) $CASE(%type, "Z":"S", "G":"ANTR", "R":"ROT", :"") + New Type,LD,ND,NB,Verpak + Set Type=..Val("ASM") + Set LD=..Val("LD") + Set ND=..Val("ND") + Set NB=..Val("NB") + Set Verpak=..Val("VERPAK") + Set Dossier=..Dossier + Set Txt="MAT.M" + Set $E(Txt,6)=$$$ASMStruct(Type) + Set $E(Txt,$S($L(Dossier)>3:8, 1:9))=Dossier ; Set $E(Txt,8,11)=$J(Dossier,4) + Set $E(Txt,12)=""_$J(LD,3)_"X"_$J(NB,4,0) + Set $E(Txt,22)=$J($$$ASMKleurK(Type),4) + Quit Txt +ktxTLM() + New Design,Lengte,Afwerking + Set Design="" + Set Lengte=..Val("LP") ; Numeriek + Set Afwerking="EV1" + Set Dossier=..Dossier + Set Txt="ETL.M" + Set $E(Txt,$S($L(Dossier)>3:7, 1:8))=Dossier + Set $E(Txt,12)="L:"_$J(Lengte,4,0)_" "_$S(..Val("AS")="RB":"RH", 1:"") + Set $E(Txt,21)="" + Set $E(Txt,22)=$J(Afwerking,4) + Quit Txt +ktxTBX() + New RugHoogte,LadeType,FrontBev,DraagKracht,Pro,DesignCode,Diepte,Breedte,Glijder + Set RugHoogte=..Val("RH") ; N,M,C,K,B,D + Set LadeType=..Val("LT") ; Numeriek + Set FrontBev=..Val("FB") ; + Set FrontBev=$S(LadeType="B":"Z",1:FrontBev) + Set DraagKracht=..Val("DK") ; 30,50,80,25 + Set Pro=..Val("PRO") + Set DesignCode=$S(..Val("DC")="S":"/",1:..Val("DC")) ; S,F,B,... + Set Diepte=..Val("LD") ; Numeriek + Set Breedte=..Val("IB")\1 ; Numeriek + Set Glijder=$S(DraagKracht=30:8,DraagKracht=50:9,DraagKracht=80:7,1:"I") + ;Set:(DesignCode="B") Glijder="B" + Set Dossier=..Dossier + Set Txt="TB"_Glijder_RugHoogte_DesignCode_FrontBev_"." + Set $E(Txt,$S($L(Dossier)=5:7,1:8))=Dossier + Set $E(Txt,12)=Diepte_"x"_Breedte + Set:..Val("VERPAK")'="S" $E(Txt,20)=..Val("VERPAK") + Set:..Val("KLAS")="SP" $E(Txt,20)="SP" + Set:..Val("KLAS")="SP2" $E(Txt,20)="S2" + Set $E(Txt,22)=##class(Prod.GAMeta.BT.TBAbstract).KortTekstCodeClass("Prod.GAMeta.BT.TBLadeKleur",..Val("KL")) + Set $E(Txt,24)=..Val("KB") + ;d WL^vhDBG("KortTekst="_Txt) + If ..Val("KLAS")="B" Do ; BuroBOX + . Set $E(Txt,1,3)="BBL" + . Set $E(Txt,4)=$S(..Val("BHM")>0:"H",1:"L") ; Hangmap boring + Quit Txt +ktxGRP() + New Design,Lengte,Afwerking + Set Design=..Val("DS") ; ALFA,BETA,DELTA,OMEGA + Set Lengte=..Val("LG") ; Numeriek + Set Afwerking=..Val("AFW") ; ALU, ... + Set Dossier=..Dossier + Set Txt="SGR."_$E(Design,1,2) + Set $E(Txt,$S($L(Dossier)>3:7, 1:8))=Dossier + Set $E(Txt,12)=$E(Design,1,5)_$J(Lengte,4,0) + Set $E(Txt,21)="" + Set $E(Txt,22)=$J(Afwerking,4) ; ##class(Prod.GAMeta.BT.TBAbstract).KortTekstCodeClass("Prod.GAMeta.BT.TBLadeKleur",..Val("KL")) + Quit Txt + + + +LangTekst ;Parameters (Taal,Oms,Optie) ; Oms als .local doorgeven + New Txt + If (..MetaStruct.Code="TBX") Do ltxTBX Quit + If (..MetaStruct.Code="GRP") Do ltxGRP Quit + If (..MetaStruct.Code="TLM") Do ltxTLM Quit + If (..MetaStruct.Code="ASM") Do ltxASM Quit + Quit +ltxASM + ; Oms via .Local + New Type,WD,Afm + Set Type=..Val("ASM") + Set WD=..Val("WD") + Kill Oms + Set Oms=1 + ; Type mat + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-ASM-Type"_Type,"O",Taal,,1) + Do AddLT(Taal,.Oms,.Txt) + ; Afmetingen + Set Afm=..Val("ND")_" x "_..Val("NB")_"mm" + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-ASM-NETTOAFM","O",Taal,,1)_" : "_Afm + Do AddLT(Taal,.Oms,.Txt,,1) + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-ASM-LD","O",Taal,,1)_": "_(..Val("LD"))_"mm" + If $G(Optie)'["R" Do + . If WD="N" Do + .. ; Netto breedte: no text + . Else Do + .. Set Txt=Txt_", "_##class(Res.Vertaling).GetVertaling("TB","LT-ASM-CB","O",Taal,,1)_":"_..Val("CB") + .. Set:(WD'="B") Txt=Txt_", "_##class(Res.Vertaling).GetVertaling("TB","LT-ASM-WDkort","O",Taal,,1)_":"_WD + Do AddLT(Taal,.Oms,.Txt,,1) + Quit +ltxTLM + ; Oms via .Local + New Design,Lengte + Kill Oms + Set Oms=1 + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-TLM-TL","O",Taal,,1) + Set Txt=Txt_"; "_##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TLMAfdekScherm",..Val("AS"),Taal) + Do AddLT(Taal,.Oms,.Txt) + ; Afmeting + Set Lengte="L:"_..Val("LP")_"mm" + Set Txt=Lengte + Do AddLT(Taal,.Oms,.Txt) + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-TLM-LAMP","O",Taal,,1) + For LampLabel="QTY1008","QTY1013","QTY1014","QTY1021","QTY1028","QTY1035" Do + . Quit:'..Val(LampLabel) + . Set Txt=Txt_..Val(LampLabel)_"x"_+$E(LampLabel,6,7)_"W" + . Do AddLT(Taal,.Oms,.Txt) + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-TLM-ZIJKANT","O",Taal,,1)_" 1:" + Set Txt=Txt_##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TLMUitgang",..Val("UL"),Taal) + Do AddLT(Taal,.Oms,.Txt) + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-TLM-ZIJKANT","O",Taal,,1)_" 2:" + Set Txt=Txt_##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TLMUitgang",..Val("UR"),Taal) + ;Set Txt="Snoeruitgang:"_..Val("SN") + Do AddLT(Taal,.Oms,.Txt) + Quit +ltxTBX + ; Oms via .Local + New DraagKracht,Diepte,Breedte ; toegevoegd door WV + Kill Oms + Set Oms=1 + Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.LadeCode",..Val("LC"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Afmeting + Set Diepte=$S(Taal="F":"P",1:"D")_":"_..Val("LD") + Set Breedte=$S(Taal="F":"L",Taal="E":"W",1:"B")_":"_..Val("IB") + Set Txt=Diepte_"x"_Breedte + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Spoelbaklade + If ..Val("KLAS")="SP" Do + . Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-SPOPEN","O",Taal,,1)_..Val("SPBR")_"mm" + . Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Draagkracht 30,50,80,25 als Profiel niet meenemen is true + If ..Val("NMCP"),..Val("DK")'="30",..Val("DK")'=50 Do + . Set Txt=..Val("DK")_"kg" + . Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Bodem kleur + If $E(..Val("MATKL"))="K" Do ;Klant + . Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.PlaatMat",..Val("MATKL"),Taal) + . Do AddLT(Taal,.Oms,.Txt,.Optie) + Else Do + . Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBBodemKleur",..Val("KB"),Taal) + . Do AddLT(Taal,.Oms,.Txt,.Optie) + Set:..Val("KLAS")="SP" Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBSPZijkant",..Val("SPZK"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Design + Set:..Val("KL") Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBLadeKleur",..Val("KL"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + Set:..Val("DC")'="S" Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBDesignCode",..Val("DC"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; + Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-MONTLADE","O",Taal,,1) + Do AddLT(Taal,.Oms,.Txt,.Optie,1) + ; Stalen rug + Set:..Val("isSR") Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBStalenRug",..Val("SR"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ;Corpusprofiel + draagkracht + If '..Val("NMCP") Do ;corpus profiel meeleveren + . Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBGlijderType",..Val("GT"),Taal)_" "_..Val("DK")_"kg" ; draagkracht + . Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Blumotion + Set:((..Val("BM")'="I")||('..Val("NMCP")))&&(..Val("BM")'="Z") Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBBlumotion",..Val("BM"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; BoxSide + Set:(..Val("BS")'="ZR")&&(($E(..Val("BS"))'="B")||('..Val("NMBS")))&&(($E(..Val("BS"),2)'="R")||('..Val("NMRL"))) Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBBoxSide",..Val("BS"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Stabilisator + Set:..Val("SB") Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBStabilisator",..Val("SB"),Taal) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Frontbevestiging + Set:'..Val("NMFB")&&(..Val("FB")'="Z") Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBFBevestiging",..Val("FB"),Taal,1) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Antislipmat + Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBMat",..Val("ASM"),Taal,,1) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; FrontSteun + Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBFrontSteun",..Val("FS"),Taal,,1) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; afdekkappen + Set:'..Val("NMAK") Txt=##class(Res.Vertaling).GetVertaling("TB","LT-AFDEKKAP","O",Taal,,1) + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Opvullijst + If '..Val("NMOVL")&&((..Val("OPVLL")=25)||(..Val("OPVLR")=25)) Do + . Set Txt=##class(Res.Vertaling).GetVertaling("TB",$S((..Val("OPVLL")=25)&&(..Val("OPVLR")=25):"LT-OPVULLIJSTEN",1:"LT-OPVULLIJST"),"O",Taal,,1) + . Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Dwarstukjes + If ..Val("KLAS")="SP",'..Val("NMSPDL") Do + . Set Txt=##class(Res.Vertaling).GetVertaling("TB","LT-TUSSCHOT","O",Taal,,1) + . Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Boring voor bureaulade + If ..Val("KLAS")="B",..Val("BHM") Do + . Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.TBHangMap",..Val("BHM"),Taal,,1) + . Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Verpakking + If $G(Optie)="R","Z;S"[..Val("VERPAK") Do ; verpakkingskode en lengte van overdoos bijvoegen bij lev.ref. + . New DItem,PRNr,Dimensie,KenmObj + . Set DItem=..LookUp("IL","PRVPOD") + . Set PRNr=DItem.Eval("PRNr") + . Quit:PRNr'?4.7N + . ;Set Dimensie=##class(Prod.Kenmerk.DataDefinitie).%OpenId(PRNr_"||TB||Opties").Waarden.GetAt(1) + . Set KenmObj=##class(Prod.Kenmerk.DataDefinitie).%OpenId(PRNr_"||TB||Opties") + . Quit:'$isObject(KenmObj) + . Set Dimensie=KenmObj.Waarden.GetAt(1) + . Set Txt="omvouwkarton "_Dimensie_" "_DItem.Eval("DimHF")_"mm" + . Do AddLT(Taal,.Oms,.Txt,.Optie,1) + Else Do + . Set Txt=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.Verpakking",..Val("VERPAK"),Taal) + . Do AddLT(Taal,.Oms,.Txt,.Optie,1) + Quit +ltxGRP + ; Oms via .Local + New Design,Lengte + Kill Oms + Set Oms=1 + Set Oms(1)=##class(Res.PI.Abstract).TaalAfhOmsClass("Prod.GAMeta.BT.GRPDesign",..Val("DS"),Taal) + ; Afmeting + ;Set Lengte=$S(Taal="F":"L",Taal="E":"L",1:"L")_":"_..Val("LG") + Set Lengte="L:"_..Val("LG") + Set Txt=Lengte + Do AddLT(Taal,.Oms,.Txt,.Optie) + ; Zaaglengte bij leveranciersreferentie + If $G(Optie)["R" Do + . Set Txt="Zaaglengte:"_..Val("LZ") + . Do AddLT(Taal,.Oms,.Txt,.Optie) + Quit + +AddLT(Taal,Oms,Txt,Optie,NewLine) + ; Oms en Txt via .Local + ; Optie= R of leeg + New MaxLen,Lengte + Quit:Txt="" + Set MaxLen=$S(Oms=1:$S($G(Optie)="R":44,1:26),1:44) + Set:$G(NewLine) Oms=$I(Oms) + ;Write MaxLen," ",$L(Txt)," ",Txt,! + If ($L($G(Oms(Oms)))+$L(Txt)+$S($L($G(Oms(Oms))):1,1:0))>MaxLen Do ; Kan er niet meer bij + . If $L(Txt)>MaxLen Do ; splitsen van txt over meerdere lijnen + .. Set Lengte=$L($G(Oms(Oms))) + .. If Lengte*2>MaxLen Set Oms=Oms+1 ; Minder dan de helft van maxlen nog vrij daarom Nieuw veld anders append + .. Set Lengte=$L($G(Oms(Oms))) + .. Set Txt1=$E(Txt,1,MaxLen-Lengte) + .. If Txt1'[" ",$L($G(Oms(Oms))) Do ; Onvoldoende vrije ruimte om te splitsen op woorden + ... Set Oms=$I(Oms) + ... Set Lengte=0 + ... Set Txt1=$E(Txt,1,MaxLen) + .. If $E(Txt,$L(Txt1)+1)=" " Set Txt1=Txt1_" " ; woord delimiter was er juist afgevallen + .. Set Txt1=$P(Txt1," ",1,$L(Txt1," ")-1) + .. ;Write "woord",Txt1,! + .. Set:$L($G(Oms(Oms))) Oms(Oms)=$G(Oms(Oms))_";" + .. Set Oms(Oms)=$G(Oms(Oms))_Txt1 + .. Set Txt=$E(Txt,$L(Txt1)+1,999) + .. Set:$E(Txt)=" " $E(Txt)="" + .. ;Set:$E(Oms(Oms),$L(Oms(Oms)))=" " $E(Oms(Oms),$L(Oms(Oms)))="" + .. Set Oms=$I(Oms) + .. Set Oms(Oms)=Txt + . Else Do ; txt kan volledig in nieuw veld + .. Set Oms=$I(Oms) + .. Set Oms(Oms)=Txt + Else Do ; append + . Set Oms(Oms)=$G(Oms(Oms))_$S($L($G(Oms(Oms))):";",1:"")_Txt + Set Txt="" + Quit \ No newline at end of file Index: _vhisie/TBX/Header.csp =================================================================== diff -u --- _vhisie/TBX/Header.csp (revision 0) +++ _vhisie/TBX/Header.csp (revision 2) @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    + + + + + + + + + + + + +
       #(..WebTextValue("Help",Taal,"L"))# 
    +
    \ No newline at end of file Index: BLBaseCNTs.inc.rou =================================================================== diff -u --- BLBaseCNTs.inc.rou (revision 0) +++ BLBaseCNTs.inc.rou (revision 2) @@ -0,0 +1,79 @@ + //============================================================================ + // NIET CLASS METHODS + //============================================================================ + + //---------------------------------------------------------------------------- + // POST METHODS + //---------------------------------------------------------------------------- + + //POST: MsgType, Params, SendType + #Define blPost(%p1,%p2,%p3) ..AddMsg(,%p1,,%p2,%p3,1) + //POST EXTENDED: MsgType, SubType, Params, SendType + #Define blPostEx(%p1,%p2,%p3,%p4) ..AddMsg(,%p1,%p2,%p3,%p4,1) + + //POST TO: eqID, MsgType, Params, SendType + #Define blPostTo(%p1,%p2,%p3,%p4) ..AddMsg(%p1,%p2,,%p3,%p4,1) + //POST TO EXTENDED: eqID, MsgType, SubType, Params, SendType + #Define blPostToEx(%p1,%p2,%p3,%p4,%p5) ..AddMsg(%p1,%p2,%p3,%p4,%p5,1) + + + //---------------------------------------------------------------------------- + // SEND METHODS + //---------------------------------------------------------------------------- + + //SEND: MsgType, Params, SendType + #Define blSend(%p1,%p2,%p3) ..AddMsg(,%p1,,%p2,%p3,0) + //SEND EXTENDED: MsgType, SubType, Params, SendType + #Define blSendEx(%p1,%p2,%p3,%p4) ..AddMsg(,%p1,%p2,%p3,%p4,0) + + //SEND TO: eqID, MsgType, Params, SendType + #Define blSendTo(%p1,%p2,%p3,%p4) ..AddMsg(%p1,%p2,,%p3,%p4,0) + //SEND TO EXTENDED: eqID, MsgType, SubType, Params, SendType + #Define blSendToEx(%p1,%p2,%p3,%p4,%p5) ..AddMsg(%p1,%p2,%p3,%p4,%p5,0) + + + //============================================================================ + // CLASS METHODS + //============================================================================ + + //---------------------------------------------------------------------------- + // POST METHODS + //---------------------------------------------------------------------------- + + //DIRECT POST TO: eqID, MsgType, Params, SendType + #Define blDPostTo(%p1,%p2,%p3,%p4) ##class(BL.Lib.BaseObj).AddMsgDirect(%p1,%p2,,%p3,%p4,1) + //DIRECT POST TO EXTENDED: eqID, MsgType, SubType, Params, SendType + #Define blDPostToEx(%p1,%p2,%p3,%p4,%p5) ##class(BL.Lib.BaseObj).AddMsgDirect(%p1,%p2,%p3,%p4,%p5,1) + + + //---------------------------------------------------------------------------- + // SEND METHODS - D: Direct Post/Send + //---------------------------------------------------------------------------- + + //DIRECT SEND TO: eqID, MsgType, Params, SendType + #Define blDSendTo(%p1,%p2,%p3,%p4) ##class(BL.Lib.BaseObj).AddMsgDirect(%p1,%p2,,%p3,%p4,0) + //DIRECT SEND TO EXTENDED: eqID, MsgType, SubType, Params, SendType + #Define blDSendToEx(%p1,%p2,%p3,%p4,%p5) ##class(BL.Lib.BaseObj).AddMsgDirect(%p1,%p2,%p3,%p4,%p5,0) + + //============================================================================ + // CLASS METHODS - VIA GET SINGLE EQ ID - DF: Direct Fixed Post/Send + //============================================================================ + + //---------------------------------------------------------------------------- + // POST METHODS + //---------------------------------------------------------------------------- + + //DIRECT POST TO: eqID, MsgType, Params, SendType + #Define blDFPostTo(%p2,%p3,%p4) ##class(BL.Lib.BaseObj).AddMsgDirect(..#FixedEQID_$J,%p2,,%p3,%p4,1) + //DIRECT POST TO EXTENDED: eqID, MsgType, SubType, Params, SendType + #Define blDFPostToEx(%p2,%p3,%p4,%p5) ##class(BL.Lib.BaseObj).AddMsgDirect(..#FixedEQID_$J,%p2,%p3,%p4,%p5,1) + + + //---------------------------------------------------------------------------- + // SEND METHODS + //---------------------------------------------------------------------------- + + //DIRECT SEND TO: eqID, MsgType, Params, SendType + #Define blDFSendTo(%p2,%p3,%p4) ##class(BL.Lib.BaseObj).AddMsgDirect(..#FixedEQID_$J,%p2,,%p3,%p4,0) + //DIRECT SEND TO EXTENDED: eqID, MsgType, SubType, Params, SendType + #Define blDFSendToEx(%p2,%p3,%p4,%p5) ##class(BL.Lib.BaseObj).AddMsgDirect(..#FixedEQID_$J,%p2,%p3,%p4,%p5,0) \ No newline at end of file Index: csp/tbx/wizpdata.cls.xml =================================================================== diff -u --- csp/tbx/wizpdata.cls.xml (revision 0) +++ csp/tbx/wizpdata.cls.xml (revision 2) @@ -0,0 +1,426 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +0) Do + . ; VHEPN Bestaand order + . Set IsKLDataReadOnly=(KLNr>0) + . + . ;New WSOrd + . ;Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + . ;Quit:('WSOrd) + . ; ... + . ;Set WSOrd="" + Else If (blnVHEPN) Do + . ; VHEPN Nieuw order, klantgegevens ophalen + . Set KLMini=$S($IsObject($G(KLMiniWS)):KLMiniWS, 1:..GetKlantData(sDomVERW,KLNr)) + . Quit:(KLNr'>0) + . If '$IsObject(KLMini) Do Quit + .. Quit:($G(%objlasterror,1)) + .. // Hyperevent JS error messagebox + .. New msg,blnOnServer + .. Set blnOnServer=($$$GETERRORCODE(%objlasterror)=$$$SOAPFaultReceived) + .. Set msg="'Error retrieving Customer data:"_"\n\n"_"SOAP message: '"_"+"_..QuoteJS($S(blnOnServer:"the SOAP server returned a SOAP fault.", 1:$$ParseStatus^vhLib(%objlasterror))) + .. Write " + + + + + + + + + + #(..WebTextValue("DataVersturen",Taal,"L"))# + + + + + + +
    #(..WebTextValue("MailSubmitOK",Taal,"L"))#!
    +
    + + + + +
    + #(..WebTextValue("Sluiten",Taal,"L"))# + +
    + +
    + The mail was not submitted due to (the following) errors: +

    #(errmsg)#
    + Contact Administrator: #()#

    +
    +
    + + + +
    + +
    The mail was submitted successfully!
    +
    Redirect in a moment ...
    + + +
    The mail was not submitted due to (the following) errors:
    + +
      + +
    +

    #(errmsg)#
    + Contact Administrator: #($CASE($G(sDomVERW), "HEIN":"info@tandem-box.de", "LMC":" ??? ", "DUPO":"du.pont@skynet.be", "HELMY":"info@destil.nl", "HFLE":"info@hafele.nl", "SFS":"info.u@sfsunimarket.biz", "MBHO":$$$EMailICTAdminMbho, :"ICT_SOAPSysOp@vanhoecke.be"))#

    +
    + +
    +
    + Please access this page using the Submit button. +
    +
    +
    + + Index: BL/EC/pxKlantInfoAdres.cls.xml =================================================================== diff -u --- BL/EC/pxKlantInfoAdres.cls.xml (revision 0) +++ BL/EC/pxKlantInfoAdres.cls.xml (revision 2) @@ -0,0 +1,89 @@ + + + +%VHMacro +%RegisteredObject,%XML.Adaptor +0 + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +1 +Klant:Derde.Klant.Klant,Array,SkipMainAddress +Code,KodeLeveringsadres + INTO Aanspreking, Naam, PostCode, StraatNrBus, ToeNaam, WoonPlaats, LandCode,KodeLeveringsadres + FROM Derde_Klant.LevAdres + WHERE Klant = :KLNr) + &sql(OPEN FAP) + + For &sql(FETCH FAP) Quit:SQLCODE Do + . Set pxAdres=..%New() + . If KodeLeveringsadres?4.6N Do ; Het leveringsadres kan een link zijn naar het hoofdadres van een andere klant + . . Set oAndereKlant=##class(Derde.Klant.Klant).%OpenId(KodeLeveringsadres) + . . Quit:'$isObject(oAndereKlant) + . . Do pxAdres.Fill(oAndereKlant.Aanspreking, oAndereKlant.Naam, oAndereKlant.Toenaam, oAndereKlant.StraatNrBus, oAndereKlant.Postnummer, oAndereKlant.Woonplaats, oAndereKlant.LandCode) + . Else Do + . . Do pxAdres.Fill(Aanspreking, Naam, ToeNaam, StraatNrBus, PostCode, WoonPlaats, LandCode) + . Do Array.SetAt(pxAdres,$I(VolgNr)) + &sql(CLOSE FAP) +]]> + + + +Aanspreking,Naam,Toenaam,StraatNrBus,PostCode,WoonPlaats,LandCode + + + + Index: Res/PI/Beslag.cls.xml =================================================================== diff -u --- Res/PI/Beslag.cls.xml (revision 0) +++ Res/PI/Beslag.cls.xml (revision 2) @@ -0,0 +1,548 @@ + + + + +Beslag voor HALUX kaderdeuren, zowel voor kaderdeuren, klapdeuren als schuifdeuren, e.a. +persistent +Res.PI.Items + + + +OPGELET: waarden zworden bewaard als %STRING, d.w.z decimale getallen bevatten een "." (PUNT) !
    +Dit is opgevat als een array aangezien verschillende beslagen verschillende eisen hebben.
    +De toepassing zal de specifieke gegevens verwerken.
    +Bv. x.SetAt("16.3","DFL") : De default afstand is 16,3mm. +of x.SetAt("13","MIN") : Minimale opdek is 13mm
    +
    +Het element met array-index "TYP" bepaalt de functie van AfstandBoorMaat, dit wil zeggen de positie t.o.v. welke rand (kant) van het profiel.
    +Mogelijke waarden: "ON+", "ON-", "IN+", "IN-", "EX+", "EX-", "BO+", "BO-" +]]>
    +%Library.String +array +
    + + +%Library.String + + + +%Library.String +list + + + +Res.PI.ProfType +list + + + +Res.PI.Toepas +list + + + + +Boringen voor het beslag tov van de oorsprong. + +Prod.GADef.emKadBoring +list + + + + +
  • VRZH : VRijeZone in de Hoogte (breedte = profielbreedte) +
  • VRZBOR : VRijeZone (in de Hoogte) voor de de boringen +]]> +%Library.Float +array + + + + +%Library.String + + + + + +Kost van het beslag, in de kost zit zowel de materiaalkost als machinekost en verwerkingskost. +Res.PI.Kost + + + + +Afstand dat de deur de korpus bedekt. +Dit is opgevat als een array om dat verschillende beslagen verschillende eisen hebben. +De toepassing zal de specifieke gegevens verwerken. +Bv. Opdek.SetAt(16,"1") : De default afstand is 16mm. +of Opdek.SetAt(13,"MIN") : Minimale opdek is 13mm +%Integer +array + + + + + + +Opmerking die aan de gebruiker kan gegeven worden bij overschrijding van bepaalde ingaven. +%String +array + + + +%Library.String + + + + + + +Mogelijke waarden voor CodeFrom:
  • + NEXT : geen "FromObject" nodig
  • + FIRST : parameter "FromObject" is verplicht; Kan zijn: Res.PI.Verbind (of Res.PI.ProfType), Res.PI.Beslag.
  • + LAST : idem FIRST +]]> +CodeFrom:%Library.String="NEXT",FromObject:%Persistent +%Library.Float +0) VZ=%this.ConstructAfm.GetAt("VRZH") + Else If CodeFrom=$$$FROMFIRST Do + . Set VZ=$$VZFromVerbind(CodeFrom,FromObject) + Else If CodeFrom=$$$FROMLAST Do + . Set VZ=$$VZFromVerbind(CodeFrom,FromObject) + Else Do + . Set VZ=0 + Quit VZ + + +VZFromVerbind(CodeFrom,FromObject) + New Fobj,VZBeslag,VZHoek,VRZH,OFFSY,VZCalc + + Set FromObject=$G(FromObject,"") + If FromObject="" Do + . Set Fobj="" + Else If FromObject.%ClassName()="ProfType" Do + . Set Fobj=FromObject.Hoek + Else If FromObject.%ClassName()="Verbind" Do + . Set Fobj=FromObject + Else Set Fobj="" + + Set VRZH=%this.ConstructAfm.GetAt("VRZH") + Set OFFSY=%this.ConstructAfm.GetAt("OFFSY") + Set VZHoek=0 + Set VZBeslag=%this.ConstructAfm.GetAt("VRZHPOTS") + Set:(Fobj'="") VZHoek=Fobj.ConstructAfm.GetAt("VRZPOTS") + If (VZBeslag'>0)!(VZHoek'>0) Do + . Set VZBeslag=%this.ConstructAfm.GetAt("VRZHBOR") + . Set:(Fobj'="") VZHoek=Fobj.ConstructAfm.GetAt("VRZBOR") + Set:(VZBeslag'>0) VZBeslag=VRZH + ; VZHoek equals 0 if Fobj="", or has also a reasonable value. + + ; Determine position of "OFFSY in relation to VZBeslag": + ; OFFSY is always the offset from VRZH + ; since the middles of VRZH and VZBeslag are the same, "OFFSY in relation to VZBeslag" lies half the difference of VZBeslag and VRZH lower than to VRZH. + Set VZCalc=0.5*(VZBeslag-VRZH)+OFFSY + + Quit:(CodeFrom=$$$FROMLAST) (VZBeslag-VZCalc)+VZHoek + Quit:(CodeFrom=$$$FROMFIRST) VZCalc+VZHoek + Quit 0 + +]]> + + + + + + ; ... + ; + + New strVML,NL,TRVZHoogte,TRVZBreedte, TROffsX,TROffsY, TRXPos,TRYPos, TRLeft,TRTop + New TYP,BoorKey,objBoring,tmpX,tmpY ;,strDevObj + + If $G(BPosX)="" Set BPosX=0 + If $G(BPosY)="" Set BPosY=0 + If $G(BPosZ)="" Set BPosZ=0 + If $G(Plaats)="" Set Plaats="PL" + Set NL=$C(13)_$C(10) + Set strVML="" + ; Get and Transform Vrijze Zone + Do TransformGetVRZ(.TRVZHoogte,.TRVZBreedte) + Quit:(TRVZHoogte="")!(TRVZBreedte="") + ; Get and Transform OffsetX and OffsetY + Do TransformGetOffsXY(.TROffsX,.TROffsY,TRVZHoogte,TRVZBreedte) + ; Set VML Group and surrounding rectangle + If $G(Opties)["C" Set strVML=strVML_""_NL + Set strVML=strVML_$$xvwVMLGroepOpen(BPosX-TROffsX,BPosY-TROffsY, TRVZBreedte,TRVZHoogte)_NL + Set strVML=strVML_$$xvwVMLRectangle(0,0, TRVZBreedte,TRVZHoogte)_NL ; Vrije Zone + Do WRITE^XMLWRITE(DevObj,strVML) + Set strVML="" + + ; Draw BeslagBoringen + Set BoorKey="" + For Do %this.Boringen.GetNext(.BoorKey) Quit:BoorKey="" Do + . Set objBoring=%this.Boringen.GetAt(BoorKey) + . ; Property values [XPos] and [YPos] will be modified TEMPORARILY: transformation to the correct Profiel. + . Set tmpX=objBoring.XPos + . Set tmpY=objBoring.YPos + . ; Transform (X,Y)-coordinates according to the Axes Transformation + . Set objBoring.XPos=$S(Plaats="PR":-tmpX, (Plaats="PB")!(Plaats="PO"):tmpY, 1:tmpX) + . Set objBoring.YPos=$S(Plaats="PR":tmpY, Plaats="PB":tmpX, Plaats="PO":-tmpX, 1:tmpY) + . ; Translation of the origin to the Upper Left Corner of the + . Set objBoring.XPos=objBoring.XPos+TROffsX + . Set objBoring.YPos=objBoring.YPos+TROffsY + . ; + . ;Do BoringxXMLBeslagBoring^VHSys.Library.KadBoringTest(DevObj,Plaats,1,%this.TekeningCode,"",objBoring) + . Do objBoring.XMLBeslagBoring(DevObj,Plaats,1,%this.TekeningCode,"") + . ; + . ; Reset to original values + . Set objBoring.XPos=tmpX + . Set objBoring.YPos=tmpY + . Do objBoring.%Close() + + Set strVML="" + Set strVML=strVML_$$xvwVMLGroepClose()_NL + Do WRITE^XMLWRITE(DevObj,strVML) + Quit + + +TransformGetVRZ(TRVZHoogte,TRVZBreedte) + ; Parameters should be passed by reference ! + ; Get Vrijze Zone + New VRZH,VRZB + Set VRZH=%this.ConstructAfm.GetAt("VRZH") + Set VRZB=%this.ConstructAfm.GetAt("VRZB") + ;Quit:(VRZH="")!(VRZB="") + ; Transform Vrijze Zone + Set TRVZHoogte=$S(Plaats="PB"!(Plaats="PO"):VRZB, 1:VRZH) + Set TRVZBreedte=$S(Plaats="PB"!(Plaats="PO"):VRZH, 1:VRZB) + Quit + +TransformGetOffsXY(TROffsX,TROffsY,TRVZHoogte,TRVZBreedte) + ; Parameters should be passed by reference ! + ; Get OffsetX and OffsetY + New OffsX,OffsY + Set OffsX=0 ; Default + Set OffsY=0 ; Default + Set OffsX=%this.ConstructAfm.GetAt("OFFSX") + Set OffsY=%this.ConstructAfm.GetAt("OFFSY") + ; Transform OffsetX and OffsetY + If Plaats="PL" Do + . Set TROffsX=OffsX + . Set TROffsY=OffsY + Else If Plaats="PR" Do + . Set TROffsX=TRVZBreedte-OffsX + . Set TROffsY=OffsY + Else If Plaats="PB" Do + . Set TROffsX=OffsY + . Set TROffsY=OffsX + Else If Plaats="PO" Do + . Set TROffsX=OffsY + . Set TROffsY=TRVZHoogte-OffsX + Else Do + . Quit + Quit + + +xvwVMLGroepOpen(Left,Top,Width,Height) + Set:(Width\1'>0) Width=1 + Set:(Height\1'>0) Height=1 + Quit "" + +xvwVMLRectangle(Left,Top,Width,Height) + Quit "" + +xvwVMLGroepClose() + Quit "" + +]]> + + + + + + ; ... + ; + + New strVML,intLeft,intTop,intRotate,intOrigX + New MaxDim,OffsetPos,FKey + + If $G(BMin)="" Set BMin=0 + If $G(BMax)="" Set BMax=100 + If $G(Plaats)="" Set Plaats="PL" + If $G(AfBM)="" Set AfBM=0 + If $G(Pos)="" Set Pos=-1 + If Pos'>0 Set Pos=-1 + + Set intRotate=$S(Plaats="PL":0, Plaats="PB":90, Plaats="PR":180, Plaats="PO":270, 1:0) + Set strFlip="" + Set MaxDim="" + Set intOrigX="" + Set strVML=$$TemplateVMLGet(%this.TekeningCode,.MaxDim,$G(Opties)) + Quit:(strVML="") + ; w %this.ItemID,%this.TekeningCode,Pos_" "_MaxDim + + ; Translate Parameters to coordinates + If (%this.TekeningCode="35M")!(%this.TekeningCode="TRNVW") Do ; POT SCHARNIER + . ; for almost any value: Set HalfPos=Pos-(MaxDim/2), unless Pos=-1 + . Set OffsetPos=$S(Pos=-1:0, 1:Pos-(MaxDim/2)) + . If Plaats="PL" Do CoordinXYSet(.intLeft,.intTop, BMin,OffsetPos) + . If Plaats="PB" Do CoordinXYSet(.intLeft,.intTop, OffsetPos,BMin) + . If Plaats="PR" Do CoordinXYSet(.intLeft,.intTop, BMax-MaxDim,OffsetPos) + . If Plaats="PO" Do CoordinXYSet(.intLeft,.intTop, OffsetPos,BMax-MaxDim) + . Set intOrigX=-AfBM + . ; + Else If "TRNRB;TRNRO;TRNRD"[%this.TekeningCode Do ; TERNO SCHARNIEREN + . ; for almost any value: Set HalfPos=Pos-(MaxDim/2), unless Pos=-1 + . Set OffsetPos=$S(Pos=-1:0, 1:Pos-$S(%this.TekeningCode="TRNRB":19.5,1:83.5)) + . If Plaats="PL" Do CoordinXYSet(.intLeft,.intTop, BMin,OffsetPos) + . If Plaats="PB" Do CoordinXYSet(.intLeft,.intTop, OffsetPos,BMin) + . If Plaats="PR" Do CoordinXYSet(.intLeft,.intTop, BMax-MaxDim,OffsetPos) + . If Plaats="PO" Do CoordinXYSet(.intLeft,.intTop, OffsetPos,BMax-MaxDim) + . Set intOrigX=-AfBM + . ; + Else If %this.TekeningCode="KAD" Do ; KADER SCHARNIER + . ; for almost any value: Set HalfPos=Pos-(MaxDim/2), unless Pos=-1 + . Set OffsetPos=$S(Pos=-1:0, 1:Pos-(MaxDim/2)) + . If Plaats="PL" Do CoordinXYSet(.intLeft,.intTop, BMax-MaxDim,OffsetPos) + . If Plaats="PB" Do CoordinXYSet(.intLeft,.intTop, OffsetPos,BMax-MaxDim) + . If Plaats="PR" Do CoordinXYSet(.intLeft,.intTop, BMin,OffsetPos) + . If Plaats="PO" Do CoordinXYSet(.intLeft,.intTop, OffsetPos,BMin) + . Set intOrigX=AfBM + . ; + Else If $E(%this.TekeningCode,1,5)="BORLA" Do + . ; LadeFront Beslag + . If Plaats="PL" Do CoordinXYSet(.intLeft,.intTop, AfBM,Pos) + . If Plaats="PR" Do CoordinXYSet(.intLeft,.intTop, BMax-AfBM,Pos) + . ; + Else Do + . ;Do CoordinXYSet(.intLeft,.intTop, BMin,BMin) + . Quit + + ; Replace parameters by values + For FKey="GROUP_LEFT;intLeft", "GROUP_TOP;intTop", "GROUP_ROTATE;intRotate", "GROUP_FLIP;strFlip", "GROUP_ORIGINX;intOrigX" Do + . Do ReplaceSubString(.strVML, "@"_$P(FKey,";",1)_"@", @$P(FKey,";",2)\1) + + ; Temporary + ; W strVML,! + + Do WRITE^XMLWRITE(DevObj,strVML) + Quit + +CoordinXYSet(CoordX,CoordY,ValX,ValY) + Set CoordX=ValX + Set CoordY=ValY + Quit + +ReplaceSubString(strText,strFind,strNew) + ; Replaces all in by + ; strText should be passed by Reference !!! + ; + New FKey,Q,P,Find,Variable + + For Quit:strText'[strFind Do + . Set Q=$FIND(strText,strFind)-1 + . Set P=Q-$L(strFind)+1 + . Set $E(strText,P,Q)=strNew + . ;R K + + Quit "Pass First Parameter () by Reference!" + +TemplateVMLGet(TCode,MaxDim,Opties) + ; Returns the VML-code Template to draw "Beslag" + ; is returned by Reference !!! + New VML,NL + + Set NL=$C(13)_$C(10) + Set VML="" + + If TCode="35M" Do + . ; + . If $G(Opties)["C" Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set MaxDim=66 + . ; + Else If TCode="TRNVW" Do + . ; + . If $G(Opties)["C" Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set MaxDim=60 + . ; + Else If (TCode="TRNRB")!(TCode="TRNRO")!(TCode="TRNRD") Do + . ; + . If $G(Opties)["C" Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set MaxDim=104 + . ; + Else If TCode="KAD" Do + . ; + . If $G(Opties)["C" Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set MaxDim=44 + . ; + Else If ($E(TCode,1,5)="BORLA") Do + . ; + . If $G(Opties)["C" Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set MaxDim=0 + . ; + Else Do + . Set VML="" + . Quit + + Quit VML + + +]]> + + + + +Ophalen Beslagen met beperking op Ophang(key), op ProfielType en op Code +%Library.SQLQuery +(OphangKey:%Library.String,ProfielType:%Library.String,Code:%Library.String) +SELECT ID, ItemID, Omschrijving, Sort +FROM Beslag +WHERE (BeperkingOphang LIKE ("%" || :OphangKey || "%")) AND (BeperkingProfType LIKE ("%" || :ProfielType || "%")) AND (BeperkingCode LIKE ("%" || :Code || "%")) +ORDER BY Sort + + + + + + + +Ophalen Beslagen met beperking op Ophang(key) en op ProfielType +%Library.SQLQuery +(OphangKey:%Library.String,ProfielType:%Library.String) +SELECT ID, ItemID, Omschrijving, Sort +FROM Beslag +WHERE (BeperkingOphang LIKE ("%" || :OphangKey || "%")) AND (BeperkingProfType LIKE ("%" || :ProfielType || "%")) +ORDER BY Sort + + + + + + + +Lijst met taalafhankelijke omschrijving +%Library.SQLQuery +(Taal:%Library.String="N") +SELECT BSL.ID, BSL.ItemID, (BSL.ItemID || ' - ' || BSLT.TaalOms) Oms + FROM Res_PI.Beslag BSL, Res_PI.Beslag_TaalOms BSLT + WHERE (BSL.ID=BSLT.Beslag) AND (BSLT.element_key='N') AND + (BSL.BeperkingOphang LIKE '%S%') + ORDER BY BSL.Sort + + + + + +%Library.CacheStorage +BeslagDefaultData + +AfstandBoorMaat +subnode +"ABM" + + +"BSL" + +BeperkingProfType + + +BeperkingToepas + + +Kost + + +KortTekst + + +TekeningCode + + +Boringen + + +BeperkingOphang + + +BeperkingCode + + +KostOLD + + +OLDKostOLD + + + +ConstructAfm +subnode +"CA" + + +Opdek +subnode +"OPD" + + +TaalOpmerking +subnode +"TOPM" + + + + Index: APPS/TBXWeb/impl/LMCOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/LMCOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/LMCOrderHandler.cls.xml (revision 2) @@ -0,0 +1,106 @@ + + + +1 +AbstractOrderHandler +0 + + +0 + + + +%String + + + + +Boolean + + + + +%String +" +]]> + + + +Destination +%List +" +#Else + Set lbTo=$LB($$$EMailOVLMCTEST) ; """OPTIMA OV."" <$$$EMailOVLMCTEST>" +#EndIf + + Quit lbTo +]]> + + + +%String + + + + +1 +%Status + + + + +%String + + + + +%String + + + + +%String + + + + Index: _vhisie/TBX/BuildRef.csp =================================================================== diff -u --- _vhisie/TBX/BuildRef.csp (revision 0) +++ _vhisie/TBX/BuildRef.csp (revision 2) @@ -0,0 +1,238 @@ + + + + + + + + + + + RefBuilder + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + +  #(..WebTextValue("MainBadCode",Taal,"O"))# + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       #(..WebTextValue("Taal",Taal,"L"))#: #(arSwitchTL("N")_" - "_arSwitchTL("F")_" - "_arSwitchTL("E")_" - "_arSwitchTL("D"))#
    Analyse QueryString:
    QueryString:
    REF:
    DATAOPT:
     
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Decrypted values:   
    KLNr: REF:
    VERW:   #($$$txtFillV(v,VHEPN)_""_$$$txtFillV(o,LMC)_$$$txtFillV(h,HEIN)_$$$txtFillV(d,HELMY)_$$$txtFillV(hf,HFLE)_$$$txtFillV(s,SFS)_$$$txtFillV(mh,MBHO))# DATAOPT:
    wsID:
    Mode:   #($$$txtFillM(s,START)_$$$txtFillM(c,COMPLETE)_$$$txtFillM(p,PROCESS)_$$$txtFillM(v,VIEW))#
     
    Create a URL:
    Page: #($S($G(Page)["/":"[..."_$P(Page,"/",$L(Page,"/"))_"]",1:""))#Taal:
     
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Encrypted URL:   
    URL: +   + +
    REF: +
    +   Check: #($G(RefCheck))# +
    DATAOPT: +
    +   Check: #($G(DataOptCheck))# +
     
    +
    +
    +
    + +
    + + + + + \ No newline at end of file Index: EH/Lib/BaseEventQueue.cls.xml =================================================================== diff -u --- EH/Lib/BaseEventQueue.cls.xml (revision 0) +++ EH/Lib/BaseEventQueue.cls.xml (revision 2) @@ -0,0 +1,390 @@ + + + +serial +EventQueueCNTs +%Library.RegisteredObject + + +3 + + + +1 + + + +2 + + + +7 + + + +6 + + + +4 + + + +5 + + + +8 + + + +3 + + + +2 + + + +1 + + + +EH.Lib.Msg +1 + + + +%Library.String + + + +1 +eqID:%Library.String,MsgType:%Library.String,SubType:%Library.String,Params:%Library.String,SendType:%Library.String,IsPost:%Library.String + + + + +1 +MsgAsList:%Library.List + + + + +eqID:%Library.String + + + + +MsgAsList:%Library.List + + + + +eqID:%Library.String +%Library.Integer + afsluiten + Quit:(MsgNr="") 0 + + //Message uitlezen, van $LB -> object plaatsen + Set tmpMsg=^EventQueue(eqID,..#EQMsgNode,MsgNr) + Do ..FillMsgObj(tmpMsg) + + //Bericht uit queue verwijderen + Kill ^EventQueue(eqID,..#EQMsgNode,MsgNr) + + Quit 1 +]]> + + + +1 +%Library.String + + + + +eqID:%Library.String + + + + +eqID:%Library.String +%Library.Boolean + + + + + +Boolean: geeft 1 als er messages in wachtrij zitten; 0 als de wachtrij leeg is +eqID:%Library.String +%Library.Integer + + + + + +Clean up inactive job-queues +1 + + + + +eqID:%Library.String + + + + +MsgType:%Library.String,SubType:%Library.String,eqID:%Library.String + + + + +eqID:%Library.String + + + + +eqID:%Library.String + + + + +MsgType:%Library.String,SubType:%Library.String,eqID:%Library.String + + + + +TimeOut:%Library.Integer +%Library.Boolean + + + + + + + + +eqID:%Library.String +%Library.Status + + + + +%Library.CacheSerialState +BaseEventQueueState +^EH.Lib.BaseEventQueueS + + +Msg + + +Job + + +eqType + + +eqID + + +ID + + +TrapMode + + +HoldMsgs + + + + + Index: DW/WWW/StaticHPT.cls.xml =================================================================== diff -u --- DW/WWW/StaticHPT.cls.xml (revision 0) +++ DW/WWW/StaticHPT.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + + +Statische gegevens voor website statistieken te tonen in webpagina (Hits Per Taal) +persistent +1 +%Persistent +0 + + +%Integer + + + +%String + + + +%String + + + +%Library.CacheStorage +^DW.WWW.StaticHPTD +StaticHPTDefaultData +^DW.WWW.StaticHPTD +^DW.WWW.StaticHPTI +^DW.WWW.StaticHPTS + +listnode + + +%%CLASSNAME + + +Aantal + + +Site + + +Taal + + + + + Index: _vhisie/TBX/TBoxSelectOLProd.js =================================================================== diff -u --- _vhisie/TBX/TBoxSelectOLProd.js (revision 0) +++ _vhisie/TBX/TBoxSelectOLProd.js (revision 2) @@ -0,0 +1,79 @@ + +// General variabels: + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function isNumberInt(inputString) { + return (!isNaN(parseInt(inputString)) ? true : false); +} + +function jsVTL(Intern,Taal,TextType) { + // !!! jsArVTL must be a GLOBAL array variable !!! + TextType = TextType || "O"; + Taal = Taal || ActiveTaal; + var Val = jsArVTL[Intern+"#"+Taal+"-"+TextType]; + if (Val=="~") return ""; + return ( (Val=="" || isUndef(Val)) ? Intern+" ("+TextType+"-"+Taal+")" : Val); +} +// jsVTL(""); // + +function btnOLProdClick (PRNr) { + if (isUndef(PRNr)) return; + RetVal=PRNr; + if (!window.opener) window.opener=self; + if (window.opener.document==window.document) { + alert ("Select " + RetVal); + return; + } + // Select item in window.opener + try { window.opener.UpdateDynSpace (RetVal); } + catch (exception) { + alert ("Error updating: " + RetVal); + return; + } + if (window.FeedBackFld) { + window.FeedBackFld.focus(); } + else { window.opener.focus(); } + window.close(); +} + +var DynSpaceInfo; +function DSInfoFocus() { + try { + DynSpaceInfo=window.open("","DynSpaceInfo","width=700,height=650, "+GetFeaturesDS()); + DynSpaceInfo.focus(); + } catch (exception) {} +} +function GetFeaturesDS() { + return "location=0,menubar=0,scrollbars=1,resizable=1,status=1,titlebar=1,toolbar=0"; +} + + +function GetParamValue (sURL, Param, Default) { + var sURLUpper; + sURLUpper = sURL.toUpperCase() + "&"; + Param = Param.toUpperCase(); + if (!Default) Default=""; + + var Pos = sURLUpper.indexOf (Param + "="); + if (Pos==-1) return Default; + Pos = Pos + Param.length + 1; + return sURL.substring (Pos, sURLUpper.indexOf("&", Pos)); +} + +function AnalizeQS() { + return; + var sData = GetParamValue(document.location.href, "data", ""); + var sKlr = GetParamValue(document.location.href, "klr", ""); + qsQty=sData.split("`")[1]; // tweede piece + var oQS = document.getElementById("lblQString"); + if (!oQS) return; + oQS.innerHTML=sData + "
    " + sKlr; +} + +function init() { +// AnalizeQS(); +} Index: BL/EC/pxWebShop.cls.xml =================================================================== diff -u --- BL/EC/pxWebShop.cls.xml (revision 0) +++ BL/EC/pxWebShop.cls.xml (revision 2) @@ -0,0 +1,114 @@ + + + +%RegisteredObject,%XML.Adaptor +0 + + + +OfferteID +%String + + + + +Document ref van de klant +%String + + + + +Commissie referentie bij bv. ORGALUX producten +%String + + + +%String + + + + +Mogelijke Leveringsdatums +%String + + + + +Leveringsdatum te gebruiken voor elke lijn +%String + + + + +Minimum Leverings datum, wordt bepaald door de levertermijn van de producten +%String + + + + +(VALUELIST = ";EDI;TBX;EC;DYN") +%String + + + + +De commentaar wordt bij controle/import getoond aan de interne gebruiker +%String + + + + + +True indien prijzen in bruto moeten getoond worden. +%Boolean + + + +%String + + + +%String + + + +pxKlantInfoAdres + + + + +Netto totaal bedrag (excl. BTW) +%Float + + + + +Aantal productlijnen +%Integer + + + +%String + + + +%String + + + +BL.EC.pxXMLDataSet + + + +%Boolean + + + +%String + + + +%String + + + Index: TECH/Error/ErrorAdaptor.cls.xml =================================================================== diff -u --- TECH/Error/ErrorAdaptor.cls.xml (revision 0) +++ TECH/Error/ErrorAdaptor.cls.xml (revision 2) @@ -0,0 +1,31 @@ + + + + +Deze classe definieert 1 method ErrorHandling. +Van deze klasse moet geerft worden door elke klasse die de standaard errorhandling wenst te gebruiken. + +Er bestaat een include file TECH.Error die de macros bevat om de errortrap(catch) te zetten en de error te throwen + +De $ECODE bestaat uit 4 delen en de eerste karakter is de delimiter. + Piece 2 : Errornummer + Piece 3 : Interne error omschrijving + Piece 4 : Vertaalde %Status + Piece 5 : Userfriendly omschrijving + +Bij het instellen van de trap kan je 2 parameters meegeven (opgelet dit moeten CONSTANTEN zijn) + Param 1 : Label waardoor de TRAP Catch een naam krijgt. Deze kan dan gebruikt worden door de errorhandler om specifieke controles uit te voegen + Param 2 : Opties : "NoMail" en "NoLog" dit wordt door de standaard errorhandler gebruikt om geen mails en of logs aan te maken + +TECH.Error +1 +%RegisteredObject +0 + + +Label,Options + + + + Index: BL/EC/sub/pxTBXDesignOption.cls.xml =================================================================== diff -u --- BL/EC/sub/pxTBXDesignOption.cls.xml (revision 0) +++ BL/EC/sub/pxTBXDesignOption.cls.xml (revision 2) @@ -0,0 +1,53 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + + + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +pxTBXDesignOptionItem +list + + + + +pxTBXDesignOptionItem +list + + + + +pxTBXDesignOptionItem +list + + + + Index: Prod/GAMeta/BT/TBRugHoogte.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBRugHoogte.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBRugHoogte.cls.xml (revision 2) @@ -0,0 +1,149 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +%Library.Float + + + +0 +1 +1 +ItemID +1 + + + +0 +1 +code + +BeperkLijst2Execute +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +1 +code + +BeperkLijst2Execute +0 +%Library.Status +0 + + + + +]]> +%Library.Query +0 + +0 + + + + + +%Library.SQLQuery +0 +SELECT ID, TBRugHoogte, BeperkGUI, element_key + FROM Prod_GAMeta_BT.TBRugHoogte_BeperkGUI +0 + + + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBRHD") +TBRugHoogteDefaultData +^Res.PI.Items("PR;GA;TBRHD") +^Res.PI.Items("index","PR;GA;TBRH") +^Res.PI.Items("stream","PR;GA;TBRH") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + +Hoogte + + + +TaalOms +subnode +"TO" + + + + Index: _vhisie/TBX/TBoxWizIO.js =================================================================== diff -u --- _vhisie/TBX/TBoxWizIO.js (revision 0) +++ _vhisie/TBX/TBoxWizIO.js (revision 2) @@ -0,0 +1,410 @@ + +/* +// General variabels: +var arPData=Array(); +var KlantFormType; +var arKlrValue=Array(); +var arMData=Array(); +var BulkVPKCodeDFL="P" of "O"; // see TBoxWizMaten.js +*/ + + +function DataStringToArrays (sPData,sKLRData,sMData,sPrices) { + var o=undefined; +/* + var sPData="tn``ts`tp`tg`tt`tf`tc`tl`BestelBon```te`prs`wsID`P",qty; + var sKLRData="MG`DG`WI`IN`I`MG"; + var ="1`1`TBX`0``D`500`16`500`50`Z`0`0`\\2`14`TBX`0``D/Z`750`16`400`30`LR`0`v`Std`S`B``104390"; + var ="18.43\\25.08"; +*/ + arMErrs=Array(); + cDelimToPData(sPData, o, 1); + cDelimToKleurKeuze(sKLRData, o, 0); // blnReset = 1 would also clear the "DFL_xx" items + cDelimToMData(sMData, o, 1); + arPrices=cDelimToPrices(sPrices); + TotQty=DollarGet(arPData["TotAantal"]); +// if (TotPrice != DollarGet(arPData["TotPrijs"])) alert ("Data mismatch (price) !") +} + +function cPDataToSArray () { +// Omzetten van globale variablele "arPData" naar een Sorted Array: + if (!arPData) return Array(); + var tmpAr=Array( + DollarGet(arPData["Naam"]), // 1 + "", // 2 + DollarGet(arPData["StraatNr"]), // 3 + DollarGet(arPData["PostNr"]), // 4 + DollarGet(arPData["WoonPlaats"]), // 5 + DollarGet(arPData["Telefoon"]), // 6 + DollarGet(arPData["Fax"]), // 7 + DollarGet(arPData["Commissie"]), // 8 + DollarGet(arPData["LeverTijd"]), // 9 + DollarGet(KlantFormType), // 10 + "", + DollarGet(arPData["NietMee"]), // 12 + DollarGet(arPData["EMail"]), // 13 + DollarGet(arPData["TotPrijs"]), // 14 + DollarGet(arPData["ID"]), // 15 + DollarGet(arPData["AfdrukCode"]), // 16 + DollarGet(arPData["TotAantal"]), // 17 + DollarGet(arPData["SubmitTS"]), // 18 + DollarGet(arPData["Korting"]), // 19 + DollarGet(arPData["BTWNr"]), // 20 + DollarGet(arPData["ShowInHist"]) // 21 + ); + return tmpAr; +} +function cSArrayToPData (tmpAr,blnReset) { +// Omzetten van de Sorted Array tmpAr naar de globale variablele "arPData" en "KlantFormType": + if (blnReset) { arPData=Array(); KlantFormType=""; } + if (!tmpAr) return; + arPData["Naam"]= DollarGet(tmpAr[0]); // 1 + // // 2 + arPData["StraatNr"]= DollarGet(tmpAr[2]); // 3 + arPData["PostNr"]= DollarGet(tmpAr[3]); // 4 + arPData["WoonPlaats"]=DollarGet(tmpAr[4]); // 5 + arPData["Telefoon"]= DollarGet(tmpAr[5]); // 6 + arPData["Fax"]= DollarGet(tmpAr[6]); // 7 + arPData["Commissie"]= DollarGet(tmpAr[7]); // 8 + arPData["LeverTijd"]= DollarGet(tmpAr[8]); // 9 + KlantFormType= DollarGet(tmpAr[9]); // 10 + // // 11 + arPData["NietMee"]= DollarGet(tmpAr[11]); // 12 + arPData["EMail"]= DollarGet(tmpAr[12]); // 13 + arPData["TotPrijs"]= DollarGet(tmpAr[13]); // 14 + arPData["ID"]= DollarGet(tmpAr[14]); // 15 + arPData["AfdrukCode"]=DollarGet(tmpAr[15]); // 16 + arPData["TotAantal"]= DollarGet(tmpAr[16]); // 17 + arPData["SubmitTS"]= DollarGet(tmpAr[17]); // 18 + arPData["Korting"]= DollarGet(tmpAr[18]); // 19 + arPData["BTWNr"]= DollarGet(tmpAr[19]); // 20 + arPData["ShowInHist"]=DollarGet(tmpAr[20]); // 21 + // Extra items in js-array (temporary) + arPData["tmpKFType"]= KlantFormType; + /* + var pdlNietMee=arPData["NietMee"]; + arNietMee=cPiecesToArray(pdlNietMee,";"); + */ + return; +} + +function cKleurKeuzeToSArray () { +// Omzetten van globale variablele "arKlrValue" naar een Sorted Array: + if (!arKlrValue) return Array(); + var tmpAr=Array(DollarGet(arKlrValue["KL"]), // 1 + DollarGet(arKlrValue["KB"]), // 2 + DollarGet(arKlrValue["RK"]), // 3 + DollarGet(arKlrValue["KV"]), // 4 + DollarGet(arKlrValue["DS"]) // 5 + ); + return tmpAr; +} +function cSArrayToKleurKeuze (tmpAr,blnReset) { +// Omzetten van de Sorted Array tmpAr naar de globale variablele "arKlrValue": + if (blnReset) { arKlrValue=Array(); } + if (!tmpAr) return; + arKlrValue["KL"]= DollarGet(tmpAr[0]); // 1 + arKlrValue["KB"]= DollarGet(tmpAr[1]); // 2 + arKlrValue["RK"]= DollarGet(tmpAr[2]); // 3 + arKlrValue["KV"]= DollarGet(tmpAr[3]); // 4 + arKlrValue["DS"]= DollarGet(tmpAr[4]); // 5 + return; +} + + +/* // See TBoxWizMaten.js +function GetBulkVPKCode() { + return (!isUnDef(BulkVPKCode) ? BulkVPKCode : BulkVPKCodeDFL); +} +*/ + +function cMDRowToSArray (arFlds,i,sExcl) { +// Omzetten van "arFlds" naar een Sorted Array: + if (!arFlds) return Array(); + var BulkC=GetBulkVPKCode(); + var WD=DollarGet(arFlds["WD"]); + var BM=DollarGet(arFlds["BM"]); + var VPK=DollarGet(arFlds["VPK"]); + var tmpAr=Array( + i+1, // 1 + DollarGet(arFlds["AANT"]), // 2 + "TBX", // 3 + (isUndef(sExcl) ? "" : (sExcl ? "1" : "0")), // 4 // Exclude + "", // 5 // Prijs + DollarGet(arFlds["LT"]), // 6 + DollarGet(arFlds["CB"]), // 7 + (WD==CodeBinMaat ? "B" : WD), // 8 + DollarGet(arFlds["LD"]), // 9 + DollarGet(arFlds["DK"]), // 10 + (BM=="T" ? "T" : (BM=="v" ? "I" : "Z")), // 11 + DollarGet(arFlds["BX"]), // 12 + (arFlds["SB"]=="v" ? "1" : "0"), // 13 + DollarGet(arFlds["OPVL"]), // 14 + DollarGet(arFlds["STD"]), // 15 + (VPK==BulkC || VPK=="v" ? BulkC : "S"), // 16 // modified by WimV from "v" to BulkVPKCode (on 25/08/2009) + DollarGet(arFlds["SPZK"]), // 17 + DollarGet(arFlds["DIV"]), // 18 // is ReadOnly + DollarGet(arFlds["OLP"]), // 19 + DollarGet(arFlds["ASM"]), // 20 + DollarGet(arFlds["BGRP"]), // 21 + DollarGet(arFlds["FB"]), // 22 + DollarGet(arFlds["KLANTREF"]), // 23 + DollarGet(arFlds["FS"]), // 24 + DollarGet(arFlds["DWV"]) // 25 + ); + return tmpAr; +} +function cSArrayToMDRow (tmpAr,arFlds) { +// Omzetten van de Sorted Array tmpAr naar de variablele/parameter "arFlds": + if (!tmpAr) return ""; + var WD=DollarGet(tmpAr[7]); + var BM=DollarGet(tmpAr[10]); // Blumotion = "I" or "LR" (for 80kg) or T (=Tip-on) + var VPK=DollarGet(tmpAr[15]); // Verpakking = [bulk] when VPK !="S" and VPK !="" (is backward compatible) + SetBulkVPKCode(VPK); + var LijnNr= DollarGet(tmpAr[ 0]); // 1 + arFlds["AANT"]= DollarGet(tmpAr[ 1]); // 2 + // // 3 + // // 4 // Exclude + // // 5 // Prijs + arFlds["LT"]= DollarGet(tmpAr[ 5]); // 6 + arFlds["CB"]= DollarGet(tmpAr[ 6]); // 7 + arFlds["WD"]= (WD=="B" ? "Bin." : WD); // 8 + arFlds["LD"]= DollarGet(tmpAr[ 8]); // 9 + arFlds["DK"]= DollarGet(tmpAr[ 9]); // 10 + arFlds["BM"]= (BM=="T" ? "T" : (BM=="I" || BM=="LR" ? "v" : "")); // 11 // (DollarGet(tmpAr[10])=="LR" ? "v" : ""); // 11 + arFlds["BX"]= DollarGet(tmpAr[11]); // 12 + arFlds["SB"]= (DollarGet(tmpAr[12])=="1" ? "v" : ""); // 13 + arFlds["OPVL"]= DollarGet(tmpAr[13]); // 14 + arFlds["STD"]= DollarGet(tmpAr[14]); // 15 + arFlds["VPK"]= (VPK=="S" || VPK=="" ? "S" : VPK); // 16 // modified by WimV from "v" to BulkVPKCode (on 25/08/2009) + arFlds["SPZK"]= DollarGet(tmpAr[16]); // 17 + arFlds["DIV"]= DollarGet(tmpAr[17]); // 18 + arFlds["OLP"]= DollarGet(tmpAr[18]); // 19 + arFlds["ASM"]= DollarGet(tmpAr[19]); // 20 + arFlds["BGRP"]= DollarGet(tmpAr[20]); // 21 + arFlds["FB"]= DollarGet(tmpAr[21]); // 22 + arFlds["KLANTREF"]= DollarGet(tmpAr[22]); // 23 + arFlds["FS"]= DollarGet(tmpAr[23]); // 24 + arFlds["DWV"]= DollarGet(tmpAr[24]); // 25 + return LijnNr; +} + +function cDefaultsToSArray (Type) { +// Omzetten van "arFlds" naar een Sorted Array: + if (Type != "KLR" && Type != "MTN" ) return Array(); + var tmpAr; + if (Type=="KLR") { + tmpAr=Array( + DollarGet(arKlrValue["DS"]), // 1 + DollarGet(arKlrValue["KB"]), // 2 + DollarGet(arKlrValue["RK"]), // 3 + DollarGet(arKlrValue["KV"]) // 4 + ); + } + if (Type=="MTN") { +// var pdlNietMee=cNietMeeToDelim(); + tmpAr=Array( + DollarGet(arKlrValue["DC"]), // 1 + DollarGet(arKlrValue["DS"]), // 2 + DollarGet(arKlrValue["DFL_FB"]), // 3 + DollarGet(arKlrValue["DFL_BM"]), // 4 + DollarGet(arKlrValue["DFL_WD"]), // 5 + DollarGet(arKlrValue["DFL_VPK"]), // 6 + cNietMeeToDelim(), // 7 + DollarGet(arKlrValue["DFL_ASM"]) // 8 + ); + } + return tmpAr; +} + +function cNietMeeToDelim () { +// Omzetten van NietMee defaults (in variablele "arKlrValue") naar piece-delimited string. +// Output: NMCP;NMAK;NMRL;NMBS; ... + // Delimiter = ";" // is FIXED !!! + var pdlNietMee=""; + for (var i=0; i array. + if (!sData) return; + D = D || "`"; + cSArrayToPData(cPiecesToArray(sData,D),blnReset); + return; +} + +function cKleurKeuzeToDelim (D) { +// Omzetten van globale variablele "arKlrValue" naar piece-delimited string: +// Output: "KLRLade`KLRBodem`KLRReling`KLRBoxSide`Design" + if (!arKlrValue) return ""; + D = D || "`"; + return cArrayToPieces(cKleurKeuzeToSArray(),D); +} +function cDelimToKleurKeuze (sData, D, blnReset) { +// Omzetten van de piece-delimited string naar globale variablele "arKlrValue": +// Input: "KLRLade`KLRBodem`KLRReling`KLRBoxSide`Design" --> array. + if (!sData) return; + D = D || "`"; + cSArrayToKleurKeuze(cPiecesToArray(sData,D),blnReset); + return; +} + +function cMDRowToDelim (arFlds,i,sExclude,D) { +// Omzetten van arFlds naar piece-delimited string: +// Output: "LijnNr`Qty`GAMeta`Exclude`Prijs`LT`CB`WD`LD`DK`BM`BX`SB`OPVL`STD" + if (!arFlds) return ""; + D = D || "`"; + return cArrayToPieces(cMDRowToSArray(arFlds,i,sExclude),D); +} +function cDelimToMDRow (sData, D, blnReset) { +// Omzetten van de piece-delimited string naar een rij van de globale variablele "arMData": +// Input: "LijnNr`Qty`GAMeta`Exclude`Prijs`LT`CB`WD`LD`DK`BM`BX`SB`OPVL`STD" --> array. + var arFlds=Array(); + var LijnNr=cDelimToMDRowFlds(sData, D, arFlds); + if (LijnNr=="") return; + // else : + arMData[LijnNr-1]=arFlds; + arMErrs[LijnNr-1]=""; + return; +} +function cDelimToMDRowFlds (sData, D, arFlds) { +// Omzetten van de piece-delimited string naar een rij: +// Input: "LijnNr`Qty`GAMeta`Exclude`Prijs`LT`CB`WD`LD`DK`BM`BX`SB`OPVL`STD" --> array. + if (!sData) return ""; + D = D || "`"; + return cSArrayToMDRow(cPiecesToArray(sData,D), arFlds); +} + + +function cMDataToDelim (tmpMData,tmpExcludes) { +// Omzetten van de lijnen naar piece-delimited string: +// Output: \\... + if (!tmpMData || tmpMData.length==0) return ""; + if (!tmpExcludes) tmpExcludes=Array(); + var tmpAr=Array(); + for (var i=0; i\\..." --> Output : array. + if (blnReset) arMData=Array(); + if (!sData) return; + D = D || "\\"; + var tmpAr=cPiecesToArray(sData,D); + for (var i=0; i\\..." --> Output : array. + if (!ReturnMData) ReturnMData=Array(); + if (!sData) return; + D = D || "\\"; + var arFlds; + var LijnNr; + var tmpAr=cPiecesToArray(sData,D); + for (var i=0; i0) tmpErrs["msg"]=tmpErrMsgs; + return tmpErrs; //1-dim array + sub-nodes +} + +function cDelimToMErrs (sErr,D1,D2,D3) { + if (isUndef(sErr)) return ""; +// if (D1==undefined) D1="\\"; +// if (D2==undefined) D2="`"; +// if (D3==undefined) D3=":"; + D1 = D1 || "\\"; + D2 = D2 || "`"; + D3 = D3 || ":"; + tmpMErrs=Array(); + var tmpAr1=Array(); + var tmpAr2=Array(); + var tmpAr3=Array(); + tmpAr1=cPiecesToArray(sErr,D1); + for (var i=0; i + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBHMD") +TBHangMapDefaultData +^Res.PI.Items("PR;GA;TBHMD") +^Res.PI.Items("PR;GA;TBHMI") +^Prod.GAM.TBHangMapS + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Derde/Klacht.cls.xml =================================================================== diff -u --- Derde/Klacht.cls.xml (revision 0) +++ Derde/Klacht.cls.xml (revision 2) @@ -0,0 +1,457 @@ + + + + +Klachten opvolging +persistent +VHOpslag +%Library.Persistent + + + +Uniekheid index voor property KlachtID +0 +1 +1 +KlachtID +1 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.PI.Items +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Res.PI.Items +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Date +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.PI.Items +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.PI.Items +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.PI.Items +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Date +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.CacheSQLStorage +^Derde.KlachtS + +data +^KlachtD +delimited + +{KlachtID} + + +"\" +25 + + +"\" +26 + + +"\" +27 + + +"\" +10 + + +"\" +22 + + +"\" +23 + + +"\" +24 + + +"\" +3 + + +"\" +2 + + +"\" +1 + + +"\" +28 + + +"\" +5 + + +"\" +9 + + +"\" +6 + + +"\" +20 + + +"\" +21 + + +"\" +30 + + +"\" +31 + + +"\" +4 + + +"\" +7 + + +"\" +11 + + +"\" +8 + + +"\" +32 + + +"\" +33 + + + + + Index: BL/EC/pxDynaPlug.cls.xml =================================================================== diff -u --- BL/EC/pxDynaPlug.cls.xml (revision 0) +++ BL/EC/pxDynaPlug.cls.xml (revision 2) @@ -0,0 +1,245 @@ + + + +%VHMacro +1 +%RegisteredObject,%XML.Adaptor +0 + + +%String + + + +%String + + + +BL.EC.sub.pxTBXOrder +list + + + +BL.EC.sub.pxTBXDesignOption +list + + + +%String + + + +%String + + + +%String + + + +1 +Status,Omschrijving + + + + + +Test method for ..FillTBXDesignOptions() +1 +Taal:%String="" + + + + + +Fill proxy TBXDesignOptions (%ListOfObjects) +Invullen van de items Design (DS/DC), KleurBodem, KleurReling, KleurVulstuk, ... voor het tonen van de mogelijke kleurkeuzes. +Taal:%String="" +1 +%Status +VolgNr + ) + &SQL(OPEN crsKBDS) + For &SQL(FETCH crsKBDS) Quit:(SQLCODE) Set:($L(KB))&&('$$$KBExclude(KB)) tmpLB=tmpLB_$LB(KB) + &SQL(CLOSE crsKBDS) + Quit tmpLB +fdoBuildRKlistForDS(DS) + Set RK="" + Set tmpLB="" + Set MatchDS="%;"_DS_";%" + &SQL(DECLARE crsRKDS CURSOR FOR + SELECT TBRelingKleur INTO :RK + FROM Prod_GAMeta_BT.TBRelingKleur_BeperkGUI + WHERE (element_key = 'TBDesign' and ((';' || BeperkGUI || ';') LIKE :MatchDS OR BeperkGUI="*")) + ORDER BY TBRelingKleur->VolgNr + ) + &SQL(OPEN crsRKDS) + For &SQL(FETCH crsRKDS) Quit:(SQLCODE) Set:($L(RK)) tmpLB=tmpLB_$LB(RK) + &SQL(CLOSE crsRKDS) + Quit tmpLB +fdoBuildKVlistForDS(DS) + Set KV="" + Set tmpLB="" + /* + Set MatchDS="%;"_DS_";%" + &SQL(DECLARE crsKVDS CURSOR FOR + SELECT TBVulstukKleur INTO :KV + FROM Prod_GAMeta_BT.TBVulstukKleur_BeperkGUI + WHERE (element_key = 'TBDesign' and ((';' || BeperkGUI || ';') LIKE :MatchDS OR BeperkGUI="*")) + ORDER BY TBVulstukKleur->VolgNr + ) + */ + &SQL(DECLARE crsKVDS CURSOR FOR + SELECT ItemCode INTO :KV + FROM Prod_GAMeta_BT.TBVulstukKleur + WHERE ($ListFind(FilterDC,:DC)>0) + ORDER BY VolgNr + ) + &SQL(OPEN crsKVDS) + For &SQL(FETCH crsKVDS) Quit:(SQLCODE) Set:($L(KV)) tmpLB=tmpLB_$LB(KV) + &SQL(CLOSE crsKVDS) + Quit tmpLB + + + /*** Vertalingen ***/ +fdoGetVertalingen(Taal) + Set arVTL("KLR","DC_S" )=$$$GetVertaling("DC_S",Taal,"L") ; TANDEMBOX plus + Set arVTL("KLR","DC_B" )=$$$GetVertaling("DC_B",Taal,"L") ; WoodBox + Set arVTL("KLR","DC_F" )=$$$GetVertaling("DC_F",Taal,"L") ; F-design + Set arVTL("KLR","DC_I" )=$$$GetVertaling("DC_I",Taal,"L") ; TANDEMBOX intivo + Set arVTL("KLR","DC_MA")=$$$GetVertaling("DC_MA",Taal,"L") ;A-design mengvorm + + Set arVTL("KLR","DS_WS")=$$$GetVertaling("DS_WS",Taal,"L") ; wit - S + Set arVTL("KLR","DS_GS")=$$$GetVertaling("DS_GS",Taal,"L") ; grijs metallic - S + Set arVTL("KLR","DS_AS")=$$$GetVertaling("DS_AS",Taal,"L") ; aluminium - S + Set arVTL("KLR","DS_IS")=$$$GetVertaling("DS_IS",Taal,"L") ; inox - S + Set arVTL("KLR","DS_WI")=$$$GetVertaling("DS_WI",Taal,"L") ; zijdewit - I + Set arVTL("KLR","DS_GI")=$$$GetVertaling("DS_GI",Taal,"L") ; grijs - I + Set arVTL("KLR","DS_AI")=$$$GetVertaling("DS_AI",Taal,"L") ; aluminium - I + Set arVTL("KLR","DS_II")=$$$GetVertaling("DS_II",Taal,"L") ; inox - I + Set arVTL("KLR","DS_ZI")=$$$GetVertaling("DS_ZI",Taal,"L") ; zwartbruin - I + Set arVTL("KLR","DS_BA")=$$$GetVertaling("DS_BA",Taal,"L") ; massief beuk - B + Set arVTL("KLR","DS_BI")=$$$GetVertaling("DS_BI",Taal,"L") ; massief eik - B + Set arVTL("KLR","DS_GF")=$$$GetVertaling("DS_GF",Taal,"L") ; grijs metallic - F + Set arVTL("KLR","DS_AF")=$$$GetVertaling("DS_AF",Taal,"L") ; aluminium - F + Set arVTL("KLR","DS_GMA")=$$$GetVertaling("DS_GMA",Taal,"L") ; grijs metallic - S + + Set arVTL("KLR","KB_WI")=$$$GetVertaling("KL_WI_KB",Taal,"L") ; wit + Set arVTL("KLR","KB_LG")=$$$GetVertaling("KL_LG",Taal,"L") ; lichtgrijs + Set arVTL("KLR","KB_DG")=$$$GetVertaling("KL_DG",Taal,"L") ; donker grijs + Set arVTL("KLR","KB_BE")=$$$GetVertaling("KL_BE_KB",Taal,"L") ; beuken + Set arVTL("KLR","KB_EI")=$$$GetVertaling("KL_EI_KB",Taal,"L") ; eiken + Set arVTL("KLR","KB_BZ")=$$$GetVertaling("KL_BZ_KB",Taal,"L") ; bruinzwart + Set arVTL("KLR","KB_ZW")=$$$GetVertaling("KL_ZW",Taal,"L") ; zwart + + Set arVTL("KLR","RK_WI")=$$$GetVertaling("KL_WI",Taal,"L") ; wit + Set arVTL("KLR","RK_MG")=$$$GetVertaling("KL_MG",Taal,"L") ; grijs metallic + Set arVTL("KLR","RK_AL")=$$$GetVertaling("KL_AL",Taal,"L") ; aluminium + Set arVTL("KLR","RK_CR")=$$$GetVertaling("KL_CR",Taal,"L") ; chroom + Set arVTL("KLR","RK_SW")=$$$GetVertaling("KL_SW",Taal,"L") ; zijdewit + Set arVTL("KLR","RK_BZ")=$$$GetVertaling("KL_BZ",Taal,"L") ; terrazwart + + Set qHandler=##class(%ResultSet).%New("Prod.GAMeta.BT.TBVulstukKleur:ExtentSort") + Do qHandler.Execute() + For Quit:'qHandler.Next() Do + . Set Index = qHandler.Get("ID") + . Set VSMat = ##class(Prod.GAMeta.BT.TBVulstukKleur).MateriaalViaID(Index) + . Set VertVSMat = $$$GetVertaling("VSMat_"_VSMat,Taal,"L") + . If $$$StartsWith(Index,"ZV") Do // zonder vulling / eigen vulling + . . Set arVTL("KLR","KV_"_Index)= $$$GetVertaling("VSMat_"_Index,Taal,"L") + . Else Do + . . Set arVTL("KLR","KV_"_Index)=$S(Index[".":VertVSMat_" : "_$$$GetVertaling("KLV_"_Index,Taal,"L"),1:$$$GetVertaling("KLV_"_Index,Taal,"L")) + . + Set qHandler="" + + Set arVTL("DC_Suffix_S" )=$$$Replace($$$GetVertaling("DC_Suffix_S",Taal,"L"),"~","") + Set arVTL("DC_Suffix_B" )=$$$Replace($$$GetVertaling("DC_Suffix_B",Taal,"L"),"~","") + Set arVTL("DC_Suffix_F" )=$$$Replace($$$GetVertaling("DC_Suffix_F",Taal,"L"),"~","") + Set arVTL("DC_Suffix_I" )=$$$Replace($$$GetVertaling("DC_Suffix_I",Taal,"L"),"~","") + Set arVTL("DC_Suffix_MA")=$$$Replace($$$GetVertaling("DC_Suffix_MA",Taal,"L"),"~","") + + Set arVTL("LBL","KB")=$$$UCase($$$GetVertaling("Bodem&Rug",Taal,"L")) + Set arVTL("LBL","RK")=$$$UCase($$$GetVertaling("Relingen",Taal,"L")) + Set arVTL("LBL","KV")=$$$UCase($$$GetVertaling("VullingGlas",Taal,"L")) ; "VullingGlasKort" + Quit +]]> + + + Index: csp/tbx/wizard.cls.xml =================================================================== diff -u --- csp/tbx/wizard.cls.xml (revision 0) +++ csp/tbx/wizard.cls.xml (revision 2) @@ -0,0 +1,657 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,(..HyperEventBody()) + Write !,!,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Do ..Include("Header.csp") + Write !,!,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"
    " + Write "
    " + Write "" + Write "
    " + Write "
    " + Write "
    " + Write 1 + Write "
    " + Write "
    " + Write "
    " + Write (..WebTextValue("Personalia",Taal,"L",$LB("U"))) + Write "
    " + Write "
    " + Write "
    " + Write 2 + Write "
    " + Write "
    " + Write "
    " + Write (..WebTextValue("Kleurkeuze",Taal,"L",$LB("U"))) + Write "
    " + Write "
    " + Write "
    " + Write 3 + Write "
    " + Write "
    " + Write "
    " + Write (..WebTextValue("Maten",Taal,"L",$LB("U"))) + Write "
    " + Write "
    " + Write "
    " + Write 4 + Write "
    " + Write "
    " + Write "
    " + Write (..WebTextValue("Overzicht",Taal,"L",$LB("U"))) + Write "
    " + Write "
    " + Write "
    " + Write "" + Write "
    " + Write "
    ",! + Write $c(9,9,9)_"
    ",! + Write "" + Write !,!,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9) + Do ..Include("WizPData.csp") + Write !,$c(9,9,9,9) + Write "
    " + Write !,!,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9) + Do ..Include("WizKleur.csp") + Write !,$c(9,9,9,9) + Write "
    " + Write !,!,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9) + Do ..Include("WizMaten.csp") + Write !,$c(9,9,9,9) + Write "
    " + Write !,!,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9) + Do ..Include("WizOvz.csp") + Write !,$c(9,9,9,9) + Write "
    " + Write !,!,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9) + Do ..Include("WizError.csp") + Write !,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write !,"
    ",! + Write " ",! + Write "
    ",! + Write !,"" + Write !,!,$c(9,9,9)_"
    ",! + Write !,$c(9) + If $IsObject($G(blTBoxDfl)) Do + . Do blTBoxDfl.Close() + . Set blTBoxDfl="" + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_""_($S(blnVHEPN:"Van Hoecke - ",1:"")_"TandemBox - "_..WebTextValue("INGAVE-WIZARD",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,! + #define GetVertalingJS(%i,%tl,%tt) ##class(Res.Vertaling).GetVertalingPlus("TBW",%i,%tt,%tl,,1) + #define jsVTLAddVal(%i,%tl,%tt) $C(9)_"jsArVTL["""_%i_"#"_%tl_"-"_%tt_"""]="""_$TR($$$GetVertalingJS(%i,%tl,%tt),$C(13,10),"")_""";"_$C(13,10) + #define jsVTLAddValRepl(%i,%tl,%tt) $C(9)_"jsArVTL["""_%i_"#"_%tl_"-"_%tt_"""]="""_$$$Replace($$$GetVertalingJS(%i,%tl,%tt),"~","")_""";"_$C(13,10) + #define jsVTLVar(%i,%tl,%tt) $C(9)_"var "_%i_"="""_$TR($$$GetVertalingJS(%i,%tl,%tt),$C(13,10),"")_""";"_$C(13,10) + #define jsVTLAddVtl(%i,%tl,%tt,%vtl) $C(9)_"jsArVTL["""_%i_"#"_%tl_"-"_%tt_"""]="""_%vtl_""";"_$C(13,10) + Set tmpDC=$S(DCM="I":"I", DCM="A":"A", 1:"S") + ; Vertalingen voor teksten ingevuld/aangepast via JavaScript. + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write ! + If '(DCM="I") Goto %csp00002 ;{ + Write !,$c(9) + Write "" + Write ! + Goto %csp00003 ;} +%csp00002 If '(DCM="A") Goto %csp00004 ;{ + Write !,$c(9) + Write "" + Write ! + Goto %csp00003 ;} +%csp00004 If '(DCM="X") Goto %csp00005 ;{ + Write !,$c(9) + Write "" + Write ! + Goto %csp00003 ;} +%csp00005 ;{ + Write !,$c(9) + Write "" + Write ! +%csp00003 ;} + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,! + ;Set blnValidatePData=0 + Set blnValidatePData=$S($G(%session.Data("BeursUser")):0, 1:1) + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9),! + Write !,(..HyperEventHead()) + Write "" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..Include("PRGACNTs.INC") + Write ! + Do ..Include("APPS.TBXWeb.INC") + Write !,!,!,!,!,! + Set %session.AppTimeout = $S($G(blnSFS):1805, 1:905) + // Set %session.BrokerImplementation=1 ; 1: JavaVM - 2: XmlHttp + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +iso-8859-1 + + + +text/html + + + +c:\cachesys\csp\vhisie\TBX\Wizard.csp + + + +/vhisie/TBX/Wizard.csp + + + +1 + + + +62144,63234 + + + +0 + +
    +
    Index: cspBasis/ProductMenu.cls.xml =================================================================== diff -u --- cspBasis/ProductMenu.cls.xml (revision 0) +++ cspBasis/ProductMenu.cls.xml (revision 2) @@ -0,0 +1,111 @@ + + + +cspBasis.cspAbstract + + + +Genereert JavaScript array voor ieder ProductType. Haalt de interne waarden uit RefCode en de +vertalingen (i.e. te tonen waarden) uit RefVTL. +1 +RefCode:%Library.String,RefVTL:%Library.String,Taal:%Library.String="N" + + + + +1 + + + + + +Bouwt een local @Ref op met menu-submenu's. +1 +Ref:%Library.String="MenuArray",GroepID:%Library.String + + + + + +Wijzigt de node "ShowSearch" van de QueryData array. +1 + + + + + + +Geeft de waarde terug van de parameter "ShowSearch" in de QueryString +1 +QueryString:%Library.String +%Library.String +0) $E(QueryString,Pos,$F(QueryString_"&","&",Pos)-2) + Quit "" + +]]> + + + +1 + + + + + + +Maakt de volgnummers (nodes, subnodes) van @Ref aaneensluitend (1-2-3-4-5 ipv. 1-2-6-8-9). +1 +Ref:%Library.String + + + + +1 + + + + + +Bouwt een local @OutRef op, vertrekkende van @InRef, met de vertaalde menu-submenu's. +1 +InRef:%Library.String="MenuArray",OutRef:%Library.String="MenuArray",Taal:%Library.String="N",GroepID:%Library.String + + + + Index: csp/tbx/decodeurl.cls.xml =================================================================== diff -u --- csp/tbx/decodeurl.cls.xml (revision 0) +++ csp/tbx/decodeurl.cls.xml (revision 2) @@ -0,0 +1,282 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"
    ",! + Write $c(9) + Write "" + Write "ShowCookie.csp" + Write "" + Write !,$c(9)_"
    ",! + Write $c(9) + If '((Flow="REF") || (Flow="SUBMIT")) Goto %csp00001 ;{ + Write !,$c(9) + Write !,$c(9,9),! + Write $c(9,9)_"
    ",!
    +     Write $c(9)_"URL IN       : "_($G(UrlIn)),!
    +     Write $c(9)_"REF          : "_($G(decRef)),!
    +     Write $c(9)_"URL Out      : "_($G(UrlOut)),!
    +     Write $c(9)_"URL Out Enc  : "_($G(UrlOutEnc)),!
    +     Write $c(9)_"URL Out Dec  : "_($G(UrlOutDec)),!
    +     Write !,$c(9)_"encPSW (TBX-PSW) : "_($G(encPSW)),!
    +     Write $c(9)_"PSW Dec          : "_($G(DPSW)),!
    +     Write $c(9)_"cookPSW (TBX-PSW): "_($G(cookPSW)),!
    +     Write !,$c(9)_"URL Redir    : "_($G(msgRedir)),!
    +     Write $c(9)_"LoginState   : "_($G(LoginState)),!
    +     Write $c(9),!
    +     Write $c(9)_"Domain       : "_($G(sDomain)),!
    +     Write $c(9)_"DomainCVTed  : "_($G(sDomCVT)),!
    +     Write $c(9)_"DomLU        : "_($$LCVT^vhLib($G(lbDomLU))),!
    +     Write !,$c(9)_"UserType     : "_($G(UserType)_" - "_$G(UserTypeTxt)),!
    +     Write $c(9,9)_"
    ",! + Write !,$c(9,9) + Set msgLogin=$S(LoginState="ASK_AGAIN":..WebTextValue("Foutief paswoord",Taal,"L")_". "_..WebTextValue("Probeer opnieuw",Taal,"L"), 1:..WebTextValue("Geef paswoord",Taal,"L")) + Write !,$c(9,9) + Write "
    " + Write !,$c(9,9) + Write "
    " + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9)_" "_$c(9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9)_" "_$c(9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "
    " + Write "Login" + Write "
    " + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_(msgLogin)_":
    ",! + Write $c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9)_" ",! + Write $c(9,9,9,9,9,9) + Write "" + Write $c(9,9,9,9,9,9),! + Write $c(9,9,9,9,9)_"
    ",! + Write $c(9,9) + Write ..InsertHiddenFields("DecodeURL.csp"),! + Write "
    " + Write !,$c(9,9) + Write "" + Write !,$c(9,9) + Write "
    " + Write !,$c(9,9) + Write "" + Write !,!,$c(9,9)_"
    ",!
    +     Write $c(9)_"CSP:IF CONDITION='(LoginState=""NO"") || (LoginState=""OK"")' ",!
    +     Write $c(9,9)_"Deze URL wordt verwerkt ... ",!
    +     Write $c(9)_"CSP:ELSEIF CONDITION='($E(LoginState,1,3)=""ASK"")'",!
    +     Write $c(9,9)_"$$$ Show Login Form $$$",!
    +     Write $c(9)_"CSP:ELSEIF CONDITION='(LoginState=""TRY_LATER"")'",!
    +     Write $c(9,9)_"Unable to login. Try again later. You are not allowed to access this data. Contact administrator.",!
    +     Write $c(9)_"CSP:ELSE",!
    +     Write $c(9,9)_"Unknown status to log in. It may be possible that the URL is invalid.",!
    +     Write $c(9)_"/CSP:IF",!
    +     Write $c(9,9)_"
    ",! + Write "" + Write !,$c(9,9)_"

    "_$c(9,9),! + Write $c(9,9,9) + Write !,"

    ",! + Write " ",! + Write "
    ",! + Write !,"" + Write !,$c(9,9)_"

    ",! + Write $c(9,9),! + Write $c(9) + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9,9)_"This is not a valid URL.",! + Write $c(9) +%csp00002 ;} + Write !,$c(9),! + Write $c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TBox Decode URL",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,! + Do ..Include("PRGACNTs.INC") + Write ! + Set %session.AppTimeout = 905 + // Session Data is set in the OnPreHTTP-method + /* + Do TestSet^cspBasis.Library + Do SesDataFromLocal^cspBasis.Library("TEST",.Loca,"X") + Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,"N") + */ + Write !,!,!,!,!,! + Do ..OnPageHEAD() + Write ! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +c:\cachesys\csp\vhisie\TBX\DecodeURL.csp + + + +/vhisie/TBX/DecodeURL.csp + + + +0 + + + +61649,48748 + + + +0 + +
    +
    Index: _vhisie/TBX/TBox WebOrder HFLE_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder HFLE_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder HFLE_N.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Haefele - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    (BTW)  
    STRAAT/NR:
     
    POSTCODE:
     
    GEMEENTE:
     
    TELEFOON:
     
    FAX:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr +31(0)55-542 4950
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    Totaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKLEURKEUZE : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEM+RUG:

    RELINGEN:

    BOXSIDE:

    VULLING/GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breedte

    +

    WD

    +

    Diepte

    +

    Gew

    +

    FB *

    +

    Box

    +

    Diverse

    +

    Aant

    + +

    Ink. Prijs/stPrijs/st Info

    + +
    + + + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

    * Box : Verhoogde zijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + Boxcover zonder vulling + (Code ) + + + +
    Index: Derde/Klant/Klant.cls.xml =================================================================== diff -u --- Derde/Klant/Klant.cls.xml (revision 0) +++ Derde/Klant/Klant.cls.xml (revision 2) @@ -0,0 +1,1153 @@ + + + +persistent +DataM +%Library.Persistent,Derde.Abstract.Derde +0 + + + +Projection Java As %Projection.Java(ROOTDIR = "\\notes01\shared\F M A\CacheJava"); +Format: Numeric: 4 +%Library.Integer + + + +Sys.cTimeStamp + + + + +Format: Char: 2 +zie ^KKLAK +%Library.String + + + + +%String + + + +%String + + + +%String + + + + +Format: $H +Wordt ingevuld bij wijziging of nieuw ingevuld BTW-nummer +%Library.Date + + + + +Format: Numeric: 1 +Waarde +0 = vrij +1 = btw +%Library.Integer + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Duidt aan of een klant op zijn facturen bruto of netto bedragen te zien krijgt. +Format: Numeric: 1 +Waarde +Empty = netto +1 = bruto +%Library.Integer + + + + +Klantnummer waarnaar toe de statistiek gegevens van deze klant zijn overgedragen +%Library.Integer + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Eerste faktuurdatum ingevuld door het ^KF21B +%Library.Date + + + + +Format: Numeric: 1 +Waarde +empty = normaal +1 = eventueel vrij +%Library.Integer + + + + +Format: Numeric: 1 +%Library.String + + + + +Format: Numeric: 2 +%Library.Integer + + + + +Klant aan wie te facturen, alle orders van deze klant worden gefactureerd op de klant +FacturatieKlant +%Library.String + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + +%Library.String + + + + +Format: Numeric: 4 +Waarde: Bestaan klantnummer +%Library.Integer + + + + +Format: Numeric: 1 +Waarde +empty = aktief +1 = niet aktief +%Library.Integer + + + +%Library.Integer +1 + + + + +1 = buitengebruik +2 = verwijderd +leeg = aktief +%Library.Integer +1 + Set {*}=$S({KodeCommercieelAktief}:1,1:{BuitenGebruik}) +1 + + + + +Format: Numeric: 1 +Waarde +empty = ja +1 = neen +%Library.Integer + + + + +in 1000 BF +Format: Numeric: 6 +%Library.Integer + + + +%Library.Integer + + + +%Library.String + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Format: Char: 1 +Wordt bepaald uit de Derde.Klant.Relaties +%Library.String +1 + Set {*}=$LG(##Class(BL.Derde.Klant.Relaties).LidVan({Nummer})) +1 + + + + +Wordt bepaald uit de Derde.Klant.Relaties +%Library.Float +1 + Set {*}=$LG(##Class(BL.Derde.Klant.Relaties).LidVan({Nummer}),2)*100 +1 + + + + +Format: Char: 25 +%Library.String + + + +%Library.String +1 + Set {*}=$$UPTRIMAN^vhRtn1({Naam}) +1 + + + + +Format: Numeric: 5 +%Library.Integer +1 + + + + +Format: Numeric: 9 +%Library.String + + + + +Format: Char: 24 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + + +Format: Char: 40 +%Library.String + + + + +%String +1 + Set {*}=##class(Derde.Klant.Klant).DivisieFetch({Sektor}) +1 + + + +%String +1 + Set {*}=##class(Derde.Klant.Klant).SubDivisieFetch({Sektor}) +1 + + + + +Duidt aan of voor de klant slechts een order op een bon mag gezet worden en 1 bon of een faktuur. +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Bepaalt of de orders waarvoor er voor geen enkele OL een probleem is automatisch +mogen doorgegeven worden naar het WMS +Waarde: A;M = Automatisch;Manueel +%Library.String + + + + + +1 = automatische orderbevestiging na creatie order +%Library.String + + + +%Library.String + + + + +Format: Char: 1 +Waarde: L,R,S,B of G +%Library.String + + + + + +Format: Char: 1 +Waarde: L,R,S,B of G +%Library.String + + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Format: Char: 1 +Waarde: L,R,S,B of G +%Library.String + + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Format: Char: 1 +Waare: 0,1,3,4,8,9 +%Library.String + + + + +%Library.String + + + +%Library.String + + + + +Format: Numeric: 2 +%Library.String + + + + +Format: Char: 1 +Waarde: 0,1,2,3,A,B,C,D of Z +%Library.String + + + + + +Default verzendwijze voor deze klant zie ^KBA(155,) +%Library.String + + + + +Geïncripteerde sleutel voor toegang tot de CSP WebWizard +%Library.String + + + + +Format: Numeric: 1 +Waarde +empty = neen +1 = ja +%Library.Integer + + + + +Interne verantwoordelijke bij orderverwerking. +Indien niet ingevuld dan defaulting van uit ^RES("KLANT","PI","REGIO") +Res.InternePersoon + + + + +Externe verantwoordelijke - vertegenwoordiger +Indien niet ingevuld dan defaulting van uit ^RES("KLANT","PI","REGIO") +Res.InternePersoon + + + + +Default verpakking tandembox +%Library.String + + + +%Library.String +1 + Set {*}=$S($D(^KKAAP({Nummer})):1,1:0) + +1 + + + + + + + + +Index voor property Naam +Uniekheid index voor property Nummer +1 +Nummer +1 + + + +1 +Reg +%String +9)&&(Reg<30) Quit "KS" + Quit "ZZ" +]]> + + + +1 +Reg +%String +9)&&(Reg<20) Quit "KSBE" + If (Reg>19)&&(Reg<30) Quit "KSNL" + Quit "ZZ" +]]> + + + +Nummer +%String + + + + +Nummer +%String + + + + +Reg +%String + + + + +Reg +%String + + + + +Reg +%String + + + + +Reg +%String + + + + +1 +KlantNr:%Library.String +%Library.String + + + + +1 +KlantNr:%Library.String +%Library.String + + + + +DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String="" +") + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITELN^XMLWRITE(DevObj) + + Do BEGINTAG^XMLWRITE(DevObj,"KLANT") + + Do TAGWRITE^XMLWRITE(DevObj,"NAAM",$$ConvertToHTML^vhRtn1(%this.Naam)) + Do TAGWRITE^XMLWRITE(DevObj,"NUMMER",$$ConvertToHTML^vhRtn1(%this.Nummer)) + + Do TAGWRITE^XMLWRITE(DevObj,"STRAATNRBUS",$$ConvertToHTML^vhRtn1(%this.StraatNrBus)) + Do TAGWRITE^XMLWRITE(DevObj,"POSTNR",$$ConvertToHTML^vhRtn1(%this.Postnummer)) + Do TAGWRITE^XMLWRITE(DevObj,"WOONPLAATS",$$ConvertToHTML^vhRtn1(%this.Woonplaats)) + + Do ENDTAG^XMLWRITE(DevObj,"KLANT") + Do WRITELN^XMLWRITE(DevObj) + + Quit +]]> + + + +%SQLQuery +paWildCardName:%String +SELECT %ID,LandCode,Naam,Woonplaats,DECODE(KodeCommercieelAktief,1,0,1) AS Active FROM Derde_Klant.Klant +WHERE Naam LIKE UPPER(:paWildCardName) +ORDER BY Naam + + + + +%SQLQuery +paWildCardWoonplaats:%String +SELECT %ID,LandCode,Naam,Woonplaats,DECODE(KodeCommercieelAktief,1,0,1) AS Active FROM Derde_Klant.Klant +WHERE Woonplaats LIKE UPPER(:paWildCardWoonplaats) +ORDER BY Woonplaats,Naam + + + + +]]> +%Library.SQLQuery +KLNummer:%Library.Integer +SELECT ID, Naam +FROM Derde_Klant.Klant +WHERE (Nummer = :KLNummer) + + + + + +]]> +%Library.SQLQuery +NaamBegin +SELECT ID, Naam +FROM Derde_Klant.Klant +WHERE Naam LIKE (:NaamBegin || '%') +ORDER BY Naam + + + + + +%SQLQuery +paLBSektor:%String +0) +ORDER BY $LISTFIND(:paLBSektor,Sektor)]]> + + + + + +%CacheSQLStorage +^Derde.Kl.KlantS + +data +^DKL +delimited + +"K" + + +"KL.A" + + +{Nummer} + + +"\" +0 +4 + + +"\" +1 +14 + + +"\" +1 +11 + + +"\" +3 +14 + + +"\" +2 +23 + + +"\" +0 +16 + + +"\" +0 +15 + + +"\" +3 +12 + + +"\" +1 +1 + + +"\" +0 +18 + + +"\" +1 +17 + + +"\" +2 +5 + + +"\" +0 +30 + + +"\" +3 +7 + + +"\" +2 +17 + + +"\" +1 +16 + + +"\" +3 +8 + + +"\" +2 +21 + + +"\" +2 +19 + + +"\" +2 +9 + + +"\" +1 +2 + + +"\" +0 +25 + + +"\" +1 +3 + + +"\" +1 +20 + + +"\" +0 +12 + + +"\" +2 +20 + + +"\" +1 +21 + + +"\" +3 +13 + + +"\" +0 +50 + + +"\" +1 +10 + + +"\" +2 +10 + + +"\" +0 +10 + + +"\" +0 +17 + + +"\" +2 +7 + + +"\" +3 +10 + + +"\" +3 +11 + + +"\" +1 +5 + + +"\" +0 +8 + + +"\" +0 +19 + + +"\" +3 +3 + + +"\" +0 +11 + + +"\" +0 +2 + + +"\" +0 +23 + + +"\" +1 +12 + + +"\" +1 +4 + + +"\" +5 +3 + + +"\" +5 +4 + + +"\" +5 +5 + + +"\" +1 +8 + + +"\" +4 +1 + + +"\" +4 +2 + + +"\" +4 +3 + + +"\" +4 +4 + + +"\" +4 +5 + + +"\" +5 +1 + + +"\" +5 +2 + + +"\" +1 +18 + + +"\" +2 +15 + + +"\" +1 +19 + + +"\" +0 +6 + + +"\" +2 +3 + + +"\" +2 +4 + + +"\" +3 +1 + + +"\" +2 +25 + + +"\" +1 +15 + + +"\" +0 +20 + + +"\" +0 +21 + + +"\" +0 +5 + + +"\" +0 +9 + + +"\" +1 +24 + + +"\" +0 +13 + + +"\" +0 +14 + + +"\" +0 +24 + + +"\" +2 +2 + + +"\" +0 +3 + + +"\" +1 +25 + + +"\" +0 +26 + + +"\" +0 +22 + + +"\" +2 +1 + + +"\" +7 +9 + + +"\" +2 +16 + + +"\" +3 +2 + + +"\" +0 +28 + + +"\" +0 +7 + + + + + Index: _vhisie/TBX/debug.js =================================================================== diff -u --- _vhisie/TBX/debug.js (revision 0) +++ _vhisie/TBX/debug.js (revision 2) @@ -0,0 +1,123 @@ +var cnt,varProperties,newName; + +function debugWV(debugStr,win,NewWin) { // Added by WimV - 18/02/03 + var NewWinDFL="TBoxDBG"; + if (NewWin==undefined) NewWin=NewWinDFL; + debug(debugStr,win,NewWin); + return; +} + +function debugXWV(debugStr,val,win,NewWin) { // Added by WimV - 18/02/03 + var NewWinDFL="TBoxDBG"; + var debugStrX = debugStr + "_DBG"; + eval(debugStrX + "=" + "val;"); + if (NewWin==undefined) NewWin=NewWinDFL; + debug(debugStrX,win,NewWin); + return; +} + +function debug(debugStr,win,NewWin) +{ + if (NewWin==undefined) NewWin=""; // Added by WimV - 18/02/03 + var advanced = 0; + var ind = debugStr.substring(debugStr.lastIndexOf(".")+1,debugStr.length); + if (!isNaN(ind)) debugStr = debugStr.replace("." + ind,"[" + ind + "]"); + var debugVar = eval(debugStr); + if (debugStr.indexOf("self.opener.") > -1) newName = debugStr.substring(debugStr.lastIndexOf("self.opener.") + 12,debugStr.length); + else newName = debugStr; + if (!debugVar) + { + alert("The content of '" + newName + "' is null..."); + return; + } + var type = typeof(debugVar); + if (type +"" == "undefined") + { + alert("The content of '" + newName + "' is undefined..."); + return; + } + if (type == "object") + { cnt = 0; + var swap = false; + var bstyle=""; + varProperties = ""; + for(var contents in debugVar) cnt++; + if (cnt < advanced) + { + for(var contents in debugVar) varProperties += contents + "\t\t\t" + debugVar[contents] + "\n"; + alert("The contents(" + cnt + ") of the object '" + newName + "' are:\n\n" + varProperties); + } + else + { + for(var contents in debugVar) + { + swap = !swap; + if (swap) bstyle = "class='bgcolor1'"; + else bstyle=""; + + try + { + if ((contents == "innerHTML") || (contents == "outerHTML")) + { + varProperties += "  " + contents + "View HTML"; + } + else if ((typeof(debugVar[contents]) == "object") && (debugVar[contents])) + { + varProperties += "  " + contents + "[Object]"; + } + else + { + varProperties += "  " + contents + "" + debugVar[contents] + ""; + } + } + catch (exception) + { + alert(String(exception.name + " - " + exception.message)); + varProperties += "  " + contents + "?"; + } + } + var debugWin = window.open("debugInit.htm",NewWin,"width=400, height=600, top=50, left=750,scrollbars=1"); + debugWin.opener = window; + } + } + else alert("The content of the " + type + " '" + newName + "' is:\n\n" + debugVar); +} + + +function askAndSetValue(debugStr,contents) +{ + if (debugStr.indexOf("self.opener.") > -1) var newName = debugStr.substring(debugStr.lastIndexOf("self.opener.") + 12,debugStr.length); + else var newName = debugStr; + + var dVar = eval(debugStr + "." + contents); + var tdVar = prompt("Edit the value of: \t" + newName, dVar); + + try + { + if ((typeof(dVar) == "string") || (typeof(dVar) == "object")) + { + if (tdVar) eval( debugStr + "." + contents + " = '" + tdVar + "';"); + } + else + { + if (tdVar) eval( debugStr + "." + contents + " = " + tdVar + ";"); + } + } + catch (exception) + { + alert("Could not save: \t" + newName + "." + contents +"\n\nDetails:\n\n" + exception.name + "\n" + exception.message); + } +} + + +function isIE() +{ + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function debugWrite(doc) +{ + doc.write(""); + doc.write("

    The contents(" + cnt + ") of the object '" + newName + "' are:



    " + varProperties + "
    "); +} \ No newline at end of file Index: APPS/TBXWeb/OrderHandling.cls.xml =================================================================== diff -u --- APPS/TBXWeb/OrderHandling.cls.xml (revision 0) +++ APPS/TBXWeb/OrderHandling.cls.xml (revision 2) @@ -0,0 +1,47 @@ + + + +APPS.TBXWeb.impl +vhLib.Macro,APPS.TBXWeb +1 +%RegisteredObject +0 + + + + + + +1 +wsID:%String="",Shop:%String="",Requester:%String="" +%Status + + + + Index: Prod/GADef/KaderDeur/KostPrijs.mac.rou =================================================================== diff -u --- Prod/GADef/KaderDeur/KostPrijs.mac.rou (revision 0) +++ Prod/GADef/KaderDeur/KostPrijs.mac.rou (revision 2) @@ -0,0 +1,357 @@ + Kill ; Compiled March 14, 2001 17:22:49 + Do KillAllObjects^%apiOBJ() + Set Obj=##class(Prod.GADef.KaderDeur).%OpenId(2) + Write Obj.KostPrijs(1,,1) + Do Obj.DisplayPrijsDtl() + Set Prijs=$$CALC(Obj) + Write !,"Prijs = ",Prijs,! + Quit +TEST Set Prof="P02-EV" + Set Vul="" + Set VulExtra="" + Set Hoogte=1193 + Set Breedte=399 + Set CharType="HETS" + Set CharQty=0 + Set VulBor=0 + Set P1Bor=0 + Set P2Bor=0 + Set P3Bor=0 + Set IsMont="" + Set IsMont="" + Set ProfKost=500 + Set VulKost=2000 + Set caObj=##class(Prod.GADef.KaderDeur).%New() + Do caObj.FillObjectViaParam(Prof,Hoogte,Breedte,CharType,CharQty,VulBor,P1Bor,P2Bor,P3Bor,Vul,VulExtra,IsMont,"",ProfKost,VulKost) + Do caObj.%Save() + Set Prijs=caObj.KostPrijs(1,"",1) + Write caObj.%Id(),"->",Prijs + ;Do caObj.%Close() + Quit +CALC(%this,Staffel,CalcObj) + set:('$D(ClientIP)) ClientIP="192.168.1.97" + New Muntpar,DtlObj,Tel,Hoogte,Breedte,Omtrek,Opp,Volume,VulHoogte,VulBreedte,VulOmtrek,VulOpp,VulVolume,KaliberQty,ProfLengte,Toepas + New ProfUitval,ProfUitvalFaktor,DichtUitval,DichtUitvalFaktor,QtyGlasBoor,ProfQtyProf,TelVul,TelProf,Prijs,GAObj,IsMont,GlasProf,VolgNr + New IsLosProf,LosProfPlaats,LosProfLengte,LosProfHalf,LosProfKwart,KaliberPQty,KaliberNew,IsKleef + Set GAObj=%this + Do INIT + ;Do DEBUG^%Serenji("LabelDebug+1^"_$zn,"192.168.1.97") ; IP van WV_W2K + ;LabelDebug + Set Prijs=0 + If Toepas="GL" Do + . Set Prijs=Prijs+$$VULLING() + . Set Prijs=Prijs+$$VERPAK() + Else Do + . Set Prijs=Prijs+$$GOEDEREN() + . Set:('IsLosProf) Prijs=Prijs+$$VULLING() + . Set Prijs=Prijs+$$CAD() + . Set Prijs=Prijs+$$GEREI() + . If IsLosProf Set Prijs=Prijs+$$ZAAG(LosProfLengte) + . Else Do + .. Set Prijs=Prijs+$$ZAAG(Hoogte) + .. Set Prijs=Prijs+$$ZAAG(Breedte) + . Set Prijs=Prijs+$$FREES() + . Set Prijs=Prijs+$$BOOR() + . Set Prijs=Prijs+$$DICHTING() + . Set Prijs=Prijs+$$MONTEER() + . Set Prijs=Prijs+$$CONTROLE() + . Set Prijs=Prijs+$$VERPAK() + Quit Prijs +INIT + Set GlobRef=$NA(^ResItemsD(4)), GlobDef=4 + ; *** + ; *** al volgende locals worden gebruikt voor de kostprijs calculatie : MultiplicantEval en ReductieEval + ; *** + Set IsLosProf=(%this.ProductieWijzeGetObjectId()="LPR") + Set:(IsLosProf) LosProfPlaats=..Onderdelen.GetNext("") ; mogelijke waarde: "PL", "PR", "PB", "PO" + Set:(IsLosProf) LosProfLengte=..LosProfLengte(LosProfPlaats)/1000 + + Set LosProfHalf=$S(IsLosProf:0.5, 1:1) + Set LosProfKwart=$S(IsLosProf:0.25, 1:1) ; =LosProfHalf*LosProfHalf + Set GemCom=3 ; Gemiddelde commisiegrootte + Set Staffel=$G(Staffel,1) + Set:Staffel<0 Staffel=-Staffel ; absolute waarde + Set Staffel=$S(Staffel<10:1,Staffel>50:Staffel,1:Staffel\10*10) ;Staffel tussen 1 en 50 in stappen van 10 + Set Hoogte=%this.Hoogte/1000 + Set Breedte=%this.Breedte/1000 + Set Omtrek=%this.KadOmtrek() ; in meters + Set Opp=%this.KadOpp() + ;Set Volume=%this.KadVolume() + Set VulHoogte=%this.VulHoogte()/1000 + Set VulBreedte=%this.VulBreedte()/1000 + Set VulOmtrek=%this.VulOmtrek() ; in meters + Set VulOpp=%this.VulOpp() + ;Set VulVolume=%this.VulVolume() + Set ProfLengte=%this.ProfAfw.Lengte Set:'ProfLengte ProfLengte=3 + Set ProfUitval=%this.ProfType.ProfUitval/1000 + Set ProfUitvalFaktor=1+%this.ProfType.ProfUitvalPerc + Set DichtUitval=%this.ProfType.DichtUitval/1000 + Set DichtUitvalFaktor=1+%this.ProfType.DichtUitvalPerc + Set KaliberQty=%this.ProfType.KaliberAantal Set:KaliberQty KaliberQty=250\(%this.ProfType.Breedte+10) + Set GlasProf=($E(%this.ProfType.ItemID,3)="G")!($E(%this.ProfType.ItemID,3)="K") + Set IsKleef=$E(%this.ProfType.ItemID,3)="K" ; gekleefd + Set IsMont=%this.Gemonteerd["K" + Set Toepas=%this.Toepassing.ItemID + Do %this.TelBoringen(.TelProf,.TelVul) + ;zw TelProf + ;zw TelVul + Set VolgNr=0 + ;zw TelProf + Quit +GOEDEREN() + New Prijs + If %this.ProfAfwKostSpecial Do + . Set Prijs=$$KOST(%this.ProfAfw.ItemID,,%this.ProfAfwKostSpecial) + Else Do + . Set Prijs=$$KOST(%this.ProfAfw.ItemID) + Set Prijs=Prijs+$$KOST(%this.ProfType.DichtingKostCode) + Set:('IsLosProf)&&$L(%this.ProfType.Hoek) Prijs=Prijs+$$KOST(%this.ProfType.Hoek.SchroefKostCode) + Set:('IsLosProf)&&$L(%this.ProfType.Hoek) Prijs=Prijs+$$KOST(%this.ProfType.Hoek.HoekKostCode) + Quit Prijs +FREES() +#define VakQty 6 +#define RowQty 4 +#define VakLengte .500 + New Prijs,ProfKant,ProfQty,ProfWisselQty,ProfPlaats,ProfDiam,GatType,ProfGatenQty,BoorWissel,ProfCnt + Set ProfKant="" + Set Prijs=0 + Set ProfCnt=0 + ; Tellen van hoeveel profielen er moeten genomen worden van de 4 + For Set ProfKant=$O(TelProf(ProfKant)) Quit:ProfKant="" Do + . Set ProfPlaats="" + . For Set ProfPlaats=$O(TelProf(ProfKant,ProfPlaats)) Quit:ProfPlaats="" Do + .. Set:'$D(ProfCnt(ProfPlaats)) ProfCnt=ProfCnt+1 ; NVDR.(Wim) : ALTIJD DUS ! + ; + New PLen,ProfsPerRij + Set PLen=$S(IsLosProf:LosProfLengte, Hoogte Set KaliberNew=(ProfQty*Staffel)\(($$$VakQty\((PLen\$$$VakLengte)+1))*$$$RowQty)+1 + Set ProfsPerRij=$$$VakQty\((PLen\$$$VakLengte)+1) + Set:(ProfsPerRij<1) ProfsPerRij=1 ; voor profielen groter dan de totale lengte van de Kaliber + Set ProfKant="" + For Set ProfKant=$O(TelProf(ProfKant)) Quit:ProfKant="" Do + . New BoorWissel,ProfGatenQty + . Set (ProfQty,ProfWisselQty)=0 + . Set ProfPlaats="" + . For Set ProfPlaats=$O(TelProf(ProfKant,ProfPlaats)) Quit:ProfPlaats="" Do + .. Set ProfQty=ProfQty+1 + .. Set ProfDiam="" + .. For Set ProfDiam=$O(TelProf(ProfKant,ProfPlaats,ProfDiam)) Quit:ProfDiam="" Do + ... Set:'$D(BoorWissel(ProfDiam)) ProfWisselQty=ProfWisselQty+1,BoorWissel(ProfDiam)="" + ... Set:ProfDiam<10 GatType="K" + ... Set:ProfDiam'<10 GatType="G" + ... Set ProfGatenQty(GatType)=$G(ProfGatenQty(GatType))+TelProf(ProfKant,ProfPlaats,ProfDiam) + . ;Set KaliberNew=(ProfQty*Staffel)\(($$$VakQty\((PLen\$$$VakLengte)+1))*$$$RowQty)+1 ; Berekening: zie boven + . Set KaliberNew=(ProfQty*Staffel)\(ProfsPerRij*$$$RowQty)+1 ; Berekening: zie boven + . Set Prijs=Prijs+$$KOST($S(IsLosProf:"FL", 1:%this.ProfType.FreesKostCode)) + Quit Prijs +ZAAG(Lengte) + New MaxLengte + Set MaxLengte=$S($E(%this.ProfType.%Id(),2)="S":.350,1:.400) + Quit:Lengte'10 Do ;Groot aantal + .. If 'IsLosProf,%this.Gemonteerd["V" Do ; Groot aantal en Met vulling + ... If $S(Hoogte>Breedte:Hoogte,1:Breedte)<120&($S(Hoogte>Breedte:Breedte,1:Hoogte)<80) Do ; Groot aantal en Met Vulling en Past op een palet + .... Set VerpakType=$LB("K") + ... Else Do ; Groot aantal en Met Vulling en Groter dan een palet + .... Set VerpakType=$LB("K","E") + .. Else Do ; Groot aantal en Geen vulling + ... Set VerpakType=$LB("B") + . Else Do ; Klein aantal + .. If 'IsLosProf,IsMont Do ; Klein aantal en Gemonteerd + ... Set VerpakType=$LB("K","E") + .. Else Do ; Klein aantal en ongemonteerd + ... Set VerpakType=$LB("L","E") + For I=1:1:$LL(VerpakType) Do + . Set:$L($LI(VerpakType,I)) VerpakKost=VerpakKost+$$KOST("V"_$LI(VerpakType,I)) ; inclusief werktijd en verpakkingsgoederen + Quit VerpakKost + +VULLING() + Quit:'$L(%this.Vulling.Vulling) 0 ; Materiaal kost van de vulling indien gedefinieerd + New Prijs,Gehard,ExtraObj,Key + Set Prijs=0 + If %this.VullingKostSpecial<0 Do ; Negatief getal betekend dat de stukprijs is doorgegeven ipv m2 prijs + . Set Prijs=Prijs+$$KOST("VUL"_%this.Vulling.Vulling.ItemID,,,,-%this.VullingKostSpecial) + Else If %this.VullingKostSpecial Do + . Set Prijs=Prijs+$$KOST("VUL"_%this.Vulling.Vulling.ItemID,,%this.VullingKostSpecial,%this.VullingKostSpecial*.25) + Else Do + . Set Prijs=Prijs+$$KOST("VUL"_%this.Vulling.Vulling.ItemID) + Set Key="" + Set Gehard=0 + For Set ExtraObj=%this.Vulling.VullingExtra.GetNext(.Key) Quit:Key="" Do + . New KostCode,ItemID + . Set KostCode=ExtraObj.FloatKostCode + . Set ItemID=ExtraObj.ItemID + . Set:ItemID="RP"&IsKleef KostCode="VULRK" ; Bij gekleefd glas speciale Rod�Poli prijs + . Set Prijs=Prijs+$$KOST(KostCode) + . Set:ItemID="HARD" Gehard=1 + . Set:ItemID="RP" Gehard=2 + Set:Gehard=1!((Gehard'=2)&IsKleef) Prijs=Prijs+$$KOST($S(IsKleef:"VULRK",1:"VULRP")) ; Indien gehard OF gekleefd dan ook Rod�Poli + Set QtyGlasBoor=$P($G(TelVul),"\") + Set:QtyGlasBoor Prijs=Prijs+$$KOST("VULBORING") + Quit Prijs +KOST(Label,MatBasis,MatMultiplicant,MatMin,MatFull) + Quit:Label="" 0 + New Prijs,MemLabel,KostObj + Set MemLabel=Label + Set Prijs=0 + ;Write MemLabel + Do:$D(@GlobRef@(Label)) For Set Label=$O(@GlobRef@(Label)) Quit:$E(Label,1,$L(MemLabel))'=MemLabel Do + .Quit:$L(Label)<4 + .Set KostObj=##class(Res.PI.Kost).%OpenId(GlobDef_"||"_Label) + .Set Prijs=Prijs+$$KOSTCALC(KostObj) + .;Set Prijs=Prijs+KostObj.KostCalc() + .Do KostObj.%Close() + Quit Prijs +KOSTCALC(%this) + New Key,emKostObk,Multi,Reductie,Tijd,TijdKost,Mat,TijdViaMin,MatViaMin,MatBasis2,MatMultiplicant2,MatMin2 + Set Key=Staffel-1 + Set emKostObj=%this.Staffel.GetNext(.Key) + Set:Key="" emKostObj=%this.Staffel.GetNext(.Key) ; Er was geen staffel daarom eerste genomen. + Quit:Key="" 0 ; Geen kostprijs gevonden + ;W !,Label,*9 + Set Multi=$J(%this.MultiplicantEval(),0,4) + Set Reductie=$J(%this.ReductieEval(),0,4) + Set Tijd=emKostObj.TijdBasis+(emKostObj.TijdMultiplicant*Multi) + Set:Tijd Tijd=$S(Tijd>emKostObj.TijdMin:Tijd,1:emKostObj.TijdMin) + Set TijdViaMin=(Tijd=emKostObj.TijdMin) + Set TijdKost=$J(%this.KostPlaatsKost*%this.KostToeslagKlein*%this.KostToeslagGroot*Reductie*Tijd/3600,0,4) + Set:Staffel=10&(%this.Variabelen["Staffel") TijdKost=TijdKost*2 ; Indien Staffel=10 dan niet ineens delen door 10 maar wel door 5 + ; Voor de prijsberekening kan er een speciale prijs doorgegeven worden + Set MatBasis2=$G(MatBasis,emKostObj.MatBasis) + Set MatMultiplicant2=$G(MatMultiplicant,emKostObj.MatMultiplicant) + Set MatMin2=$G(MatMin,emKostObj.MatMin) + Set Mat=MatBasis2+(MatMultiplicant2*Multi) + Set:Mat Mat=$S(Mat>MatMin2:Mat,1:MatMin2) + Set MatViaMin=(Mat=MatMin2) + Set:$G(MatFull) Mat=MatFull,MatViaMin=0 + Set Mat=$J(Reductie*Mat,0,4) + ;W Multi,*9,Reductie,$J(Tijd,10,4),$J(TijdKost,10,4),$J(Mat,10,4) + If Mat!Tijd,CalcObj Do + .Set CalcDtlObj=##class(Prod.GADef.emKadPrijsDtl).%New() + .Set CalcDtlObj.Groep=%this.KostGroep + .Set CalcDtlObj.KostCode=%this.ItemID + .Set CalcDtlObj.KostPlaats=%this.KostPlaats + .Set CalcDtlObj.SortNr=%this.Sort + .Set CalcDtlObj.Multiplicant=Multi + .Set CalcDtlObj.Reductor=Reductie + .Set CalcDtlObj.MatKost=Mat + .Set CalcDtlObj.MatViaMin=MatViaMin + .Set CalcDtlObj.Tijd=$J(Reductie*Tijd,0,0) + .Set CalcDtlObj.TijdKost=TijdKost + .Set CalcDtlObj.TijdViaMin=TijdViaMin + .Set CalcDtlObj.Variabelen=$$EVALVAR(%this.Variabelen) + .Set VolgNr=VolgNr+1 + .Do CalcObj.Details.SetAt(CalcDtlObj,VolgNr) + .Do CalcDtlObj.%Close() + Quit TijdKost+Mat +EVALVAR(Vars) + New Result,I,Var,Val + Set Result="" + For I=1:1:$L(Vars,";") Do + .Set Var=$P(Vars,";",I) + .Quit:'$L(Var) + .X "Set Val=$G("_Var_",""???"")" + .Set Result=Result_"; "_Var_"="_Val + Quit $E(Result,3,999) +IMPORTCLEAN + Set TabelID=4 + Set ID="" + For Set ID=$O(^ResItemsD(TabelID,ID)) Quit:ID="" Do + .Set Obj=##class(Res.PI.Items).%OpenId(TabelID_"||"_ID) + .If Obj.BeperkingTabel="NEW" Do + .. ;Write Obj," " + .. Do Obj.%Close() + .. Do ##class(Res.PI.Items).%DeleteId(TabelID_"||"_ID) + .Else Do + ..Do Obj.%Close() + Quit + ; Do IMPORT^Prod.GADef.KaderDeur.KostPrijs +IMPORT + Set t=$P($H,",",2) + Do IMPORTCLEAN + Set DevObj=##class(%Library.File).%New("c:\KostDtl.TXT") + ;Write DevObj.Size + Do DevObj.Open("R") + Do DevObj.Rewind() + Set D=$C(9) + Set Cnt=0 + For Set Len=1000,Rec=DevObj.Read(.Len) Quit:Rec="" Do + . Set Cnt=Cnt+1 + . Quit:Cnt=1 ; niet de titel + . ;Write Cnt," " ;,$P(Rec,D,9)," ",$$TRIM($P(Rec,D,9)),! + . Set ID=$P(Rec,D,1) + . Quit:ID="" + . Set TabelID=4 ;=##class(Res.PI.Definitie).IDViaNaam("Kost") + . Set TabObj=##class(Res.PI.Definitie).%OpenId(TabelID) + . Do ##class(Res.PI.Kost).%DeleteId("4||ID") + . Set Obj=##class(Res.PI.Kost).%New() + . Set Obj.TabelID=TabObj + . Set Obj.ItemID=ID + . Set Obj.BeperkingTabel="NEW" + . Set Obj.Sort=$P(Rec,D,2) + . Set Obj.Omschrijving=$$TRIM($P(Rec,D,3)) + . Set Obj.KostGroep=$P(Rec,D,4) + . Set Obj.KostPlaats=$P(Rec,D,5) + . Set Obj.KostPlaatsKost=$TR($P(Rec,D,6),",",".") + . Set Obj.KostToeslagGroot=$TR($P(Rec,D,7),",",".") + . Set Obj.KostToeslagKlein=$TR($P(Rec,D,8),",",".") + . Set Obj.ReductieFormule=$$TRIM($P(Rec,D,9)) + . Set Obj.MultiplicantFormule=$$TRIM($P(Rec,D,10)) + . Set Obj.Variabelen=$$TRIM($P(Rec,D,11)) + . Set emObj=##class(Res.PI.emKostDetail).%New() + . Set Staffel=$P(Rec,D,12) + . ; om het resultaat van de prijsberekening niet te doen veranderen van CAche V4 naar V5 moet tijdbasis en multiplicant integer zijn. + . ; de integer wordt getrunceerd, niet afgerond + . Set emObj.TijdBasis=$tr(+$P(Rec,D,13),",",".") + . Set emObj.TijdMultiplicant=$tr(+$P(Rec,D,14),",",".") + . Set emObj.TijdMin=$tr($P(Rec,D,15),",",".") + . Set emObj.MatBasis=$TR($P(Rec,D,16),",",".") + . Set emObj.MatMultiplicant=$TR($P(Rec,D,17),",",".") + . Set emObj.MatMin=$TR($P(Rec,D,18),",",".") + . Do Obj.Staffel.SetAt(emObj,Staffel) + . ;Do DumpObject^%apiOBJ(Obj) + . Write Cnt," ",$$ParseStatus^vhLib(Obj.%Save()),! + . Do Obj.%Close() + Do DevObj.%Close() + Write $P($H,",",2)-t + Write !,"Aantal",Cnt,! + Quit +TRIM(String) + Quit:$E(String)="""" $$TRIM($E(String,2,$L(String)-1)) + Quit:String["""""" $$TRIM($P(String,"""""")_""""_$P(String,"""""",2,9999)) + Quit String \ No newline at end of file Index: Kenm/Vertaal/DataDefinitie.cls.xml =================================================================== diff -u --- Kenm/Vertaal/DataDefinitie.cls.xml (revision 0) +++ Kenm/Vertaal/DataDefinitie.cls.xml (revision 2) @@ -0,0 +1,269 @@ + + + + +Vaste leggen van de kenmerken per product. +Er wordt bewust geen link gelegd naar MetaGroep of MetaDefinitie omdat anders bij gebruik van de waarden +swivel inwerking zou treden, dit mag niet om dat bv voor één kenmerk +meerdere waarden kunnen ingegeven worden. Dus bij wijzigen van een kenmerk +moeten voor een bepaald product alle waarden verzameld worden. +0 +0 +persistent +0 +0 +Kenm.Basis.DataDefinitie +0 + + +Kenm.Vertaal.MetaDefinitie +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +0 +code +IsNew:%Library.Boolean=1 +0 +%Library.Status +0 + + + + +]]> +0 +1 +code +Oid:%Library.ObjectIdentity +0 +%Library.Status +0 + + + + +0 +0 +code +Intern:%Library.String,Type:%Library.String +0 +%Library.String +0 + SUBSTITUTIE vereist opstellen van taaldoorsnede + ... New Sleutels,AantalSleutels,SubLang,SleutelLoop,tmpSleutel + ... Set Sleutels=VTA.GetVertalingsSleutels(Type) + ... Set AantalSleutels=$LL(Sleutels) //Aantal te vertalen sleutels + ... Set SubLang="" + ... For SleutelLoop=1:1:AantalSleutels Do + .... Set tmpSleutel=$LI($LI(Sleutels,SleutelLoop),2) //Het eerste element bevat het type + .... If ##class(Res.VertalingAbstract).IsInternUniversal(tmpSleutel) Do //Wanneer sleutel vh type {%...} is dan is het een universele vertaling (groep %) + ..... Set SubLang=SubLang _ ##class(Res.VertalingAbstract).AvailableLanguages("%",tmpSleutel,Type) + .... Else Do + ..... Set SubLang=SubLang _ ##class(Res.VertalingAbstract).AvailableLanguages(VertalingsGroep,tmpSleutel,Type) + ... Set LanguagesOK=##class(Res.VertalingAbstract).GetLanguagesWithCountOK(SubLang,AantalSleutels) + .. Else Do //-> GEEN SUBSTITUTIE, gewoon languages opvragen + ... Set:(Intern'="") LanguagesOK=##class(Res.VertalingAbstract).AvailableLanguages(VertalingsGroep,Intern,Type) + + Quit LanguagesOK + + // ---< Pseudo-code >--- + // Loop doorheen vertalingstypes van MetaDef (array) + // . Loop doorheen elke VertalingsType (';' pieces) + // .. Als VertalingsType=Type Doe + // ... Als het om substitutie gaat + // .... Sleutels uitlezen + // .... Vertalingen van sleutels verkrijgen & samenvoegen + // .... Talen extraheren met correcte count + // ... Geen Substitutie + // .... Vertalingen van interne waarde verkrijgen + +]]> + + + + +Mogelijke waarden voor ListItems: bvb.: "*" , "1" , "1;2" , "1;2;5;7"
    +Als ListSep niet leeg is, worden de vertaalde items geconcateneerd (met ListSep as separator) tot één +element van de $LB().]]>
    +0 +0 +code +LBX:%Library.String,ListSep:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +0 +%Library.String +0 + +
    + + +0 +0 +code +X:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +0 +%Library.String +0 + + + + +%Library.SQLQuery +paUnID:%Library.String,paGroep:%Library.String +0 +SELECT Count(ID) AS Aantal +FROM Kenm_Vertaal.DataDefinitie +WHERE ID Like :paUnID || "||" || :paGroep || "||%" + +0 + + + + + +]]> +%Library.SQLQuery +GroepID:%Library.String,Kenmerk:%Library.String,SuperKenmerk:%Library.String,SuperKMWaarde:%Library.String +0 +SELECT DISTINCT(Waarden) + FROM Kenm_Vertaal.DataDefinitie + WHERE Kenmerk=(:GroepID || '||' || :Kenmerk) AND + UnID IN + (SELECT UnID + FROM Kenm_Vertaal.DataDefinitie + WHERE Kenmerk=(:GroepID || '||' || :SuperKenmerk) AND + Waarden LIKE ("%" || :SuperKMWaarde) + ) + +0 + + + + + +%Library.SQLQuery +paUnID:%Library.String +0 +Groep) AS Groep +FROM Kenm_Vertaal.DataDefinitie +WHERE UnID=:paUnID +]]> +0 + + + + + + +Geeft een lijst van alle kenmerken met waarden voor een gegeven UnID. +%Library.SQLQuery +paUnID:%Library.String +0 +Kenmerk, Waarden, Kenmerk->VolgNr +FROM Kenm_Vertaal.DataDefinitie +WHERE (UnID = :paUnID) +ORDER BY Kenmerk->VolgNr +]]> +0 + + + + + +%Library.CacheStorage + +
    +
    Index: Prod/GAMeta/BT/TBRelingKleur.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBRelingKleur.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBRelingKleur.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBRKD") +TBRelingKleurDefaultData +^Res.PI.Items("PR;GA;TBRKD") +^Res.PI.Items("index","PR;GA;TBRK") +^Res.PI.Items("stream","PR;GA;TBRK") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Prod/GAMeta/BT/TBStalenRug.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBStalenRug.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBStalenRug.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBSRD") +TBStalenRugDefaultData +^Res.PI.Items("PR;GA;TBSRD") +^Res.PI.Items("index","PR;GA;TBSR") +^Res.PI.Items("stream","PR;GA;TBSR") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Prod/GAData/TBXLade.cls.xml =================================================================== diff -u --- Prod/GAData/TBXLade.cls.xml (revision 0) +++ Prod/GAData/TBXLade.cls.xml (revision 2) @@ -0,0 +1,606 @@ + + + +persistent +1 +AbstractBasis +0 + + + +This property should be overriden in each derived class with the default value specified +Generisch Type van het product. Bvb. TBX, KAD, TLM, SDM, +%String +"TBX" + + + + +Opties +TBXLadeOpties +1 + + + + + +Niet Meeleveren onderdelen +TBXLadeNietMeeleveren + + + + +Design +%String + + + + + + +Uittrekbaarheid +%String + + + + + + +Fronttype +%String + + + + + + +Klasse +%String + + + + + + +Zijwand hoogte +%String + + + + + + +Rughoogte +%String + + + + + + +Frontbevestiging +%String + + + + + + +Ladediepte +%String + + + + + + +Wanddikte +%String + + + + + + +Corpusbreedte +%String + + + + + + +Opvullijst links +%String + + + + + + +Opvullijst rechts +%String + + + + + + +Min Tolerantie op IB +%String + + + + + + +Spoelbakzijkant +%String + + + + + + +Draagkracht +%String + + + + + + +Kleur: Bodem +%String + + + + + + +Kleur: Front +%String + + + + + + +Kleur: Reling +%String + + + + + + +Kleur: Lade +%String + + + + + + +Kleur: Rug +%String + + + + + + +Kleur: Spoelbak acc. +%String + + + + + + +Blumotion +%String + + + + + + +Stabilisator +%String + + + + + + +Boren Hangmap voor BuroBox +%String + + + + + + +Frontsteun +%String + + + + + + +Boxside +%String + + + + + + +Kleur: BoxSide +%String + + + + + + +Kleur: Vulstuk +%String + + + + + + +Antislipmat +%String + + + + + + +Stalen rug +%String + + + + + + +Plaatmateriaal klant +%String + + + + + + +Verpakking +%String + + + + + + +TANDEMBOX pro +%String + + + + + + +LadeCode +%String + + + + + + +Greep voor binnenlade +%String + + + + + + +Dwarsverdeling(en) +%String + + + + + + +Spoelbak Breedte (afmeting) +%String + + + + + + +Spoelbak Zijkant Links (afmeting) +%String + + + + + + +Spoelbak Zijkant Rechts (afmeting) +%String + + + + + + +Spoelbak Zijkant Midden (afmeting) voor dubbele sifon +%String + + + + + + +Spoelbak Binnenzijwand Hoogte +%String + + + + + + +Rugstuk verlaagd +%String + + + + + + +Onderdelen speciaal (voor losse onderdelen) +%String + + + + + + +======================================== /// +Calculated Properties /// +======================================== /// + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + + +inherited from AbstractBasis +%String +1 + + + + + +%String +1 + + + + + +%Library.CacheStorage +TBXLadeDefaultData + +"TBXLade" + +ASM + + +BGRP + + +BHM + + +BM + + +BS + + +CB + + +DK + + +DS + + +DWV + + +FB + + +FS + + +GT + + +KB + + +KF + + +KL + + +KLAS + + +KR + + +KSP + + +KX + + +LC + + +LD + + +LT + + +MATKL + + +MTIB + + +NM + + +OPVLLI + + +OPVLRE + + +PRO + + +RH + + +RK + + +SB + + +SPZK + + +SR + + +VERPAK + + +WD + + +ZW + + +ODSP + + +RSTL + + +SPBR + + +SPZLI + + +SPZRE + + +KV + + +SPZMI + + +SPZBINHOOGTE + + + + + Index: WS/TBX/SFS/OrderServiceInternal/ConfirmOrder.cls.xml =================================================================== diff -u --- WS/TBX/SFS/OrderServiceInternal/ConfirmOrder.cls.xml (revision 0) +++ WS/TBX/SFS/OrderServiceInternal/ConfirmOrder.cls.xml (revision 2) @@ -0,0 +1,63 @@ + + + +WS.TBX.SFS +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.SFS.OrderServiceInternal + + +http://www.vanhoecke.be/SFS + + + +http://www.vanhoecke.be/SFS + + + +document + + + +literal + + + +http://www.vanhoecke.be/SFS + + + +complete + + + +%Result + + + +WS.TBX.SFS.ConfirmOrderResult + + + + + +%Library.String + + + + +%Library.Integer + + + + +%Library.String + + + + +%Library.String + + + + Index: _vhisie/TBX/WizKleur.csp =================================================================== diff -u --- _vhisie/TBX/WizKleur.csp (revision 0) +++ _vhisie/TBX/WizKleur.csp (revision 2) @@ -0,0 +1,575 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(..WebTextValue("Kleurkeuze",Taal,"L",$LB("U"))_" : "_"Design"_" / "_..WebTextValue("Ladezijden",Taal,"L",$LB("L")))#
      
    #(..WebTextValue("DC_S",Taal,"L",))#
    #(..WebTextValue("DC_A",Taal,"L",))#
    #(..WebTextValue("DC_I",Taal,"L",))#
    #(..WebTextValue("DC_B",Taal,"L",))#
    #(..WebTextValue("DC_F",Taal,"L",))#
    #(..WebTextValue("DC_MA",Taal,"L",))#
      
    +
    #(arVTL("KLR","DS_WS"))#
    +
    #(arVTL("KLR","DS_GS"))#
    + +
    +
    #(arVTL("KLR","DS_WA"))#
    +
    #(arVTL("KLR","DS_GA"))#
    +
    #(arVTL("KLR","DS_ZA"))#
    +
    +
    #(arVTL("KLR","DS_WI"))#
    + +
    #(arVTL("KLR","DS_GI"))#
    +
    +
    #(arVTL("KLR","DS_II"))#
    +
    #(arVTL("KLR","DS_ZI"))#
    + +
    + + + +
    #(arVTL("KLR","DS_GF"))#
    +
    #(arVTL("KLR","DS_AF"))#
    +
    +
    #(arVTL("KLR","DS_GMA"))#
    + +
       + + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(..WebTextValue("Kleurkeuze",Taal,"L",$LB("U"))_" : "_..WebTextValue("Onderdelen_KLR",Taal,"L",))#
     
    #(..WebTextValue("Bodem&Rug",Taal,"L",$LB("U")))#
    #(..WebTextValue("Relingen",Taal,"L",$LB("U")))#
    +
    #(..WebTextValue("KleurSubInfo_"_DCM,Taal,"L",$LB("U")))#
    + +
       
    +
    #(arVTL("KLR","KB_WI"))#
    +
    #(arVTL("KLR","KB_LG"))#
    +
    #(arVTL("KLR","KB_DG"))#
    +
    #(arVTL("KLR","KB_BZ"))#
    + + +
    +
    #(arVTL("KLR","RK_WI"))#
    +
    #(arVTL("KLR","RK_MG"))#
    +
    #(arVTL("KLR","RK_AL"))#
    +
    #(arVTL("KLR","RK_SW"))#
    +
    #(arVTL("KLR","RK_BZ"))#
    +
    #(arVTL("KLR","RK_CR"))#
    +
    + +
    #(txtKVIEInschfElmnt)#
    +
    #(arVTL("KLR","KV_ZV"))#
    +
     
    + +
     
    +
    + #(..WebTextValue("BtnSelectKVDlg",Taal,"L"))# +
    + +
    #(arVTL("KLR","KV_ZV"))#
    +
    #(arVTL("KLR","KV_FG"))#
    +
    #(arVTL("KLR","KV_FZ"))#
    +
    +
      + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    #($G(arVTL("KLR_INFO","MC")," "))#
    +
     
    + + + + +
    +
    + + + + + + + + + + + + + +
    +
    +
    #(..WebTextValue("DFL_CurrentSettings",Taal,"L",$LB("")))# :
    +
    +   +
    +
     
    +
    + #(blTBoxDfl.MatenDefaultsHTML)# +
    +
     
    +
    + #(..WebTextValue("BtnEditDefaults",Taal,"L"))# +
    +
     
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    #(..WebTextValue("DFL_Basiskeuzes",Taal,"L",$LB("U")))#  
    +
    +   +
    +
    + +
    #(..WebTextValue("DFL_StdWOpties",Taal,"L",$LB("U")))#
    +
     
    #(..WebTextValue("Frontbevestiging",Taal,"L"))#
    #(..WebTextValue("Glijders",Taal,"L"))#
    #(..WebTextValue("WanddikteKort",Taal,"L"))#
    #(..WebTextValue("Antislipmat",Taal,"L"))#
    #(..WebTextValue("NietMeeleveren",Taal,"L"))#
    #(..WebTextValue("Verpakking",Taal,"L"))#
     
     
    +
    #(arVTL("DFL","FB_S") )#
    +
    #(arVTL("DFL","FB_I") )#
    +
    #(arVTL("DFL","FB_NM"))#
    +
    +
    #(arVTL("DFL","BM_I") )#
    +
    #(arVTL("DFL","BM_T") )#
    +
    +
    #(arVTL("DFL","WD_16") )#
    +
    #(arVTL("DFL","WD_18") )#
    +
    #(arVTL("DFL","WD_19") )#
    +
    #(arVTL("DFL","WD_B") )#
    +
    +
    #(arVTL("DFL","ASM_G") )#
    +
    #(arVTL("DFL","ASM_Z") )#
    +
    #(arVTL("DFL","ASM_R") )#
    +
    #(arVTL("DFL","ASM_0") )#
    +
    +
    +
    +
    +
    +
    +
    #(arVTL("DFL","VPK_S") )#
    +
    #(arVTL("DFL","VPK_O_k") )#
    +
    #(arVTL("DFL","VPK_C_k") )#
    +
    #(arVTL("DFL","VPK_P" ) )#
    +
    #(arVTL("DFL","VPK_A_k") )#
    +
    #(arVTL("DFL","VPK_B_k") )#
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
     
    +
    + #(..WebTextValue("BtnSaveDflNow",Taal,"L"))# +
    + +
    +
    + #(..WebTextValue("BtnClearAllDfl",Taal,"L"))# + +
    +
     
    +
    + + + + + + + + +
    + + + + + + + + +
    #(..WebTextValue("Frontbevestiging",Taal,"L",$LB("U")))#
    #(..WebTextValue("FrontBevInStap3",Taal,"L"))#
    +
      
    +
    + + \ No newline at end of file Index: _vhisie/TBX/VH_LibIO.js =================================================================== diff -u --- _vhisie/TBX/VH_LibIO.js (revision 0) +++ _vhisie/TBX/VH_LibIO.js (revision 2) @@ -0,0 +1,292 @@ +// +-+-+-+-+-+-+-+-+-+-+-+-+-+ +// | Input-Output Library | +// +-+-+-+-+-+-+-+-+-+-+-+-+-+ + + +// Simple functions on JS-variables +// ================================ + +function isUndef (jsVar) { + return (typeof(jsVar)=="undefined"); +} + +// function Number_toFixed(d) +if (!isUndef(Number)&&(!isUndef(Number.prototype))){ + if (isUndef(Number.prototype.toFixed)){ + function Number_toFixed(d) { + var n = this; + d = d || 2; + var f = Math.pow(10, d); + n = Math.round(n * f) / f; + n += Math.pow(10, - (d + 1)); + n += ''; + return (d==0 ? n.substring(0, n.indexOf('.')) : n.substring(0, n.indexOf('.') + d + 1)); + } + Number.prototype.toFixed = Number_toFixed; + } +} + +function RightStr (str, nChar) { + return str.substr(str.length-nChar, nChar); +} + +function LeftStr(str,Delim) { + return str.substring(0, (str+Delim).indexOf(Delim)); +} + +function isNumberInt(inputString) { + return (!isNaN(parseInt(inputString)) ? true : false); +} + +function MinVal(num1,num2) { + return (num1>num2 ? num2: num1); +} + +function MaxVal(num1,num2) { + return (num1 -1) return true; + return false; + } + var exists = false; + for (var i=0;i<=objList.options.length-1;i++) { + if (text == objList.options[i].text) exists = true; + } + if (exists) return; + if (navigator.appName != "Netscape") { + var oOption = document.createElement("OPTION"); + oOption.text = text; + oOption.value = value; + objList.add(oOption); + } else { + objList.options[objList.length] = new Option(text, value); + } +} +function UpdateCboItems (ComboName, ItemsList, Delim) { + var oCombo=document.getElementById(ComboName); + var oOpt,blnDisabled; + var blnAll = (ItemsList.replace(Delim,"")=="*"); + ItemsList=Delim+ItemsList+Delim; + for (var i=0;i<=oCombo.options.length-1;i++) { + oOpt=oCombo.options[i]; + blnDisabled = (!blnAll) && (ItemsList.indexOf(Delim+oOpt.value+Delim) < 0); + oOpt.style.color=(blnDisabled ? ColorOptDisabled : ""); + // oOpt.style.display=(blnDisabled ? "none" : "block"); // Show or hide + oOpt.disabled=blnDisabled; + } +} +function UpdateCboItemsShowHide (ComboName, ItemsList, Delim) { + var oCombo=document.getElementById(ComboName); + var oOpt,blnDisabled; + var blnAll = (ItemsList.replace(Delim,"")=="*"); + ItemsList=Delim+ItemsList+Delim; + if (!oCombo.objCopy) oCombo.objCopy=oCombo.cloneNode(true); // Execute first time only. + if (!oCombo.objCopy) { alert("Node oCombo.objCopy not found!"); return; } + ClearComboOpts(oCombo); + for (var i=0;i<=oCombo.objCopy.options.length-1;i++) { + oOpt=oCombo.objCopy.options[i]; + blnDisabled = (!blnAll) && (ItemsList.indexOf(Delim+oOpt.value+Delim) < 0); + if (!blnDisabled) { +// oCombo.options.add(oOpt.cloneNode(true); + var oOptNew = document.createElement("OPTION"); + oOptNew.text=oOpt.text; + oOptNew.value=oOpt.value; + oCombo.options.add(oOptNew); + } + } +} + +// Operations on Controls (such as Input Text/Option/CheckBox/...) +// ================================================================ + +function GetValTxt (FldName) { + var obj=document.getElementById(FldName); + if (!obj) return(""); + return (obj.value=="" ? "" : obj.value); +} + + +function GetValChk (FldName) { // returns boolean (true/false) + var obj=document.getElementById(FldName); + if (!obj) return(""); + return obj.checked; +} + +function SetValTxt (FldName,NewVal) { + var obj=document.getElementById(FldName); + if (isUndef(NewVal)) NewVal=""; + if (obj) obj.value=NewVal; +} + +function SetValChk (FldName,blnVal) { + var obj=document.getElementById(FldName); + if (isUndef(blnVal)) blnVal=false; + if (obj) obj.checked=blnVal; +} + +function GetValCboText (FldName) { + var obj=document.getElementById(FldName); + if (!obj) return(""); + return ( (obj.selectedIndex < 0) ? "" : obj.options[obj.selectedIndex].innerHTML); +} + +function GetValCbo (FldName) { + var obj=document.getElementById(FldName); + if (!obj) return(""); + return ( (obj.selectedIndex < 0) ? "" : obj.options[obj.selectedIndex].value); +} + +function SetValCbo (FldName,NewVal) { + var obj=document.getElementById(FldName); + if (isUndef(NewVal)) NewVal=""; + if (obj) cspSetSelectValue (obj,NewVal); +} + +function SafeFocusSet (obj,blnMsg) { + if (!obj) return false; + try { obj.focus(); } + catch (exception) { + if (blnMsg) alert("Could not set focus to " + obj + " \"" + obj.id + "\""); + return false; + } + return true; +} + +function DivSetVisible (divID,blnVisible) { + var objDiv=document.getElementById(divID); + if (objDiv) objDiv.style.display=(blnVisible ? "block" : "none"); +} + +function ControlEnabledDisabled(ControlID,blnEnabled) { + var Control=document.getElementById(ControlID); + if (!Control) return(""); + if (blnEnabled) { + Control.style.backgroundColor = "#FFFFFF"; + Control.disabled = ""; + } + else { + Control.disabled = "disabled"; + } +} + +function ControlSetValue (ControlName,Value) { + var Control=document.getElementById(ControlName); + if (Control) { Control.value= Value ; } +} + +function ControlGetValue (ControlName) { + var Control=document.getElementById(ControlName); + if (!Control) return(""); + return (Control.value=="" ? "" : Control.value); +} + +function ControlGetValueAsFloat(ControlName) { + var Value = ControlGetValue(ControlName); + return ValueAsFloat(Value); + //return Math.round(Value*10)/10 ; +} + +function ValueAsFloat(Value) { + Value = parseFloat(Value); + if (isNaN(Value) ) { Value = 0; } + return Value ; +} + +function RowSetVisible(rowID,blnVisible) { + var Row=document.getElementById(rowID); + if (Row) + { if (blnVisible) { Row.style.display="" ; } + else { Row.style.display="none" ; } + } +} + +// Routines for Cach� compatibility +// ================================ + +function DollarGet (Val,Dfl) { + return (isUndef(Val) || (Val==null) ? "" : Val); +// return (isUndef(Val) ? (Dfl || "") : Val); +} + +function cArrayToPieces (ar1dim,D) { + if (isUndef(ar1dim[0])) ar1dim.shift(); // Eerste element weghalen + return ar1dim.join(D); +} + +function cPiecesToArray (sList,D) { + if (isUndef(sList)) return ""; + return sList.split(D); +} Index: TECH/Error/impl/ErrorHandler.cls.xml =================================================================== diff -u --- TECH/Error/impl/ErrorHandler.cls.xml (revision 0) +++ TECH/Error/impl/ErrorHandler.cls.xml (revision 2) @@ -0,0 +1,168 @@ + + + + +Deze class doet de eigenlijke error afhandeling. +Bouwt het ErrorInfo dataobject, stuurt een email of logged de fout. +De erroinfo is toegankelijk na afhandeling van de de fout via %ErrorObject +TECH.Error +1 +%RegisteredObject +0 + + +1 +Label:%String,Options:%String + + + + +1 +Label:%String,Options:%String + + + + +1 +Label:%String + + + + +1 +Error:TECH.Error.dto.ErrorInfo +1 + + + + +1 +Error:TECH.Error.dto.ErrorInfo + + + + +1 +Error:TECH.Error.dto.ErrorInfo + + + + +1 +Error:TECH.Error.dto.ErrorInfo + + + + +1 +Error:TECH.Error.dto.ErrorInfo +%String + + + + +1 +sc:%Status + + + + +1 +From:%Integer=1 + "_$STACK($STACK-i,"MCODE") + Quit Txt +]]> + + + Index: vhLib/System.mac.rou =================================================================== diff -u --- vhLib/System.mac.rou (revision 0) +++ vhLib/System.mac.rou (revision 2) @@ -0,0 +1,36 @@ +#Include vhLib.Macro + + // ========================================================================================================================================== + // Name : ParseStatus + // Author : TOM ROMBAUT + // Function: Opdrachten zoals %Save & %Delete geven een resultaat terug van het type %Status. Deze status is echter 'gecodeerd' en kan + // via deze functie leesbaar gemaakt worden naar de gebruiker toe + // ========================================================================================================================================== + +#Include %occStatus + +ParseStatus(Status,IgnoreFirstLine) + Quit:('('Status)) "" //sluit wanneer geen error! + Set IgnoreFirstLine=$G(IgnoreFirstLine) + New ParsedStatus + Set ParsedStatus="" + New Error,Loop + Do DecomposeStatus^%apiOBJ(Status,.Error,"") + New Start + Set Start=$S(IgnoreFirstLine && (Error>1):2,1:1) + For Loop=Start:1:Error Do + . Set ParsedStatus=ParsedStatus_$S(ParsedStatus="":"",1:$C(13,10))_Error(Loop) + Quit ParsedStatus + + + // ========================================================================================================================================== + // Name : GetJobInfo + // Author : Wim Vermeulen + // Function: Geeft informatie over de huidige job. + // Handig bij het versturen van bvb. mails met een error-melding + // ========================================================================================================================================== +GetJobInfo(blnMultiLine,Indent) + Set Indent=$G(Indent),blnMultiLine=$G(blnMultiLine,1) + Set Txt=Indent_"Device: "_$I_" Job: "_$J + Set Txt=Txt_$S(blnMultiLine:$$$CRLF_Indent, 1:" ")_"Server: "_$$$Server_" NameSpace: "_$$$NSpace_$S(blnMultiLine:$$$CRLF, 1:"") + Quit Txt \ No newline at end of file Index: TECH/Error/dto/ErrorInfo.cls.xml =================================================================== diff -u --- TECH/Error/dto/ErrorInfo.cls.xml (revision 0) +++ TECH/Error/dto/ErrorInfo.cls.xml (revision 2) @@ -0,0 +1,68 @@ + + + + +Bevat na afhandeling van de fout de bijeengesprokelde gegevens +1 +%RegisteredObject,%XML.Adaptor +0 + + + +$ECODE +%String + + + + + +$ZERROR +%String + + + + +%String + + + + +%String + + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + + +%String + + + + Index: UILibCtrlCNTs.inc.rou =================================================================== diff -u --- UILibCtrlCNTs.inc.rou (revision 0) +++ UILibCtrlCNTs.inc.rou (revision 2) @@ -0,0 +1,78 @@ + // Bestand: UILibCtrlCNTs.INC + + //================================================================================ + // Constanten van alle klassen van UI.Lib.Ctrl + //================================================================================ + + + // Class TComboBox + // (rm) Reset Item voor method FillItems + #define riNone 0 + #define riByKey 1 + #define riByText 2 + #define riByIndex 3 + + + // #include VHLibTMStrings + + + // Class TDAComboBox + + // Class TDAEdit + + // Class TDAPanel + + // Class THint + + // Class TTreeViewEx + #include TTreeViewExCNTs + + + + // Class TWebBrowser + //-------------------------------------------------------------------------------- + //BrowserNavConstants Enumerated Type, used by TWebBrowser.Navigate(...,Flags,...) + //-------------------------------------------------------------------------------- + + ;Open the resource or file in a new window. + #Define navOpenInNewWindow 1 + + ;Do not add the resource or file to the history list. The new page replaces the current page in the list. + #Define navNoHistory 2 + + ;Not currently supported. + #Define navNoReadFromCache 4 + + ;Not currently supported. + #Define navNoWriteToCache 8 + + ;If the navigation fails, the autosearch functionality attempts to navigate common root domains + ;(.com, .edu, and so on). If this also fails, the URL is passed to a search engine. + #Define navAllowAutosearch 16 + + ;Causes the current Explorer Bar to navigate to the given item, if possible. + #Define navBrowserBar 32 + + ;If the navigation fails when a hyperlink is being followed, this constant specifies that the + ;resource should then be bound to the moniker using the BINDF_HYPERLINK flag. + #Define navHyperlink 64 + + //-------------------------------------------------------------------------------- + //TargetFrameName + //-------------------------------------------------------------------------------- + + ;Load the link into a new unnamed window. + #Define tfnBlank "_BLANK" + + ;Load the link into the immediate parent of the document the link is in. + #Define tfnParent "_PARENT" + + ;Load the link into the same window the link was clicked in. + #Define tfnSelf "_SELF" + + ;Load the link into the full body of the current window. + #Define tfnTop "_TOP" + + ;User defined target frame also possible... + + \ No newline at end of file Index: _vhisie/TBX/TBoxWizard_DEV.css =================================================================== diff -u --- _vhisie/TBX/TBoxWizard_DEV.css (revision 0) +++ _vhisie/TBX/TBoxWizard_DEV.css (revision 2) @@ -0,0 +1,159 @@ + body { color:black; } + A { text-decoration:underline; color: #FF460A} + A:hover { text-decoration:underline; } + +/* STYLE MAIN PAGE */ + .BorderNone { border:none; } + .BorderAll { border:solid black 1px; } + .BorderLeft { border-left:solid black 1px; } + .BorderRight { border-right:solid black 1px; } + .BorderTop { border-top:solid black 1px; } + .BorderBottom { border-bottom:solid black 1px; } + .BorderAll2 { border:solid #FF460A 1px; } + .BorderLeft2 { border-left:solid #FF460A 1px; } + .BorderRight2 { border-right:solid #FF460A 1px; } + .BorderTop2 { border-top:solid #FF460A 1px; } + .BorderBottom2 { border-bottom:solid #FF460A 1px; } + .clsHoofding { font-weight:bold; font-size:16px; margin:0; padding:2px; color:#FF460A; background-color:#CCCCCC; + text-align:center; vertical-align:middle; width:400; line-height:30px; border:solid #FF460A 2px; } + .clsHfdKlant { font-weight:bold; text-align:left; margin:0; padding:0px; padding-left:20px; border:none; } + .clsStapNr { font-weight:bold; font-size:24px; height:auto; line-height:30px; width:25; margin:0; padding:2px; color:white; + border:none; text-align:center; background-color:#FF460A; cursor:default; } + .clsStapBtn { font-weight:bold; font-size:14px; height:auto; line-height:30px; width:180; margin:0; padding:2px; padding-left:5px; color:white; + border:none; text-align:left; background-color:#AAAAAA; cursor:pointer; } + .clsStapBtnHiLite { font-weight:bold; font-size:14px; height:auto; line-height:30px; width:180; margin:0; padding:2px; padding-left:5px; color:#FF460A; + border:none; text-align:left; text-decoration:none; background-color:#AAAAAA; cursor:pointer; } + .clsStapBtnActive { font-weight:bold; font-size:14px; height:auto; line-height:30px; width:180; margin:0; padding:2px; padding-left:5px; color:white; + border:none; border-right:solid white 1px; text-align:left; text-decoration:none; background-color:#FF460A; cursor:default; } + .clsStapDivAll { position:absolute; height:540; width:930; padding:0px; border:none; overflow:hidden; overflow-y:auto;} + .clsStapDiv1 { visibility:visible; z-index:1; } + .clsStapDiv2 { visibility:hidden; z-index:-1; } + .clsStapDiv3 { visibility:hidden; z-index:-2; } + .clsStapDiv4 { visibility:hidden; z-index:-3; } + .clsStapDivError { visibility:hidden; z-index:-4; } + .clsWizardBtn { height:22; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; padding-left:10px; padding-right:10px; + margin:0px; text-align:center; color:white; border:solid black 1px; background-color:#FF460A; cursor:pointer; } + /* instead of clsWizardBtn one can also make a combination of clsWizardBtnBase + clsWizardBtnGray/HiLite/Act/Disabled */ + DIV.clsWizardBtnBase { text-align:center; margin:3px 0px; } + DIV.clsWizardBtnBase SPAN { height:25; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; margin:0px; padding:0px 10px; text-align:center; } + .clsWizardBtnGray { color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; cursor:pointer; } /* addition to ".clsWizardBtnBase" */ + .clsWizardBtnOrange { color:#FF460A; border:solid #FF460A 1px; background-color:#EEEEEE; cursor:pointer; } /* addition to ".clsWizardBtnBase" */ + .clsWizardBtnAct { color:white; border:solid black 1px; background-color:#FF460A; cursor:pointer; } /* addition to ".clsWizardBtnBase" */ + .clsWizardBtnDisabled { color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; cursor:default; } /* addition to ".clsWizardBtnBase" */ + .clsTmrSkeleton { position:relative; height:auto; width:100%; color:#FFFFFF; background-color:#AAAAAA; border:none; padding:2px; } + +/* STYLE PERSONALIA */ + .clsKlantData { text-align:right; } + .clsFields { width:50; height:100%; text-align:right; border:dashed #CCCCCC 1px; } + .clsFieldsData { width:50; text-align:right; border:none; border-bottom:solid black 1px; background-color:transparent; } + .clsKlantData SPAN { color:#FF460A; } + +/* STYLE KLEURKEUZE */ + A.clsInfoBlack { cursor:help; color:black; text-decoration:none; } + HR.clsKleurMain { color:#FF460A; border:solid #FF460A 1px; margin:3px 10px; line-height:10px; } + TD.clsKleurMain { color:white; background-color:#AAAAAA; } + DIV.clsKleurMain { color:white; background-color:#AAAAAA; font-weight:bold; font-size:14px; margin:0; padding:2px; } + DIV.clsKleurSub { font-weight:bold; font-size:14px; margin:2px 5px 2px 2px; padding:0px; } + DIV.clsKleurSub2 { font-weight:normal; font-size:14px; margin:2px 5px 2px 2px; padding:0px; } + DIV.clsKleurSubInfo { background-image:url(media/vraagteken_orange.gif); background-position:center right; background-repeat:no-repeat; cursor:help; } + TD.clsKleurItems { margin:0px; padding:1px; text-align:center; } + TD.clsKleurItems DIV { position:relative; line-height:20px; height:100%; border:none; margin:0px 2px; padding-left:5px; font-weight:bold; text-align:left; font-size:12px; } + TD.clsKleurItems DIV.clsLadeKlr { color:black; background-color:transparent; cursor:default; } + TD.clsKleurItems DIV.clsLadeKlrHiLite { color:#FF460A; background-color:transparent; cursor:pointer; } + TD.clsKleurItems DIV.clsLadeKlrActive { color:white; background-color:#FF460A; cursor:pointer; } + TD.clsKleurItems DIV.clsOtherKlrActive { color:white; background-color:#FF460A; cursor:default; } + DIV.clsLadeKlrHidden { position:relative; line-height:2px; height:0px; width:10px; border:none; margin:0; padding:0px; overflow:hidden; display:none; } + .clsLadeKlrKL { position:relative; line-height:20px; height:0px; width:95%; border:none; overflow:hidden; } + .clsLadeKlrBX { position:relative; line-height:2px; height:2px; width:95%; border:none; } + TD.clsLadeDFLItems { margin:0px; padding:1px; text-align:center; } + TD.clsLadeDFLItems DIV { position:relative; line-height:20px; height:100%; border:none; margin:0px 2px; padding-left:5px; font-weight:normal; text-align:left; font-size:12px; } + TD.clsLadeDFLItems DIV.clsLadeDFL { color:black; background-color:transparent; cursor:default; } + TD.clsLadeDFLItems DIV.clsLadeDFLHiLite { color:#FF460A; background-color:transparent; cursor:pointer; } + TD.clsLadeDFLItems DIV.clsLadeDFLActive { color:white; background-color:#FF460A; cursor:pointer; } + DIV.clsLadeDFLHidden { position:relative; line-height:2px; height:0px; width:10px; border:none; margin:0; padding:0px; overflow:hidden; display:none; } + DIV.clsVullingKlrInfo { position:absolute; display:none; width:240px; border:none; margin:-25 0 0 155; padding:10px; background-color:transparent; } + DIV.clsSaveDflKlrInfo { position:absolute; display:none; width:650px; border:none; margin:-70 0 0 20; padding:1px 1px; background-color:transparent; height:38px; } + DIV.clsAltTextDivSub { position:relative; border:solid black 1px; margin:0px 0px; padding:5px; font-weight:normal; text-align:left; font-size:12px; line-height:14px; background-color:lightyellow; } + DIV.clsBtnSaveDflKlr { margin:3px 0px; } + DIV.clsBtnSaveDflKlr SPAN { height:22; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; margin:0px; padding:0px 10px; text-align:center; } + +/* STYLE MATEN */ + SUP { font-family:Arial,Helvetica; color:#FF460A; } + .BorderBottom3 { border-bottom:dashed #AAAAAA 1px; } + .BorderLeft3 { border-left:dashed #AAAAAA 1px; } + .clsTableInput { border:none; border-left:solid black 1px; border-right:solid black 1px; border-top:solid black 1px; border-bottom:solid black 1px; margin:10px; padding-left:5px; } + + .clsInputHeader { margin-left:5px; color:white; font-weight:bold; } + .clsInputLadeDiv { width:auto; height:82; margin:1px; text-align:center; border:solid #FF460A 1px; background-color:white; } + .clsInputLadeImg { width:auto; height:70; margin:1px; margin-top:6px; border:none; } + .clsInputField { width:65; height:20px; text-align:left; padding-left:5px; padding-right:0px; visibility:inherit; } + .clsInputFieldTxt { width:50; height:20px; text-align:right; padding-left:5px; padding-right:5px; } + .clsInputFieldOLP { width:100; height:16px; text-align:left; padding-left:5px; padding-right:0px; border:dashed #FF460A 0px; background-color:transparent; } + .clsInputWDBin { width:0; height:16px; text-align:left; padding-left:5px; padding-right:5px; border:none; background-color:transparent; } + .clsInputLTInfo { font-weight:bold; color:white; margin:0px; padding-left:3px; padding-right:3px; + text-align:center; border:solid black 1px; background-color:#FF460A; cursor:pointer; } + .clsInputInfo { width:16; height:16; border:none; cursor:pointer; } + .clsExclamShowImg { border:none; display:inline; cursor:pointer; } + .clsExclamHideImg { border:none; display:none; cursor:default; width:0; height:0; } + .clsInputSPZKShow { display:block; display:table-row; } + .clsInputSPZKHide { display:none; } + .OLDclsInputAddBtn { height:22px; line-height:18px; font-weight:bold; font-size:13px; color:white; margin:0px; padding-left:10px; padding-right:10px; + text-align:center; border:solid black 1px; background-color:#FF460A; cursor:pointer; } + .clsPBlumotion { line-height:20px; } + + .clsScrollDiv { position:inherit; height:205; margin:10px; margin-bottom:2px; overflow:hidden; overflow-y:auto; } + .clsMNietMeeDiv { position:relative; margin:0px 10px; } + DIV.clsBtnMOptionsEdit { text-align:center; margin:3px 0px; } + DIV.clsBtnMOptionsEdit SPAN { height:25; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; margin:0px; padding:0px 10px; text-align:center; } + + .clsTableMatenPREV { border:none; margin:10px; background-color:#DADADA; } + .clsTableMaten { border:none; background-color:#DADADA; } + + .clsTableMainH { font-weight:bold; font-size:13px; margin:0; padding:5px; color:white; background-color:#AAAAAA; + text-align:center; vertical-align:top; border:solid black 1px; cursor:default; } + .clsTableMainH_Red { font-weight:bold; font-size:13px; margin:0; padding:5px; color:white; background-color:red; + text-align:center; vertical-align:top; border:solid black 1px; cursor:default; } + .clsMRowOdd { border:none; border-left:solid black 1px; border-right:solid black 1px; } + .clsMRowEven { border:none; border-left:solid black 1px; border-right:solid black 1px; background-color:#EEEEEE; } + .clsMRowLastX { border-bottom:solid black 1px; } + .clsUnitSmall { font-size:10px; } + .clsMColQty { border-left:double black 3px; } + .clsInputBtns { text-align:left; vertical-align:top; background-color:#E4E4E4; } /* same background-color as body */ + .clsInputBtnCommon { width:50; height:13px; line-height:13px; font-weight:bold; font-size:11px; margin:0px; margin-right:0px; padding-left:5px; padding-right:5px; text-align:center; cursor:pointer; } + TD.clsInputBtns SPAN { width:50; height:13px; line-height:13px; font-weight:bold; font-size:11px; margin:0px; margin-right:6px; padding-left:5px; padding-right:5px; text-align:center; cursor:pointer; } + .clsInputBtnBase { color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; } + .clsInputBtnHiLite { color:#FF460A; border:solid #FF460A 1px; background-color:#EEEEEE; } + .clsInputBtnAct { color:white; border:solid black 1px; background-color:#FF460A; } + .clsInputStdL { margin-left:6px; margin-right:6px; color:white; border:solid black 1px; background-color:#FF460A; cursor:pointer; } + .clsInputStdLGray { margin-left:6px; margin-right:6px; color:#AAAAAA; border:solid #AAAAAA 1px; background-color:#EEEEEE; } + .clsMScrollBtnCell { font-family:Courier New,Arial; text-decoration:none; vertical-align:middle; background-color:#E4E4E4; } /* same background-color as body */ + .clsMScrollBtnsAct { color:#FF460A; cursor:pointer; } + .clsMScrollBtnsNAct { color:#888888; cursor:default; } + .clsTBodyMaten tr > td { text-align:center; } + .clsTBodyMaten tr > td+td { text-align:right; } + .clsTBodyMaten tr > td+td+td+td+td+td { text-align:center; } + .clsTBodyMaten tr > td+td+td+td+td+td+td+td { text-align:left; } + .clsTBodyMaten tr > td+td+td+td+td+td+td+td+td { text-align:center; } + .clsTBodyMaten tr > td+td+td+td+td+td+td+td+td+td+td { text-align:left; } + +/* STYLE OVERZICHT */ + .clsOvzHeading1 { font-weight:bold; color:#FF460A; text-decoration:underline; } + .clsOvzDataLbl { height:16px; line-height:14px; padding-right:2px; } + .clsOvzData { height:16px; line-height:14px; font-weight:bold; } + .clsOvzCalcBtn { width:140; height:22px; line-height:18px; font-weight:bold; font-size:13px; color:white; margin:0px; + text-align:center; border:solid black 1px; background-color:#FF460A; cursor:pointer; } + .clsTableMatenOvz { border:none; margin:10px; background-color:#DADADA; } + .clsTableMatenOvzX { border:none; background-color:#DADADA; } + .clsTBodyMatenOvz tr > td { text-align:center; } + .clsTBodyMatenOvz tr > td+td { text-align:right; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td { text-align:center; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td+td+td { text-align:left; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td+td+td+td { text-align:center; } + .clsTBodyMatenOvz tr > td+td+td+td+td+td+td+td+td+td+td { text-align:right; } + .clsOvzPrices { text-align:right; vertical-align:top; padding-right:10px; font-weight:bold; } + .clsOvzPriceErr { text-align:center; text-decoration:underline; color:#FF460A; cursor:pointer; } + .clsOvzPriceOther { text-align:center; text-decoration:none; } + .clsOvzTotAant { text-align:center; vertical-align:top; } + #Ovz_NietMee { height:inherit; line-height:inherit; font-weight:bold; font-size:inherit; margin:0px; margin-right:6px; padding-left:5px; padding-right:5px; text-align:center; cursor:default; } + #OvzTotAant { text-align:center; vertical-align:top; } + #OvzTotPrice { text-align:right; vertical-align:top; padding-right:10px; font-weight:bold; } Index: WS/TBX/DataIOWWW/UpdateWSOrdPropts.cls.xml =================================================================== diff -u --- WS/TBX/DataIOWWW/UpdateWSOrdPropts.cls.xml (revision 0) +++ WS/TBX/DataIOWWW/UpdateWSOrdPropts.cls.xml (revision 2) @@ -0,0 +1,63 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.DataIOWWW + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + Index: csp/vhstat.cls.xml =================================================================== diff -u --- csp/vhstat.cls.xml (revision 0) +++ csp/vhstat.cls.xml (revision 2) @@ -0,0 +1,178 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"",! + Write " ",! + Write " ",! + Write " ",! + Write "
    " + Write "" + Write "Statistieken "_(site)_" website" + Write "" + Write "
    ",! + Write "
    ",! + Write !,"" + Write ! + If '($G(%request.Data("HPM",1))="HPM") Goto %csp00001 ;{ + Write ! + Do ..Include("hpm.csp") + Write ! +%csp00001 ;} + Write !,!,"" + Write ! + If '($G(%request.Data("HPH",1))="HPH") Goto %csp00002 ;{ + Write ! + Do ..Include("hph.csp") + Write ! +%csp00002 ;} + Write !,!,"" + Write ! + If '($G(%request.Data("HPP",1))="HPP") Goto %csp00003 ;{ + Write ! + Do ..Include("hpp.csp") + Write ! +%csp00003 ;} + Write !,!,"" + Write ! + If '($G(%request.Data("HPT",1))="HPT") Goto %csp00004 ;{ + Write ! + Do ..Include("hpt.csp") + Write ! +%csp00004 ;} + Write !,!,"" + Write ! + If '($G(%request.Data("HPL",1))="HPL") Goto %csp00005 ;{ + Write ! + Do ..Include("hpd.csp") + Write ! +%csp00005 ;} + Write !,!,"" + Write ! + If '($G(%request.Data("SessDur",1))="SD") Goto %csp00006 ;{ + Write ! + Do ..Include("sessdur.csp") + Write ! +%csp00006 ;} + Write !,!,"" + Write ! + If '($G(%request.Data("SDT",1))="SDT") Goto %csp00007 ;{ + Write ! + Do ..Include("sessmat.csp") + Write ! +%csp00007 ;} + Write !,!,"

     

    ",! + Write "

     

    ",! + Write "" +]]>
    +
    + + +1 +code +%Boolean +" + Write ! + Do ..OnPageHTML() +]]> + + + +1 +code +%Boolean +" + Write !,"Website statistieken",! + Write "" + Write !,"" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write ! + Set %session.AppTimeout = 905 + Write ! + Do ..OnPageHEAD() + Write !,! + New site + Set site=$Get(%request.Data("site",1)) + If site="" Set site="Van Hoecke" + /// Totaal berekenen + /// New queryTOT + /// Set queryTOT=##class(%ResultSet).%New("DW.WWW.Log:GetTOT") + /// Do queryTOT.Execute(site) + /// Do queryTOT.Next() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +iso-8859-1 + + + +text/html + + + +c:\cachesys\csp\httplog\vhstat.csp + + + +/csp/httplog/vhstat.csp + + + +59912,59554 + +
    +
    Index: EWMS/Locations.cls.xml =================================================================== diff -u --- EWMS/Locations.cls.xml (revision 0) +++ EWMS/Locations.cls.xml (revision 2) @@ -0,0 +1,548 @@ + + + +persistent +1 +Locations +GSQLStorage +%Library.Persistent + + +0 +EWMS STAT,NOCREATE + + + +0 +1 + + + +dbo.locations + + + +0 +1 +1 +locm,locg,locx,locy,locz,locid +0 + + + +%String +0 +0 + +0 +0 +0 +0 +9 +0 +insert_time +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +3 +0 +loc_g +0 + + + +%String +0 +0 + +0 +0 +0 +0 +7 +0 +loc_id +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +2 +0 +loc_m +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +4 +0 +loc_x +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +5 +0 +loc_y +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +6 +0 +loc_z +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +8 +0 +state +0 + + + +0 +1 +code +Locatie:%Library.String,LocID:%Library.String,SQLGCWrapper:%Library.String +0 +%Library.List +0 +0) + Do RS.%Close() + + Quit:(LocationExists) $LB(3,"Locatie object bestaat reeds (LocID: "_LocID_", Locatie: "_$$LCVT^vhLib(Locatie)_").") + + New LocationsObj,Status + ;Als LocM=TRANSIT, maak een nieuw Location object aan + If ##class(BL.MB.UGLYPicking.General).LocMIsInTransit($LI(Locatie)) Do + . Set LocationsObj=##class(EWMS.Locations).%New() + . Set LocationsObj.locid=LocID + . Set LocationsObj.locm=$LI(Locatie,1) + . Set LocationsObj.locg=$LI(Locatie,2) + . Set LocationsObj.locx=$LI(Locatie,3) + . Set LocationsObj.locy=$LI(Locatie,4) + . Set LocationsObj.locz=$LI(Locatie,5) + . Set LocationsObj.inserttime=$$GetEWMSInsertTime^vhLib() + . Set Status=$LB(2,"TRANSIT Locations object aangemaakt.") + ;Zoniet open het bestaande + Else Do + . New LocationsID + . Set LocationsID=##class(EWMS.Locations).ComposeID($LI(Locatie,1),$LI(Locatie,2),$LI(Locatie,3),$LI(Locatie,4),$LI(Locatie,5),"00000000") + . If '##class(EWMS.Locations).%ExistsId(LocationsID) Do Quit + .. Set Status=$LB(-4,"Locations object met ID '"_LocationsID_"' bestaat niet.") + . Set LocationsObj=##class(EWMS.Locations).%OpenId(LocationsID) + . If LocationsObj=$$$NULLOREF Do Quit + .. Set Status=$LB(-1,"Kan Locations object met ID '"_LocationsID_"' niet openen.") + . ;Geopend object kopiëren naar nieuw, met enkel verschillend LocID + . New NewLocationsObj + . Set NewLocationsObj=LocationsObj.CopyObject(LocID) + . If NewLocationsObj=$$$NULLOREF Do Quit + .. Set Status=$LB(-5,"Kan geen copy van het Locations object met ID '"_LocationsID_"' maken.") + . Do LocationsObj.%Close() + . Set LocationsObj=NewLocationsObj + . Set Status=$LB(1,"Nieuw Locations object is succesvol aangemaakt (copy van Locations object met LocID='00000000').") + . New tmpStatus + . Set tmpStatus=##class(EWMS.Locations).%DeleteId(LocationsID) ;Locations object met LocID '00000000' verwijderen. + . Set:($$$ISERR(tmpStatus)) Status=$LB(-6,"Delete Error:"_$C(13,10)_$$ParseStatus^vhLib(tmpStatus)) + + Quit:($LI(Status)<0) Status + + ;Status van Locations instellen op 2 + Set LocationsObj.state=2 + + ;De boel saven + New tmpStatus + Set tmpStatus=LocationsObj.%Save() + + Do LocationsObj.%Close() + + ;Vroegtijdig afsluiten indien fout bij Save + Quit:($$$ISERR(tmpStatus)) $LB(-2,"Save Error:"_$C(13,10)_$$ParseStatus^vhLib(tmpStatus)) + + //--------------------------------------------------------------------------------- + // History 'DROP' + //--------------------------------------------------------------------------------- + New HistLocObj + Set HistLocObj=##class(EWMS.History.Transport).%New() + Quit:(HistLocObj=$$$NULLOREF) $LB(-7,"Kan geen nieuw EWMS.History.Transport object aanmaken.") + Set HistLocObj.Action="UDRP" + Set HistLocObj.InsertTime=$$GetEWMSInsertTime^vhLib() + Set HistLocObj.LocID=LocID + Set HistLocObj.LocM=$LI(Locatie,1) + Set HistLocObj.LocG=$LI(Locatie,2) + Set HistLocObj.LocX=$LI(Locatie,3) + Set HistLocObj.LocY=$LI(Locatie,4) + Set HistLocObj.LocZ=$LI(Locatie,5) + Set:('HistLocObj.Save(SQLGCWrapper)) Status=$LB(-3,HistLocObj.%ClassName(1)_": "_HistLocObj.LastErrorMsg) + Do HistLocObj.%Close() + + Quit Status +]]> + + + +0 +1 +code +LocM:%Library.String,LocG:%Library.String,LocX:%Library.String,LocY:%Library.String,LocZ:%Library.String,LocID:%Library.String,ReturnEmptyWhenNew:%Library.Boolean=0 +0 +%Library.String +0 + + + + +0 +0 +code +LocID:%Library.String,LocM:%Library.String,LocG:%Library.String,LocX:%Library.String,LocY:%Library.String,LocZ:%Library.String,CopyInsertTime:%Library.Boolean=0 +0 +%Library.Integer +0 + + + + +0 +1 +code + +0 +%Library.String +0 + + + + +0 +1 +code +Locatie:%Library.String,LocID:%Library.String,QuitWhenPalletIsInInventory:%Library.Boolean=1,SQLGCWrapper:%Library.String +0 +%Library.List +0 +0) + . Do RS.%Close() + + Quit:(PalletExists) $LB(2,"Pallet bestaat nog in Inventory, locations blijft.") + + //Checken of opgegeven object bestaat + New RS + Set RS=##class(%ResultSet).%New("EWMS.Locations:CheckIfLocationExists") + Do RS.Execute(LocID,$LI(Locatie,1),$LI(Locatie,2),$LI(Locatie,3),$LI(Locatie,4),$LI(Locatie,5)) + Do RS.Next() + New LocationExists + Set LocationExists=(RS.Get("Count")>0) + Do RS.%Close() + + Quit:('LocationExists) $LB(1,"Locatie object bestaat niet (LocID: "_LocID_", Locatie: "_$$LCVT^vhLib(Locatie)_").") + + //ID van Locations object samenstellen + New LocationsID + Set LocationsID=##class(EWMS.Locations).ComposeID($LI(Locatie,1),$LI(Locatie,2),$LI(Locatie,3),$LI(Locatie,4),$LI(Locatie,5),LocID) + + //Checken of het om transit locations gaat, indien wel locations object verwijderen aangezien + //er voor transit steeds nieuwe locaties worden aangemaakt (zie BezetLocation) + New Status + If ##class(BL.MB.UGLYPicking.General).LocMIsInTransit($LI(Locatie)) Do + . New tmpStatus + . Set tmpStatus=##class(EWMS.Locations).%DeleteId(LocationsID) + . If $$$ISOK(tmpStatus) Do + .. Set Status=$LB(2,"TRANSIT object succesvol verwijderd.") + . Else Do + .. Set Status=$LB(-1,"Delete Error:"_$C(13,10)_$$ParseStatus^vhLib(tmpStatus)) + Else Do + . //Bij niet-TRANSIT, object ook verwijderen maar wel eerst een '00000000' copy aanmaken + . New LocationsObj + . Set LocationsObj=##class(EWMS.Locations).%OpenId(LocationsID) + . If LocationsObj=$$$NULLOREF Do Quit + .. Set Status=$LB(-2,"Kan Locations object met ID '"_LocationsID_"' niet openen.") + . ;Geopend object kopiëren naar nieuw, met enkel verschillend LocID + . New NewLocationsObj + . Set NewLocationsObj=LocationsObj.CopyObject("00000000") + . If NewLocationsObj=$$$NULLOREF Do Quit + .. Set Status=$LB(-3,"Kan geen copy van het Locations object met ID '"_LocationsID_"' maken.") + . Do LocationsObj.%Close() + . ;Status van Locations instellen op 1 + . Set NewLocationsObj.state=1 + . ;De boel saven + . New tmpStatus + . Set tmpStatus=NewLocationsObj.%Save() + . Do NewLocationsObj.%Close() + . If $$$ISOK(tmpStatus) Do + .. Set Status=$LB(3,"Locations object terug ingesteld op LocID='00000000'.") + . Else Do + .. Set Status=$LB(-4,"Save Error:"_$C(13,10)_$$ParseStatus^vhLib(tmpStatus)) + . Set tmpStatus=##class(EWMS.Locations).%DeleteId(LocationsID) ;Locations object verwijderen. + . Set:($$$ISERR(tmpStatus)) Status=$LB(-6,"Delete Error:"_$C(13,10)_$$ParseStatus^vhLib(tmpStatus)) + + + Quit:($LI(Status)<0) Status + + //--------------------------------------------------------------------------------- + // History 'PICK' + //--------------------------------------------------------------------------------- + New HistLocObj + Set HistLocObj=##class(EWMS.History.Transport).%New() + Quit:(HistLocObj=$$$NULLOREF) $LB(-7,"Kan geen nieuw EWMS.History.Transport object aanmaken.") + Set HistLocObj.Action="UPCK" + Set HistLocObj.InsertTime=$$GetEWMSInsertTime^vhLib() + Set HistLocObj.LocID=LocID + Set HistLocObj.LocM=$LI(Locatie,1) + Set HistLocObj.LocG=$LI(Locatie,2) + Set HistLocObj.LocX=$LI(Locatie,3) + Set HistLocObj.LocY=$LI(Locatie,4) + Set HistLocObj.LocZ=$LI(Locatie,5) + Set:('HistLocObj.Save(SQLGCWrapper)) Status=$LB(-5,HistLocObj.%ClassName(1)_": "_HistLocObj.LastErrorMsg) + Do HistLocObj.%Close() + + Quit Status +]]> + + + +0 +1 +code +lbLocation:%Library.List +0 +%Library.List +0 + + + + +%Library.SQLQuery +LocID:%Library.String,LocM:%Library.String,LocG:%Library.String,LocX:%Library.String,LocY:%Library.String,LocZ:%Library.String +0 +SELECT Count(loc_id) +FROM EWMS.Locations +WHERE (loc_id = :LocID) AND + (loc_m = :LocM) AND + (loc_g = :LocG) AND + (loc_x = :LocX) AND + (loc_y = :LocY) AND + (loc_z = :LocZ) + +0 + + + + + + +levert een record terug als de locatie leeg is +%Library.SQLQuery +LocM:%Library.String,LocG:%Library.String,LocX:%Library.String,LocY:%Library.String +0 +SELECT loc_z +FROM EWMS.Locations +WHERE (loc_m = :LocM) AND + (loc_g = :LocG) AND + (loc_x = :LocX) AND + (loc_y = :LocY) AND + (loc_id= "00000000 ") + + +0 + + + + + + +levert geen record terug als de transitlocatie leeg is +%Library.SQLQuery +LocM:%Library.String,LocG:%Library.String,LocX:%Library.String,LocY:%Library.String,LocID:%String +0 +SELECT loc_z +FROM EWMS.Locations +WHERE (loc_m = :LocM) AND + (loc_g = :LocG) AND + (loc_x = :LocX) AND + (loc_y = :LocY) AND + (loc_id= :LocID) + +0 + + + + + + +Geef LocID op (bijv 9999999X) +Krijg M,G,X,Y,Z terug +%Library.SQLQuery +paLocID:%Library.String +0 +SELECT loc_g, loc_m, loc_x, loc_y, loc_z +FROM EWMS.Locations +WHERE (loc_id = :paLocID) + +0 + + + + + +%Library.CacheSQLStorage +^EWMS.LocationsS + + + Index: csp/productmenu.cls.xml =================================================================== diff -u --- csp/productmenu.cls.xml (revision 0) +++ csp/productmenu.cls.xml (revision 2) @@ -0,0 +1,389 @@ + + + +User +cache +%CSP.Page,cspBasis.ProductMenu,cspBasis.ProductSearchCommon + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"" + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9) + Set i="" + Write !,$c(9) +%csp00003 If '(..LoopArray(.MenuArray,.i)) Goto %csp00002 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00003 +%csp00002 ;} + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9) + Set i="" + Write !,$c(9) +%csp00005 If '(..LoopArray(.MenuArray,.i)) Goto %csp00004 ;{ + Write !,$c(9,9) + Set ImgURL=##class(Res.VertalingLink).GetLinkVertaling("PK",$G(MenuArray(i)),"LB",Taal,,"WWW") + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00005 +%csp00004 ;} + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "
    " + Write "" + Write ""_(i)_"" + Write "" + Write "" + Write "" + Write "" + Write "" + Write "
    " + Write "" + Write "",! + Write $c(9,9,9) + Write "" + Write "" + Write "" + Write "",! + Write $c(9,9,9) + Merge tmpRqData2=%request.Data + Do ##class(cspBasis.ProductMenu).ShowSearchArraySet(.tmpRqData2,"1") + Set sQS=..CQueryString(.tmpRqData2) + Set SearchURL="Productmenu.csp"_$S($L(sQS):"?"_sQS, 1:"") + Kill tmpRqData2 + Write !,$c(9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9) + Write "" + Write "" + Write "" + Write "
    " + Write "" + Write "
    ",! + Write !,$c(9) + Set i="" + Write ! +%csp00007 If '(..LoopArray(.MenuArray,.i)) Goto %csp00006 ;{ + Write !,"
    " + Write "..." + Write "
    " + Write ! + Goto %csp00007 +%csp00006 ;} + Write !,!,"" + Write !,! + If '(blnShowSearch) Goto %csp00008 ;{ + Write !,"
    " + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "
    ",! + Write $c(9,9,9) + Write "" + Write (..WebTextValue("CriteriaSelecteren",Taal,"L"))_":" + Write "" + Write !,$c(9,9)_"
    ",! + Write $c(9,9)_"",! + Write $c(9,9,9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set KenmerkList = ##class(%ResultSet).%New("Prod.Kenmerk.MetaDefinitie"_":"_"LijstPerGroep") + Set KenmerkList.RuntimeMode=2 + Set %sc = KenmerkList.Execute((GroepID)) + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9) +%csp00010 If '(KenmerkList.Next()) Goto %csp00009 ;{ + Write !,$c(9,9,9) + Set KenmI=KenmerkList.GetDataByName("Kenmerk") + Kill ArKM + If "Sleutel;Vereist;BOWeten;InfoSleutel"'[KenmI Do ..PrepareKenmerkValues(GroepID,KenmI,Taal,.ArKM) + Set i="" + Write !,$c(9,9) + If '($L($G(ArKM))) Goto %csp00011 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9) +%csp00011 ;} + Write !,$c(9) + Goto %csp00010 +%csp00009 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    "_(ArKM)_":",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9) + If '((KenmI="Breedte")) Goto %csp00014 ;{ + Write !,$c(9,9,9,9,9)_"" + Write "" + Write " OF: " + Write "" + Write " cm" + Write "" + Write "",! + Write $c(9,9,9,9,9) +%csp00014 ;} + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "" + Write "",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_(..WebTextValue("CriteriumNVT",Taal,"L")),! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9)_"
    ",! + Write $c(9,9) + Do ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,"ArAllPR") + Set TotN=..PRZoekAantal(GroepID,"") + Write !,$c(9,9) + Write "" + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9,9,9)_""_(..WebTextValue("MetBeperk",Taal,"L"))_":
    ",! + Write $c(9,9,9,9,9)_""_(..WebTextValue("TotaalAantal",Taal,"L"))_":",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9)_"" + Write "" + Write (TotN) + Write "" + Write " "_(..WebTextValue("Product?en",Taal,"L"))_"
    ",! + Write $c(9,9,9,9,9)_"" + Write "" + Write (TotN) + Write "" + Write " "_(..WebTextValue("Product?en",Taal,"L"))_"",! + Write $c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9)_"
    ",! + Write "
    " + Write ! +%csp00008 ;} + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"ORGALUX : "_(..WebTextValue("ProdMenuTitel",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,! + Write $C(9)_"" + Write !,! + If '(blnShowSearch) Goto %csp00001 ;{ + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,$c(9) + Write "" + Write ! +%csp00001 ;} + Write !,"" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Merge tmpRqData=%request.Data + Do ##class(cspBasis.ProductMenu).InitializeCSP() + Set blnShowSearch=(+$G(%request.Data("ShowSearch",1))'=0) ; Boolean (0/1) : al dan niet tonen van het ZoekScherm + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,!,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +c:\cachesys\csp\olprodcat\ProductMenu.csp + + + +/csp/olprodcat/ProductMenu.csp + + + +0 + + + +59596,37380 + +
    +
    Index: csp/tbx/mailresult.cls.xml =================================================================== diff -u --- csp/tbx/mailresult.cls.xml (revision 0) +++ csp/tbx/mailresult.cls.xml (revision 2) @@ -0,0 +1,258 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9) + If '(%request.IsDefined("RESULT")) Goto %csp00001 ;{ + Write !,$c(9,9) + If '($G(%request.Data("RESULT",1))=1) Goto %csp00002 ;{ + Write !,$c(9,9,9) + Write "
    " + Write (..WebTextValue("MailSubmitOK",Taal,"L"))_"!" + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "" + Write (..WebTextValue("Sluiten",Taal,"L")) + Write "" + Write !,!,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9) + Goto %csp00003 ;} +%csp00002 ;{ + Write !,$c(9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"The mail was not submitted due to (the following) errors:",! + Write $c(9,9,9,9)_"

    "_(errmsg)_"
    ",! + Write $c(9,9,9,9)_"Contact Administrator: #()#

    ",! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9) +%csp00003 ;} + Write !,$c(9) + Goto %csp00004 ;} +%csp00001 ;{ + Write !,$c(9,9) + If '(%request.IsDefined("SUBMIT")) Goto %csp00005 ;{ + Write !,$c(9,9,9) + Do:($G(errmsg)="") ..TBoxSendMail(.ok,.errmsg,Taal) + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9) + If '(ok) Goto %csp00006 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "The mail was submitted successfully!" + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "Redirect in a moment ..." + Write "
    " + Write !,$c(9,9,9,9) + Write "" + Write $c(9,9),! + Write $c(9,9,9) + Goto %csp00007 ;} +%csp00006 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write "The mail was not submitted due to (the following) errors:" + Write "
    " + Write !,!,$c(9,9,9,9)_"
      ",! + Write $c(9,9,9,9) + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9)_"

    "_(errmsg)_"
    ",! + Write $c(9,9,9,9)_"Contact Administrator: "_($CASE($G(sDomVERW), "HEIN":"info@tandem-box.de", "LMC":" ??? ", "DUPO":"du.pont@skynet.be", "HELMY":"info@destil.nl", "HFLE":"info@hafele.nl", "SFS":"info.u@sfsunimarket.biz", "MBHO":$$$EMailICTAdminMbho, :"ICT_SOAPSysOp@vanhoecke.be"))_"

    ",! + Write $c(9,9,9) +%csp00007 ;} + Write !,$c(9,9) + Goto %csp00008 ;} +%csp00005 ;{ + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"Please access this page using the Submit button.",! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9) +%csp00008 ;} + Write !,$c(9) +%csp00004 ;} + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_""_(..WebTextValue("DataVersturen",Taal,"L"))_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,! + Do ..Include("PRGACNTs.INC") + Write ! + Set %session.AppTimeout = 905 + // Session Data is set in the OnPreHTTP-method + Write !,!,!,!,!,!,!,!,! + Do ..OnPageHEAD() + Write ! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean +" + . Set errmsg=errmsg_"APPLICATION ERROR: Unable to submit.
    " + . Set errmsg=errmsg_"Bookmark your order ('add to favorites' from the 'main page') and try again later." + . Set errmsg=errmsg_"

    " + . Set errmsg=errmsg_"

    " + . Set errmsg=errmsg_"APPLICATION ERROR: Impossible d'envoyer l'ordre.
    " + . Set errmsg=errmsg_"Sauver votre commande ('enregister' dans la 'page principale') et essayez à nouveau plus tard." + . Set errmsg=errmsg_"

    " + . Set errmsg=errmsg_"" + + Set Domain=$G(%session.Data("DOMAIN")) + If (Domain="") Do + . New WSOrdDomain + . &SQL(SELECT WebDomain INTO :WSOrdDomain FROM WS_TBX.WebOrder WHERE ID=:wsID) + . Set Domain=WSOrdDomain + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(Domain,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + If (%request.IsDefined("RESULT")) Do Quit 1 + . Set AttrOnLoad=$S($G(%request.Data("RESULT",1))=1:"onload=""window.opener.location.replace('Main.csp?REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,sDomVERW,wsID,$S(sMode="PROCESS":"PROCESS",1:"COMPLETE")))_$S($L(Taal):"&Taal="_Taal, 1:"")_"');""", 1:"") + Quit:('%request.IsDefined("SUBMIT")) 1 + ; Else + Do ..TBoxSendMail(.ok,.errmsg,Taal) + If ok Do + . Set %response.Redirect=..Link("MailResult.csp?Taal="_Taal_"&RESULT="_ok) ; http://192.168.1.67/csp/admin1/TBoxCSP/... + Quit 1 + +]]>
    +
    + + +1 +code +ok,errmsg,Taal +cache +%Boolean + + + + +c:\cachesys\csp\vhisie\TBX\MailResult.csp + + + +/vhisie/TBX/MailResult.csp + + + +0 + + + +62019,46903 + + + +1 + +
    +
    Index: _vhisie/TBX/SelectOLProd.csp =================================================================== diff -u --- _vhisie/TBX/SelectOLProd.csp (revision 0) +++ _vhisie/TBX/SelectOLProd.csp (revision 2) @@ -0,0 +1,350 @@ + + + + + + + + + + + + + TandemBox - Dynamic Space + + + + + + + + + +
    + #(..WebTextValueTB("OLProdSelectie",Taal,"L"))#
    +
    + + + + + + + + + + + + + + + + + + + + +
       
    U kunt kiezen uit verschillende ORGALUX-producten. Maak uw keuze uit onderstaande tabel:
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + #(CntProd_" "_$ZCVT(..WebTextValue($S(CntProd=1:"Product",1:"Producten"),Taal,"L"),"L"))# + + #(..WebTextValue("Geen producten gevonden",Taal,"L"))# + #($S(1:"
    "_$$ArrayToText^vhLib("tmpRqData")_"
    ", 1:""))# +
    +

    #(..WebTextValue("ProgWijzigingen",Taal,"L"))#.

    + +
    +
    +
    + #(ProdGHeader)# +
    +
    + +

    +
    +
    + + + + + + + + + + + + + +
    + + + + + + + + + + + +
    + #(..WebTextValue("MeerInfoEnFotos",Taal,"L"))# +
    +
    + + + + +
    +

    [PRNr: #($G(ArPR(i,1)))#]

    + #(($LG(BSVal("SLT","O"),1)))#
    + +
    + #($G(MetaArray("Vereist","VTL"),"VRS-L"))#:
      +
    • #($G(MetaArray("Breedte","VTL"),"BRD-L"))#: #($LI(BSVal("BRD","K"),1))#
    • +
    • #($G(MetaArray("Diepte","VTL"),"DPT-L"))#: #($$LCVTSimple^vhLib(BSVal("DPT","K")," / "))#
    • + +
    • #($LI(BSVal("VRS","K"),iVrs))#
    • +
      +
    +
    + +
    + #($G(MetaArray("BOWeten","VTL"),"BOW-L"))#:
      + +
    • #($LI(BSVal("BOW","K"),iBow))#
    • +
      +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #($G(MetaArray("WandDikte","VTL"),"WDD-L"))#: #($LI(XTVal("WDD","K"),1))#
    #($G(MetaArray("Kleur","VTL"),"KLR-L"))#: #($LI(XTVal("KLR","K"),1))#
    + #(CKortTxt)#  +  
    +

    +
    +
    + #(..WebTextValueTB("Sluiten",Taal,"L"))# +
    + + + + + + + + Index: BL/EC/Common.mac.rou =================================================================== diff -u --- BL/EC/Common.mac.rou (revision 0) +++ BL/EC/Common.mac.rou (revision 2) @@ -0,0 +1,173 @@ + #include BL.EC.Common + #include %occCommon + +AddToLog(Niveau, Groep, Actie, Detail) + If $isObject($G(%ECSession)) Do + . Set Logging=##class(Derde.EC.Logging).Create(,,%ECSession.%Id(),%ECSession.ToegangID,%ECSession.KlantNr,.Niveau,.Groep,.Actie,.Detail) + Else Do + . Set Logging=##class(Derde.EC.Logging).Create(,,,,,.Niveau,.Groep,.Actie,.Detail) + Quit Logging + +AddErrorToLog(Groep, Actie, Error,Detail) + If $isObject($G(%ECSession)) Do + . Set Logging=##class(Derde.EC.Logging).Create(,,%ECSession.%Id(),%ECSession.ToegangID,%ECSession.KlantNr,$$$logGrpError,.Groep,.Actie,$G(Detail)_"~"_$$ParseStatus^vhLib(Error),$STACK($STACK-2,"PLACE")) + . $$$blToegang + . Set Body="SessionID: "_%ECSession.%Id() + . Set Body=Body_$C(13)_"ToegangID: "_%ECSession.ToegangID + . Set Body=Body_$C(13)_"Klant: "_%ECSession.KlantNr + . Set oToegang=%blToegang.OpenID(%ECSession.ToegangID) + . Set Body=Body_$C(13)_"User: "_oToegang.UserNaam + Else Do + . Set Logging=##class(Derde.EC.Logging).Create(,,,,,$$$logGrpError,.Groep,.Actie,$G(Detail)_"~"_$$ParseStatus^vhLib(Error),$STACK($STACK-2,"PLACE")) + . Set Body="" + + ; Mail versturen van de fout + Set Body=Body_$C(13)_"Groep: "_$G(Groep) + Set Body=Body_$C(13)_"Actie: "_$G(Actie) + Set Body=Body_$C(13)_"Detail: "_$G(Detail) + Set Body=Body_$C(13)_"Error: "_$$ParseStatus^vhLib(Error) + Set Body=Body_$C(13,13)_"$ZError: "_$ZError + Set:$G(%objlasterror)'="" Body=Body_$C(13)_"Object Last Error: "_$$ParseStatus^vhLib(%objlasterror) + Set Body=Body_$C(13)_"$ECode: "_$ECode + Set Body=Body_$C(13)_"Stack: " + For EST=1:1:$ESTACK Set Body=Body_$C(13)_" "_$STACK($STACK-EST,"PLACE") + Set Body=Body_$C(13)_$C(13)_"Device: "_$I_" Job: "_$J + Set Body=Body_$C(13)_"Server: "_$ZU(110)_" NameSpace: "_$ZU(5) + Set From="System@vanhoecke.be" + Set Subj="VHISIE - Error to Log" + Set To=$LB("pv@vanhoecke.be") + Do SendMiniMail^vhLib(From,To,Subj,Body,,,,,) + + Quit Logging + +WebServiceTrap() + For EST=1:1:$ESTACK Set $ZERROR=$ZERROR_"~"_$STACK($STACK-EST,"PLACE") + Quit + +MailTrap() + Quit:($ZError="ErrorHandled")&&$Quit "" + Quit:($ZError="ErrorHandled") + Set Body="$ZError: "_$ZError + Set:$G(%objlasterror)'="" Body=Body_$C(13)_"Object Last Error: "_$$ParseStatus^vhLib(%objlasterror) + Set Body=Body_$C(13)_"$ECode: "_$ECode + Set Body=Body_$C(13)_"Stack: " + For EST=1:1:$ESTACK Set Body=Body_$C(13)_" "_$STACK($STACK-EST,"PLACE") + Set Body=Body_$C(13)_$C(13)_"Device: "_$I_" Job: "_$J + Set Body=Body_$C(13)_"Server: "_$ZU(110)_" NameSpace: "_$ZU(5) + Set From="System@vanhoecke.be" + Set Subj="VHISIE - Errortrap "_$ZError + Set To=$LB("pv@vanhoecke.be") + Do SendMiniMail^vhLib(From,To,Subj,Body,,,,,) + + Set $ZError="ErrorHandled" + Quit:$Quit "" + Quit + + +Zoek(Zoek,FromPage, FromLine, Dir, pxFetch,bl,RowMethod,PosList,SessionKey,Toegang,SubNode) + New PageNode,DataNode,KeepCharOrig,KeepChar,I,LijnNr,ZoekPattern,OK,Value,Row,Page,PageLijn + Set %FullText=1 + Set PageNode=$G(SubNode,"F")_"P" + Set DataNode=$G(SubNode,"F")_"D" + Quit:(Zoek="")||(Zoek=$C(0)) $G(pxFetch) + Set Zoek=$TR(Zoek," ","*") + Set KeepCharOrig="@/.#+-",KeepChar="" + For I=1:1:$L(KeepChar) Set:Zoek[$E(KeepCharOrig,I) KeepChar=KeepChar_$E(KeepCharOrig,I) + Set Zoek=$ZSTRIP($ZCVT(Zoek,"U"),"*P",,KeepChar_"*?\") + Set ZoekPattern=$$WildCardToPattern^vhLib(Zoek,1) + Set KeepChar=KeepChar_$S(Zoek["\*":"*",1:"")_$S(Zoek["\?":"?",1:"") ; KeepChar uitbreiden met * of ? indien \* of \? voorkomt + If $E(ZoekPattern,1,2)'=".E" Set ZoekPattern=".E"_ZoekPattern + + Set Dir=$S($G(Dir)=-1:-1,$G(Dir)="P":-1,1:1) + Set LijnNr=$S($G(FromPage):$LG($G(^ECHULP(SessionKey,PageNode,FromPage)),1),1:0)+$G(FromLine,1) ; Bereken absolute lijn pos + Set OK=0 + For Set LijnNr=$O(^ECHULP(SessionKey,DataNode,LijnNr),Dir) Quit:LijnNr="" Do Quit:OK + . Set Row=$zobjMethod(bl,RowMethod,^ECHULP(SessionKey,DataNode,LijnNr)) ; Listbuild zoals voor de DataSet + . Quit:Row="" + . Quit:$LG(Row)="" + . Set PosList=$G(PosList($LG(Row))) + . Quit:PosList="" + . + . For I=1:1:$LL(PosList) Do Quit:OK + . . Set Value=$ZCVT($ZSTRIP($LG(Row,$LG(PosList,I)),"*P",,KeepChar),"U") + . . X "Set OK=Value?"_ZoekPattern + + Quit:'LijnNr $g(pxFetch) ; Niet gevonden + + Set PageLijn="" + For Page=1:1:$LG(^ECHULP(SessionKey,PageNode),2) Do Quit:PageLijn + . Set:LijnNr<=$LG(^ECHULP(SessionKey,PageNode,Page),2) PageLijn=LijnNr-$LG(^ECHULP(SessionKey,PageNode,Page),1) + + Quit:'PageLijn $g(pxFetch) ; geen omzetting mag niet voorkomen + Set:'$isObject($G(pxFetch)) pxFetch=##class(BL.EC.pxFetch).%New() + Set pxFetch.ZoekPage=Page + Set pxFetch.ZoekLijn=PageLijn + Quit pxFetch + + ; SnapNewPage als .Local doorgeven +CreatePages(SessionKey,LijnCnt,Toegang,SubNode,SnapNewPage) + Set PageNode=$G(SubNode,"F")_"P" + + Set (PageCnt,Start,End)=0 + For Quit:+End=+LijnCnt Do + . Set Start=End + . Set End=Start+$$$PageSize + . If '$D(SnapNewPage(End)) Do ; Properen om te snappen + . . If LijnCnt<=(End+$$$PageWindowPlus) Set End=LijnCnt + . . Else If $O(SnapNewPage(End)),$O(SnapNewPage(End))'>(End+$$$PageWindowPlus) Set End=$O(SnapNewPage(End))-1 + . . Else If $O(SnapNewPage(End),-1),$O(SnapNewPage(End),-1)'<(End+$$$PageWindowMin) Set End=$O(SnapNewPage(End),-1)-1 + . Set:LijnCnt + + + +Details voor de prijsberekening van een Banco +0 +0 +persistent +0 +0 +Res.PI.Items +0 + + + +Waarden voor het automatisch sommeren van bepaalde aktiviteiten (Zagen, Frezen, Monteren,...) +Deze sommaties komen dan later terecht in de groep C subgroep Q..Z terecht. +%Library.Float +0 +0 +array +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Hoet de kostprijs van een detailelement moet berekend worden +F : Formule*Aantal*Kost +A : Aantal*Kost +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Gewicht van het onderdeel te vermenigvuldigen met de lengte en aantal OF aantal. +Het gewicht is uitgedrukt in gr volgens 'Eenheid' +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Kostprijs in EURO per eenheid (mm, st, of min.) +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + V90]]> +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Lijst met profielen waarop het voet/koppelstuk van toepassing is +Res.PI.BancoDtl +0 +0 +list +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Een element uit RES.PI.BANCODTL met een "S" in het CalcType veld, wordt +beschouwd als een statische bancodtl, die steeds moet voorkomen. De method +'CopyObject' uit Prod.GADef.Banco maakt gebruik van deze functie. + +Var by Ref 'ElementKey': De sleutel die de ForceBancoDtl moet hebben in de array +0 +0 +code + +0 +Prod.GADef.emBanDtl +0 + + + + + +Importeren van een tekstbestand met alle parameters +0 +1 +code + +0 +0 + + + + +0 +1 +code +handle:%Library.Binary +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 + + + + + +Ophalen van de verschillende rubrieken per groep en per hoofdgroep. +De hoofdgroep wordt berperkt door de LIKE functie omdat ook alle hoofdgroepen moeten kunnen doorgegeven worden. +%Library.SQLQuery +HoofdgroepLike:%Library.String,Groep:%Library.String +0 +SELECT ID, ItemID, Berekend, CalcType, Omschrijving, Eenheid, SubGroep, Kost +FROM Res_PI.BancoDtl +WHERE (Groep = :Groep) AND(HoofdGroep Like :HoofdgroepLike) +ORDER BY Sort + +0 + + + + + +%Library.SQLQuery + +0 +"Z" AND SubGroep<>"Z") +ORDER BY Groep, SubGroep +]]> +0 + + + + + + +Deze query filtert de lijst Res_PI.BancoDtl op het type (B4, B5, ...) +%Library.SQLQuery + +0 +SELECT DISTINCT HoofdGroep +FROM Res_PI.BancoDtl +ORDER BY HoofdGroep + +0 + + + + + +%Library.SQLQuery +paType:%String +0 +SELECT GroepOmschrijving,Groep,SubGroep +FROM Res_PI.BancoDtl +WHERE (HoofdGroep=:paType) AND (Groep="A") +ORDER BY Groep, SubGroep + +0 + + + + + +%Library.SQLQuery +paType:%Library.String +0 +SELECT CalcType,GroepOmschrijving,HoofdGroep,Omschrijving,Groep,SubGroep,ProductRef +FROM Res_PI.BancoDtl +WHERE HoofdGroep=:paType +ORDER BY Groep, SubGroep + +0 + + + + + +%Library.SQLQuery +paType:%String +0 +SELECT GroepOmschrijving,Groep,SubGroep +FROM Res_PI.BancoDtl +WHERE (HoofdGroep=:paType) AND (Groep="B") +ORDER BY Groep, SubGroep + +0 + + + + + +%Library.SQLQuery +paElementKey:%Library.String +0 +SELECT ID +FROM Res_PI.BancoDtl +WHERE (Groep=Left(:paElementKey,1)) AND (SubGroep=SubStr(:paElementKey,2,1)) + +0 + + + + + +%Library.SQLQuery +paElementKey:%Library.String +0 +SELECT Eenheid +FROM Res_PI.BancoDtl +WHERE (Groep=Left(:paElementKey,1)) AND + (SubGroep=SubStr(:paElementKey,2,1)) AND + (Sort={fn Convert(Right(:paElementKey,3),SQL_INTEGER)}) + +0 + + + + + +%Library.SQLQuery +paProfielType:%Library.String +0 +SELECT ID,CalcType,GroepOmschrijving,HoofdGroep,Omschrijving,Groep,SubGroep,ProductRef +FROM Res_PI.BancoDtl +WHERE (ProfielBeperkingen LIKE ("%" || :paProfielType || "%")) +ORDER BY Groep, SubGroep + +0 + + + + + +%Library.Query +paBancoORef:%String +0 +0 + + + + + +%Library.CacheStorage +BancoDtlDefaultData + +AutoValue +subnode +"AutoValue" + + +listnode +"BancoDtl" + +Berekend + + +BoorQty + + +CalcType + + +Eenheid + + +Gewicht + + +Groep + + +Kost + + +MontageTijd + + +ProductRef + + +HoofdGroep + + +SubGroep + + +DraadTapQty + + +FreesQty + + +GroepOmshrijving + + +GroepOmschrijving + + +ProfielBeperkingen + + +Opties + + + + + Index: vhConsistency/Checks/NietVerwerkteTBXOrders.cls.xml =================================================================== diff -u --- vhConsistency/Checks/NietVerwerkteTBXOrders.cls.xml (revision 0) +++ vhConsistency/Checks/NietVerwerkteTBXOrders.cls.xml (revision 2) @@ -0,0 +1,21 @@ + + + + +Added by WimV on 2011-05-30 +1 +vhConsistency.Check +0 + + +%Status + + + + Index: csp/tbx/showcookie.cls.xml =================================================================== diff -u --- csp/tbx/showcookie.cls.xml (revision 0) +++ csp/tbx/showcookie.cls.xml (revision 2) @@ -0,0 +1,85 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write ! + set PSW = %request.GetCookie("KeyHEIN") + set PSW2 = %request.GetCookie("KeyVHEPN") + ;d ophStoreCookie($$$PSWCookieName, "MyPassword 009", +7, "/VHISIE/TBX/") + ;d ophStoreCookie("TBXPSW2", "MyPassword 103", +7, "/VHISIE/TBX/") + Write !,!,"Password from Cookie for HEIN : "_(PSW)_"
    ",! + Write "Password from Cookie for VHEPN: "_(PSW2)_"
    ",! + Write "
    ",! + Write "" + Write "To WSOrder VHEPN" + Write "" + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,!,"" + Write !,"ShowCookie",! + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write ! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +c:\cachesys\csp\vhisie\TBX\ShowCookie.csp + + + +/vhisie/TBX/ShowCookie.csp + + + +59557,36404 + +
    +
    Index: cspBasis/ProductSearch/tmpDev.mac.rou =================================================================== diff -u --- cspBasis/ProductSearch/tmpDev.mac.rou (revision 0) +++ cspBasis/ProductSearch/tmpDev.mac.rou (revision 2) @@ -0,0 +1,113 @@ + +InitializeCSP + Set GroepID="OL" + Set Taal=$ZCVT($G(%request.Data("taal",1)), "U") + Set:(Taal="")!("N;F;D;E"'[Taal) Taal="N" ; VH's Default + Quit + +PrepareKenmerkValues ; Parameters: GroepID,Kenmerk,Taal,KMValues,FixedSubType + ; KMValues als .Local doorgeven +#define TRIM(%v) $ZSTRIP(%v,"<>W") +#define LabelType "L" +#define TextType "K" + Quit:($G(GroepID)="") + Quit:($G(Kenmerk)="") + Kill KMValues + Set KMValues="" + New MetaObj,MetaSort,blnSort,rsData,Val,i,j + Set MetaObj=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||"_Kenmerk) + Quit:('MetaObj) + Set KMValues=MetaObj.VertaalItem("�",Taal,$$$LabelType) ; Vertaling van de MetaDefinie zelf + Set MetaSort=$$pkvObjectListToLB(MetaObj.WaardenSortering) + Set blnSort=($LL(MetaSort)>0) + Set rsData=##class(%ResultSet).%New("Prod.Kenmerk.DataDefinitie:LijstBeperkteKenmerkWaarden") + + If $L($G(FixedSubType)) Do + . Do rsData.Execute(GroepID,Kenmerk,"SubType",FixedSubType) + Else Do + . Do rsData.Execute(GroepID,Kenmerk,Kenmerk,"%") ; Kenmerk=SuperKenmerk ==> rs geeft alle waarden van dit kenmerk (geen beperkte lijst) + + For Quit:('rsData.Next()) Do + . For i=1:1:$LL(rsData.GetData(1)) Do + .. Set Val=$$$TRIM($LG(rsData.GetData(1),i)) + .. Quit:('$L(Val)) + .. Set j=$S(blnSort:$$pkvGetSortIndex($LF(MetaSort,Val)), 1:Val) ; sorteer-positie + .. Set KMValues(j,"IN")=Val + .. Set KMValues(j,"VT")=MetaObj.VertaalItem(Val,Taal,$$$TextType) + Do rsData.%Close() + + ; Nabewerking voor Kenmerk "Breedte" + If Kenmerk="Breedte", GroepID="OL" Do pkvFilterNonNumeric + Do MetaObj.%Close() + Quit +pkvObjectListToLB(objList) + New Key,Val,LB + Set LB="" + Set Key="" + For Set Val=objList.GetNext(.Key) Quit:(Key="") Set LB=LB_$LB($$$TRIM(Val)) + Quit LB +pkvGetSortIndex(I) + If (I=0)&&(+$O(KMValues(""))'>0) Set I=$O(KMValues(""))-1 ; Negatief opbouwen + Quit I +pkvFilterNonNumeric + ;Kill ^wvDEBUGCSP + ;Merge ^wvDEBUGCSP=KMValues + New NumSort,LBVals + Set i="" + For Set i=$O(KMValues(i)) Quit:(i="") Do + . Set Val=+$TR(KMValues(i,"IN"),"<>='","") + . If Val=KMValues(i,"IN") Set NumSort(Val)=$LB(i) + . Else Set:('$D(NumSort(Val))) NumSort(Val)=$LB(i,"NX") ; Not eXact + Set LBVals="" + Set Val="" + For Set Val=$O(NumSort(Val)) Quit:(Val="") Do + . Set i=$LI(NumSort(Val),1) ; Index voor KMValues + . If $LG(NumSort(Val),2)="NX" Do ; Niet-Exacte waarde (bvb. ">=30") omrekenen/vertalen naar "30" + .. Set KMValues(i,"IN")=Val + .. Set KMValues(i,"VT")=MetaObj.VertaalItem(Val,Taal,$$$TextType) + . Set LBVals=LBVals_$LB(i) ; Lijst van alle te behouden indexen van KMValues + ; De Niet-Exacte nodes uit KMValues verwijderen + Set i="" + For Set i=$O(KMValues(i)) Quit:(i="") Kill:('$LF(LBVals,i)) KMValues(i) + Quit + + +PRZoekAantal() ; Parameters: GroepID,LBText + New ArPR + Do ##class(cspBasis.ProductSearch).LBTextToArray($G(LBText),"CriteriaArray") + + ; temporary: ArAllPR zou slechts ��n maal moeten gecre�erd worden. + Do:('$D(ArAllPR)) ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,"ArAllPR") + + If $D(CriteriaArray)>1 Do ; CriteriaArray heeft subnodes + . Kill ArPR + . Merge ArPR=ArAllPR + . Do ##class(cspBasis.ProductSearch).PRLijstSimple(GroepID,"ArPR",.CriteriaArray) ; CriteriaArray mag niet wijzigen ! + Quit ##class(Prod.Kenmerk.DataIndex).SPCount($S($D(CriteriaArray)>1:"ArPR", 1:"ArAllPR")) + +LBTextToArray ; Parameters: LBText,Ref + ; LBText moet zoals volgend formaat zijn: $LB($LB("SN1","ValA"),$LB("SN2","ValB"),$LB("SN3","ValC")) + Kill @Ref + Quit:($G(LBText)="") + New LB,i,SN + Xecute "Set LB="_LBText + For i=1:1:$LL(LB) Do + . Set SN=$LI($LI(LB,i),1) + . Set NextNum=$O(@Ref@(SN,""),-1)+1 + . Set @Ref@(SN,NextNum)=$LI($LI(LB,i),2) + Quit + +PRLijstSimple ; Parameters: GroepID,Ref,CriteriaArray +#define CVTBool(%v) (+%v'=0) + Quit:('$D(CriteriaArray)) + If $D(CriteriaArray("PRNr")) Do ; UITBREIDING van de zoekfunctie is mogelijk! + . ; Array van PRNr opbouwen via opgegeven PRNrs + . Do ##class(Prod.Kenmerk.Utils).PRLijstViaPRNr(GroepID,Ref,.CriteriaArray) + Else Do + . ; Array van PRNr's opbouwen via opgegeven Kenmerken + . New ArKM,blnUndefs + . Set blnUndefs=$$$CVTBool($G(CriteriaArray("IncludeUndefs",1))) + . Merge ArKM=CriteriaArray + . Do ##class(Prod.Kenmerk.Utils).FilterKenmerken(GroepID,.ArKM) + . Do ##class(Prod.Kenmerk.Utils).PRLijstViaKenmerk(GroepID,Ref,.ArKM,blnUndefs) + Quit \ No newline at end of file Index: DW/WWW/HTTPLogVH.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogVH.cls.xml (revision 0) +++ DW/WWW/HTTPLogVH.cls.xml (revision 2) @@ -0,0 +1,159 @@ + + + + +Logging voor www.vanhoecke.be (.com en .nl) +persistent +1 +%Persistent + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogVHD +HTTPLogVHDefaultData +^DW.WWW.HTTPLogVHD +^DW.WWW.HTTPLogVHI +^DW.WWW.HTTPLogVHS + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + +Flag + + + + + Index: Prod/GAMeta/BT/GRPDesign.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/GRPDesign.cls.xml (revision 0) +++ Prod/GAMeta/BT/GRPDesign.cls.xml (revision 2) @@ -0,0 +1,44 @@ + + + +persistent + +%Library.Persistent,Res.PI.Abstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;GRPDS") +GRPDesignDefaultData +^Res.PI.Items("PR;GA;GRPDS") +^Res.PI.Items("PR;GA;GRPDSI") +^Prod.GAM.GRPDesignS + +%%CLASSNAME +node +0 + + +listnode + +Omschrijving + + +VolgNr + + + +TaalOms +subnode +"TO" + + + + Index: WS/TBX/DataIOWWW/PeekServer.cls.xml =================================================================== diff -u --- WS/TBX/DataIOWWW/PeekServer.cls.xml (revision 0) +++ WS/TBX/DataIOWWW/PeekServer.cls.xml (revision 2) @@ -0,0 +1,43 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.DataIOWWW + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + Index: Kenm/Basis/DataIndex.cls.xml =================================================================== diff -u --- Kenm/Basis/DataIndex.cls.xml (revision 0) +++ Kenm/Basis/DataIndex.cls.xml (revision 2) @@ -0,0 +1,325 @@ + + + + +Opbouw van de index van de DataDefinitie, om deze index ook door SQL toegankelijk te maken is dit in een apart object opgeslagen. +Bij de DataDefinitie opbject zitten de waarden van een kenmerk een product in een lijst. In dit index object zit alle waarden separaat. +persistent +%Library.Persistent +0 + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Waarde kan meerder velden bevatten door ";" gescheiden +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +Groep,Kenmerk,Waarde,UnID +0 + + + + +Verwijderen van de waarden van een bepaald kenmerk en een bep. product +0 +1 +code +Groep:%Library.String,Kenmerk:%Library.String,UnID:%Library.Integer +0 +0 + + + + +0 +1 +code +Groep:%Library.String,Kenmerk:%Library.String,UnID:%Library.String,Waarde:%Library.String +0 +0 + + + + + +Openen van het object Kenm.Basis.MetaDefintiie +0 +0 +code + +0 +Kenm.Basis.MetaDefinitie +0 + + + + + +Verwijderen van de producten die andere waarden heeft voor het kenmerk dan het doorgegevene +0 +1 +code +Groep:%Library.String,Ref:%Library.String="Local" +0 +0 + + + + + +Als CompareObj mee doorgegeven wordt, overruled deze de standaard vergelijking Waarde=WaardeInput.]]> +0 +1 +code +Groep:%Library.String,Kenmerk:%Library.String,WaardeInput:%Library.String,Ref:%Library.String="Local" +0 +0 + + + + + +Verwijderen uit de array @Ref de producten waarvan er geen kenmerkwaarde bestaat die gelijk is aan +WaardeInput. SPBeperkExcl(ude) verwijdert ook de producten waarvan het kenmerjk niet gedefinieerd is. +0 +1 +code +Groep:%Library.String,Kenmerk:%Library.String,WaardeInput:%Library.String,Ref:%Library.String="Local" +0 +0 + + + + + +Tellen van de producten in de @Ref +0 +1 +code +Ref:%Library.String="Local" +0 +%Library.Integer +0 + + + + + +Geeft een array met de waarden van een kenmerk. +De waarden die nog mogelijk zijn worden met een 1 gemarkeerd. Het mogelijk zijn betekend dat er producten geselecteerd zijn die die waarde hebben. +Indien Ref leeg is dan wordt er niet gecontroleerd of een waarde nog mogelijk is. +0 +1 +code +Groep:%Library.String,Kenmerk:%Library.String,ValueRef:%Library.String="KenmerkVal",Ref:%Library.String="" +0 +0 + + + + + +Analoog aan SPKenmerkWaarden, maar deze geeft de lijst van de KenmerkWaarden terug als een $LB(). +PRArray als .Local doorgeven +0 +1 +code + +0 +1 +%Library.List +0 +0) lbValues=$$pkvSortedList(lbValues,MetaSort) + Set MetaObj="" ; Do MetaObj.%Close() + Quit lbValues +pkvSortedList(lbToSort,lbBaseValues,AddUnsorted) + ;New lbNew,LenTS,i + Set lbNew="" + Set LenTS=$LL(lbToSort) + For i=1:1:$LL(lbBaseValues) Do:($LF(lbToSort,$LI(lbBaseValues,i))>0) + . Set lbNew=lbNew_$LB($LI(lbBaseValues,i)) + . Set:($LL(lbNew)=LenTS) i=$LL(lbBaseValues) ; Quit For-loop, want alle elementen van lbToSort zitten nu ook in lbNew + Quit:(+$G(AddUnsorted)=0) + ; Else Vreemde elementen (i.e. komen niet voor in lbBaseValues, maar wel in lbToSort) toevoegen aan lbNew + If $LL(lbNew) + + + +%Library.SQLQuery +0 +SELECT UnID, ID, Groep, Kenmerk, Waarde +FROM Kenm_Basis.DataIndex +ORDER BY Waarde +0 + + + + + +%Library.CacheStorage +^Kenm.Basis.DataIndexD +^Kenm.Basis.DataIndexD +^Kenm.Basis.DataIndexI +^Kenm.Bas.DataIndexS + +%%CLASSNAME +node +0 + + + + Index: Res/PI/TemplateBanco.cls.xml =================================================================== diff -u --- Res/PI/TemplateBanco.cls.xml (revision 0) +++ Res/PI/TemplateBanco.cls.xml (revision 2) @@ -0,0 +1,86 @@ + + + + +Templates waarop KaderDeur-objecten gebaseerd worden. +Bedoeld voor een snelle, efficiënte invoer van de data +persistent +Res.PI.Items + + +Prod.GADef.Banco + + + +%Library.String + + + +Derde.Klant.Klant + + + + +Komt meestal overeen met het ItemID, maar kan specifiek gekozen worden +%Library.String + + + + +De objecten van deze klasse moeten dynamisch gegenereerd worden, i.e. via routines in plaats van Fixed Data. +1 + + + + + +Toont de log gecreëerd door de FillObjects method. +1 + + + + + +Ophalen van de Template Kaderdeuren per klant +%Library.SQLQuery +(paKlantID:%Library.Integer,paHoofdGroep:%Library.String) +ID AS GADefTemplate_ID, GADefTemplate->HoofdGroep AS GADefTemplate_HoofdGroep +FROM Res_PI.TemplateBanco +WHERE ((Klant = :paKlantID) or (Klant is null) or (Klant = '')) AND (GADefTemplate->HoofdGroep=:paHoofdGroep) +ORDER BY Klant +]]> + + + + + +%Library.CacheStorage +TemplateKaderDefaultData + +"TK" + +GADefTemplate + + +Klant + + +PICode + + +ImageFileName + + + + + Index: _vhisie/TBX/tmpCacheUpdateC.js =================================================================== diff -u --- _vhisie/TBX/tmpCacheUpdateC.js (revision 0) +++ _vhisie/TBX/tmpCacheUpdateC.js (revision 2) @@ -0,0 +1,173 @@ + +function TestAlertC () { + alert("Test csp value 004"); +} + + + + +// function Number_toFixed(d) +if (typeof(Number)!='undefined'&&typeof(Number.prototype)!='undefined'){ + if (typeof(Number.prototype.toFixed)=='undefined'){ + function Number_toFixed(d) { + var n = this; + d = d || 2; + var f = Math.pow(10, d); + n = Math.round(n * f) / f; + n += Math.pow(10, - (d + 1)); + n += ''; + return (d==0 ? n.substring(0, n.indexOf('.')) : n.substring(0, n.indexOf('.') + d + 1)); + } + Number.prototype.toFixed = Number_toFixed; + } +} + +function RightStr (str, nChar) { + return str.substr(str.length-nChar, nChar); +} + +function isNumberInt(inputString) { + return (!isNaN(parseInt(inputString)) ? true : false); +} + +function MinVal(num1,num2) { + return (num1>num2 ? num2: num1); +} + +function MaxVal(num1,num2) { + return (num1 -1) return true; + return false; + } + var exists = false; + for (var i=0;i<=objList.options.length-1;i++) { + if (text == objList.options[i].text) exists = true; + } + if (exists) return; + if (navigator.appName != "Netscape") { + var oOption = document.createElement("OPTION"); + oOption.text = text; + oOption.value = value; + objList.add(oOption); + } else { + objList.options[objList.length] = new Option(text, value); + } +} +function UpdateCboItems (ComboName, ItemsList, Delim) { + var oCombo=document.getElementById(ComboName); + var oOpt,blnDisabled; + var blnAll = (ItemsList.replace(Delim,"")=="*"); + var ItemsList=Delim+ItemsList+Delim; + for (var i=0;i<=oCombo.options.length-1;i++) { + oOpt=oCombo.options[i]; + blnDisabled = (!blnAll) && (ItemsList.indexOf(Delim+oOpt.value+Delim) < 0); + oOpt.style.color=(blnDisabled ? ColorOptDisabled : ""); + oOpt.disabled=blnDisabled; + } +} +// Operations on Controls (such as Input Text/Option/CheckBox/...) +// ================================================================ + +function GetValTxt (FldName) { + var obj=document.getElementById(FldName); + if (!obj) return(""); + return (obj.value=="" ? "" : obj.value); +} + +function GetValChk (FldName) { // returns boolean (true/false) + var obj=document.getElementById(FldName); + if (!obj) return(""); + return obj.checked; +} + +function SetValTxt (FldName,NewVal) { + var obj=document.getElementById(FldName); + if (NewVal==undefined) NewVal=""; + if (obj) obj.value=NewVal; +} + +function SetValChk (FldName,blnVal) { + var obj=document.getElementById(FldName); + if (blnVal==undefined) blnVal=false; + if (obj) obj.checked=blnVal; +} + +function GetValCbo (FldName) { + var obj=document.getElementById(FldName); + if (!obj) return(""); + return ( (obj.selectedIndex < 0) ? "" : obj.options[obj.selectedIndex].value); +} + +function SetValCbo (FldName,NewVal) { + var obj=document.getElementById(FldName); + if (NewVal==undefined) NewVal=""; + if (obj) cspSetSelectValue (obj,NewVal); +} + +function SafeFocusSet (obj,blnMsg) { + if (!obj) return false; + try { obj.focus(); } + catch (exception) { + if (blnMsg) alert("Could not set focus to " + obj + " \"" + obj.id + "\""); + return false; + } + return true; +} + + +// Routines for Cach� compatibility +// ================================ + +function DollarGet (Val,Dfl) { + return (Val==undefined ? "" : Val); +// return (Val==undefined ? (Dfl || "") : Val); +} + +function cArrayToPieces (ar1dim,D) { + if (ar1dim[0]==undefined) ar1dim.shift(); // Eerste element weghalen + return ar1dim.join(D); +} + +function cPiecesToArray (sList,D) { + if (sList==undefined) return ""; + return sList.split(D); +} + Index: APPS/TBXWeb/impl/SFSOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/SFSOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/SFSOrderHandler.cls.xml (revision 2) @@ -0,0 +1,105 @@ + + + +1 +AbstractOrderHandler +0 + + +1 + + + +%String + + + + +Boolean + + + + +%Status +",$lb("ICT_SupportTBX@vanhoecke.be"),"SFS POST for WSid : "_..WSOrd.%Id(),Stream,1) + + If $$$ISERR(stPost) Do Quit stPost + . Do ..Logger.Error("SFS_POST_FAILED","wsID = "_..WSOrd.mID_" Error = "_$$ParseStatus^vhLib.System(stPost)) + + Quit:flagTest $$$OK // geen verdere afhandeling indien in test mode :D + + If ( HttpRequest.HttpResponse.StatusCode = 200 ) Set Result = $$$OK + Else Set Result = $$$ERROR($$$GeneralError, HttpRequest.HttpResponse.ReasonPhrase) + + If Result Do ..Logger.Info("SFS_POST_SUCCESS","wsID = "_..WSOrd.mID) + Else Do + . Set ErrorInfo = HttpRequest.HttpResponse.ReasonPhrase + . Do ..Logger.Error("SFS_HTTPRESPONSE_INVALID","wsID = "_..WSOrd.mID_" Error = "_ErrorInfo) + + Quit Result +]]> + + + +%String + + + + Index: TTExDesignerCNTs.inc.rou =================================================================== diff -u --- TTExDesignerCNTs.inc.rou (revision 0) +++ TTExDesignerCNTs.inc.rou (revision 2) @@ -0,0 +1,11 @@ + //TreeNode property data moet integer zijn... + + //Tweede niveau in Treeview (=Level 1) INTEGER + #Define iLvlOneFetch 10 + #Define iLvlOneList 11 + #Define iLvlOneDefinition 12 + + //OLDSCHOOL + //Vierde niveau (=Level 3) INTEGER + #Define iLvlFourFormat 40 + #Define iLvlFourExecute 41 \ No newline at end of file Index: EH/Lib/Msg.cls.xml =================================================================== diff -u --- EH/Lib/Msg.cls.xml (revision 0) +++ EH/Lib/Msg.cls.xml (revision 2) @@ -0,0 +1,42 @@ + + + + +Event/Message object +%Library.SerialObject + + +%Library.String + + + +%Library.Boolean + + + +%Library.String + + + +%Library.Integer + + + + +$J van de sender +%Library.Integer + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + Index: Prod/GADef/emBanDtl.cls.xml =================================================================== diff -u --- Prod/GADef/emBanDtl.cls.xml (revision 0) +++ Prod/GADef/emBanDtl.cls.xml (revision 2) @@ -0,0 +1,286 @@ + + + +serial + +%Library.SerialObject + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.PI.BancoDtl +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Koppelstuk of voet waarmeer het profiel (ene kant) wordt vastgezet. +Res.PI.BancoDtl +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Koppelstuk of voet waarmeer het profiel (ander kant) wordt vastgezet. +Res.PI.BancoDtl +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Opties : +bij afdekprofiel : MO = gemonteerd +bij basis el. : CHKBX = checkbox +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +0 +code +CopyMode:%Library.String +0 +Prod.GADef.emBanDtl +0 + + + + + +Berekend de prijs van een detailelement gebruikmakend van Res.PI.BancoDtl. +Er zijn twee verschillende berekeningswijzen : +'F' = met formule : Formule * Aantal * Kost +'A' = alleen aantal : Aantal * Kost +0 +0 +code +caObj:Prod.GADef.Banco +0 +%Library.Float +0 + + + + + +Berekend de prijs van een detailelement gebruikmakend van Res.PI.BancoDtl. +Er zijn twee verschillende berekeningswijzen : +'F' = met formule : Formule * Aantal * Kost +'A' = alleen aantal : Aantal * Kost +0 +0 +code +caBanco:Prod.GADef.Banco +0 +%Library.Float +0 + + + + +0 +0 +code + +0 +0 + + + + +%Library.CacheSerialState +emBanDtlState +^Prod.GAD.emBanDtlS + +listnode + +Aantal + + +BancoRes + + +Formule + + +KoppelStuk1 + + +KoppelStuk2 + + +Omschrijving + + +Opties + + +ProgLabel + + +EvalAantal + + +EvalFormule + + + + + Index: Prod/GAMeta/BT/TBBodemKleur.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBBodemKleur.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBBodemKleur.cls.xml (revision 2) @@ -0,0 +1,62 @@ + + + + +Kleur van het PlaatMat: i.e. bodem + rug +Als StalenRug dan alleen bodemkleur +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBKBD") +TBBodemKleurDefaultData +^Res.PI.Items("PR;GA;TBKBD") +^Res.PI.Items("index","PR;GA;TBKB") +^Res.PI.Items("stream","PR;GA;TBKB") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: EWMS/Inventory.cls.xml =================================================================== diff -u --- EWMS/Inventory.cls.xml (revision 0) +++ EWMS/Inventory.cls.xml (revision 2) @@ -0,0 +1,1328 @@ + + + +persistent +1 +Inventory +GSQLStorage +%Library.Persistent + + +0 +EWMS STAT,NOCREATE + + + +dbo.Inventory_Cache + + + +0 +1 +1 +LocID,Sectie,ProductNr,Batch,Quality,Owner +0 + + + +%String +0 +0 + +0 +0 +0 +0 +6 +0 +batch +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +13 +0 +exp_day +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +14 +0 +insert_time +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +15 +0 +is_full +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +2 +0 +loc_id +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +4 +0 +loc_m +0 + + + +%String +0 +0 + +0 +0 +0 +0 +8 +0 +owner +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +5 +0 +product +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +12 +0 +qty_block +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +10 +0 +qty_in_box +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +9 +0 +qty_pcs +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +11 +0 +qty_res +0 + + + +%String +0 +0 + +0 +0 +0 +0 +7 +0 +quality +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +3 +0 +sectie +0 + + + + + +0 +1 +code +PalletID:%Library.String,Sectie:%Library.String,ProductNr:%Library.String,QtyPcs:%Library.String +0 +%Library.Status +0 + + + + +0 +1 +code +PalletID:%Library.String,Sectie:%Library.String,ProductNr:%Library.String,QtyRes:%Library.String +0 +%Library.Status +0 + + + + +0 +1 +code +InventoryID:%Library.String,LocationsID:%Library.String,QtyNeeded:%Library.Integer,QtyReserved:%Library.Integer +0 +%Library.Status +0 +InvObj.QtyPcs) //QtyNeeded < of = QtyPcs + + New tmpResult + Set tmpResult=$$$OK + If 'Success Do Quit tmpResult + . Set tmpResult=$$$ERROR($$$GeneralError,"Reservatie onvolledig voor product "_+InvObj.ProductNr_": "_QtyNeeded_" vereist, echter "_InvObj.QtyPcs_" beschikbaar.") + . Do InvObj.%Close() + + //Commit + Set InvObj.QtyRes=InvObj.QtyRes-QtyNeeded + Set:(InvObj.QtyRes<0) InvObj.QtyRes=0 + + Set InvObj.QtyPcs=InvObj.QtyPcs-QtyNeeded + Set:(InvObj.QtyPcs<0) InvObj.QtyPcs=0 + + //Save + Kill %msg //'InvObj.%Save()' bevat embedded sql, welke werken met %msg om fouten in te bewaren + Set tmpResult=InvObj.%Save() + + Set:($D(%msg)) tmpResult=$$$ERROR($$$GeneralError,%msg) + + Do InvObj.%Close() + + Quit tmpResult +]]> + + + +0 +1 +code +InventoryID:%Library.String,QtyNeeded:%Library.String +0 +%Library.Status +0 +QtyOnPallet) //QtyNeeded < of = QtyOnPallet + + New tmpResult + Set tmpResult=$$$OK + If 'Success Do Quit tmpResult + . Set tmpResult=$$$ERROR($$$GeneralError,"Picking onvolledig voor product "_+InvObj.ProductNr_": "_QtyNeeded_" vereist, echter "_QtyOnPallet_" beschikbaar.") + . Do InvObj.%Close() + + //Commit + Set InvObj.QtyRes=InvObj.QtyRes+QtyNeeded + + If (InvObj.QtyRes>InvObj.QtyPcs) Do Quit tmpResult + . Set tmpResult=$$$ERROR($$$GeneralError,"Picking onvolledig voor product "_+InvObj.ProductNr_": "_InvObj.QtyRes_" in totaal te picken, slechts "_InvObj.QtyPcs_" in stock.") + . Do InvObj.%Close() + + //Save + Kill %msg //'InvObj.%Save()' bevat embedded sql, welke werken met %msg om fouten in te bewaren + Set tmpResult=InvObj.%Save() + + Set:($D(%msg)) tmpResult=$$$ERROR($$$GeneralError,%msg) + + Do InvObj.%Close() + + Quit tmpResult +]]> + + + +0 +1 +code +LocID:%Library.String,Sectie:%Library.String,Product:%Library.String,PosResultWhenNotExists:%Library.Boolean=0 +0 +%Library.List +0 + + + + +0 +1 +code +LocID:%Library.String,Sectie:%Library.String,ProductNr:%Library.String,Batch:%Library.String,Quality:%Library.String,Owner:%Library.String,ReturnEmptyWhenNew:%Library.Boolean=0 +0 +%Library.String +0 + + + + +0 +1 +code +LocID:%Library.String,Location:%Library.String,Sectie:%Library.String,Product:%Library.String,Qty:%Library.String,HistoryRemark:%Library.String,SQLGCWrapper:%Library.String=0 +0 +%Library.List +0 +0) + . Do RS.%Close() + . If PalletExists Do + .. Set Status=$LB(2,"Nieuwe sectie op bestaande pallet.") + . Else Do + .. Set Status=$LB(3,"Nieuwe pallet, nieuwe sectie.") + + Quit:($LI(Status)<0) Status + + //------------------------------------------------------------------------------------- + // History 'INVENTORY' In de transport-tabel aanduiden dat we iets met Inv. gaan doen + //------------------------------------------------------------------------------------- + New HistLocObj + Set HistLocObj=##class(EWMS.History.Transport).%New() + Quit:(HistLocObj=$$$NULLOREF) $LB(-7,"Kan geen nieuw EWMS.History.Transport object aanmaken.") + Set HistLocObj.Action="UINV" + Set HistLocObj.InsertTime=$$GetEWMSInsertTime^vhLib() + Set HistLocObj.LocID=LocID + Set HistLocObj.LocM=$LI(Locatie,1) + Set HistLocObj.LocG=$LI(Locatie,2) + Set HistLocObj.LocX=$LI(Locatie,3) + Set HistLocObj.LocY=$LI(Locatie,4) + Set HistLocObj.LocZ=$LI(Locatie,5) + Set:('HistLocObj.Save(SQLGCWrapper)) Status=$LB(-5,HistLocObj.%ClassName(1)_": "_HistLocObj.LastErrorMsg) + Do HistLocObj.%Close() + + //--------------------------------------------------------------------------------- + // Gegevens invullen in bestaand of nieuw InventoryObj, afh. van InventoryID + //--------------------------------------------------------------------------------- + New InventoryObj + If InventoryID="" Do ;Opgegeven Pallet met Sectie bestaat NIET, maak een nieuwe aan: *** CREATE *** + . If '##class(EWMS.Inventory).New(LocID,Sectie,Product,,,,.InventoryID,SQLGCWrapper) Do Quit + .. Set Status=$LB(-3,"Kan geen nieuw Inventory object aanmaken (LocID: "_LocID_", Sectie: "_Sectie_", Product: "_Product_").") + . Set InventoryObj=##class(EWMS.Inventory).%OpenId(InventoryID) + . If InventoryObj=$$$NULLOREF Do Quit + .. Set Status=$LB(-5,"Kan zonet gecreëerd Inventory object met ID '"_InventoryID_"' niet openen.") + . Set InventoryObj.Batch=" " + . Set InventoryObj.ExpDay="0000-00-00-00.00.00 " + . Set InventoryObj.InsertTime=$$GetEWMSInsertTime^vhLib() + . Set InventoryObj.IsFull=1 ;We nemen vanuit gemakspositie enkel 'IsFulls' als het om een nieuwe sectie/pallet gaat + . Set InventoryObj.LocID=LocID + . Set InventoryObj.LocM=$LI(Location,1) ;$LB(M,G,X,Y,Z) + . Set InventoryObj.Owner="0000000000" + . Set InventoryObj.ProductNr=Product_$J("",16-$L(Product)) + . ;Set InventoryObj.QtyBlock= + . ;Set InventoryObj.QtyInBox= + . Set InventoryObj.QtyPcs=0 + . Set InventoryObj.QtyRes=0 + . Set InventoryObj.Quality="0000000000" + . Set InventoryObj.Sectie=Sectie + Else Do ;Opgegeven Pallet met Sectie bestaat, open deze om aan te passen: *** MODIFY *** + . Set InventoryObj=##class(EWMS.Inventory).%OpenId(InventoryID) + . If InventoryObj=$$$NULLOREF Do Quit + .. Set Status=$LB(-4,"Kan Inventory object met ID '"_InventoryID_"' niet openen.") + . Set InventoryObj.IsFull=0 ;Dit is dan sowieso een aangebroken pallet + + Quit:($LI(Status)<0) Status + + ;Qty updaten + Set InventoryObj.QtyPcs=InventoryObj.QtyPcs+Qty + + ;QtyPcs & QtyRes onthouden voor History update + New remQtyRes,remQtyPcs + Set remQtyRes=InventoryObj.QtyRes + Set remQtyPcs=InventoryObj.QtyPcs + + ;Gegevens saven + New tmpStatus + Set tmpStatus=InventoryObj.%Save() + + ;Object sluiten + Do InventoryObj.%Close() + + ;Vroegtijdig afsluiten indien fout bij Save + Quit:($$$ISERR(tmpStatus)) $LB(-1,"Save Error:"_$C(13,10)_$$ParseStatus^vhLib(tmpStatus)) + + //--------------------------------------------------------------------------------- + // History 'ADD' + //--------------------------------------------------------------------------------- + New HistInvObj + Set HistInvObj=##class(EWMS.History.Inventory).%New() + Set HistInvObj.Action="ADD" + Set HistInvObj.Batch=" " + Set HistInvObj.Change=Qty + Set HistInvObj.LocID=LocID + Set HistInvObj.LocM=$LI(Location,1) + Set HistInvObj.LocG=$LI(Location,2) + Set HistInvObj.LocX=$LI(Location,3) + Set HistInvObj.LocY=$LI(Location,4) + Set HistInvObj.LocZ=$LI(Location,5) + Set HistInvObj.Owner="0000000000" + Set HistInvObj.Product=Product + Set HistInvObj.Quality="0000000000" + Set HistInvObj.ReasonCode=" " + Set HistInvObj.Remain=remQtyPcs + Set HistInvObj.RemainBlock=0 + Set HistInvObj.RemainRes=remQtyRes + Set HistInvObj.Section=Sectie + Set HistInvObj.UserName=" " + Set:('HistInvObj.Save(SQLGCWrapper)) Status=$LB(-6,HistInvObj.%ClassName(1)_": "_HistInvObj.LastErrorMsg) + Do HistInvObj.%Close() + + Quit Status +]]> + + + +0 +1 +code +InventoryID:%Library.String +0 +%Library.String +0 + Quit+return status + + &sql(FETCH crALI) + + Quit:((SQLCODE<0) || ($L($G(%msg)))) "FETCH ERROR - SQL CODE #"_SQLCODE_": "_%msg + + &sql(CLOSE crALI) + + Quit ##class(EWMS.Locations).ComposeID(LocM,LocG,LocX,LocY,LocZ,LocID) +]]> + + + +0 +1 +code + +0 +%Library.List +0 + + + + +0 +1 +code +InventoryID:%Library.String,QtyNeeded:%Library.String +0 +%Library.String +0 + of = QtyNeeded + . Set ExitStr="" + Else Do + . Set ExitStr="Reservatie onvolledig voor product "_+InvObj.ProductNr_": kan "_(QtyNeeded-InvObj.QtyPcs)_" stuk(ken) niet reserveren." + + Do InvObj.%Close() + + Quit ExitStr +]]> + + + +0 +1 +code + +0 +%Library.Boolean +0 + + + + +0 +1 +code +handle:%Library.Binary +0 +%Library.Status +0 + + + + +0 +1 +code + +0 +%Library.Status +0 +5) AND (loc_id IN (SELECT loc_id FROM dbo.Inventory WHERE product=@Product)) "_ + "GROUP BY loc_id" + + //Extra informatie aan SubSQL toevoegen, zoals QtyPcs, LocM, LocG, ... + Set SQL="DECLARE @Product VARCHAR(8) "_ + "SELECT @Product="_paProduct_" "_ + "SELECT L.loc_m, L.loc_g, L.loc_x, L.loc_y, L.loc_z, I.loc_id, I.qty_pcs, S.SectieCnt "_ + "FROM dbo.Locations AS L, dbo.Inventory AS I, ("_SubSQL_") AS S "_ + "WHERE (I.loc_id=L.loc_id) AND (I.loc_id=S.loc_id) AND (I.product=@Product)" + + If 'SQLGCWrapper.Prepare(SQL) Do Quit $$$ERROR($$$GeneralError,QuitMsg) + . Set QuitMsg=SQLGCWrapper.LastErrorMsg_$C(13,10,13,10)_"SQL Statement:"_$C(13,10)_SQLGCWrapper.LastSQLStatement + . Do SQLGCWrapper.Disconnect() + . Do SQLGCWrapper.%Close() + + ;SQL Execute + If 'SQLGCWrapper.Execute() Do Quit $$$ERROR($$$GeneralError,QuitMsg) + . Set QuitMsg=SQLGCWrapper.LastErrorMsg_$C(13,10,13,10)_"SQL Statement:"_$C(13,10)_SQLGCWrapper.LastSQLStatement + . Do SQLGCWrapper.Disconnect() + . Do SQLGCWrapper.%Close() + + Quit $$$OK +]]> + + + +0 +1 +code + +0 +%Library.Status +0 + + + + +0 +0 +code + +0 +%Library.Float +0 + + + + +0 +0 +code + +0 +%Library.Float +0 + + + + +0 +0 +code + +0 +%Library.Float +0 + + + + +0 +0 +code + +0 +%Library.Float +0 + + + + +0 +1 +code +LocID:%Library.String,Location:%Library.String,Sectie:%Library.String,Product:%Library.String,Qty:%Library.String,WithReservation:%Library.String=1,HistoryRemark:%Library.String,SQLGCWrapper:%Library.String=0,QtyReserved:%Library.Integer +0 +%Library.List +0 +InventoryObj.QtyPcs, we kunnen niet meer weghalen dan dat er is + Set:(Qty>InventoryObj.QtyPcs) Qty=InventoryObj.QtyPcs + + ;InventoryObj.QtyPcs aanpassen + Set InventoryObj.QtyPcs=InventoryObj.QtyPcs-Qty + + ;Afhankelijk van parameter ook de reservatie updaten + If WithReservation Do + . New tmpQty + . Set QtyReserved=$G(QtyReserved,Qty) + . If QtyReserved>InventoryObj.QtyRes Do + .. Set tmpQty=InventoryObj.QtyRes + . Else Do + .. Set tmpQty=QtyReserved + . Set InventoryObj.QtyRes=InventoryObj.QtyRes-tmpQty + Else Do + . ;Indien geen reservaties, dan hoeft er niks te gebeuren + . ;Quit:(InventoryObj.QtyPcs=0) ;Wordt toch verwijderd... + . Quit:(InventoryObj.QtyRes=0) + . ;QtyPcs0, dan mag wijziging in Inventory object bewaard worden + . Set tmpStatus=InventoryObj.%Save() + . If $$$ISOK(tmpStatus) Do + .. Set Status=$LB(2,"Wijziging in sectie '"_Sectie_"' van pallet '"_LocID_"' bewaard.") + .. Set remQtyRes=InventoryObj.QtyRes + .. Set remQtyPcs=InventoryObj.QtyPcs + .. Do InventoryObj.%Close() + . Else Do + .. Set Status=$LB(-5,"Save Error:"_$C(13,10)_$$ParseStatus^vhLib(tmpStatus)) + + Quit:($LI(Status)<0) Status + + //--------------------------------------------------------------------------------- + // History 'DEL' + //--------------------------------------------------------------------------------- + New HistInvObj + Set HistInvObj=##class(EWMS.History.Inventory).%New() + Set HistInvObj.Action="DEL" + Set HistInvObj.Batch=" " + Set HistInvObj.Change=Qty + Set HistInvObj.LocID=LocID + Set HistInvObj.LocM=$LI(Location,1) + Set HistInvObj.LocG=$LI(Location,2) + Set HistInvObj.LocX=$LI(Location,3) + Set HistInvObj.LocY=$LI(Location,4) + Set HistInvObj.LocZ=$LI(Location,5) + Set HistInvObj.Owner="0000000000" + Set HistInvObj.Product=Product + Set HistInvObj.Quality="0000000000" + Set HistInvObj.ReasonCode=" " + Set HistInvObj.Remain=remQtyPcs + Set HistInvObj.RemainBlock=0 + Set HistInvObj.RemainRes=remQtyRes + Set HistInvObj.Section=Sectie + Set HistInvObj.UserName=" " + Set:('HistInvObj.Save(SQLGCWrapper)) Status=$LB(-6,HistInvObj.%ClassName(1)_": "_HistInvObj.LastErrorMsg) + Do HistInvObj.%Close() + + Quit Status +]]> + + + +0 +1 +code +InventoryID:%Library.String,QtyPicked:%Library.String +0 +%Library.String +0 +InvObj.QtyPcs) InvObj.QtyRes=InvObj.QtyPcs + + //Save + Kill %msg //'InvObj.%Save()' bevat embedded sql, welke werken met %msg om fouten in te bewaren + New tmpResult + Set tmpResult=$$ParseStatus^vhLib(InvObj.%Save()) + + Set:($D(%msg)) tmpResult=%msg + + Do InvObj.%Close() + + Quit tmpResult +]]> + + + +0 +1 +code +InventoryID:%Library.String,QtyReserved:%Library.String +0 +%Library.String +0 +InvObj.QtyPcs) InvObj.QtyRes=InvObj.QtyPcs + + //Save + New tmpResult + Kill %msg //'InvObj.%Save()' bevat embedded sql, welke werken met %msg om fouten in te bewaren + Set tmpResult=$$ParseStatus^vhLib(InvObj.%Save()) + + Set:($D(%msg)) tmpResult=%msg + + Do InvObj.%Close() + + Quit tmpResult +]]> + + + +0 +1 +code +PalletID:%Library.String,LocM:%Library.String +0 +%Library.String +0 + + + + + +Geef een LocID op en kijk of deze reeds voorkomt in de inventory. +%Library.SQLQuery +paLocID:%Library.String +0 +SELECT Count(Product) +FROM EWMS.Inventory +WHERE (loc_id = :paLocID) + +0 + + + + + + +Velden die noodzakelijk zijn om een InventoryID op te bouwen +%Library.SQLQuery +LocID:%Library.String,Sectie:%Library.String,Product:%Library.String +0 +SELECT batch, owner, quality +FROM EWMS.Inventory +WHERE (loc_id = :LocID) AND (product = :Product) AND (sectie = :Sectie) + +0 + + + + + +%Library.SQLQuery +paLocID:%String +0 +5) AND (Main.Product=Sub.Product) AND (Main.loc_id=:paLocID) +ORDER BY Main.Product +]]> +0 + + + + + + +Geef een LocID en Section op en krijg het product terug dat +zich bevindt op die plaats +%Library.SQLQuery +paLocID:%Library.String,paSectie:%Library.String +0 +SELECT loc_id,sectie,product,batch,quality,owner +FROM EWMS.Inventory +WHERE (loc_id = :paLocID) AND (sectie = :paSectie) + +0 + + + + + +%Library.SQLQuery +PalletID:%Library.String +0 +SELECT product,qty_pcs,sectie,batch,quality,owner +FROM EWMS.Inventory AS Inv +WHERE (loc_id = :PalletID) + +0 + + + + + + +Result: +Locatie,Pallet,Qty,#Secties +%Library.Query +paProduct:%Library.String +0 +0 + + + + + +%CacheSQLStorage +^EWMS.InventoryS + + + Index: APPS/TBXWeb/impl/DUPOOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/DUPOOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/DUPOOrderHandler.cls.xml (revision 2) @@ -0,0 +1,67 @@ + + + +1 +AbstractOrderHandler +0 + + +0 + + + +%String + + + + +%String + + + + +Boolean + + + + +Destination +%List +" + Set ServerPrefix="" + #Else + Set lbTo=$LB($$$EMailOVDupoTEST) ; """Du Pont OV."" <$$$EMailOVDupoTEST>" + Set ServerPrefix="["_$$$Server_"] " + #EndIf + Quit lbTo +]]> + + + +Destination +%String + + + + +%String + + + + +%Status + + + + Index: Prod/ProductSchaduw.cls.xml =================================================================== diff -u --- Prod/ProductSchaduw.cls.xml (revision 0) +++ Prod/ProductSchaduw.cls.xml (revision 2) @@ -0,0 +1,149 @@ + + + +persistent +DataM +%Library.Persistent + + + +Uniekheid index voor property InternProductNr +1 +ProductNr +1 + + + + +Format: Real: 4,2 +%Library.Numeric + +0 + + + + +Dekkingsbijdrage +Format: Real: 4,2 +%Library.Numeric + +0 + + + + +Extra schaduw DB% voor de PRIJSLIJST-klanten (Codex = "P") +Format: Real: 4,2 +%Library.Numeric + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + + +Format: Real: 12,2 +%Library.Numeric + +0 + + + + +Format: Real: 4,2 +%Library.Numeric + +0 + + + +%Library.Integer + +0 + + + + +Format: Real: 4,2 +%Library.Numeric + +0 + + + +%CacheSQLStorage +^Prod.ProductS + +data +^KPR +delimited + +{ProductNr} +0.1 + + +"\" +2 +7 + + +"\" +2 +6 + + +"\" +2 +10 + + +"\" +1 +3 + + +"\" +0 +20 + + +"\" +0 +21 + + +"\" +2 +3 + + +"\" +2 +4 + + +"\" +2 +5 + + + + + Index: ProdVertalingCNTs.inc.rou =================================================================== diff -u --- ProdVertalingCNTs.inc.rou (revision 0) +++ ProdVertalingCNTs.inc.rou (revision 2) @@ -0,0 +1,10 @@ + //Cnts voor array ColumnDef + #Define cdID 1 + #Define cdTaal 2 + + //Constanten voor stringgrids columninfo + //Uit te lezen van de Local ColumnDef + #Define ciColIndex 1 + #Define ciColWidth 2 + #Define ciReadOnly 3 + #Define ciColName 4 \ No newline at end of file Index: DW/WWW/HTTPLogTBXDupont.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBXDupont.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBXDupont.cls.xml (revision 2) @@ -0,0 +1,163 @@ + + + + +Logging van tbx.du-pont.be +persistent +1 +%Persistent +0 + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXDupontD +HTTPLogTBXDupontDefaultData +^DW.WWW.HTTPLogTBXDupontD +^DW.WWW.HTTPLogTBXDupontI +^DW.WWW.HTTPLogTBXDupontS + +listnode + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +Flag + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + + + + Index: _vhisie/TBX/TBox WebOrder DUPO_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder DUPO_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder DUPO_N.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Du Pont - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    (BTW)  
    STRAAT/NR:
     
    POSTCODE:
     
    GEMEENTE:
     
    TELEFOON:
     
    FAX:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr (32-3) 464 00 92
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    Totaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKLEURKEUZE : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEM+RUG:

    RELINGEN:

    BOXSIDE:

    VULLING/GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breedte

    +

    WD

    +

    Diepte

    +

    Gew

    +

    FB *

    +

    Box

    +

    Diverse

    +

    Aant

    + +

    Ink. Prijs/stPrijs/st Info

    + +
    + + + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

    * Box : Verhoogde zijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + Boxcover zonder vulling + (Code ) + + + +
    Index: Prod/GAMeta/BT/TBLadeType.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBLadeType.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBLadeType.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBLTD") +TBLadeTypeDefaultData +^Res.PI.Items("PR;GA;TBLTD") +^Res.PI.Items("index","PR;GA;TBLT") +^Res.PI.Items("stream","PR;GA;TBLT") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Fabr/emUnit/KADOnderdeel.cls.xml =================================================================== diff -u --- Fabr/emUnit/KADOnderdeel.cls.xml (revision 0) +++ Fabr/emUnit/KADOnderdeel.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + + +Kaderdeur onderdeel voor productie +serial + +Fabr.emUnit.Unit + + +Prod.Product +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.CacheSerialState + +listnode + +Eenheid + + +Qty + + +Status + + +Bouwsteen + + +StatusTijdstippen + + +Product + + + + + Index: Prod/GAMeta/Item/tmpDev2.mac.rou =================================================================== diff -u --- Prod/GAMeta/Item/tmpDev2.mac.rou (revision 0) +++ Prod/GAMeta/Item/tmpDev2.mac.rou (revision 2) @@ -0,0 +1,238 @@ +#include %VHMacro + +#define HTML(%v) $ZCVT(%v,"O","HTML") +#define Attrib(%n,%v) $$PARAMFILL^XMLWRITE(%n,$$$HTML(%v)) +#define AttribInvers(%v) $S($G(%arInvers("DItem",%v,1))=1:$$$Attrib("invers",1), 1:"") + + ; Prod.GAMeta.EM.Item +XMLWrite ; Parameters: DItem,DevObj,Taal,Opties,XSLURL +#define IsList(%v) $$IsList^vhLib(%v) + Do XMLBuildArrayInvers(DItem) + If (..Code?1(1"PARAM",1"PARAMFORMULE",1"PARAMOBJ")) Do + . If ..Code="PARAMOBJ" Do TAGWRITE^XMLWRITE(DevObj,"WAARDE",DItem.Get("ObjectID"),$$$Attrib("class",DItem.Get("ClassName"))) + . Else Do TAGWRITE^XMLWRITE(DevObj,"WAARDE",$$xmlwFormatValue(DItem.Get("Val")),$$$Attrib("unit","")) + . Do TAGWRITE^XMLWRITE(DevObj,"PROGLABEL",DItem.Get("ProgLabel")) + . Do XMLFabrTekst("FabrTekst") + . Do XMLAddTags + Else If ..Code="KST" Do + . ; KST Niet opnemen in XML + Else Do + . Do XMLAddTags + Quit +xmlwFormatValue(ItemVal) + Quit:(ItemVal="")||('$$$IsList(.ItemVal)) ItemVal + Quit $$$LCVT(.ItemVal) + + + ; Prod.GAMeta.EM.ItemPR +XMLWritePR ; Parameters: DItem,DevObj,Taal,Opties,XSLURL + New PRNr,Prod + Do XMLBuildArrayInvers(DItem) + Do xmlwPRBasis + Do XMLAddTags + Quit + + ; Prod.GAMeta.EM.ItemPR1DIM +XMLWritePR1DIM ; Parameters: DItem,DevObj,Taal,Opties,XSLURL +#define ProptPR(%v1,%v2) $$$LCase(##class(Prod.Product).GetPropViaNr(%v1,%v2)) + New PRNr,Prod + Do XMLBuildArrayInvers(DItem) + Do xmlwPRBasis + Do TAGWRITE^XMLWRITE(DevObj,"DIMHF",DItem.Get("DimHF"),$$$Attrib("unit",$$$ProptPR(PRNr,"HFEenheid")),$$$AttribInvers("DimHF")) + Do WRITELN^XMLWRITE(DevObj) + Do XMLAddTags + Quit + +XMLFabrGroep +#define Delim "\" + New XMLGroepen,XMLGroep,i + Set XMLGroepen=DItem.EvalTemplAuto("FabrGroep") + Set XMLGroep=$P(XMLGroepen,$$$Delim,1) + Do XMLFabrGroepAndSortTags(DevObj,XMLGroep,1) + ;For i=1:1:$L(XMLGroepen,$$$Delim) Do + ;. Set XMLGroep=$P(XMLGroepen,$$$Delim,i) + ;. Do TAGWRITE^XMLWRITE(DevObj,"GROEP",XMLGroep,$$$Attrib("OMS",$$$UCASE($E(XMLGroep,1,99)))) + ;. Do XMLFabrGroepAndSortTags(DevObj,XMLGroep,1) + Quit + +XMLFabrGroepAndSortTags(DevObj,pdlGroepSort,blnWithSort) +#define Delim ";" + Set XMLGroep=$P(pdlGroepSort,$$$Delim,1) + Set SortKey=$P(pdlGroepSort,$$$Delim,2) ; _DItem.Get("PRNr") ; _(DItem.Code) + Do TAGWRITE^XMLWRITE(DevObj,"GROEP",XMLGroep,$$$Attrib("OMS",$$$UCase(XMLGroep))) + Do:(blnWithSort)&&($L(SortKey)) TAGWRITE^XMLWRITE(DevObj,"SORT",SortKey) + Quit + +XMLWriteExtra ; Parameters: DItem,DevObj,ParamKey + ;d WL^vhDBG("XMLWriteExtra : "_ParamKey_" - "_DItem) + Do XMLFabrTekst(ParamKey) + Quit + +XMLFabrTekst(ParamKey) + Quit:('DItem.Autos.IsDefined(ParamKey)) + New lbTekst + Set lbTekst=DItem.EvalTemplAuto(ParamKey) + Quit:(lbTekst="") + If $$$IsList(lbTekst) Do + . Do XMLFabrGroepAndSortTags(DevObj,$LG(lbTekst,1),1) + . Do TAGWRITE^XMLWRITE(DevObj,"LANGTEKST",$LG(lbTekst,2)) + . Do:($LD(lbTekst,3)) TAGWRITE^XMLWRITE(DevObj,"DIMHF",$LI(lbTekst,3),$$$AttribInvers("DimHF")) + . Do:($LD(lbTekst,4)) TAGWRITE^XMLWRITE(DevObj,"QTY",$LI(lbTekst,4),$$$AttribInvers("Qty")) + . Do:($LD(lbTekst,5)) TAGWRITE^XMLWRITE(DevObj,"MAGAZIJN",$LI(lbTekst,5)) + . Do:($LD(lbTekst,6)) TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",$LI(lbTekst,6)) + Else Do + . ; alleen LangTekst + . Do TAGWRITE^XMLWRITE(DevObj,"LANGTEKST",lbTekst) + Do WRITELN^XMLWRITE(DevObj) + Quit + +XMLAddTags + Quit:('DItem.Autos.IsDefined("XMLTags")) + New lbTags,i + Set lbTags=DItem.EvalTemplAuto("XMLTags") + Quit:(lbTags="") + For i=1:1:$LL(lbTags) Do:($LD(lbTags,i)) + . Do WRITE^XMLWRITE(DevObj,$LI(lbTags,i)) + . Do WRITELN^XMLWRITE(DevObj) + Quit + +xmlwPRBasis +#define IsValidPR(%v) (%v?2.6N) + New KMVal + If DItem.Autos.IsDefined("FabrTekst") Do Quit + . Do XMLFabrTekst("FabrTekst") + ; Else + Do XMLFabrGroep + Set PRNr=DItem.Get("PRNr") + Do TAGWRITE^XMLWRITE(DevObj,"PRNR",PRNr) + Do TAGWRITE^XMLWRITE(DevObj,"LANGTEKST",$S($$$IsValidPR(PRNr):$$xmlwBuildLangTekst, 1:"["_DItem.Label_"]")) + Do TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",DItem.Get("KTekst")) + Do xmlwKORTTEKSTfmt + Do TAGWRITE^XMLWRITE(DevObj,"QTY",DItem.Get("Qty"),$$$Attrib("unit","st"),$$$AttribInvers("Qty")) + Do WRITELN^XMLWRITE(DevObj) + Quit +xmlwBuildLangTekst() + ; Als FabrOms niet bestaat, dan ..GetLangTekst() + ; Als FabrOms wel bestaat, dan EvalTemplAuto("FabrOms") + ; FabrOms kan (lees: zal meestal) de exec "Meta.GetOmsViaKenm()" bevatten + Quit:(DItem.IsFixed("PRNr")) "### "_..GetLangTekst(PRNr,DItem,1)_" ###" + Quit:('DItem.Autos.IsDefined("FabrOms")) ..GetLangTekst(PRNr,DItem,1) + ; Else: LangTekst opbouwen adh. van FabrOms ; (??? OOK indien geen product gevonden ???) + New txt + Set txt=DItem.EvalTemplAuto("FabrOms") + Quit txt +xmlwKORTTEKSTfmt +#define MarkInvers(%v) ""_%v_"" + If DItem.IsFixed("PRNr") Do + . Set KTxtFmt=DItem.Get("KTekst") + . Set:($L(KTxtFmt)) KTxtFmt=$$$MarkInvers(KTxtFmt) + Else Do + . Set KTxtFmt=$$xmlwBuildKTekst(DItem) + Do:($L(KTxtFmt)) TAGWRITE^XMLWRITE(DevObj,"KORTTEKSTfmt",$$$Replace(KTxtFmt," "," ")) + Quit +xmlwBuildKTekst(DItem) + Quit:(+$G(%arInvers("DItem","KTekst"))<1) "" + ; Build KortTekst + apply INVERS when necessary + New KTxt,i + Set KTxt=DItem.Get("KTekst") + Quit:(KTxt="") "" + Do @("xmlwBuildINVktxt"_DItem.Label) + Set Self="" + Quit $G(KTxt) +xmlwBuildINVktxtPRBDHO + Set:($G(%arInvers("DItem","KTekst","LD"))=1) $E(KTxt,1,8)=$$$MarkInvers($E(KTxt,1,8)) + Quit +xmlwBuildINVktxtPRLALI ; idem voor Links/Rechts +xmlwBuildINVktxtPRLARE + Set i=$L(KTxt) + Set:($G(%arInvers("DItem","KTekst","KL"))=1) $E(KTxt,i-3,i)=$$$MarkInvers($E(KTxt,i-3,i)) + Set:($G(%arInvers("DItem","KTekst","DC"))=1) $E(KTxt,10,11)=$$$MarkInvers($E(KTxt,10,11)) + Set:($G(%arInvers("DItem","KTekst","ZW"))=1) $E(KTxt,1,9)=$$$MarkInvers($E(KTxt,1,9)) + Quit +xmlwBuildINVktxtPRCPLI ; idem voor Links/Rechts +xmlwBuildINVktxtPRCPRE + Set:($G(%arInvers("DItem","KTekst","DK"))=1) $E(KTxt,1,9)=$$$MarkInvers($E(KTxt,1,9)) + Quit + + +XMLBuildArrayInvers(DItem) +#define DItemGetKenmVal(%v) DItem.MetaItem.GetKenmVal(%v,DItem.Get("PRNr"),DItem.Get("KenmGrp")) +#define IsFixedPR DItem.IsFixed("PRNr") + Quit:(DItem.Product.MetaStruct.Code'="TBX") + Kill %arInvers("DItem") + Quit:(DItem.Label="") + Quit:($TEXT(@("xmlwArrayInvers"_DItem.Label))="") + ; Else: Build KortTekst + determine if INVERS must be applied + New Self,tmpAr + Set Self=DItem + Do @("xmlwArrayInvers"_DItem.Label) + Do xmlwSubNodeInversAny(.tmpAr,"KTekst") + Merge %arInvers("DItem")=tmpAr + Quit +xmlwSubNodeInversAny(tmpAr,Node) ; tmpAr als .local doorgeven + ; Counts the number of TRUE conditions for this Node + ; tmpAr("KTekst","KL")=1 + ; tmpAr("KTekst","ZW")=1 + ; ==> Set tmpAr("KTekst")=2 + New Key,dummy + Set tmpAr(Node)=0 + Set Key="" + For Set Key=$O(tmpAr(Node,Key)) Quit:(Key="") Set:($G(tmpAr(Node,Key))=1) dummy=$INCREMENT(tmpAr(Node)) + Quit + + ; Labels via INDIRECT : xmlwArrayInvers... +xmlwArrayInversPRBDHO ; Bodem (Hout) + Set tmpAr("KTekst","LD")=($$$DItemGetKenmVal("LadeDiepte")'=500) + Set tmpAr("FabrOms","Kleur")=('$$$IsFixedPR)&&(($$$DItemGetKenmVal("Kleur")'="LG")||(DItem.Val("KB")'="LG")) + Set tmpAr("DimHF",1)=1 + Quit +xmlwArrayInversPRRUGHS ; Rug (Hout) + Set tmpAr("FabrOms","Kleur")=('$$$IsFixedPR)&&($$$DItemGetKenmVal("Kleur")'="LG") + Quit +xmlwArrayInversPRRUGLI ; Rughouders +xmlwArrayInversPRRUGRE ; idem voor Links/Rechts/V1 +xmlwArrayInversPRRUGV1 + Set tmpAr("FabrOms","Kleur")=('$$$IsFixedPR)&&($$$DItemGetKenmVal("Kleur")'="MG") + Quit +xmlwArrayInversPRSCRHO ; Bodem (Hout) + Set tmpAr("Qty",1)=(DItem.Val("DK")'=80) + Quit +xmlwArrayInversPRLALI ; LadeZijkant +xmlwArrayInversPRLARE ; idem voor Links/Rechts + Set tmpAr("KTekst","KL")=($$$DItemGetKenmVal("Kleur")'="MG") + Set tmpAr("KTekst","ZW")=($$$DItemGetKenmVal("ZijwandHoogte")'="M") + Set tmpAr("KTekst","DC")=($$$DItemGetKenmVal("Design")?1(1"I",1"MA",1"F")) + Set tmpAr("FabrOms","Kleur" )=('$$$IsFixedPR)&&(tmpAr("KTekst","KL")) + Set tmpAr("FabrOms","Design" )=('$$$IsFixedPR)&&(tmpAr("KTekst","DC")) + Set tmpAr("FabrOms","ZijwandHoogte")=('$$$IsFixedPR)&&(tmpAr("KTekst","ZW")) + Quit +xmlwArrayInversPRCPLI ; CorpusProfielen +xmlwArrayInversPRCPRE ; idem voor Links/Rechts + Set tmpAr("KTekst","DK")=($$$DItemGetKenmVal("DraagKracht")'=30)||($$$DItemGetKenmVal("Opties")'["B") + Quit +xmlwArrayInversPRRL ; Reling + Set tmpAr("FabrOms","Kleur")=('$$$IsFixedPR)&&($$xmlwRLKleurAfwijkend($$$DItemGetKenmVal("Kleur"),DItem.Val("KL"))) + Quit +xmlwArrayInversPRBSD2 ; BOXSIDE Dubbelwandig +xmlwArrayInversPRBSELI ; idem voor BOXSIDE Enkelwandig -Links/-Rechts +xmlwArrayInversPRBSERE + Set tmpAr("FabrOms","Kleur")=('$$$IsFixedPR)&&($$xmlwBSKleurAfwijkend($$$DItemGetKenmVal("Kleur"),DItem.Val("KL"))) + Quit +xmlwArrayInversPRASM ; Anti-slipmatten +xmlwArrayInversPRASMROL ; Anti-slipmatten op rol +xmlwArrayInversPRASMROLSPLI ; idem bij asm voor Spoelbak +xmlwArrayInversPRASMROLSPRE +xmlwArrayInversPRTUSASMROL + Set tmpAr("FabrOms","BasisType")=1 + Set tmpAr("FabrOms","Kleur")=1 + Quit +xmlwArrayInversPRSRUG + Set tmpAr("FabrOms","BasisType")=1 + Quit + + +xmlwRLKleurAfwijkend(RK,KL) + Quit:(RK="CR") (KL'="IN") ; RelingKleur Chroom komt overeen met LadeKleur Inox + Quit (RK'=KL) +xmlwBSKleurAfwijkend(KX,KL) + Quit (KX'=KL) \ No newline at end of file Index: Prod/GAMeta/BT/TBMat.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBMat.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBMat.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBASMD") +TBMatDefaultData +^Res.PI.Items("PR;GA;TBASMD") +^Res.PI.Items("index","PR;GA;TBASM") +^Res.PI.Items("stream","PR;GA;TBASM") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: XMLORDER.mac.rou =================================================================== diff -u --- XMLORDER.mac.rou (revision 0) +++ XMLORDER.mac.rou (revision 2) @@ -0,0 +1,96 @@ +WRITE(GlobType,GlobRef,KLNr,TOENr,DevObj,Taal,Opties,XSLURL) + ;Do XMLORDER^XMLWRITETST(%this,DevObj,Taal,$G(Opties),XSLURL) + ;Quit + + + New OrderNr,objGADef,LijnNr,KlantNr,NL,param1,D + Set D="\" + Set NL=$C(13)_$C(10) + + If $L(XSLURL) Do + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITE^XMLWRITE(DevObj,NL) + Do:(Opties["F") BEGINTAG^XMLWRITE(DevObj,"ORDER") + Do WRITE^XMLWRITE(DevObj,NL) + + If GlobType="ORD" Do ;Order + . Set Rec=^KOD(KLNr,"F",GlobRef,1) + . Set Ref=$P(Rec,D,3) + . Set OrdDat=$P(Rec,D,2) + . Set TOERef=TOENr + . ;Set:'TOERef TOERef=$P(Rec,D,4) + . Set KLNm=$P(^DKL("K","KL.A",KLNr,0),D,2) + . Set Gemeente=$P(^DKL("K","KL.A",KLNr,0),D,7) + . Set Global=$NA(^KOD(KLNr,"F",GlobRef)) + If GlobType="OFF" Do ; Offerte + . Set Rec=^KOD(KLNr,"F",GlobRef,1) + . Set Ref=$P(Rec,D,3) + . Set OrdDat=$P(Rec,D,2) + . Set TOERef="",TOENr="" + . Set KLNm=$P(^DKL("K","KL.A",KLNr,0),D,2) + . Set Gemeente=$P(^DKL("K","KL.A",KLNr,0),D,7) + . Set Global=$NA(^KOFKL(KLNr,"F",GlobRef)) + If GlobType="TOE" Do ; Offerte + . Set LEVNr=$P($G(^KTO1(GlobRef)),D) + . Set Rec=^KTO(LEVNr,GlobRef,1) + . Set Ref=$P(Rec,D,3) + . Set OrdDat=$P(Rec,D,2) + . Set TOERef=GlobRef + . Set TOENr="" + . Set KLNm=$S(KLNr:$P(^DKL("K","KL.A",KLNr,0),D,2),1:"") + . Set Gemeente=$S(KLNr:$P(^DKL("K","KL.A",KLNr,0),D,7),1:"") + . Set Global=$NA(^KTO(LEVNr,GlobRef)) + Do TAGWRITE^XMLWRITE(DevObj,"KLANTORDERREF", $$REPLACE^vhRtn1(Ref, "&","&")) + Do TAGWRITE^XMLWRITE(DevObj,"PRODUCTIENR", TOERef) + + ;Do TAGWRITE^XMLWRITE(DevObj,"KLANTORDERNR", "") + Do TAGWRITE^XMLWRITE(DevObj,"BESTELDATUM", OrdDat) + Do WRITE^XMLWRITE(DevObj,NL) + + ; Klant gegevens + Do BEGINTAG^XMLWRITE(DevObj,"KLANT") + Do TAGWRITE^XMLWRITE(DevObj,"NAAM",$$REPLACE^vhRtn1(KLNr_" - "_KLNm,"&","&")) + Do TAGWRITE^XMLWRITE(DevObj,"GEMEENTE",$$REPLACE^vhRtn1(Gemeente, "&","&")) + ; more to come ... + Do ENDTAG^XMLWRITE(DevObj,"KLANT") + Do WRITE^XMLWRITE(DevObj,NL) + + ; Orderlijn(en) + Set LijnNr=0 + Set LijnRef=99 + For Set LijnRef=$O(@Global@(LijnRef)) Quit:LijnRef="" Do + . Set LijnNr=LijnNr+1 + . Set LijnRec=@Global@(LijnRef) + . Write LijnNr,LijnRec,! + . Set PRNr=$P(LijnRec,D,2) + . Quit:PRNr'?4.6N + . Quit:'$D(^KPR(PRNr,"J6332")) + . Write PRNr," is halux",! + . If TOENr Quit:$P($P(LijnRec,D,27),"#")=TOENr + . Write TOENr," ok",! + . Set ProdID=$P($G(^KPR(PRNr,"G")),D,13) + . Write ProdID," is halux product",! + . Quit:'ProdID + . Set objGADef=##class(Prod.GADef.KaderDeur).%OpenId(ProdID) + . Quit:objGADef="" + . Set Qty=$P(LijnRec,D,3) + . Do WRITE^XMLWRITE(DevObj,NL) + . Do BEGINTAG^XMLWRITE(DevObj,"ORDERLIJN") + . Do WRITE^XMLWRITE(DevObj,NL) + . Do TAGWRITE^XMLWRITE(DevObj,"LIJNREF", LijnNr) + . Do TAGWRITE^XMLWRITE(DevObj,"KLANTPRODREF", ProdID) ; ProductID + . Do TAGWRITE^XMLWRITE(DevObj,"QTY", Qty) ; Aantal + . ;Do TAGWRITE^XMLWRITE(DevObj,"PRIJS", Reslt.GetData(6), "MUNT="""_Reslt.GetData(7)_"""") ; NettoPrijs + attr. Munt + . ;Do TAGWRITE^XMLWRITE(DevObj,"LEVERWEEK", "") + . ;Do TAGWRITE^XMLWRITE(DevObj,"LEVERDATUM", "") + . ; GADefObject Open+XMLWrite + . Do:(objGADef) objGADef.XMLWrite(DevObj,Taal,"VO","") + . Do:(objGADef) objGADef.%Close() + . Do ENDTAG^XMLWRITE(DevObj,"ORDERLIJN") + . Do WRITE^XMLWRITE(DevObj,NL) + + + Do:(Opties["F") ENDTAG^XMLWRITE(DevObj,"ORDER") + Do WRITE^XMLWRITE(DevObj,NL) + Quit \ No newline at end of file Index: WS/TBX/DataIOSoap/PeekServer.cls.xml =================================================================== diff -u --- WS/TBX/DataIOSoap/PeekServer.cls.xml (revision 0) +++ WS/TBX/DataIOSoap/PeekServer.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.TBX.DataIOSoap + + +%Client,%Action +%Library.String +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + Index: _vhisie/TBX/TBoxWizKleur.js =================================================================== diff -u --- _vhisie/TBX/TBoxWizKleur.js (revision 0) +++ _vhisie/TBX/TBoxWizKleur.js (revision 2) @@ -0,0 +1,389 @@ + +/* +// General variabels: +var arKlrValue=Array(); +*/ + +var blnForceSyncKlr=true; +var blnAllowSaveDfl=false; + +function SetKleurValue(NewButton, GroepVar) { + arKlrValue[GroepVar]=NewButton.replace("div"+GroepVar+"_",""); + arModified["KLR"]=true; + MDataSyncKlr=false; + if (!blnAllowSaveDfl) btnSaveDflToggle(true); +} + +function SetDflValue(NewButton, GroepVar, ChkBoxValue) { + arKlrValue[GroepVar]=(isUndef(NewButton) ? ChkBoxValue : NewButton.replace("div"+GroepVar+"_","")); // GroepVar = "DFL_..." + if (!blnAllowSaveDfl) btnSaveDflToggle(true); +// UpdateDflInfoFlds(); // update text in info-fields (collapsed DIV) - to be created ... +// KlrShowValues("DFL"); +} + +function SetDflValueVPK(NewButton, GroepVar) { + GroepVar="DFL_VPK"; + SetDflValue(NewButton,GroepVar); + SetBulkVPKCode(arKlrValue["DFL_VPK"]); + // Update MData + KlrOptionsUpdateInputData(); +} + +function KlrShowValues(sType) { + // DEBUG function + var msg=""; + sType = sType || "KLR+DFL"; + if (sType.indexOf("KLR")>-1) { + msg=msg + "DS = " + arKlrValue["DS"] + " - " + arKlrValue["DC"]; + msg=msg + "\n" +"KLR= " + arKlrValue["KL"] + " - " + arKlrValue["KB"] + " - " + arKlrValue["RK"] + " - " + arKlrValue["KX"] + " - " + arKlrValue["KV"]; + // msg=msg + "\n" + "FB = " + arKlrValue["FB"]; + msg=msg + "\n\n\n"; + } + if (sType.indexOf("DFL")>-1) { + msg=msg + "Defaults:"; + msg=msg + "\n" + "FB = " + arKlrValue["DFL_FB"]; + msg=msg + "\n" + "BM = " + arKlrValue["DFL_BM"]; + msg=msg + "\n" + "WD = " + arKlrValue["DFL_WD"]; + msg=msg + "\n" + "ASM= " + arKlrValue["DFL_ASM"]; + msg=msg + "\n" + "VPK= " + arKlrValue["DFL_VPK"]; + msg=msg + "\n" + "NietMee:" + (" CP=" + DollarGet(arKlrValue["DFL_NMCP"])) + (" AK=" + DollarGet(arKlrValue["DFL_NMAK"])) + (" RL=" + DollarGet(arKlrValue["DFL_NMRL"])) + (" BS=" + DollarGet(arKlrValue["DFL_NMBS"])); + } + alert(msg); +} + +function ForceSyncKlr (GrV) { + return (blnForceSyncKlr || isUndef(arKlrValue[GrV])) ? true : false ; +} +function BtnLadeKlrClickExec(NewButton) { + alert("function is DEPRECATED"); +} + +function BtnDesignClickExec(NewButton) { + SetKleurValue(NewButton,"DS"); + DS=DollarGet(arKlrValue["DS"]); + var arKleur=Array(); + GetKleurDefaults(NewButton.replace("divDS_",""),arKleur); + if (arKleur.length==0) return; + DC = DollarGet(arKleur[5]); + if (DC=="") { + alert ("Error : Design ! " + "\n" + "Contact Administrator"); + return; + } +// if (arKleur[0] && arKleur[0] != 0) arKlrValue["KL"] = arKleur[0]; + if (arKleur[0] && arKleur[0] != 0 && ForceSyncKlr("KL")) SimulButtonClick("divKL_"+arKleur[0],"KL"); + if (arKleur[1] && arKleur[1] != 0 && ForceSyncKlr("KB")) SimulButtonClick("divKB_"+arKleur[1],"KB"); + if (arKleur[2] && arKleur[2] != 0 && ForceSyncKlr("RK")) SimulButtonClick("divRK_"+arKleur[2],"RK"); + if (arKleur[3] && arKleur[3] != 0 && ForceSyncKlr("KX")) SimulButtonClick("divKX_"+arKleur[3],"KX"); // arKlrValue["KX"]=arKleur[3]; + if (arKleur[4] && arKleur[4] != 0 && ForceSyncKlr("KV")) SimulButtonClick("divKV_"+arKleur[4],"KV"); + if (arKleur[5] && arKleur[5] != 0) arKlrValue["DC"]=arKleur[5]; + + if (DollarGet(g_DCM) != "I") { + UpdateKleurItems("RK",arKlrValue["DS"],arKlrValue["DC"]); +// UpdateKleurItems("KX",arKlrValue["DS"],arKlrValue["DC"]); + } + + if (DC=="I") + { if ( blnInschfElmnt == false) + { InschfElmnt.ID = DollarGet(arKleur[4]); + var objInschfElmnt=DollarGet(arInschElmnt[InschfElmnt.ID]); + InschfElmnt.Oms = objInschfElmnt.Oms ; + InschfElmnt.MatOms = objInschfElmnt.MatOms ; + InschfElmnt.MatID = objInschfElmnt.MatID ; + InschfElmntShowInfo() ; + // reload Matoms / omsch. + } // default inschuif element van de klant.. + //SetInnerHTML ("divInschfElmnt",InschfElmnt.MatOms + " : " + InschfElmnt.Oms) ; + //obj=DollarGet(arInschElmnt["GRI8"]); + } + + if (DC!="A") // voor antaro niet nodig om kleur items aan te passen + { UpdateKleurItems("KV",arKlrValue["DS"],arKlrValue["DC"]); } + +} + +function UpdateKleurItems(GroepVar,DS,DC) { + if (GroepVar != "RK" && GroepVar != "KV" && GroepVar != "KX") return; + if (isUndef(DS) || DS=="") return; + var coll = document.getElementsByTagName("DIV"); + var DivID; + var blnHideAll = (DC=="I" && GroepVar=="RK"); + if (!blnHideAll) { + var Delim=";"; + var arKLR=DollarGet(arDS_KLR[GroepVar + "_" + DS ]); // example Array("MG", "CR") + if (GroepVar=="KV") arKLR=DollarGet(arDC_KV[DC]); + var ItemsList=Delim+cArrayToPieces(arKLR, Delim)+Delim; + } + if (coll!=null) { + for (var i=0; i < coll.length; i++) { + DivID=DollarGet(coll[i].getAttribute("id")); + if (DivID.indexOf("div"+GroepVar+"_")==0) { + if (blnHideAll) ToggleButtonXtd(coll[i],"OFF",arActBtn[GroepVar],"clsLadeKlrHidden","clsLadeKlrHidden","clsLadeKlrHidden"); + else ToggleButtonXtd(coll[i],"OFF",arActBtn[GroepVar],(ItemsList.indexOf(Delim+DivID.replace("div"+GroepVar+"_","")+Delim) < 0 ? "clsLadeKlrHidden" : "clsLadeKlr"),"clsLadeKlrHiLite","clsOtherKlrActive"); + } + } + } +} + +function divEigenVullingClick(obj) { + if (!obj) return; + var GroepVar="KVIE" ; + ClickButtonObj(obj,GroepVar); + arKlrValue["KV"] = "ZV"; + arModified["KLR"]=true; + blnAllowSaveDfl=true; + btnSaveDflToggle(); +} + +function divInschfElmntClick(){ + if ( InschfElmnt.ID == "ZV" ) + { btnInschfElmntClick() ; + return; } + else { InschfElmntShowInfo(); + arModified["KLR"]=true; } + blnAllowSaveDfl=true; + btnSaveDflToggle(); +} + +function btnInschfElmntClick () { + ShowInschfElmntSelector (); +} + +var winInschfElmnt; +function ShowInschfElmntSelector () { + if ( DS=="") { + msg="'Design' has an invalid value. You must first select a design."; + alert (msg); + return; } + // Else + var QS="KV="+arKlrValue["KV"]+"&DS="+DS+"&DC="+DC+(ActiveTaal ? "&Taal="+ActiveTaal : "")+"&DisplayVSM="+InschfElmnt.MatID; + var sHRef="SelectVulstukKleur.csp"+"?"+QS; + var sTarget="winInschfElmnt"; + winInschfElmnt=window.open(sHRef, sTarget, GetSettings("M_INFO",{w:850, h:650})); + winInschfElmnt.opener=window; + try { winInschfElmnt.focus(); } + catch (exception) { } // alert(" focus: " + String(exception.name + " - " + exception.message)); +} + +function UpdateInschfElmnt (objInschfElmnt) { + if (isUndef(objInschfElmnt)) return; + //InschfElmnt = objInschfElmnt ; + InschfElmnt.ID = objInschfElmnt.ID ; + InschfElmnt.Oms = objInschfElmnt.Oms ; + InschfElmnt.MatID = objInschfElmnt.MatID ; + InschfElmnt.MatOms = objInschfElmnt.MatOms ; + if (InschfElmnt.ID == "ZV") return; + blnInschfElmnt = ( InschfElmnt && InschfElmnt.ID != "" ) ; + arModified["KLR"]=true; + InschfElmntSelected(); +} + +function InschfElmntSelected() + { SetInnerHTML ("divKVIE_InschfElmnt",InschfElmnt.MatOms + " : " + InschfElmnt.Oms); + divInschfElmntClick(); + } + +function InschfElmntShowInfo() { + arKlrValue["KV"] = InschfElmnt.ID ; + if (InschfElmnt.ID != "ZV" ) { + SetInnerHTML ("divKVIE_InschfElmnt",InschfElmnt.MatOms + " : " + InschfElmnt.Oms); + SimulButtonClick("divKVIE_InschfElmnt","KVIE") ; + } + else { + SetInnerHTML ("divKVIE_InschfElmnt","Geen keuze gemaakt"); + SimulButtonClick("divKVIE_EigenVulling","KVIE") ; // zet initi�le waarde + } +} + +function TestUpdateKV (KV,VSM) { + var args=Object; + args.KV="BRO8"; + args.VSM="GL8"; + var winOpener = window.opener; + if (true) winOpener = window; // only for testing ! + winOpener.UpdateKlrVulling(args); +} + + +function KlrVullingInfo (OnOff) { + // When MouseOver/MouseOut event occurs on the KlrVulling section: show/hide the Info (alt-text) + // Set position of the DIV + //Skipped; + DivSetVisible("divKLRInfoKV", (OnOff.toUpperCase()=="ON")); +} + +function KlrDefaultsInfo (OnOff) { + // When MouseOver/MouseOut event occurs on the KlrDefaults section: show/hide the Info (alt-text) + // Set position of the DIV + //Skipped; + DivSetVisible("divSaveDflKlrInfo", (OnOff.toUpperCase()=="ON")); +} + +function SaveDflKlrInfo (ObjBtn, OnOff) { + // When MouseOver/MouseOut event occurs on the KlrDefaults section: show/hide the Info (alt-text) + KlrDefaultsInfo(OnOff); + if(blnAllowSaveDfl) { ToggleButtonObj(ObjBtn,OnOff,"WZB"); } +} + +function btnSaveDflToggle (Enabled) { + if (!blnDocInited) return; + var btnDfl=document.getElementById("btnSaveDfl"); + if (!isUndef(Enabled)) blnAllowSaveDfl=(Enabled==true); + ToggleButtonXtd(btnDfl, (blnAllowSaveDfl ? "ON" : "OFF"), "-", "clsWizardBtnDisabled", "clsWizardBtnOrange", "-"); // (obj, OnOff, ActiveButton, ClassNormal, ClassHiLite, ClassActive) +} + +function CacheSaveKlrDefaults (blnShowConfirmed) { + // De array arKlrValue omzetten naar pdlKleurDfl en/of pdlMatenDfl (in TBoxWizIO.js) + // Geef blnShowConfirmed=false om de Confirm-boodschap (i.e. SaveSuccess) niet te tonen (bijvoorbeeld bij KlrDefaults wissen) + var msg; + var DC=DollarGet(arKlrValue["DC"]); + var DS=DollarGet(arKlrValue["DS"]); + msg=cspSaveKlrDefaults(UserID, g_DCM, DC, DS); // , "",""); + if (msg.length) { + if ((msg=="Saved !")) { + if (blnShowConfirmed==false) return true; // do not show ConfirmedMsg + msg=jsVTL("jsDflSavedSuccess"); // "Deze basiskeuzes zijn succesvol bewaard in onze databank." + alert(msg); + return true; + } + // else + alert(msg); + return false; + } + return true; +} + +function btnSaveDflClick () { + if (blnAllowSaveDfl) { + // alert("Deze keuzes worden bewaard in onze databank."); + if (CacheSaveKlrDefaults(true)) { + blnAllowSaveDfl=false; + btnSaveDflToggle(); + } + } + else { + // Button disabled ! to enable use : btnSaveDflToggle(true); + } +} + +function btnEditDflClick() { + var divDflTable=document.getElementById("divDefaultsTable"); + if (divDflTable) { divDflTable.style.display="block"; } + else return; + var divDflInfo=document.getElementById("divDefaultsInfo"); + if (divDflInfo) { divDflInfo.style.display="none"; } +} + +function btnClearAllDflClick () { + function ResetKlrDefaultOne (GrV) { + // Copy value to temp-var + var tmpValue=DollarGet(arKlrValue[GrV]); + // Clear value + arKlrValue[GrV]=""; + arActBtn[GrV]=""; + // Reset HiLite buttons + if (tmpValue != "") { ToggleButton("OFF", "div"+GrV+"_"+tmpValue, GrV); } + } + function ResetKlrDefaultNietMee () { + arKlrValue["DFL_NMCP"]=""; + arKlrValue["DFL_NMAK"]=""; + arKlrValue["DFL_NMRL"]=""; + arKlrValue["DFL_NMBS"]=""; + SetChkDFLNietMee("NMCP"); + SetChkDFLNietMee("NMAK"); + SetChkDFLNietMee("NMRL"); + SetChkDFLNietMee("NMBS"); + } + + msg=jsVTL("jsDflConfirmClearAll"); // msg="Uw basiskeuzes zullen gewist worden. Doorgaan?"; + if (confirm(msg)) { + // Reset HiLite buttons + + ResetKlrDefaultOne("DFL_FB"); + ResetKlrDefaultOne("DFL_BM"); + ResetKlrDefaultOne("DFL_WD"); + ResetKlrDefaultOne("DFL_ASM"); + ResetKlrDefaultOne("DFL_VPK"); + ResetKlrDefaultNietMee(); + + // Update MData + KlrOptionsUpdateInputData(); + + if (CacheSaveKlrDefaults(false)) { + // Do nothing + } + blnAllowSaveDfl=false; + btnSaveDflToggle(); + } +} + +function KlrOptionsUpdateInputData () { + if (!blnDocInited) return; + // Confirmed changes in MOptionsEdit + // Read MOptionValues from controls + var pdlNietMee=""; + for (var i=0; i voorlopig niks dus + // Update InputData + MOptionsUpdateInputData(pdlNietMee,VPK); +} + +function chkDFLNietMeeClick (chkObj) { + if (!chkObj) return; + var idNM=(chkObj.id.indexOf('chkDFL')==0 ? chkObj.id.substr(3,99) : ""); + if (idNM=="") return; + SetDflValue(undefined, idNM, (chkObj.checked==true ? 1 : "")); + KlrOptionsUpdateInputData(); +} + +function SetChkDFLNietMee (CodeNM) { + // CodeNM = NMCP or NMAK or NMRL or NMBS or NM... + SetValChk("chkDFL_"+CodeNM, (arKlrValue["DFL_"+CodeNM]==1)); +} + +function SetBtnKlrDefault (GrV,blnForceEmpty) { + if ((blnForceEmpty==true)&&(DollarGet(arKlrValue[GrV])=="")) { + SimulButtonClick("",GrV); + return; + } + // else + if (DollarGet(arKlrValue[GrV])=="") return; + SimulButtonClick("div"+GrV+"_"+arKlrValue[GrV],GrV); // zet initi�le waarde +} + +function initKlrDefaults () { + SetBtnKlrDefault("DFL_FB"); + SetBtnKlrDefault("DFL_BM"); + SetBtnKlrDefault("DFL_WD"); + SetBtnKlrDefault("DFL_ASM"); + SetBtnKlrDefault("DFL_VPK"); + SetChkDFLNietMee("NMCP"); + SetChkDFLNietMee("NMAK"); + SetChkDFLNietMee("NMRL"); + SetChkDFLNietMee("NMBS"); +} + +function initLadeKleur () { + var tmpForce=blnForceSyncKlr; + blnForceSyncKlr=false; + SetBtnKlrDefault("DS"); + SetBtnKlrDefault("KL"); + SetBtnKlrDefault("KB"); + SetBtnKlrDefault("RK"); + SetBtnKlrDefault("KX"); + SetBtnKlrDefault("KV"); + if (g_DCM=="I") InschfElmntShowInfo(); + blnForceSyncKlr=tmpForce; +} + +function initKleur () { + initLadeKleur(); + initKlrDefaults(); + MDataSyncKlr=false; +} + +function KlrBtnClick () { + // When Clicked on btnStep(X) +} Index: WS/EC/WebShopClient/GetOfferteInfo.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/GetOfferteInfo.cls.xml (revision 0) +++ WS/EC/WebShopClient/GetOfferteInfo.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionID:%String,OfferteID:%String="" +BL.EC.pxWebShop +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxWebShop + + + + + +%Library.String + + + + +%Library.String + + + + Index: BL/Prod/GAData/TBXLadeXML/pxAttribMunt.cls.xml =================================================================== diff -u --- BL/Prod/GAData/TBXLadeXML/pxAttribMunt.cls.xml (revision 0) +++ BL/Prod/GAData/TBXLadeXML/pxAttribMunt.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + +serial +1 +%SerialObject,%XML.Adaptor +0 + + +%Library.String + + + + +%Library.String + + + + + +1 +Content,attrMunt +BL.Prod.GAData.TBXLadeXML.pxAttribMunt + + + + +%Library.CacheSerialState +pxAttribMuntState +^BL.Prod.GAData804.pxAttribMuntS + +listnode +"BL.Prod.GAData.TBXLadeXML.pxAttribMunt" + +Content + + +Munt + + + + + Index: Prod/Kenmerk/VertaalTrans.cls.xml =================================================================== diff -u --- Prod/Kenmerk/VertaalTrans.cls.xml (revision 0) +++ Prod/Kenmerk/VertaalTrans.cls.xml (revision 2) @@ -0,0 +1,85 @@ + + + + +emobject dat per Res.PI.VertaalType {O;K;L;...} de SleutelSelect bevat en de transformatie van de waarde +persistent +%occInclude +Prod.Kenmerk.VertaalTransAbstract + + + +Somt moet de waarde aangepast worden of geformateerd (getal,datum) + +Bv. Een getal afgerond met 2 cijfers na komma +Bv. Een verhouding uitgedrukt in "%" +Bv. Een getal in mm uitdrukken in cm + +De gebruikte formule kan als volgt omschreven worden +Set X = f(X) +%Library.String + + + + + +Leeg : Geen execute +T : letterlijk +@ : expressie +X : eXecute +D: Label^Routine +F : Functie Label^Routine +R : Routine Label^Routine(paramlist) +%Library.String + + + + + + +IsNew:%Library.Boolean=1 +%Library.Status + + + + +Res.Vertaling + + + +%Library.CacheStorage +VertaalTransDefaultData + +"VertaalTrans" + +WaardeExec + + +WaardeExecType + + + + + Index: cspBasis/ProductList.cls.xml =================================================================== diff -u --- cspBasis/ProductList.cls.xml (revision 0) +++ cspBasis/ProductList.cls.xml (revision 2) @@ -0,0 +1,227 @@ + + + + +Basis klasse voor de csp-klasse +%VHMacro +%Library.RegisteredObject,cspBasis.cspAbstract +0 + + + +Bouwt de Global ^KPRMINI() op waarin alleen die kenmerken bewaard worden die nodig zijn in CSP Orgalux. + ; Oproepen met Do ##class(cspBasis.ProductList).BuildProductData() +1 + + + + + +Ophalen van de vertaalde waarde(n) van het gegeven kenmerk voor PRNr. De vertaalde items worden +teruggegeven in afzonderlijke elementen van de $LB().
    +Roept ..DataDefValueList() op.]]>
    +1 +Taal:%Library.String="N",GroepID:%Library.String,PRNr:%Library.String,Kenmerk:%Library.String,TextType:%Library.String="L",ListItems:%Library.String="*",ListSep:%Library.String +%Library.String + +
    + + + +Mogelijke waarden voor ListItems: bvb.: "*" , "1" , "1;2" , "1;2;5;7"
    +Als ListSep leeg is, wordt een $LB() opgebouwd van de vertaalde items.
    +Als ListSep niet leeg is, worden de vertaalde items geconcateneerd (met ListSep as separator) tot één +element van de $LB().]]>
    +1 +Taal:%Library.String="N",GroepID:%Library.String,PRNr:%Library.String,Kenmerk:%Library.String,TextType:%Library.String="L",ListItems:%Library.String="*",ListSep:%Library.String +%Library.List + +
    + + + +Ophalen van de vertaalde waarde(n) van de URL van het gegeven kenmerk voor PRNr. +1 +Taal:%Library.String="N",GroepID:%Library.String,PRNr:%Library.String,Kenmerk:%Library.String,TextType:%Library.String="L" +%Library.String + + + + +]]> +1 +Taal:%Library.String="N",GroepID:%Library.String,PRNr:%Library.String,Kenmerk:%Library.String,TextType:%Library.String="L",ListItems:%Library.String="*",ListSep:%Library.String,ToepasCode:%Library.String +%Library.String + + + + + +TFMode (transformatie mode) bevat "BE" of "NL" of "NoBTW".]]> +1 +BasisPrijs:%Library.Float,TFMode:%Library.String +%Library.Float + + + + + +==> $LB(KortTekst,LijstPrijsEUR)]]> +1 +PRNr:%Library.String +%Library.String + + + + + +Maakt van de URL een javascript URL; Er wordt een onderscheid gemaakt tussen foto's en andere documenten. +1 +sURL:%Library.String +%Library.String + + + + +1 + + + + +1 +%String + + + + + +Bepaalt of de ProductHeader moet getoond worden of niet. +Werkwijze: controleert of de kenmerkwaarde van "SubGroep" gelijk is aan dat van het vorige product in +de array. +1 + +%Library.String + + + + + +Ophalen van de vertaalde waarde van de interne code. +1 +Intern:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +%Library.String + + +
    +
    Index: GrafiekStatCNTs.inc.rou =================================================================== diff -u --- GrafiekStatCNTs.inc.rou (revision 0) +++ GrafiekStatCNTs.inc.rou (revision 2) @@ -0,0 +1,56 @@ + ;Data Owner Constants + ;~~~~~~~~~~~~~~~~~~ + ; + #Define doGrafiek "GRAFIEK" + #Define doTabel "TABEL" + #Define doGrid "GRID" + + ;Tabel Options Constants + ;~~~~~~~~~~~~~~~~~~ + ; + #Define toBgColor 0 + #Define toWarningColor 1 + #Define toWarningStyle 2 + #Define toWarningIcon 3 + #Define toIcon 4 + + #Define myIcons "ICON_Checked1\ICON_Error1\ICON_Information1\ICON_LightOff1\ICON_LightOn1\ICON_NoAccess1\ICON_Question1\ICON_Question2\ICON_LightRed1\ICON_Unchecked1" + + ;Grafiek Options Constants + ;~~~~~~~~~~~~~~~~~~ + ; + #Define goBgColor 100 + + ;Doelstelling Constants + ;~~~~~~~~~~~~~~~~~~ + ; + #Define dsTotal 200 + #Define dsDivisie 201 + #Define dsPoolRegio 202 + #Define dsRegio 203 + + #Define ddDoelstelling 300 + + ;Color Constants + ;~~~~~~~~~~~~~~~~~~ + ; + #Define clReferenceDark $ZH("005E92FF") + #Define clReferenceLight $ZH("0077A4FF") + #Define clPresentDark $ZH("00C5A7B0") + #Define clPresentLight $ZH("00CDB4BC") + #Define clLightGray $ZH("00E0E0E0") + + ;Routine Shortcuts + ;~~~~~~~~~~~~~~~~~~ + ; + ;Convert %H to DMC date format + #Define ToDMC(%H) $$EXTDATE^vhDTyp(%H,"DMC") + ; + ;Decrement %H with one month + #Define DecMonth(%H) $H-$ZD(%H,5," 28 31 30 31 30 31 31 30 31 30 31 31 ") + ; + ;Increment %H with one month + #Define IncMonth(%H) $H+$ZD(%H,5," 31 28 31 30 31 30 31 31 30 31 30 31 ") + ; + ;Wrapper for msgbox + #Define alert(%H) Do MApplication.MessageBox(%H) \ No newline at end of file Index: CacheSql9.mac.rou =================================================================== diff -u --- CacheSql9.mac.rou (revision 0) +++ CacheSql9.mac.rou (revision 2) @@ -0,0 +1,35 @@ +CacheSql9 ; Cache Dynamic SQL Query Time: 2005-11-17 11:39:42 +#INCLUDE %occExtent +#INCLUDE %occInclude +#INCLUDE %systemInclude +#SQLCOMPILE SELECT=RUNTIME +#EXECUTE s %msqlvar="%qsc(%qref" + &sql(DECLARE C CURSOR FOR + SELECT COUNT ( * ) + INTO :%d(%qref,1) + FROM DW_WWW . HTTPLogVH WHERE Parameters LIKE ? ORDER BY LogTime DESC) +Execute() n %parm,lsParameters,ptr,pVal,pValType,pQMC s lsParameters=$lg(qHandle,3) Quit:($ll(lsParameters)/2)'=1 $$$ERROR($$$InvalidNumberParmValues) + s pQMC=0 For ptr=1:1:1 Set pValType=$li(lsParameters,ptr*2-1),pVal=$li(lsParameters,ptr*2),%parm(ptr)=$s(pValType="c":pVal,pValType="v":@pVal,1:pVal) + &sql(OPEN C) Quit $s('SQLCODE:$$$OK,1:$$$ERROR($$$QueryCannotInstantiate,"SQLCODE = "_SQLCODE)) +Close() + &sql(CLOSE C) q:SQLCODE $$$ERROR($$$SQLError,"SQLCODE = "_SQLCODE_" "_$g(%msg)) + k %d(%qref),%qscc(%qref),%qscd(%qref),%qscp(%qref),%qscs(%qref),%qsct(%qref),%qscl(%qref),%qscR(%qref),%qscZ(%qref) + QUIT $$$OK +Fetch() s AtEnd=$g(AtEnd,0) + n SQLCODE + s Row="",AtEnd=0 + &sql(FETCH C) + i 'SQLCODE s Row=$lb(%d(%qref,1)) i 1 + e s AtEnd=1 + QUIT $s('SQLCODE:$$$OK,SQLCODE=100:$$$OK,1:$$$ERROR($$$SQLError,"SQLCODE = "_SQLCODE_" "_$g(%msg))) +FetchRows() s FetchCount=$g(FetchCount,0) + n done,i,SQLCODE + s done=0,RowSet="",ReturnCount=0,AtEnd=0 + f i=1:1 DO q:done + . &sql(FETCH C) + . i 'SQLCODE s RowSet=RowSet_$lb(%d(%qref,1)),ReturnCount=ReturnCount+1 s:ReturnCount=FetchCount done=1 s:($l(RowSet)+($l(RowSet)\ReturnCount))>24000 done=1 i 1 + . e s done=1,AtEnd=1 + QUIT $s('SQLCODE:$$$OK,SQLCODE=100:$$$OK,1:$$$ERROR($$$SQLError,"SQLCODE = "_SQLCODE_" "_$g(%msg))) +GetInfo() n info,qhparms + s info=$g(^mcq("Query",7,1098589247,"CacheSql9",0)) s colinfo=$lg(info,1),parminfo=$lg(info,2),idinfo=$lg(info,3) s:$g(extoption) extinfo=$g(^mcq("Query",7,1098589247,"CacheSql9",1)) + Quit $$$OK \ No newline at end of file Index: WS/EC/WebShopProxy/UpdateTBXOrder.cls.xml =================================================================== diff -u --- WS/EC/WebShopProxy/UpdateTBXOrder.cls.xml (revision 0) +++ WS/EC/WebShopProxy/UpdateTBXOrder.cls.xml (revision 2) @@ -0,0 +1,53 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.MsgDescriptor +WS.EC.WebShopProxy + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +BL.EC.sub.pxTBXOrder + + + + Index: Res/PI/FreesTool.cls.xml =================================================================== diff -u --- Res/PI/FreesTool.cls.xml (revision 0) +++ Res/PI/FreesTool.cls.xml (revision 2) @@ -0,0 +1,159 @@ + + + + +Bevat de verschillende Freeshulpstukken met hun eigenschappen +persistent +Res.PI.Items + + +%Library.Float + + + +%Library.String + + + +%Library.String +array + + + + +%Library.Float + + + +%Library.String + + + + + het profiel te boren. +]]> +%Library.Float + + + +%Library.String + + + +%Library.Integer + + + +]]> +%Library.String + + + + + +%Library.Float + + + + +Diepte t.o.v. de bovenvlak van het profiel +%Library.Float + + + +%Library.String + + + + +Als "TYPE" 3 of meer karakters bevat, dan gaat het om een +complexe freesbeweging! +%Library.String + + + + +Geeft een lijst met IDs van de FreesTools terug (";"-separated).
    +Als objBoring.CncID begint met een "!", wordt "!" + [ToolID] teruggegeven +Indien geen geschikt Tool gevonden wordt, zal een "!" + [ToolID voor Puntboor] teruggegeven worden. +]]>
    +1 +objBoring:Prod.GADef.emKadBoring +%Library.String + +
    + + + +Geeft een lijst met FreesTools van één bepaald type +%Library.SQLQuery +(FType:%Library.String) +SELECT ID, ItemID, Omschrijving, Type, Afschuin, Diameter, MaxDiameter, DiepteType +FROM Res_PI.FreesTool +WHERE (Type = :FType) +ORDER BY Diameter,Sort + + + + + + +%Library.CacheStorage +FreesToolDefaultData + +CNCCode +subnode +"C" + + +"FT" + +ToolNaam + + +Type + + +Diameter + + +Afschuin + + +MaxDiameter + + +RugBDiepte + + +DoorBDiepte + + +IsNotStandard + + +FreesUitloop + + +BoorDiepte + + +DiepteType + + +Locatie + + +FreesVolgorde + + + +
    +
    Index: Res/PI/Beslag/tmpDev.mac.rou =================================================================== diff -u --- Res/PI/Beslag/tmpDev.mac.rou (revision 0) +++ Res/PI/Beslag/tmpDev.mac.rou (revision 2) @@ -0,0 +1,3 @@ +OLDVrijeZone1DGet(CodeFrom,FromObject,%this) + ;VrijeZone1DGet(CodeFrom,FromObject) + Quit 0 \ No newline at end of file Index: vhRLE.mac.rou =================================================================== diff -u --- vhRLE.mac.rou (revision 0) +++ vhRLE.mac.rou (revision 2) @@ -0,0 +1,50 @@ + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : RLECompress + // Author : Manuel Bauwens + // Function: Comp. een string + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +RLECompress(TString) + New TChar1,TChar2,TChar3,TChar4,StrBuff,StrBuffer,RLE,XPos,TLoop + Set (StrBuff,StrBuffer)="" + Set RLE=0 + For TLoop=1:1:$L(TString) Do + . Set TChar1=$E(TString,TLoop) + . Set TChar2=$E(TString,TLoop+1) + . Set TChar3=$E(TString,TLoop+2) + . Set XPos=1 + . Set:(TChar1'=TChar2) RLE=0 + . Set:((TChar1=TChar2)&&(TChar1=TChar3)) RLE=1 + . If (RLE=1) Do + .. For Do Quit:(TChar4'=TChar1) + ... Set XPos=XPos+1 + ... Set TChar4=$E(TString,TLoop+XPos) + .. Set StrBuff=$C(255)_$C(XPos-1)_TChar1 + .. Set TLoop=TLoop+XPos + . Set:'RLE StrBuff=TChar1 + . Set StrBuffer=StrBuffer_StrBuff + Quit StrBuffer + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : RLEUNCompress + // Author : Manuel Bauwens + // Function: DeComp. een string gecomp. met RLECompress + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +RLEUNCompress(TString) + New TChar1,TChar2,TChar3,TChar4,StrBuff,StrBuffer,XPos,TLoop + Set (StrBuff,StrBuffer)="" + For TLoop=1:1:$L(TString) Do + . Set TChar1=$A($E(TString,TLoop)) + . Set TChar2=$A($E(TString,TLoop+1)) + . Set TChar3=$A($E(TString,TLoop+2)) + . Set TChar4=$A($E(TString,TLoop-1)) + . If (TChar1=255) Do + .. For XPos1=1:1:$L(TChar2) Do + ... Set StrBuff=StrBuff_$C(TChar3) + .. Set TChar1="" + .. Set TChar2="" + . Set:((StrBuff="")&&(TChar4'=255)) StrBuff=$C(TChar1) + . Set StrBuffer=StrBuffer_StrBuff + . Set StrBuff="" + Quit StrBuffer \ No newline at end of file Index: csp/vhisie/TBX/MailResult/tmpDev.mac.rou =================================================================== diff -u --- csp/vhisie/TBX/MailResult/tmpDev.mac.rou (revision 0) +++ csp/vhisie/TBX/MailResult/tmpDev.mac.rou (revision 2) @@ -0,0 +1,438 @@ +#include APPS.TBXWeb +#include TECH.Error + + /* + // Test SenderFakeDomain() routine +s From="Test@vanhoecke.be" +s lbTo=$LB("SendTo@vanhoecke.be") +s NewF=From d tsmSenderFakeDomain^csp.vhisie.TBX.MailResult.tmpDev(.NewF,lbTo) w "NewFrom="_NewF,! + */ + + +TBoxSendMail + #define CSPPage ##class(%CSP.Page) + #define EMailValid(%v) (%v?.E1"@".E1".".E)&&($L(%v,"@")=2) + // E-mail adressen zijn gedefinieerd in APPS.TBXWeb.EMailAdressen.inc + + + // handle submit of form! + ;Set wsID=$$DataFromRqOrSes^cspBasis.Library("WSID") + ;Set KLNr=$$DataFromRqOrSes^cspBasis.Library("KLNR") + New ServerPrefix,lbWSErrs,blnOFFToBBON + Set ServName=$$GetURLDomain^cspBasis.Library + Set sComments=$$$Trim($G(%request.Data("COMMENTS",1),"")) + Set PageURL=%request.URL + Set PageDomain=$P($P(PageURL,"://",2),"/",1) ; tussen "http://" en de volgende "/" + Set SubPath=PageURL + Set:($L(PageDomain)) SubPath=$P(PageURL,PageDomain,2) + Set SubPath=$P(SubPath,"/",1,$L(SubPath,"/")-1) + + Set ok = 0 + Set errmsg = "" + Set:($L(wsID)) WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + If '$G(WSOrd) Do Quit + . Set errmsg = "The wsID is not valid" + If $L(PageDomain)&&$L(WSOrd.WebDomain)&&(WSOrd.WebDomain'=PageDomain) Do Quit + . Set errmsg = "The domain does not match the corresponding value in the order." + // Else: + Set OrderbevEmail=$G(%request.Data("EMAILORDERBEVESTIGING",1)) + Set LevTOms=$G(%request.Data("LEVERTIJD",1)) + Set LevDatum=$G(%request.Data("LEVERTIJDID",1)) + Set:($IsValidNum(LevDatum)) LevTOms=$$$Replace(LevTOms,"?"," ") ; Added by WimV on 13/01/2010 - reason: Form submit converts   and "�"-characters to "?" + Set:(LevDatum="ASAP")&&(LevTOms["ussit?t") LevTOms=$$$Replace(LevTOms,"ussit?t","ussitot") ; Added by WimV on 05/02/2010 - reason: Form submit converts   and "�"-characters to "?" + Set:($L(OrderbevEmail)) WSOrd.KLEMail=OrderbevEmail + Set:($L(LevTOms)) WSOrd.LeverTijd=LevTOms + Set:($L(LevDatum)) WSOrd.LeverTijdID=LevDatum + ;Set:($L(LevDatum))&&(LevTOms="") WSOrd.LeverTijd=LevDatum + ;Set:($D(%request.Data("LEVERTIJD"))) WSOrd.LeverTijd=$G(%request.Data("LEVERTIJD",1)) + Set:($L(sComments)) WSOrd.Opmerking1=sComments + Set sc=WSOrd.%Save() + Set blnOFFToBBON=(WSOrd.BonType="OFF")&&($G(%request.Data("OFFTOBBON",1))=1) + Set blnViaNewImplementation=(sDomVERW?1(1"SFS",1"MBHO")) ; SFS en MBHolland gebruiken de nieuwe implementatie van APPS.TBXWeb.OrderHandling + If (blnOFFToBBON)&&('blnViaNewImplementation) Do ; Status OFF change to BBON + . Set WSOrd.BonType="BBON" + + Do tsmDetectWSErrors ; vult lbWSErrs in als er fouten zijn + // invoke Send Mail code + If sMode="PROCESS" Do + . Quit:(blnViaNewImplementation) + . Do tsmMailFldsDomainToVHEPN + . Set WSOrd.BonType="INKP" + Else If sDomVERW="HEIN" Do + . Do tsmMailFldsHEIN + Else If sDomVERW="LMC" Do + . Do tsmMailFldsLMC + Else If sDomVERW="DUPO" Do + . Do tsmMailFldsDUPO + Else If sDomVERW="HELMY" Do + . Do tsmMailFldsHELMY + Else If sDomVERW="HFLE" Do + . Do tsmMailFldsHFLE + Else If sDomVERW="SFS" Do + . Do tsmMailFldsSFS + Else If sDomVERW="MBHO" Do + . ;Do tsmMailFldsMBHO + Else Do + . Do tsmMailFldsVHEPN + Set BodyIsStream=0 + + If blnViaNewImplementation Do + . New OHShop,OHRequester + . Set OHShop=$S(sMode="PROCESS":"VHEPN", 1:sDomVERW) + . Set OHRequester=sDomVERW + . if ( sDomVERW="SFS" ) && ( WSOrd.KLNummer?1(1"10001",1"10002") ) set sc=$$$OK quit ; SFS test gebruikers + . Set sc = ##class(APPS.TBXWeb.OrderHandling).Order(WSOrd.%Id(),OHShop,OHRequester) + // anders bestaande code + Else Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,BodyIsStream) + + If (sDomVERW="LMC")&&(''sc) Do + . Do WSOrd.AddToSubmitToVHLog("1") + . Do tsmAddToLog + . ; Send Extra mail: send copy to OPTIMA + . Do tsmMailFldsLMCToOPTIMA + . Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,BodyIsStream) + /* + If (sDomVERW="SFS")&&(''sc) Do + . Do WSOrd.AddToSubmitToVHLog("1") + . Do tsmAddToLog + . ; Send Extra mail: send copy to SFS + . Do tsmMailFldsSFSToSFS + . Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,BodyIsStream) + */ + If $$$ISERR(sc) Do + . Set errmsg=$$ParseStatus^vhLib(sc)_" From="_From + . Set MInfo="ERROR" + Else Do + . Set errmsg="" + . Set ok=1 + . Do:('blnViaNewImplementation) tsmUpdateWSOrd + Set WSOrd="" + Do tsmAddToLog + Quit + +tsmDetectWSErrors + New i,WSLn + Set lbWSErrs="" + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . Set:(WSLn.KostPrijs["ERROR") lbWSErrs=lbWSErrs_$LB(i) + Quit +tsmUpdateWSOrd + New sc + If sMode="PROCESS" Do + . Set MInfo="TO_VHEPN" + . Set:($G(blnOFFToBBON)) WSOrd.SubmitTS=$ZDT($H,3) + . Do WSOrd.AddToSubmitToVHLog("1") + Else Do + . Set WSOrd.SubmitTS=$ZDT($H,3) + Set sc=WSOrd.%Save() + Quit +tsmMailFldsDomainToVHEPN + Set From=$CASE(sDomVERW, "HELMY":$$$EMailAKHelmY, "SFS":$$$EMailAKSfs, "MBHO":$$$EMailAKMbho, "HFLE":$$$EMailAKHfle, "DUPO":$$$EMailAKDupo, :$$$EMailAKUnknown) + +#If $ZCVT($ZUTIL(110),"U")["WWW" + Set lbTo=$S(sDomVERW="SFS":$LB($$$EMailOVSfs2VH), 1:$LB("OV_TBX_KLANT@vanhoecke.be")) _ $S(sDomVERW'?1(1"HELMY",1"SFS",1"DUPO"):$LB("ICT_SupportTBX@vanhoecke.be"), 1:"") + Set ServerPrefix="" + ; temporary, until development finished + ;if sDomVERW="SFS" Set lbTo=$LB("ICT_SupportTBX@vanhoecke.be") ; TEST FASE : overruled normale bestemming +#Else + Set lbTo=$LB("""OV_TBX_KLANT"" ") + Set ServerPrefix="["_$ZCVT($ZUTIL(110),"U")_"] " +#EndIf + Set sBonType="Doorbestelling" ; $CASE(WSOrd.BonType, :"") + Set Subject=ServerPrefix_"TBox - "_sBonType_" - "_$ZDT($H,4)_"" + Set Body="" + Set Body=Body_"*** OPGELET: Deze e-mail en onderstaande URL zijn alleen voor intern gebruik bedoeld ***"_$C(13,10) + Set Body=Body_$C(13,10) + Set Body=Body_"WEB AANVRAAG TANDEMBOX: "_$C(13,10) + Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=N&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"VHEPN",wsID,"PROCESS")))_" ["_KLNr_"\VHEPN\"_wsID_"\PROCESS]"_$C(13,10) + Set Body=Body_""_$C(13,10) + Do tsmMailFldsExtraN + Set Body=Body_"--- End of message ---"_$C(13,10) + Set BodyIsStream=0 + Quit + +tsmMailFldsHEIN + ;Set From=$S($$$EMailValid(WSOrd.KLEMail):$S($L(WSOrd.KLNaam):""""_WSOrd.KLNaam_""" ", 1:"")_"<"_WSOrd.KLEMail_">", 1:""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailAnon2Hein_">") + Set From=""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailFrom2Any_">" +#If $ZCVT($ZUTIL(110),"U")["WWW" + Set lbTo=$LB($$$EMailOVHein) ; """HEIN OV."" <$$$EMailOVHein>" + Set ServerPrefix="" +#Else + Set lbTo=$LB($$$EMailOVHeinTEST) ; """HEIN OV."" <$$$EMailOVHeinTEST>" + Set ServerPrefix="["_$ZCVT($ZUTIL(110),"U")_"] " +#EndIf + Set sBonType=$CASE(WSOrd.BonType, "OFFAV":"Anfrage/Angebot", "OFF":"Angebot", "BBON":"Auftrag", "INKP":"INKP", :"") + Set Subject=ServerPrefix_"TBox - "_sBonType_" - "_$ZDT($H,4)_"" + Set Body="" + ;Set Body=Body_"*** ATTENTION: This e-mail and the URL below are for internal use ONLY ***"_$C(13,10) + ;Set Body=Body_$C(13,10) + Set Body=Body_"ANFRAGE WEB TANDEMBOX: "_$C(13,10) + Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=D&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"HEIN",wsID,"PROCESS")))_" ["_KLNr_"\HEIN\"_wsID_"\PROCESS]"_$C(13,10) + Set Body=Body_""_$C(13,10) + Do tsmMailFldsExtraD + Set Body=Body_"--- End of message ---"_$C(13,10) + Set BodyIsStream=0 + Quit +tsmMailFldsDUPO + ;Set From=$S($$$EMailValid(WSOrd.KLEMail):$S($L(WSOrd.KLNaam):""""_WSOrd.KLNaam_""" ", 1:"")_"<"_WSOrd.KLEMail_">", 1:""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailAnon2Dupo_">") + Set From=""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailFrom2Any_">" +#If $ZCVT($ZUTIL(110),"U")["WWW" + Set lbTo=$LB($$$EMailOVDupo) ; """Du Pont OV."" <$$$EMailOVDupo>" + Set ServerPrefix="" +#Else + Set lbTo=$LB($$$EMailOVDupoTEST) ; """Du Pont OV."" <$$$EMailOVDupoTEST>" + Set ServerPrefix="["_$ZCVT($ZUTIL(110),"U")_"] " +#EndIf + Set sBonType=$CASE(WSOrd.BonType, "OFFAV":"OfferteAanvraag", "OFF":"Offerte", "BBON":"Bestelbon", "INKP":"INKP", :"") + Set Subject=ServerPrefix_"TBox - "_sBonType_" - "_$ZDT($H,4)_"" + Set Body="" + Set Body=Body_"*** OPGELET: Deze e-mail en onderstaande URL zijn alleen voor intern gebruik bedoeld ***"_$C(13,10) + Set Body=Body_$C(13,10) + Set Body=Body_"WEB AANVRAAG TANDEMBOX: "_$C(13,10) + Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=N&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"DUPO",wsID,"PROCESS")))_" ["_KLNr_"\DUPO\"_wsID_"\PROCESS]"_$C(13,10) + Set Body=Body_""_$C(13,10) + Do tsmMailFldsExtraN + Set Body=Body_"--- End of message ---"_$C(13,10) + Set BodyIsStream=0 + Quit +tsmMailFldsHELMY + ;Set From=$S($$$EMailValid(WSOrd.KLEMail):$S($L(WSOrd.KLNaam):""""_WSOrd.KLNaam_""" ", 1:"")_"<"_WSOrd.KLEMail_">", 1:""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailAnon2HelmY_">") + Set From=""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailFrom2Any_">" +#If $ZCVT($ZUTIL(110),"U")["WWW" + Set lbTo=$LB($$$EMailOVHelmY,$$$EMailOVHelmY02) ; """Helmond OV."" <$$$EMailOVHelmY>" + Set ServerPrefix="" +#Else + Set lbTo=$LB($$$EMailOVHelmYTEST) ; """Helmond OV."" <$$$EMailOVHelmYTEST>" + Set ServerPrefix="["_$ZCVT($ZUTIL(110),"U")_"] " +#EndIf + Set sBonType=$CASE(WSOrd.BonType, "OFFAV":"OfferteAanvraag", "OFF":"Offerte", "BBON":"Bestelbon", "INKP":"Inkooporder", :"") + Set Subject=ServerPrefix_"TBox - "_sBonType_" - "_$ZDT($H,4)_"" + Set Body="" + Set Body=Body_"*** OPGELET: Deze e-mail en onderstaande URL zijn alleen voor intern gebruik bedoeld ***"_$C(13,10) + Set Body=Body_$C(13,10) + Set Body=Body_"WEB AANVRAAG TANDEMBOX: "_$C(13,10) + Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=N&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"HELMY",wsID,"PROCESS")))_" ["_KLNr_"\HELMY\"_wsID_"\PROCESS]"_$C(13,10) + Set Body=Body_""_$C(13,10) + Do tsmMailFldsExtraN + Set Body=Body_"--- End of message ---"_$C(13,10) + Set BodyIsStream=0 + Quit +tsmMailFldsHFLE + ;Set From=$S($$$EMailValid(WSOrd.KLEMail):$S($L(WSOrd.KLNaam):""""_WSOrd.KLNaam_""" ", 1:"")_"<"_WSOrd.KLEMail_">", 1:""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailAnon2Hfle_">") + Set From=""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailFrom2Any_">" +#If $ZCVT($ZUTIL(110),"U")["WWW" + Set lbTo=$LB($$$EMailOVHfle) ; """Hafele OV."" <$$$EMailOVHfle>" + Set ServerPrefix="" +#Else + Set lbTo=$LB($$$EMailOVHfleTEST) ; """Hafele OV."" <$$$EMailOVHfleTEST>" + Set ServerPrefix="["_$ZCVT($ZUTIL(110),"U")_"] " +#EndIf + Set sBonType=$CASE(WSOrd.BonType, "OFFAV":"OfferteAanvraag", "OFF":"Offerte", "BBON":"Bestelbon", "INKP":"Inkooporder", :"") + Set Subject=ServerPrefix_"TBox - "_sBonType_" - "_$ZDT($H,4)_"" + Set Body="" + Set Body=Body_"*** OPGELET: Deze e-mail en onderstaande URL zijn alleen voor intern gebruik bedoeld ***"_$C(13,10) + Set Body=Body_$C(13,10) + Set Body=Body_"WEB AANVRAAG TANDEMBOX: "_$C(13,10) + Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=N&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"HFLE",wsID,"PROCESS")))_" ["_KLNr_"\HFLE\"_wsID_"\PROCESS]"_$C(13,10) + Set Body=Body_""_$C(13,10) + Do tsmMailFldsExtraN + Set Body=Body_"--- End of message ---"_$C(13,10) + Set BodyIsStream=0 + Quit +tsmMailFldsLMC + Do tsmMailFldsLMCToVHEPN + Set WSOrd.BonType="INKP" + Quit +tsmMailFldsLMCToVHEPN + Do tsmMailFldsLMCToDest("VHEPN") + Quit +tsmMailFldsLMCToOPTIMA + Do tsmMailFldsLMCToDest("OPTIMA") + Quit +tsmMailFldsLMCToDest(dest) + Set From=""""_$S(dest="VHEPN":"[OPTIMA] ",1:"")_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailAnon2LMC_">" +#If $ZCVT($ZUTIL(110),"U")["WWW" + If dest="VHEPN" Do + . Set lbTo=$LB($S((WSOrd.KLNummer<1000)||(WSOrd.KLNaam="ClientTest"):$$$EMailOVLMC2VHTEST, 1:$$$EMailOVLMC2VH)) ; ,"ICT_SupportTBX@vanhoecke.be") + Else Do + . Set lbTo=$LB($$$EMailOVLMC) ; """LMC OV."" <$$$EMailOVLMC>" + Set ServerPrefix="" +#Else + If dest="VHEPN" Do + . Set lbTo=$LB($$$EMailOVLMC2VHTEST) ; """LMC VH-OV."" <$$$EMailOVLMC2VHTEST>" + Else Do + . Set lbTo=$LB($$$EMailOVLMCTEST) ; """OPTIMA OV."" <$$$EMailOVLMCTEST>" + Set ServerPrefix="["_$ZCVT($ZUTIL(110),"U")_"] " +#EndIf + Set sBonType=$CASE(WSOrd.BonType, "OFFAV":"Demande d'offre", "OFF":"Offre", "BBON":"Commande", "INKP":"Commande", :"") + Set sKlant=$S(KLNr="":"[inconnue]", 1:WSOrd.KLNaam) + Set Subject=ServerPrefix_"TBox - "_sBonType_" - "_sKlant + Set Body="" + If dest="VHEPN" Do + . Set Body=Body_"*** ATTENTION: Ce e-mail et le URL ci-dessous sont exclusivement pour l'usage interne ***"_$C(13,10) + . Set Body=Body_$C(13,10) + Set Body=Body_"INTERNET COMMANDE TANDEMBOX: "_$C(13,10) + If dest="VHEPN" Do + . Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=N&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"VHEPN",wsID,"PROCESS")))_" ["_KLNr_"\VHEPN\"_wsID_"\PROCESS]"_$C(13,10) + Else Do + . Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=F&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"LMC",wsID,"VIEW")))_" ["_KLNr_"\LMC\"_wsID_"\VIEW]"_$C(13,10) + Set Body=Body_""_$C(13,10) + Do tsmMailFldsExtraF + Set Body=Body_"--- End of message ---"_$C(13,10) + Set BodyIsStream=0 + Quit + +tsmMailFldsSFS + Quit + // SFS en MBHolland gebruiken de nieuwe implementatie van APPS.TBXWeb.OrderHandling + +tsmMailFldsMBHO + $$$ThrowError($$$errGeneralError,"OrderHandling via Old method is disabled. OrderHandling must use new implementation.") + Quit + + +tsmMailFldsVHEPN + ;Set From=$S($$$EMailValid(WSOrd.KLEMail):$S($L(WSOrd.KLNaam):""""_WSOrd.KLNaam_""" ", 1:"")_"<"_WSOrd.KLEMail_">", 1:""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" ") + Set From=""""_$S($L(WSOrd.KLNaam):WSOrd.KLNaam, 1:"Anonymous")_""" <"_$$$EMailFrom2Any_">" + ;Set lbTo=$LB($S(KLNr="7833":"OV_TBX_HEIN@vanhoecke.be", KLNr>0:"OV_TBX_KLANT@vanhoecke.be", 1:"OV_TBX_ANON@vanhoecke.be")) +#If $ZCVT($ZUTIL(110),"U")["WWW" + Set lbTo=$LB($S(KLNr="7833":"OV_TBX_HEIN@vanhoecke.be", KLNr="6279":"OV_TBX_OPTIMA@vanhoecke.be", KLNr="1759":"OV_TBX_OPTIMA@vanhoecke.be", KLNr="12486":$$$EMailOVSfs2VH, KLNr>0:"OV_TBX_KLANT@vanhoecke.be", 1:"OV_TBX_ANON@vanhoecke.be")) + Set ServerPrefix="" +#Else + Set lbTo=$LB(""""_$S(KLNr="7833":"OV_TBX_HEIN", KLNr="6279":"OV_TBX_OPTIMA", KLNr="1759":"OV_TBX_OPTIMA", KLNr="12486":"OV_TBX_SFS", KLNr>0:"OV_TBX_KLANT", 1:"OV_TBX_ANON")_""" ") + Set ServerPrefix="["_$ZCVT($ZUTIL(110),"U")_"] " +#EndIf + Set sBonType=$CASE(WSOrd.BonType, "OFFAV":"OfferteAanvraag", "OFF":"Offerte", "BBON":"Bestelbon", "INKP":"INKP", :"") + Set sKlant=$S(KLNr="":"[Niet aangemeld]", 1:WSOrd.KLNaam) + Set Subject=ServerPrefix_"TBox - "_sBonType_" - "_sKlant + Set Body="" + Set Body=Body_"*** OPGELET: Deze e-mail en onderstaande URL zijn alleen voor intern gebruik bedoeld ***"_$C(13,10) + Set Body=Body_$C(13,10) + Set Body=Body_"WEB AANVRAAG TANDEMBOX: "_$C(13,10) + Set Body=Body_" "_("http://"_ServName_SubPath_"/"_"Main.csp?Taal=N&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"VHEPN",wsID,"PROCESS")))_" ["_KLNr_"\VHEPN\"_wsID_"\PROCESS]"_$C(13,10) + ;Set Body=Body_" "_$$$CSPPage.Link("http://"_ServName_SubPath_"/"_"Main.csp?Taal=N&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,"VHEPN",wsID,"PROCESS")))_" ["_KLNr_"\VHEPN\"_wsID_"\PROCESS]"_$C(13,10) + Set Body=Body_""_$C(13,10) + Do tsmMailFldsExtraN + Set Body=Body_"--- End of message ---"_$C(13,10) + Set BodyIsStream=0 + Quit +tsmMailFldsExtraN + If $LL(lbWSErrs) Do + . Set Body=Body_"OPGEPAST: **** Fouten bij ingave ****"_$C(13,10) + . Set Body=Body_" Ongeldige data op lijn(en) "_$$$LCVT(lbWSErrs)_$C(13,10) + . Set Body=Body_""_$C(13,10) + If $L($$$Trim(sComments)) Do + . Set Body=Body_"Bijkomende opmerkingen:"_$C(13,10) + . Set Body=Body_sComments_$C(13,10) + . Set Body=Body_""_$C(13,10) + Set Body=Body_""_$C(13,10) + Set Body=Body_" [ Aangemaakt op "_$ZDT($H,4)_" ] "_$C(13,10) + Quit +tsmMailFldsExtraF + If $LL(lbWSErrs) Do + . Set Body=Body_"ATTENTION: **** Des erreurs dans les donn�es ****"_$C(13,10) + . Set Body=Body_" Donn�es non-valables sur les ligne(s) "_$$$LCVT(lbWSErrs)_$C(13,10) + . Set Body=Body_""_$C(13,10) + If $L($$$Trim(sComments)) Do + . Set Body=Body_"Remarques additionelles:"_$C(13,10) + . Set Body=Body_sComments_$C(13,10) + . Set Body=Body_""_$C(13,10) + Set Body=Body_""_$C(13,10) + Set Body=Body_" [ Created on "_$ZDT($H,4)_" ] "_$C(13,10) ; Cr�� le + Quit +tsmMailFldsExtraE + If $LL(lbWSErrs) Do + . Set Body=Body_"CAUTION: **** Data entry contains errors ****"_$C(13,10) + . Set Body=Body_" Invalid data on following line(s): "_$$$LCVT(lbWSErrs)_$C(13,10) + . Set Body=Body_""_$C(13,10) + If $L($$$Trim(sComments)) Do + . Set Body=Body_"Additional comments:"_$C(13,10) + . Set Body=Body_sComments_$C(13,10) + . Set Body=Body_""_$C(13,10) + Set Body=Body_""_$C(13,10) + Set Body=Body_" [ Created on "_$ZDT($H,4)_" ] "_$C(13,10) + Quit +tsmMailFldsExtraD + If $LL(lbWSErrs) Do + . Set Body=Body_"BEACHTUNG: **** Fehler an der Dateneingabe ****"_$C(13,10) + . Set Body=Body_" Invalid data at row(s) "_$$$LCVT(lbWSErrs)_$C(13,10) + . Set Body=Body_""_$C(13,10) + If $L($$$Trim(sComments)) Do + . Set Body=Body_"Weitere Bemerkungen/Zus�tzliche Notizen:"_$C(13,10) + . Set Body=Body_sComments_$C(13,10) + . Set Body=Body_""_$C(13,10) + Set Body=Body_""_$C(13,10) + Set Body=Body_" [ Created on "_$ZDT($H,4)_" ] "_$C(13,10) + Quit + +tsmAddToLog + New sDomain,lbExtras,MailTo + Set MailTo=$TR($$$LCVT($G(lbTo)),"""","") + Set:(MailTo?1"(".E1")") MailTo=$E(MailTo,2,$L(MailTo)-1) + Set lbExtras="" + Set:($L($G(From))) lbExtras=lbExtras_$LB("MailFrom="_$TR(From,"""","")) + Set:($L($G(lbTo))) lbExtras=lbExtras_$LB("MailTo="_MailTo) + Set:($L($G(sComments))) lbExtras=lbExtras_$LB("MailComment="_sComments) + Set:($L($G(errmsg))) lbExtras=lbExtras_$LB("Msg="_errmsg) + Do ##class(cspBasis.GAProdTBox).AddToLog("MAIL_SEND",ServName,$G(KLNr),$G(MInfo),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) + ;Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,Domain,KLNr,WizMode,wsID,Verwerker,Taal,VhisieLogin,lbExtras) + Quit + + + // Test routine voor het manueel zenden van Submit-order mails + // WSOrd is Object of objID + // + // Oproepen via w $$ManualMail^csp.vhisie.TBX.MailResult.tmpDev +ManualMail(WSOrd,sDomVERW,sMode,KLNr,sComments,blnTestTo) + New wsID,From,lbTo,Subject,Body,BodyIsStream,ServName,SubPath,ReplyTo + Do mmlGetOrder + Quit:('$IsObject(WSOrd)) 0 + Do mmlSetDefaults + Do mmlSetMailParams + Set lbTo=lbTo_$LB("wv@vanhoecke.be") + Set:($G(blnTestTo)) lbTo=$LB("wv@vanhoecke.be") + Set ReplyTo="wv@vanhoecke.be" ; is enkel informatief, n.v.t. bij delivery-reports + Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,BodyIsStream,,,,,$G(ReplyTo)) + Quit $S($$$ISOK(sc):"Mail sent", 1:$$ParseStatus^vhLib(sc)) +mmlSetDefaults + Set sDomVERW=$G(sDomVERW,"VHEPN") + Set sMode=$G(sMode,"COMPLETE") + Set:$G(KLNr)="" KLNr=WSOrd.KLNummer + Set ServName=WSOrd.WebDomain + Set SubPath="/VHISIE/TBX" + Set sComments=$G(sComments,"") + Set %request="" + Quit +mmlGetOrder + If $IsObject(WSOrd) Do + . Set wsID=WSOrd.%Id() + Else Do + . Set wsID=WSOrd + . Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + Quit +mmlSetMailParams + Do tsmDetectWSErrors ; vult lbWSErrs in als er fouten zijn + // invoke Send Mail code + If sMode="PROCESS" Do + . Do tsmMailFldsDomainToVHEPN + . ;Set WSOrd.BonType="INKP" + Else If sDomVERW="HEIN" Do + . Do tsmMailFldsHEIN + Else If sDomVERW="LMC" Do + . Do tsmMailFldsLMC + Else If sDomVERW="DUPO" Do + . Do tsmMailFldsDUPO + Else If sDomVERW="HELMY" Do + . Do tsmMailFldsHELMY + Else If sDomVERW="HFLE" Do + . Do tsmMailFldsHFLE + Else If sDomVERW="SFS" Do + . Do tsmMailFldsSFS + Else If sDomVERW="MBHO" Do + . Do tsmMailFldsMBHO + Else Do + . Do tsmMailFldsVHEPN + Set BodyIsStream=0 + Quit + \ No newline at end of file Index: DW/WWW/StaticHPH.cls.xml =================================================================== diff -u --- DW/WWW/StaticHPH.cls.xml (revision 0) +++ DW/WWW/StaticHPH.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + + +Statische gegevens voor website statistieken te tonen in webpagina (Hits Per Hoofdgroep) +persistent +1 +%Persistent +0 + + +%Integer + + + +%String + + + +%String + + + +%Library.CacheStorage +^DW.WWW.StaticHPHD +StaticHPHDefaultData +^DW.WWW.StaticHPHD +^DW.WWW.StaticHPHI +^DW.WWW.StaticHPHS + +listnode + + +%%CLASSNAME + + +Aantal + + +Categorie + + +Site + + + + + Index: _vhisie/TBX/PreventRefresh.js =================================================================== diff -u --- _vhisie/TBX/PreventRefresh.js (revision 0) +++ _vhisie/TBX/PreventRefresh.js (revision 2) @@ -0,0 +1,96 @@ +var MsgOnF5 = false; +var MsgOnBSpace = true; +var MsgOnUnload = false; +var MsgOnUnload_Force = "auto"; // possible values : "auto" [default], "always", "never" + +var KeyF5 = 116; +var KeyBSpace = 8; + +function evtOnKeyDown_IE() { + if (event.keyCode==KeyF5 && MsgOnKeyF5()) { + if (confirm ("Refreshing will delete all input data. Continue ?")) { + MsgOnUnload=false; + return true; + } + // else : + event.keyCode = 0; + event.cancelBubble = true; + event.returnValue = false; + return false; + }else if (event.keyCode==KeyBSpace && MsgOnKeyBSpace()) { + var Sender=event.srcElement; + if (Sender && Sender.tagName.toUpperCase()=="INPUT" && "text;password;file".indexOf(Sender.type.toLowerCase()) > -1) return true; + else if (Sender && Sender.tagName.toUpperCase()=="TEXTAREA") return true; + + if (false && alert ("This function key is not available in this application.") && false) { + MsgOnUnload=false; + return true; + } + // else : + event.keyCode = 0; + event.cancelBubble = true; + event.returnValue = false; + return false; + } + return true; +} + +function evtOnKeyDown_NN(evnt) { + var event=evnt; + if (event.which==KeyF5 && MsgOnKeyF5()) { + if (confirm ("Refreshing will delete all input data. Continue ?")) { + MsgOnUnload=false; + return true; + } + // else : + alert(5); + event.preventDefault(); + event.stopPropagation(); + return false; + } + return true; +} + +function evtBeforeUnload() { + if (! MsgBfUnload()) return; // Unload WITHOUT warning the user + // else : + var msg="Hier zet ik wat ik maar wil !"; + return msg; +} + +function MsgOnKeyF5() { + return MsgOnF5; +} +function MsgOnKeyBSpace() { + return MsgOnBSpace; +} +function MsgBfUnload() { + if (MsgOnUnload_Force=="never") return false; + else if (MsgOnUnload_Force=="always") return true; +// else if (MsgOnUnload_Force="auto") { } + else { + return MsgOnUnload; + } +} + +function setEventKeyDown() { + if (isIE()) { + document.onkeydown = evtOnKeyDown_IE; + }else if (navigator.appName=="Netscape") { +// document.onkeydown = evtOnKeyDown_NN; + } +} +function setEventBeforeUnload(on) { + if (isIE()) { + window.onbeforeunload = (on ? evtBeforeUnload : null); + }else if (navigator.appName=="Netscape") { +// window.onbeforeunload = (on ? evtBeforeUnload : null); + } +} + +function initEvents() { + setEventKeyDown(); + setEventBeforeUnload (MsgOnUnload); +} + +initEvents(); Index: WS/TBX/SFS/ConfirmOrderResult.cls.xml =================================================================== diff -u --- WS/TBX/SFS/ConfirmOrderResult.cls.xml (revision 0) +++ WS/TBX/SFS/ConfirmOrderResult.cls.xml (revision 2) @@ -0,0 +1,30 @@ + + + +1 +%XML.Adaptor,%RegisteredObject +0 + + +%Integer +1 + + + +%Integer +1 + + + +edinr:%Integer,proddays:%Integer +1 +1 +%Status + + + + Index: XMLWRITE.mac.rou =================================================================== diff -u --- XMLWRITE.mac.rou (revision 0) +++ XMLWRITE.mac.rou (revision 2) @@ -0,0 +1,39 @@ +TAGWRITE(DevObj,Tag,Val,Param1,Param2,Param3,Param4,Param5) ; Compiled January 30, 2001 08:46:28 + Do BEGINTAG(DevObj,Tag,$G(Param1),$G(Param2),$G(Param3),$G(Param4),$G(Param5)) + Do WRITE(DevObj,Val) + Do ENDTAG(DevObj,Tag) + Quit +TAGONLY(DevObj,Tag,Param1,Param2,Param3,Param4,Param5) + New String,I + Set String="<"_Tag + For I=1:1:5 Set String=String_$S($L($G(@("Param"_I))):" "_@("Param"_I),1:"") + Set String=String_" />" + Do WRITE(DevObj,String) + Quit +BEGINTAG(DevObj,Tag,Param1,Param2,Param3,Param4,Param5) + New String,I + Set String="<"_Tag + For I=1:1:5 Set String=String_$S($L($G(@("Param"_I))):" "_@("Param"_I),1:"") + Set String=String_">" + Do WRITE(DevObj,String) + Set xmlLevel=$G(xmlLevel)+1 + Quit +ENDTAG(DevObj,Tag,WriteLn) + Set xmlLevel=$G(xmlLevel)-1 + Do WRITE(DevObj,"") + Do:$G(WriteLn) WRITELN(DevObj) + Quit + +WRITELN(DevObj) + Do WRITE(DevObj,$C(13)_$C(10)) + Quit + +WRITE(DevObj,String) + ;If 'DevObj Write $J("",$G(xmlLevel)*2),String,! Quit + If 'DevObj Write String Quit + Do DevObj.Write(String) + Quit + +PARAMFILL(Param,Data) + Quit:Data="" "" + Quit Param_"="""_Data_"""" \ No newline at end of file Index: cspBasis/GAProdTBox/tmpDev.mac.rou =================================================================== diff -u --- cspBasis/GAProdTBox/tmpDev.mac.rou (revision 0) +++ cspBasis/GAProdTBox/tmpDev.mac.rou (revision 2) @@ -0,0 +1,387 @@ +#include %occInclude +#include PRGACNTs + +InitSOAPTest() + s %request=##class(%CSP.Request).%New() + s %request.URL="http://www.tandem-box.com/VHISIE/TBX/TestByWimV" + s %session=##class(%CSP.Session).GetSession("1234") + ;s kl=##class(cspBasis.GAProd.TBox).GetKlantData("VHEPN",4645) w kl,! + ;d $system.OBJ.Dump(kl) + Quit + + +StdLadeArray(KLNr,arStdL) ; Parameters:KLNr,arStdL (arStdL als .local doorgeven) + Kill arStdL + New wsID,WSOrd,i,tmpAr,arWSStdL,arMDRow,lbNoMatch,MatchResult,node,NoMTransl + Set wsID=##class(cspBasis.GAProdTBox).WSOrderIDStdLadeViaKLNr(KLNr) + Set WSOrd="" + Set:($L(wsID)) WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + Set:('WSOrd) arStdL=##class(cspBasis.GAProdTBox).WebTextValue("StdLNoVERW",Taal,"O")_"." ; "Geen Standaard Laden (uit stock) voor deze verwerker." + Quit:('WSOrd) + Do WSOrd.DataArrayFromWS(.arWSStdL) + Merge arInit2=arInits("LN",1) + Set lbNoMatch="" + Do stlExcludeNotAppl + Set WSOrd="" ; Close + ;d WL^vhDBG($$ArrayToText^vhLib("arInit2")) + ;d WL^vhDBG($$ArrayToText^vhLib("arWSStdL")) + Set i="" + For Set i=$O(arWSStdL("LN",i)) Quit:(i="") Do + . Quit:(($G(arWSStdL("LN",i,"LT"))="") || ($G(arWSStdL("LN",i,"LIJNNR"))="")) + . Merge arMDRow=arWSStdL("LN",i) + . Set MatchResult=$$stlCompareCriteria(.arMDRow,.arInit2) + . If 'MatchResult Do Quit + .. Set NoMTransl=##class(cspBasis.GAProdTBox).WebTextValue($P(MatchResult," ",1),Taal,"L")_$S($L(MatchResult," ")>1:" "_$P(MatchResult," ",2,999) , 1:"") + .. Set:($LF(lbNoMatch,NoMTransl)=0) lbNoMatch=lbNoMatch_$LB(NoMTransl) + .. ;Set:($LF(lbNoMatch,MatchResult)=0) lbNoMatch=lbNoMatch_$LB(MatchResult) + . ; Else + . Set:($G(arMDRow("FB"))="") arMDRow("FB")=arInit2("FB") + . Kill tmpAr + . Set tmpAr=i + . Set tmpAr("KOL",1)=##class(cspBasis.GAProdTBox).PDLFromMDRow(.arMDRow) + . Set MatchResult=$$CompareFull(.arMDRow,.arInit2) ; OPGELET: CompareFull haalt nodes weg uit arMDRow + . If MatchResult=1 Do + .. Set tmpAr("SEL")=1 ; Deze lijn komt volledig overeen met de StdL-lijn. + . Else Do + .. ;Set node=$P(MatchResult,"-",1) + .. ; d WL^vhDBG("Row "_i_" Nd:"_node_" --> "_arMDRow(node)_" ?= "_arInit2(node)) + . Merge arStdL(arMDRow("LT")_"\"_arMDRow("BX"),arMDRow("CB"),arMDRow("DK"))=tmpAr + If $D(arStdL)<10 Do ; No SubNodes + . Set arStdL=##class(cspBasis.GAProdTBox).WebTextValue("StdLNoCrit",Taal,"O")_":" ; "Geen Standaard Laden (uit stock) voor de gekozen waarden:" + . Set:($L(lbNoMatch)) arStdL=arStdL_$$$CRLF_$$LCVTXTD^vhLib(lbNoMatch," / ",,0) + Quit +stlExcludeNotAppl + New i,FBVal,blnFBisNA + Set FBVal=$G(arInit2("FB")) ; $G(arInit2("KLR","FB")) + Quit:(FBVal="") + Set blnFBisNA=0 + Set i="" + For Set i=$O(arWSStdL("LN",i)) Quit:(i="") Do + . If (WSOrd.Lijnen.GetAt(i).AddPrs.GetAt("FB_"_FBVal)="N/A") Do + .. Kill arWSStdL("LN",i) ; StdL not applicable for FB=FBVal + .. Set blnFBisNA=1 + Set:(blnFBisNA) lbNoMatch=lbNoMatch_$LB(##class(cspBasis.GAProdTBox).WebTextValue("Frontbevestiging",Taal,"L")) + Quit +stlCompareCriteria(arMDRow,arInit2) + Quit:($G(arInit2("LT"))'="")&&(arMDRow("LT")'=arInit2("LT")) "Ladetype" ; 0 ; Check LadeType + ;Quit:($G(arInit2("CB"))'="")&&(arMDRow("CB")'=arInit2("CB")) "CB" ; 0 ; Check LadeType + New node,blnEqual + Set blnEqual=1 + Set node="" + For Set node=$O(arInit2("KLR",node)) Quit:(node="") Do:(node'?1(1"FB",1"KV")) Quit:('blnEqual) + . If arInit2("KLR",node)'=$G(arMDRow("KLR",node)) Set blnEqual="Kleurkeuze ["_node_"]" ; 0 ; Check KleurKeuze + Quit blnEqual + +CompareFull(arMDRow,arMatchLn) + // arMDRow is a row of the full arWSData array. + // Compares all the node's values with the values of the arMatchLn array (except those specified in lbSkipNodes/Subnodes) + // ATTENTION : CompareFull removes nodes from the arMDRow array !!! + New blnEqual,node,sn + Do cpfRemoveNodes + Set blnEqual=1 + Set node="" + For Set node=$O(arMDRow(node)) Quit:(node="") Do Quit:('blnEqual) + . If $D(arMDRow(node))'=10 Do ; $D() = 01 or 11 + .. Set:(arMDRow(node)'=$G(arMatchLn(node))) blnEqual=node + . Else Do ; Compare subnodes + .. Set sn="" + .. For Set sn=$O(arMDRow(node,sn)) Quit:(sn="") Do Quit:('blnEqual) + ... If $D(arMDRow(node,sn))'=10 Set:(arMDRow(node,sn)'=$G(arMatchLn(node,sn))) blnEqual=node_"-"_sn + ... ;Else Do ; Compare subnodes --> ultimate solution is an recursive algorithm. + Quit blnEqual +cpfRemoveNodes + // Define and remove the nodes that should not be compared to the arMatchLn. + New lbSkipNodes,lbSkipSubnodes,j,N + Set lbSkipNodes=$LB("AANT","EXCLUDE","LIJNNR","PRIJS","STDL","DS","VPK","SPZK","FB") + Set lbSkipSubnodes=$LB($LB("KLR","FB"),$LB("KLR","KV")) + For j=1:1:$LL(lbSkipNodes) Kill arMDRow($LI(lbSkipNodes,j)) + For j=1:1:$LL(lbSkipSubnodes) Do + . Set N="arMDRow("_$$cpfBuildSubNodes($LI(lbSkipSubnodes,j))_")" ; Result: N = "arMDRow(SN1,SN2,...)" + . Kill @N + Quit +cpfBuildSubNodes(lbSNodes) + Quit:($G(lbSNodes)="") "" + New i,txt + Set txt=""""_$LI(lbSNodes,1)_"""" + For i=2:1:$LL(lbSNodes) Set txt=txt_","""_$LI(lbSNodes,i)_"""" + Quit txt + + + /* + +AddToLog ; Parameters: Actie,Domain,KLNr,WizMode,wsID,Verwerker,Taal,VhisieLogin,lbExtras + Quit + +CustomEHandlerInitTBX + Quit + +CustomLogError ; Parameters: arErrInfo + Quit + +GetKlantData() ; Parameters: sDomVERW,KLNr,lbFlags="" + Quit KLMini + +BuildWSFromDataString() ; Parameters: pdlKleurKeuze,pdlMData,pdlPData,wsID + Quit WSOrd + +WSOrderIDStdLadeViaKLNr() ; Parameters: KLNr,GetSet,newID + Quit wsID + +GetDataString ; Parameters: wsID + Quit + +CheckDataString() ; Parameters: pdlKleurKeuze,pdlMData + Quit "" + +CheckDataWS() ; Parameters: arFullData,arErrs,blnUpdateData=1 + Quit 1 + +UpdateDataString() ; Parameters: pdlPData,wsID + Quit "" + +UpdateDataWS() ; Parameters: arFullDataNew,wsID + Quit "" + +CalcDataString() ; Parameters: pdlKleurKeuze,pdlMData,pdlPData,wsID + Quit "" + +CalcDataWS() ; Parameters: arFullData,arPrices,wsID + Quit wsID + + */ + + +WSOrdToAdmin(wsID,OFFToAdmin) + #define SoapMethod 1 + ; #define SoapLoc "cache01\ADMIN1" + #define SoapLoc "cache02\DEV-ADMIN1" + + New %RemoteIP,WSOrd,msg,sc,SoapErrorMsg,Opties,DestLoc,lbResult ; ,SaveOK,blnCalcPrs,blnFixed,OptiePRS,PreCalcID + Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) + + If $$$Not(##class(TECH.Config.ConfigMgr).Instance().GetBoolean("cspBasis.GAProdTBox_AllowOrderImportIntoAdmin")) { + // Import vanuit de DEMO-versie van TBoxWeb is niet toegelaten. + Quit $LB("","Import from this namespace ("_$$$NSpace_")_is not allowed !!!") + } + + Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + Quit:('$IsObject(WSOrd)) $LB("","Unable to open WSOrder object") + Quit:('$$otaBonTypeAllowed(.msg)) $LB("",msg) ;Quit:(WSOrd.BonType'?1(1"BBON",1"INKP")) $LB("","BonType should be 'BBON' or 'INKP'") + Set sc=$$$OK + Do otaTransferWS + ;s lbResult=$LB($P($H,",",2),"TEST") ; + If $L($LG(lbResult,1)) Do + . Do WSOrd.AddToTransferLog($LG(lbResult,1),$G(DestLoc),$LG(lbResult,2)) + . Set:(WSOrd.BonType="OFF") WSOrd.BonType=OFFToAdmin + . Set sc=WSOrd.%Save() + Do otaAddToLog + Set WSOrd="" ; Close + Quit:($$$ISERR(sc)) $LB("",sc) + Quit lbResult +otaBonTypeAllowed(msg) ; msg als .local doorgeven + Kill msg + Quit:(WSOrd.BonType="OFF")&&($G(OFFToAdmin)?1(1"BBON",1"INKP")) 1 ; Change BonType after TransferWS() + Quit:(WSOrd.BonType?1(1"BBON",1"INKP")) 1 + ; Else + Set msg="BonType should be 'BBON' or 'INKP'" + Quit 0 +otaTransferWS + Set Opties="" + If $$otaUseSoapMsg Do + . ;Set SoapErrorMsg="" + . Set lbResult=$$otaTransferViaSoapMsg(Opties) + Else Do + . ; Uitvoeren in huidige namespace: + . Set DestLoc="-" + . If $$$SoapMethod Do + .. Set lbResult=$$otaTransferViaSoapMethod(Opties) + . Else Do + .. Set lbResult=##class(BL.PR.GA.TandemBox).WSOrdToAdmin(WSOrd,Opties) + Quit +otaTransferViaSoapMethod(Opties) + Quit ##class(WS.TBX.Calc).WSOrdToAdmin(WSOrd,.Opties) ; Class Method, returns $LB +otaUseSoapMsg() + Quit ##class(TECH.Config.ConfigMgr).Instance().GetBoolean("cspBasis.GAProdTBox_OrderImportIntoAdminViaSoapMsg") +otaTransferViaSoapMsg(Opties) + Set lbResult="" + Do otaTransferViaSoapMsgSub("WS.TBX.CalcSoap","WSOrdToAdmin") + Quit lbResult +otaTransferViaSoapMsgSub(SoapClass,method) + New Client,Result,lbLocations,locNdx + Set Client=$System.OBJ.New(SoapClass) + Set Result=Client.PrepareWSOrdToAdmin(.lbLocations,.locNdx) ; No PeekServer, only one location + ;d WL^vhDBG("PeekServer (PrepareWSOrdToAdmin) finished ==> locNdx="_$G(locNdx)) + Do:(locNdx<0) otaSoapAddToLog ; Problem: no location + Set DestLoc=Client.Location + Quit:('Result) + Do:(locNdx>1) otaSoapAddToLog ; Not the first location + Set $ZTRAP="otaSoapErrorTransfer" + Set lbResult=Client.WSOrdToAdmin(WSOrd,.Opties,$G(%RemoteIP)) + Set $ZTRAP="" + Quit +otaSoapAddToLog + New lbExtras + Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) + Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) + Quit +otaSoapErrorTransfer + New CustomMsg + Do + . Quit:($G(%objlasterror,1)) + . // Hyperevent JS error messagebox + . New msg,blnOnServer + . Set blnOnServer=($$$GETERRORCODE(%objlasterror)=$$$SOAPFaultReceived) + . Set msg="'TransferToADMIN Failed."_"\n\n"_"SOAP message: '"_"+"_##class(%CSP.Page).QuoteJS($S(blnOnServer:"the SOAP server returned a SOAP fault.", 1:$$ParseStatus^vhLib(%objlasterror))) + . Write "alert("_msg_");" + // Send mail + Set CustomMsg="WSOrd: ID="_wsID_" : TransferToADMIN Failed." + Do SOAPErrorMail^cspBasis.SOAPlib("TBX_ERR",,CustomMsg,,Client) + Set $ZE="" + Quit +otaAddToLog + Do oxxAddToLog("TRANSF") + Quit + +oxxAddToLog(Actie) + New sDomain,lbExtras + Set lbExtras="" + Set:($L($G(%Location))) lbExtras=lbExtras_$LB("SoapServer="_%Location) + Set:($L($G(%Action)) ) lbExtras=lbExtras_$LB("SoapAction="_%Action) + Set:($L($G(OptiePRS))) lbExtras=lbExtras_$LB("Opties="_OptiePRS) + Set:($L($G(SoapErrorMsg))) lbExtras=lbExtras_$LB("Msg="_SoapErrorMsg) + If '$IsObject($G(%request)) Do + . Set %request=##class(%CSP.Request).%New() + . Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,$G(arData("DOMAIN")),$G(arData("KLNR")),$G(arData("MODE")),wsID,$G(arData("VERW")),,,lbExtras) + . Set %request="" k %request + Else Do + . Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),,,lbExtras) + ;Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,Domain,KLNr,WizMode,wsID,Verwerker,Taal,VhisieLogin,lbExtras) + Quit + + + +WSOrdRecalc(wsID) +#define SoapMethod 1 + ;#define SoapLoc "cache01\ADMIN1" +#define SoapLoc "cache02\DEV-ADMIN1" + New %RemoteIP,WSOrd,msg,sc,SoapErrorMsg,Opties,DestLoc,lbResult ; ,SaveOK,blnCalcPrs,blnFixed,OptiePRS,PreCalcID + Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) + Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + Quit:('$IsObject(WSOrd)) $LB("","Unable to open WSOrder object") + Set sc=$$$OK + + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("cspBasis.GAProdTBox_CalcPrsConditieViaGlobalExpressie")) + { + // Op de DEMO-versie van TBoxWeb : geen prijzen berekenen, behalve als ExprCondit voldaan is (wordt ge�valuuerd t.o.v. locale variabelen) + // Zelfde code staat bij class(cspBasis.GAProdTBox) method CalcDataWS() + + Set blnCalcPrs=0 + New CalcExpr + Set CalcExpr=$G(^UI.Settings("WWW-TBX","DEMO","CalcPrijs","ExprCondit"),0) + If @CalcExpr Set blnCalcPrs=1 + ;Set:(%RemoteIP?1(1"192.168.1.195")) blnCalcPrs=1 + } + Else + { + Set blnCalcPrs=1 ; (WSOrd.KLNummer>0)||($G(%session.Data("UserType"))>$$$utKlantAnon) + } + + Do orcSetURLValues + Set PreCalcID=WSOrd.%Id() + Do orcRecalcWS ; Sets lbResult to: OK = $LB(1,"") ; ERROR = $LB("","ErrorMsg" or sc) + ;s lbResult=$LB("","TEST") + If ($LG(lbResult,1)>0) Do + . Do:(WSOrd.mID=PreCalcID) WSOrd.OverwriteOID(PreCalcID) + . Set WSOrd.IngaveTijdStip=$ZDT($H,3) + . ;Set WSOrd.SubmitTS="" ; bij (her)berekening vervalt de (vorige) sumbit-flag. + . Set WSOrd.TransferLog="" + . Set sc=WSOrd.%Save() + . Set wsID=WSOrd.%Id() + Do orcAddToLog + Set WSOrd="" ; Close + Quit:($$$ISERR(sc)) $LB("",sc) + Quit lbResult +orcSetURLValues + New tmpAr + Set WSOrd.WebDomain=$$$LCase($G(%session.Data("DOMAIN"))) + Set WSOrd.WebURL=$G(%session.Data("URL")) + Merge tmpAr=%session.Data("QSDATA") + Kill tmpAr("CSPToken") + Kill tmpAr("REFMN") + Kill tmpAr("CSPPAGE") + Set WSOrd.WebQSData=##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +orcRecalcWS + Set OptiePRS="PRS="_blnCalcPrs_";" ; ||($G(Opties)["PRS=1;"))_";" + ;d DbgWrite(OptiePRS_" KLNr:"_WSOrd.KLNummer_" UserTp:"_$G(%session.Data("UserType"))) + If $$orcUseSoapMsg Do + . Set lbResult=$$orcRecalcViaSoapMsg(OptiePRS) + Else Do + . ; Uitvoeren in huidige namespace: + . Set DestLoc="-" + . If $$$SoapMethod Do + .. Set lbResult=$$orcRecalcViaSoapMethod(OptiePRS) + . Else Do + .. Do ##class(BL.PR.GA.TandemBox).BuildFromWSNew(WSOrd,OptiePRS) + .. Set lbResult=$LB(1,"") + Quit +orcRecalcViaSoapMethod(Opties) + Set WSOrd=##class(WS.TBX.Calc).BuildWS(WSOrd,.Opties) ; Class Method + Quit $LB(1,"") +orcUseSoapMsg() + Quit ##class(TECH.Config.ConfigMgr).Instance().GetBoolean("cspBasis.GAProdTBox_OrderRecalcViaSoapMsg") +orcRecalcViaSoapMsg(Opties) + Set lbResult="" + Do orcRecalcViaSoapMsgSub("WS.TBX.CalcSoap","BuildWS") + Quit lbResult +orcRecalcViaSoapMsgSub(SoapClass,method) + New Client,Result,lbLocations,locNdx + Set Client=$System.OBJ.New(SoapClass) + Set Result=Client.PrepareBuildWS(.lbLocations,.locNdx) ; Uses PeekServer and TimeOut=(120-1)sec + ;d WL^vhDBG("PeekServer (PrepareBuildWS) finished ==> locNdx="_$G(locNdx)) + Do:(locNdx<0) orcSoapAddToLog ; Problem: no location + Quit:('Result) + Do:(locNdx>1) orcSoapAddToLog ; Not the first location + Set $ZTRAP="orcSoapErrorRecalc" + Set WSOrd=Client.BuildWS(WSOrd,.Opties) + Set $ZTRAP="" + Set lbResult=$LB(1,"") + Quit +orcSoapAddToLog + Do orcSoapAddToLog + Quit +orcSoapErrorRecalc + New CustomMsg,arOrdKLT + Do + . Quit:($G(%objlasterror,1)) + . // Hyperevent JS error messagebox + . New msg,blnOnServer + . Set blnOnServer=($$$GETERRORCODE(%objlasterror)=$$$SOAPFaultReceived) + . Set msg="'Recalculation Failed."_"\n\n"_"SOAP message: '"_"+"_##class(%CSP.Page).QuoteJS($S(blnOnServer:"the SOAP server returned a SOAP fault.", 1:$$ParseStatus^vhLib(%objlasterror))) + . Write "alert("_msg_");" + // Send mail + Set CustomMsg="WSOrd: ID="_wsID_" : Recalculation Failed." + Do SOAPErrorMail^cspBasis.SOAPlib("TBX_ERR",,CustomMsg,Client) + Set $ZE="" + Quit +orcAddToLog + Do oxxAddToLog("RECALC") + Quit + + + /* + +SELECT item.Product->Product, item.Product , param.Parameters , param.ID + FROM Prod_GAData.Item As item, Prod_GAData.Item_Parameters As param + WHERE (item.ID=Param.Item) and (item.product > 200000) and (item.Label='DC') and (param.element_key='Val') and (param.Parameters = 'L') + ORDER BY item.Product, param.Parameters + +SELECT item.Product , item.Code , item.Label , item.SubGroepCode , param.element_key , param.Parameters , item.Display , item.VolgNr , item.FixedKeys , item.MetaItem , item.ID , param.Item , param.ID + FROM Prod_GAData.Item As item, Prod_GAData.Item_Parameters As param + WHERE (item.product > 200000) and (item.ID=Param.Item) and (item.Label='BS') and (param.element_key='Val') and NOT (param.Parameters IN ('DR','ER','ZR','BD','BF','BZ')) + ORDER BY item.Product, param.Parameters + + // Column headers: +Product Code Label SubGroepCode element_key Parameters Display VolgNr FixedKeys MetaItem item.ID param.Item param.ID + + */ \ No newline at end of file Index: cspBasis/ProductList/tmpDev.mac.rou =================================================================== diff -u --- cspBasis/ProductList/tmpDev.mac.rou (revision 0) +++ cspBasis/ProductList/tmpDev.mac.rou (revision 2) @@ -0,0 +1,370 @@ +#include %VHMacro + + /* +LandCodeViaCookie() +#define LandCode "LandCode" + New LandCode,Taal,Expires,blnCookieIsEqual + Set LandCode=$$$UCase($G(%request.Data("LandCode",1))) + Set Taal=$$$UCase($G(tmpRqData("taal",1))) + Quit:(Taal="F")&&(LandCode'?1(1"BE",1"NL")) "BE" + ; Else + ;d WL^vhDBG("LC="_LandCode) + If LandCode?1(1"BE",1"NL") Do + . // Calculate expiration date + . Set Expires = +$H+365 + . Set Expires = $ZD(Expires,11)_", "_$ZD(Expires, 2)_" 00:00:00 GMT" + . Set blnCookieIsEqual=(LandCode=$G(%request.Cookies($$$LandCode,1))) + . ;d WL^vhDBG($S(blnCookieIsEqual:"Cookie already set to "_LandCode, 1:"Set cookie")) + . Do:('blnCookieIsEqual) %response.SetCookie($$$LandCode, LandCode, Expires) + Else If LandCode="WIS" Do + . Do:($D(%request.Cookies($$$LandCode))) %response.SetCookie($$$LandCode, LandCode, "-1") + . Kill tmpRqData("LandCode",1) + . ;d WL^vhDBG("Delete cookie") + Else If $D(%request.Cookies($$$LandCode)) Do + . Set LandCode=$G(%request.Cookies($$$LandCode,1)) + . Set:(LandCode="") LandCode=$G(%request.Cookies($$$LandCode)) + . ;d WL^vhDBG("Get cookie: new="_LandCode ) + . Set LandCode=$$$UCase(LandCode) + Else Do + . ;d WL^vhDBG("No preset: LandKeuze") + Quit LandCode + + */ + +InitializeCSP +#define LandKeuzeDFL 1 +#define LabelType "L" +#define LastKM "Diepte" +#define GroepKM "OL" +#define WebTextVal(%v) ##class(cspBasis.ProductList).WebTextValue(%v,Taal,"L") +#define GetImgUrl(%v) ##class(Res.VertalingLink).GetLinkVertaling("OLW",%v,"LB",Taal,,"WWW") + s:('$D(%ClientIP)) %ClientIP="192.168.1.97" + Set GroepID=$$$GroepKM + Set UseWildCards=1 + Set ComputerName=$ZUTIL(110) + Set NameSpace=$ZUTIL(67,6,$J) + Set Taal=$$$UCase($G(tmpRqData("taal",1))) + Set:(Taal="")||("N;F;D;E"'[Taal) Taal="N" ; VH's Default + Set LandCode=$$$UCase($G(tmpRqData("LandCode",1))) + If LandCode="" Do + . Set LandCode=$G(LandCodeViaCookie) + . ;d WL^vhDBG("LandCode Via Cookie, LC="_LandCode) + Set blnLandKeuze=((LandCode="")||("BE;NL"'[LandCode)) + Set:(blnLandKeuze)&&($$$LandKeuzeDFL) LandCode="BE" + d:(blnLandKeuze) WL^vhDBG("Landkeuze, LC="_LandCode) + ;w "Session ID="_%session.SessionId_" - "_$S(%session.NewSession:"first", 1:"subsequent")_" request - EventClass="_%session.EventClass + Set blnImgLarge=(''$G(%request.Data("IMGHIRES",1))) + Do iniPreloadMetaObjs + ;Do ##class(Prod.Kenmerk.Utils).PRLijstViaCriteria(GroepID,"ArPR",.tmpRqData) + Do ##class(Prod.Kenmerk.Utils).PRLijstViaCriteriaExtra(GroepID,"ArPR",.tmpRqData,$$$LastKM,.arLastKMVal) + Do iniVertaalMetaLabels + /* + Set BPLastKM="" + If $D(tmpRqData($$$LastKM)) Do + . New lbLastKMValIntern,lbOtherKMValIntern,i,VTL,HRef + . Set LastMetaObj=MetaArray($$$LastKM) + . Set lbLastKMValIntern=$G(arLastKMVal("SORTED","KMVAL")) + . Set lbLastKMVal="" + . For i=1:1:$LL(lbLastKMValIntern) Set:($LG(lbLastKMValIntern,i)'="") lbLastKMVal=lbLastKMVal_$LB(LastMetaObj.VertaalItem($LI(lbLastKMValIntern,i),Taal,"K")) + . Set BPLastKM=$$$LCase(MetaArray($$$LastKM,"VTL"))_" "_$$LCVTSimple^vhLib(lbLastKMVal," - ") + . Do iniSetOtherKMVal + . ;d WL^vhDBG("Values"_$$$ArrayTT("arLastKMVal")) + . Set lbOtherKMValIntern=$G(arLastKMVal("SORTED","OTHER")) + . Set lbOtherKMVal="" + . ; Build Texts + . Set FrameURL=%request.URL_"?"_##class(cspBasis.ProductList).CQueryString(.tmpRqData) + . For i=1:1:$LL(lbOtherKMValIntern) Do:($LG(lbOtherKMValIntern,i)'="") + .. Set VTL=##class(Res.Vertaling).GetVertalingPlus("OLW","AndereKMDiepte","L",Taal)_" "_LastMetaObj.VertaalItem($LI(lbOtherKMValIntern,i),Taal,"K") + .. Set HRef=""_""_VTL_""_"" + .. ;Set VTL=LastMetaObj.VertaalItem($LI(lbOtherKMValIntern,i),Taal,"K") + .. ;Set HRef=""_VTL_"" + .. Set lbOtherKMVal=lbOtherKMVal_$LB(HRef) + . ;Set LastKMOtherVal="" + . Set LastKMOtherVal=$$LCVTSimple^vhLib(lbOtherKMVal," - ") ; ," - ") + */ + Set BPLastKM="" + If $D(tmpRqData($$$LastKM))&&($LL($G(arLastKMVal("SORTED","KMVAL")))=1) Do + . New LastKMValIntern,lbAllKMValIntern,lbAllKMVal,QSLastKMVal,LastMetaObj,i,VTL,FrameURL,HRef,classSpan ; BPLastKM mag niet ge-newd worden + . Set LastKMValIntern=$LG(arLastKMVal("SORTED","KMVAL"),1) ; Slechts 1 beperking op LastKM + . Quit:(LastKMValIntern="") + . Set LastMetaObj=MetaArray($$$LastKM) + . Set BPLastKM=MetaArray($$$LastKM,"VTL") + . Set lbAllKMValIntern=$G(arLastKMVal("SORTED","ALL")) + . Set lbAllKMVal="" + . ; Build Texts + . Set QSLastKMVal=$$$LastKM_"="_$ZCVT(LastKMValIntern,"o","URL") + . Set FrameURL=%request.URL_"?"_##class(cspBasis.ProductList).CQueryString(.tmpRqData) + . For i=1:1:$LL(lbAllKMValIntern) Do:($LG(lbAllKMValIntern,i)'="") + .. Set VTL=LastMetaObj.VertaalItem($LI(lbAllKMValIntern,i),Taal,"K") + .. Set classSpan=$S($F(LastKMValIntern,$LI(lbAllKMValIntern,i))>0:"clsLastKMBtnAct",1:"clsLastKMBtn") + .. Set HRef=""_""_VTL_""_"" + .. Set lbAllKMVal=lbAllKMVal_$LB(HRef) + . Set LastKMAllVal=$$LCVTSimple^vhLib(lbAllKMVal," - ") + . Set LastKMOtherVal=LastKMAllVal + // ProductTitle + If $L($G(tmpRqData("SubType",1)))&&('$D(tmpRqData("SubType",2))) Do + . Set PageTitle=##class(Res.Vertaling).GetVertalingPlus("PK",tmpRqData("SubType",1),"K",Taal) + Else Do + . Set PageTitle=##class(cspBasis.ProductList).WebTextValue("ProdInfoTitel",Taal,"L") + // Landkeuze veranderen +#If ($ZCVT($$$Server,"U")["WWW") + Set blnShowLcWIS=0 +#Else + Set blnShowLcWIS=1 +#EndIf + Set QScodeLeeg=$$iniClearLandCodeFromQS + Set QScodeWIS=QScodeLeeg_"&LandCode=WIS" + Set QScodeBE=QScodeLeeg_"&LandCode=BE" + Set QScodeNL=QScodeLeeg_"&LandCode=NL" + Set TagVlagBE="" + Set TagVlagNL="" + Quit +iniPreloadMetaObjs + New rs + Set rs=##class(%ResultSet).%New("Prod.Kenmerk.MetaDefinitie:LijstPerGroep") + Do rs.Execute(GroepID) + For Quit:('rs.Next()) Set MetaArray(rs.GetData(2))=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||"_rs.GetData(2)) + Do rs.%Close() + Quit ; De objecten moeten in het geheugen blijven; ze worden pas aan het einde van de CSP-Body gesloten. + ; + ; Close MetaObjects + ;New k,tmpOref + ;Set k="" + ;For Set k=$O(MetaArray(k)) Quit:(k="") Set tmpOref=MetaArray(k) Do tmpOref.%Close() Kill MetaArray(k) + ;Quit +iniVertaalMetaLabels + New k,tmpOref + Set k="" + For Set k=$O(MetaArray(k)) Quit:(k="") Do + . Set tmpOref=MetaArray(k) + . Set MetaArray(k,"VTL")=tmpOref.VertaalItem("�",Taal,$$$LabelType) ; Vertaling van de MetaDefinie zelf + Quit +iniSetOtherKMVal + New i,Pos + Set arLastKMVal("SORTED","OTHER")=$G(arLastKMVal("SORTED","ALL")) + Quit:($G(arLastKMVal("SORTED","KMVAL"))="") + For i=1:1:$LL(arLastKMVal("SORTED","KMVAL")) Do + . Set Pos=$LF(arLastKMVal("SORTED","ALL"),$LG(arLastKMVal("SORTED","KMVAL"),i)) + . $$$DoLBDeleteAtIf((Pos>0),arLastKMVal("SORTED","OTHER"),Pos) + Quit +iniClearLandCodeFromQS() + Quit $$iniClearParamFromQS($G(%request.CgiEnvs("QUERY_STRING")),"LandCode") +iniClearParamFromQS(QS,Param) + Quit:(Param="") "" + New tmpQS,SubQS + Set tmpQS=QS + For Set SubQS=$$$TextBetween("&"_tmpQS_"&","&"_Param_"=","&") Quit:(SubQS="") Do + . Set tmpQS=$$$Replace("&"_tmpQS,"&"_Param_"="_SubQS,"") + Set:($E(tmpQS,1)="&") $E(tmpQS,1)="" + Quit tmpQS + + + /* +WebTextValue() ; Parameters: Intern,Taal,TextType +#define WEBTYPE "OLW" + Quit:($G(Intern)="") "" + New Val + Set Val=##class(Res.Vertaling).GetVertalingPlus($$$WEBTYPE,Intern,TextType,Taal) + Quit $S(Val="":Intern_" ("_TextType_"-"_Taal_")", 1:Val) + */ + + /* +DataDefValue() ; Parameters: Taal,GroepID,PRNr,Kenmerk,TextType,ListItems,ListSep + New LBVal + Set LBVal=##class(cspBasis.ProductList).DataDefValueList(.Taal,.GroepID,.PRNr,.Kenmerk,.TextType,.ListItems,.ListSep) + Quit PRNr_" - "_Kenmerk_" - "_$$LCVT^vhLib(LBVal) + */ + +DataDefValueList() ; Parameters: Taal,GroepID,PRNr,Kenmerk,TextType,ListItems,ListSep + Quit:($G(GroepID)="")!($G(PRNr)="")!($G(Kenmerk)="") "" + New objDD,i,LBVal,LBX + Set objDD=##class(Prod.Kenmerk.DataDefinitie).%OpenId(PRNr_"||"_GroepID_"||"_Kenmerk) + Quit:('objDD) "" + Set LBX=$$ddvBuildItemsLB(objDD,.ListItems) + ; Quit zonder vertaling + Quit:($G(TextType)="") $S($G(ListSep)="":LBX, 1:$LB($$LCVTSimple^vhLib(LBX,";"))) + ; Met LBX: items vertalen + Set LBVal="" + If $L($G(ListSep)) Do ; ListSeparator is defined ==> create textlist of concat values + . Do ddvAddToLB(.LBVal,objDD.VertaalConcatList(LBX,ListSep,Taal,TextType)) + Else Do + . For i=1:1:$LL(LBX) Do ; put separate values in $LB() + .. Do ddvAddToLB(.LBVal,objDD.VertaalItem($LI(LBX,i),Taal,TextType)) + Do objDD.%Close() + Quit LBVal +ddvBuildItemsLB(objDD,ListItems) + ; Mogelijke waarden voor ListItems: bvb.: "*" , "1" , "1;2" , "1;2;5;7" + New LBX,i,CntW + Set LBX="" + If ListItems="*" Do + . For i=1:1:objDD.Waarden.Count() Do ddvAddToLB(.LBX,objDD.Waarden.GetAt(i)) + Else Do + . Set CntW=objDD.Waarden.Count() + . For i=1:1:$L(ListItems,";") Do:(+$P(ListItems,";",i)'>CntW) ddvAddToLB(.LBX,objDD.Waarden.GetAt(+$P(ListItems,";",i))) + Quit LBX +ddvAddToLB(LB,X) + Set:($L(X)) LB=LB_$LB(X) + Quit + + + ;MetaDefinitie.VertaalItem() +VertaalItem() ; Parameters: X,Taal,TextType,ClearEmptyChar + ; X is de waarde die moet vertaald worden. + ; Eerst wordt gezocht naar een sleutel voor een VertaalTransformatie. + ; Als deze niet bestaat, of de transformatie geeft waarde "" (leeg) terug voor Sleutel, dan wordt gezocht naar de directe vertaling. + ; Als de Sleutel niet leeg is, wordt de transformatie op X toegepast --> de nieuwe waarde van X is de interne waarde die vertaald wordt. +#define CharEmpty "~" + New VTL + Set ClearEmptyChar=$G(ClearEmptyChar,0) + Set VTL=$$vtiVertaalWithEmpty + Quit $S(ClearEmptyChar&&(VTL=$$$CharEmpty):"", 1:VTL) +vtiVertaalWithEmpty() + Quit:($G(X)="") "" + New KenmType,emTransfVTL,Sleutel,ValVTL + Set KenmType=..GetVertalingsGroep() + Set emTransfVTL=..GetVTLTransformByType(TextType) + Set Sleutel="" + If ($IsObject(emTransfVTL))&&($L(emTransfVTL.SleutelSelectExecType)) Do + . ; Vertaal via Transform + . Do EXEC^vhRES(emTransfVTL.SleutelSelectExecType,emTransfVTL.SleutelSelectExec,"Sleutel","(X)") ; X wordt doorgegeven en Sleutel wordt teruggekregen + . If $L(Sleutel) Do + .. Do:($L(emTransfVTL.WaardeExec)) EXEC^vhRES(emTransfVTL.WaardeExecType,emTransfVTL.WaardeExec,"X","(X)") ; de getransformeerde waarde wordt terug in X geplaatst + .. Set ValVTL=##class(Res.Vertaling).GetVertalingPlus(KenmType,Sleutel,TextType,Taal,X) ; GetVertalingPlus geeft nooit "" terug + ;d:($IsObject(emTransfVTL)&&($L(Sleutel))) WL^vhDBG(..%Id()_" "_emTransfVTL.SleutelSelectExecType_" "_emTransfVTL.SleutelSelectExec) + Quit:($L(Sleutel)) ValVTL + ; Else + Set ValVTL=##class(Res.Vertaling).GetVertalingPlus(KenmType,X,TextType,Taal) ; Vertaal via standaard Res.Vertaling + Quit:($L(ValVTL)) ValVTL + ;Quit $S('$L(ValVTL):$$vtiErrorVTL, 1:ValVTL) + ;Quit $$vtiErrorVTL +vtiErrorVTL() + Quit $ZCVT($S($L($G(Sleutel)):Sleutel, 1:X)_" ("_TextType_"-"_Taal_")","O","HTML") + + + ;MetaDefinitie.VertaalConcatList() +VertaalConcatList() ; Parameters: LBX,ListSep,Taal,TextType + ; ListItems worden vertaald en geconcateneerd; indien vertaling via een Vertaalsleutel, dan wordt de geconcateneerde text vervangen. + Quit:($G(LBX)="") "" + Quit:($LL(LBX)=0) "" + Quit:($LI(LBX,1)="") "" + New KenmType,emTransfVTL,Sleutel,i,ConcatVTL,ValVTL,Concat,X + Set KenmType=..GetVertalingsGroep() + Set emTransfVTL=..GetVTLTransformByType(TextType) + Set X=$LI(LBX,1) + Quit:('$IsObject(emTransfVTL)) X_" ("_TextType_"-"_Taal_") geen emTransform in Concat." + + Do EXEC^vhRES(emTransfVTL.SleutelSelectExecType,emTransfVTL.SleutelSelectExec,"Sleutel","(X)") ; 1 X wordt doorgegeven en Sleutel wordt teruggekregen + ; hierboven wordt verondersteld dat de TransformatieSleutel niet afhankelijk is van de waarde van X. + If $G(Sleutel)="" Do + . ; Directe vertalen en concateneren + . Set ConcatVTL="" + . For i=1:1:$LL(LBX) Do + .. Set ValVTL=##class(Res.Vertaling).GetVertalingPlus(KenmType,$LI(LBX,i),TextType,Taal) + .. Set:('$L(ValVTL)) ValVTL=$LI(LBX,i)_" ("_TextType_"-"_Taal_")" + .. Set ConcatVTL=$$vclAddValue(ConcatVTL,ValVTL,ListSep) + Else Do + . ; Vertaling via sleutel; eerst afzonderlijke items transformeren, dan concateneren, dan in sleutel vervangen + . Set Concat="" + . For i=1:1:$LL(LBX) Do + .. Set X=$LI(LBX,i) + .. Do:($L(emTransfVTL.WaardeExec)) EXEC^vhRES(emTransfVTL.WaardeExecType,emTransfVTL.WaardeExec,"X","(X)") ; de getransformeerde waarde wordt terug in X geplaatst + .. Set Concat=$$vclAddValue(Concat,X,ListSep) + . Set ConcatVTL=##class(Res.Vertaling).GetVertalingPlus(KenmType,Sleutel,TextType,Taal,Concat) + Quit $S('$L(ConcatVTL):$$vclErrorVTL, 1:ConcatVTL) +vclAddValue(Text,AddVal,ListSep) + Quit:('$L(AddVal)) Text + Quit $S('$L(Text):"", 1:Text_ListSep)_AddVal +vclErrorVTL() + Quit $ZCVT("LB van "_$LL(LBX)_" items"_" ("_TextType_"-"_Taal_$S($L($G(Sleutel)):"-"_Sleutel, 1:"")_")","O","HTML") + + +DataDefValueURL() ; Parameters: Taal,GroepID,PRNr,Kenmerk,TextType +#define ToepasCode "WWW" + Quit ##class(Prod.Kenmerk.DataDefinitie).GetFullURL($G(GroepID),$G(PRNr),$G(Kenmerk),Taal,TextType,$$$ToepasCode) + /* +#define ToepasCode "WWW" +#define VertaalLinkItem(%v) ##class(Res.VertalingLink).GetLinkVertaling(KenmType,%v,TextType,Taal,,$$$ToepasCode) + Quit:($G(GroepID)="")!($G(PRNr)="")!($G(Kenmerk)="") "" + New objDD,ValVTL,X,KenmType + Set objDD=##class(Prod.Kenmerk.DataDefinitie).%OpenId(PRNr_"||"_GroepID_"||"_Kenmerk) + Quit:('objDD) "" + Set KenmType=objDD.Kenmerk.GetVertalingsGroep() + Set X=objDD.Waarden.GetNext("") + Set ValVTL=$$$VertaalLinkItem(X) ; ##class(Res.VertalingLink).GetLinkVertaling(KenmType,X,TextType,Taal,,$$$ToepasCode) + Do objDD.%Close() + Quit ValVTL + */ +DataDefValueListURL() ; Parameters: Taal,GroepID,PRNr,Kenmerk,TextType,ListItems,ListSep,ToepasCode +#define ToepasCode $G(ToepasCode,"WWW") +#define VertaalLinkItem(%v) ##class(Res.VertalingLink).GetLinkVertaling(KenmType,%v,TextType,Taal,,$$$ToepasCode) + Quit:($G(GroepID)="")!($G(PRNr)="")!($G(Kenmerk)="") "" + New objDD,i,LBVal,LBX,KenmType + Set objDD=##class(Prod.Kenmerk.DataDefinitie).%OpenId(PRNr_"||"_GroepID_"||"_Kenmerk) + Quit:('objDD) "" + Set KenmType=objDD.Kenmerk.GetVertalingsGroep() + Set LBX=$$ddvBuildItemsLB(objDD,.ListItems) + ; Met LBX: items vertalen + Set LBVal="" + If $L($G(ListSep)) Do + . Set LBVal=$LB("NOT IMPLEMENTED By WimV") + . ;Do ddvAddToLB(.LBVal,objDD.VertaalConcatListXxxURL (LBX,ListSep,Taal,TextType)) + Else Do + . For i=1:1:$LL(LBX) Do ; put separate values in $LB() + .. Do ddvAddToLB(.LBVal,$$$VertaalLinkItem($LI(LBX,i))) + Do objDD.%Close() + Quit LBVal +ddvAddToLBxxx(LB,X) + // See ddvAddToLB() + ;Set:($L(X)) LB=LB_$LB(X) + ;Quit +ddvBuildItemsLBxxx(objDD,ListItems) + // See ddvBuildItemsLB() + ;... + ;Quit LBX + + /* * / + ;##class(Res.VertalingLink).GetLinkVertaling(Groep,Intern,TextType,Taal,VervangWaarde,Toepassing) +GetLinkVertaling() ; Parameters: Groep,Intern,TextType,Taal,VervangWaarde,Toepassing + Quit:('$L($G(Intern))) "" + Quit:('$L($G(Groep))) "" ; Intern_" (Groep=?)" + New objVTL,Val + Set:($E(Intern,2)="%") Groep="%" ; "%"-sleutels worden opgezocht in de "%"-vertalingsgroep + Set objVTL=##class(Res.VertalingLink).%OpenId(Groep_"||"_Intern_"||"_TextType_"||"_Taal) + Quit:('objVTL) "" ; Intern_" ("_Groep_"-.-"_TextType_"-"_Taal_")" + Set Val=objVTL.URLGet($G(Toepassing)) + Do objVTL.%Close() + Quit Val + + ;Res.VertalingLink.DirectoryGet(Toepassing) +DirectoryGet() ; Parameters: Toepassing + New BestID,tmpDir + Set BestID=##class(Prod.Kenmerk.BT.RootDir).BestMatchID(..DirectoryCode,$G(Toepassing),$G(ComputerName,$ZUTIL(110)),$G(NameSpace,$ZUTIL(67,6,$J))) + &sql(SELECT Directory INTO :tmpDir FROM Prod_Kenmerk_BT.RootDir WHERE ID=:BestID) + Quit $G(tmpDir) + ;Res.VertalingLink.NaamGet() +NaamGet() + Quit ..Vertaling_$S('$L(..Vertaling):"", $ZCVT(..Vertaling,"U")[("."_..Extensie):"", 1: "."_..Extensie) +URLGet() ; Parameters: Toepassing + New Dir + Set Dir=..DirectoryGet($G(Toepassing,"88")) + Quit Dir_$S($L(Dir):"/", 1:"")_..NaamGet() + /* */ + + /* +FitImage() ; Parameters: sURL + Quit:($G(sURL)="") "" + Quit "javascript:"_$S($$fimIsImage(sURL):"ShowFitImage", 1:"ShowDocument")_"("""_sURL_""");" +fimIsImage(sURL) + Quit ($ZCVT(sURL,"U")'?.E1(1".PDF",1".HTM",1".XML").E) && ($ZCVT(sURL,"U")?.E1(1".GIF",1".JPG",1".JPE",1".BMP").E) + */ + + + ;MetaDefinitie.GetVTLTransformByType() +GetVTLTransformByType() ; Parameters: TextType + ; Geeft de oref terug van het VertaalTransform-object dat het gegeven TextType bevat (of leeg indien niet gevonden) + ; Volledige array doorlopen +#define ValueInList(%v,%lst) (%lst[%v)&&((";"_%lst_";")[(";"_%v_";")) + New Key,emVTL + Set Key="" + For Set emVTL=..VertaalTransforms.GetNext(.Key) Quit:(Key="") Quit:$$$ValueInList(TextType,emVTL.VertalingsTypes) + Quit emVTL \ No newline at end of file Index: WS/TBX/EM/ListItem.cls.xml =================================================================== diff -u --- WS/TBX/EM/ListItem.cls.xml (revision 0) +++ WS/TBX/EM/ListItem.cls.xml (revision 2) @@ -0,0 +1,36 @@ + + + +serial +1 +%SerialObject,%XML.Adaptor +0 + + +%String + + + + + +%String + + + + +%Library.CacheSerialState +ListItemState +^WS.TBX.E.ListItemS + +listnode +"WS.TBX.EM.ListItem" + +Key + + +Value + + + + + Index: WS/SOAPClientExt.cls.xml =================================================================== diff -u --- WS/SOAPClientExt.cls.xml (revision 0) +++ WS/SOAPClientExt.cls.xml (revision 2) @@ -0,0 +1,302 @@ + + + + +Integreert PeekServer(), SetLocation() en SetTimeOut() methods in de standaard SOAPClient klasse.
    +Werkwijze: +
  • standaard SOAP client klasse discoveren van SOAP webservice klasse (inclusief PeekServer method) +
  • klasse: Extends (%SOAP.WebClient, WS.SOAPClientExt) +
  • het %Action argument van de PeekServer() WebMethod moet correct ingevuld worden: "http://tempuri.org/WS.???.PeekServer" +
  • OF: PeekServer() kan de method PeekCheckWSDL() oproepen, wanneer geen PeekServer() aanwezig is in de WebService +
  • indien gewenst, specifieke prepare methods PrepareXXX() toevoegen; zie PrepareTemplateMethod() +
  • de volledige SOAP call implementeren (in de oproepende routine/klasse) zoals in de voorbeelden hieronder. + +Voorbeelden van SOAP calls : +
     
    +  Via algemene prepare    -->  PrepareSoapMethod()
    +  --- -------- -------
    +    Set cl=$System.OBJ.New("WS.TBX.DataIOSoap")
    +    Set lbLocs=cl.GetLocations($LB("cache01\ADMIN1","cache02\JRNL-ADMIN1"))
    +    Set Rslt=cl.PrepareSoapMethod("GetKlant",lbLocs,.locIndx,1,45)
    +    Quit:('Rlst)
    +    Set km=cl.GetKlant(4645)
    +    Set cl=""
    +
    +  Via specifieke prepare  --> PrepareXXX() zelf toe te voegen; zie PrepareTemplateMethod()
    +  --- ---------- -------
    +    Set cl=$System.OBJ.New("WS.TBX.DataIOSoap")
    +    Set Rslt=cl.PrepareGetKlant()   ; OR  cl.PrepareGetKlant(.lbLocs,.locIndx)   ; to obtain info about the Locs
    +    Quit:('Rlst)
    +    Set km=cl.GetKlant(4682)
    +    Do $System.OBJ.Dump(cl)
    + 
    +  Via losse instructies   --> PeekSOAPServer() / SetLocation() / SetTimeOut()
    +  --- -----------------
    +    Set cl=$System.OBJ.New("WS.TBX.DataIOSoap")
    +    Set lbLocs=cl.GetLocations($LB("cache01\ADMIN1","cache02\JRNL-ADMIN1"))
    +    Set locIndx=cl.PeekSOAPServer(lbLocs,0,"TBX_ERR")
    +    Do cl.SetLocation($S(locIndx>0:$LG(lbLocs,locIndx),1:""))
    +    Do cl.SetTimeOut(45)
    +    Set:(locIndx'<0) km=cl.GetKlant(6820)
    +

    + +Opgelet: de ZTRAP rond de oorspronkelijke webmethod (hier: cl.GetKlant()) moet zelf geschreven worden. +
    +    Set $ZTRAP="subSoapErrorGetKlant"
    +    Set km=cl.GetKlant(4645)
    +    Set $ZTRAP=""
    +    Quit
    +  subSoapErrorGetKlant  
    +    Set $ZTRAP=""
    +    Set $ZE="" 
    +    Quit
    +
    + +De PeekSOAPServer() method bevat wel errortrapping.
    +Het derde arg. MailParamType (="TBX_ERR") bepaald de mail die verzonden wordt in geval van fouten.
    ]]> +1 +%VHMacro,%occInclude +1 +0 + + + + + + +De standaard code in de PeekServer() method (i.e.: Quit ..WebMethod("PeekServer").Invoke(##this, url...) ) moet +vervangen worden door volgende routine: +
    + #define PeekUrl   $S($L(..Location):..Location, 1:..#LOCATION)_"?wsdl"
    +   New response,sc
    +   Set sc=..PeekCheckWSDL($$$PeekUrl,.response)
    +   Quit 1
    +
    + +De variabele response als .local doorgeven, om eventuele verdere bewerkingen/controles uit te voeren op de WSDL.]]>
    + +1 +%Status +0) request.Port=arUrl("port") + If ..Timeout'="" Set request.Timeout = ..Timeout +#If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("WS.SOAPClientExt_KanHttpProxyGebruiken")) + If ..HttpProxyServer'="" { + Set request.ProxyServer=..HttpProxyServer + Set:(..HttpProxyPort'="") request.ProxyPort=..HttpProxyPort + ;Set:(..HttpProxyHTTPS'="") request.ProxyHTTPS=..HttpProxyHTTPS + } +#EndIf + ;If ..HttpRequestHeaderCharset'="" Set request.RequestHeaderCharset = ..HttpRequestHeaderCharset + ;If ..HttpUsername'="" Set request.Username = ..HttpUsername + ;If ..HttpPassword'="" Set request.Password = ..HttpPassword + Do request.Get(tmpUrl) + Set response=request.HttpResponse + Quit:(response.StatusCode'="200")&&(response.StatusCode'="500") $$$ERROR($$$SOAPUnexpectedStatus,response.StatusCode) + Quit:($piece(response.ContentType,";",1)'="text/xml") $$$ERROR($$$SOAPUnexpectedType,response.ContentType) + Quit:(response.Data="") $$$ERROR($$$SOAPNoResponseBody) + Quit $$$OK +]]> +
    + + +%String +1 + + + + + +%Boolean + + + + + +Return value of locNdx:
    • + locNdx=0 : location from class parameter is used
    • + locNdx>0 : n-th item from lbLocations
    • + locNdx<0 : no valid location found! Return value of the method = 0 (false) ]]> + +%Boolean +0) Location=$LG(lbLocations,locNdx) + Else If $L($LG(lbLocations,1)) Do + . Set Location=$LI(lbLocations,1) + . Set locNdx=1 + Else Do + . Set Location="" + . Set locNdx=0 + + Do:($L($G(Location))) ..SetLocation(Location) + Do:($D(TimeOut)) ..SetTimeOut(TimeOut) + Quit $S(locNdx<0:0, 1:1) +]]> + + + +0) Location=$LG(lbLocations,locNdx) + ;Do:($L($G(Location))) ..SetLocation(Location) + ;Do:($D(TimeOut)) ..SetTimeOut(TimeOut) + Quit 1 +} +*/ +]]> + + + +TimeOut:%Integer + + + + +Location:%String + + + + +%SOAP.Fault +" +#EndIf +]]> + + + +lbWSlocs:%List +%List + + + + +%List + + + + + +When blnSetLocation=1, this location is filled in in the ..Location Property, used for the main WebService call.
      +MailParamType (e.g. "TBX_ERR") used in the Error Trap routine for formatting the mail to be sent.
      +Return locNdx : possible values:
      • + -1 : Response from any location NOT OK !
      • + 0 : Response from Default location OK
      • + >0 : Response from (location of n-th list item) OK
      ]]>
      +lbLocations:%List,blnSetLocation:%Boolean=1,MailParamType:%String +1 +%Integer + just perform the requested SOAP-method + ; Verify that locNdx corresponds with a non-empty location + Set:(locNdx>0)&&($LG(lbLocations,locNdx)="") locNdx=0 + If +$G(blnSetLocation,1) Do + . Do ..SetLocation($S(locNdx>0:$LG(lbLocations,locNdx),1:"")) + Quit locNdx +pssPeekLocations + ;New Client,i,sc + Set Client=$System.OBJ.New(SoapClass) + Do Client.PreparePeekServer() ;Do Client.SetTimeOut(5) + Set %objlasterror="" + Set:($G(lbLocations)="") lbLocations=$LB("") + Set locNdx=-1 + For i=1:1:$LL(lbLocations) Do Quit:(locNdx>0) + . Set sc=$$pssPeekLocation($LG(lbLocations,i)) + . Set:(sc) locNdx=i + Quit +pssPeekLocation(loc) + ;w "Perform a PeekServer() at location "_$G(loc),! + ;New PeekResult + Do Client.SetLocation($G(loc)) +#If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("SOAPlib_IsSoapFaultSupported")) + Set Client.SoapFault="" ; SoapFault initieel leegmaken +#Else + ;Set Client.SoapFault="" +#EndIf + Set $ZTRAP="pssPeekSOAPError" + Set PeekResult=Client.PeekServer() + Set $ZTRAP="" + Quit PeekResult +pssPeekSOAPError + ;New Err,msg + Set Err=%objlasterror + Set msg="(Peek) SOAP message: "_$$ParseStatus^vhLib(Err) + If $$$GETERRORCODE(Err)=$$$CSPTimeout Do + . Set PeekResult=0 + Else Do + . Set PeekResult=0 ; PeekServer returns another error ==> the actual WebMethod will probably return the same error + // Log error via Mail + Do:($D(MailParamType)) pssPeekSOAPErrorMail(SoapClass,loc) + Set $ZE="" + ;w "PeekResult (in ZTrap)="_PeekResult,! + Quit PeekResult +pssPeekSOAPErrorMail(cls,loc) + ;New CustomMsg + Set CustomMsg="Error within PeekServer(): SoapClass="_cls_" to location="_loc_" !" + Do SOAPErrorMail^cspBasis.SOAPlib(MailParamType,,CustomMsg,,Client) ; MailParamType="TBX_ERR" + Quit +]]> +
      + + Index: Prod/GADef/emKadPrijsDtl.cls.xml =================================================================== diff -u --- Prod/GADef/emKadPrijsDtl.cls.xml (revision 0) +++ Prod/GADef/emKadPrijsDtl.cls.xml (revision 2) @@ -0,0 +1,210 @@ + + + +serial + +%Library.SerialObject + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.CacheSerialState +emKadPrijsDtlState +^Prod.GAD.emKadPrijsDtlS + +listnode + +Groep + + +KostCode + + +KostPlaats + + +MatKost + + +MatViaMin + + +Multiplicant + + +Reductor + + +SortNr + + +Tijd + + +TijdKost + + +TijdViaMin + + +Variabelen + + + + + Index: TECH/Logon.cls.xml =================================================================== diff -u --- TECH/Logon.cls.xml (revision 0) +++ TECH/Logon.cls.xml (revision 2) @@ -0,0 +1,27 @@ + + + +vhLib.Macro +1 +%RegisteredObject +0 + + +1 +0 + + + + +1 +Device:%String + + + + Index: BL/Prod/GAData/TBXLadeXML/pxPrintOrderLijn.cls.xml =================================================================== diff -u --- BL/Prod/GAData/TBXLadeXML/pxPrintOrderLijn.cls.xml (revision 0) +++ BL/Prod/GAData/TBXLadeXML/pxPrintOrderLijn.cls.xml (revision 2) @@ -0,0 +1,234 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + + +Algemene data per lijn +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +KleurKeuze: +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Maten e.a. specifieke input data: +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Xml-tag was vroeger "ALG_FBEVEST", nu is FB per lijn en niet meer algemeen in het order. +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Standaard Lade. Waarde: $$$tbxCodeStdLade = "Std" is gedefinieerd in %VHMacro.INC +%String + + + + + +ORGALUX Product (PRNr) +%String + + + + + +Info Diverse, is een array van ListItem objecten, wordt berekend in blTBox. +Geeft een opsomming van verschillende properties (XML:te tonen in één kolom) +WS.TBX.EM.ListItem +1 +list + + + + + + +Berekende properties voor Proxy-klasse. +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + +%String +1 + + + + + Index: Prod/GAMeta/BT/TBCBreedte.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBCBreedte.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBCBreedte.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBCBD") +TBCBreedteDefaultData +^Res.PI.Items("PR;GA;TBCBD") +^Res.PI.Items("index","PR;GA;TBCB") +^Res.PI.Items("stream","PR;GA;TBCB") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: WS/EC/WebShopClient/CancelAll.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/CancelAll.cls.xml (revision 0) +++ WS/EC/WebShopClient/CancelAll.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionID:%String,pxDynaPlug:BL.EC.pxDynaPlug +BL.EC.pxDynaPlug +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +BL.EC.pxDynaPlug + + + + Index: APPS/TBXWeb/impl/AbstractOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/AbstractOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/AbstractOrderHandler.cls.xml (revision 2) @@ -0,0 +1,292 @@ + + + +vhLib.Macro,APPS.TBXWeb +1 +%RegisteredObject +0 + + +0 + + + +%List + + + +WS.TBX.Order + + + +%String + + + +%String + + + +%String + + + +vhLib.Logger + + + +%New method to +provide notification that a new instance of an object is being created. + +

      If this method returns an error then the object will not be created.]]> +wsID:%String,Shop:%String="",Requester:%String="" +1 +1 +%Status + + + + + quiten + Set stPreProcessing = ..PreProcessing() + If $$$ISERR(stPreProcessing) Do Quit $$$ERROR($$$GeneralError,"Preprocessing error") + . Do ..Logger.ErrorMail("PREPROCESSING_FAILED",$$ParseStatus^vhLib.System(stPreProcessing)) + + ; Ordertype order niet van het juiste begin type + If $$$ISERR(..OrderStartTypeValid()) Do Quit $$$ERROR($$$GeneralError,"WSOrder start type not correct") + . Do ..Logger.ErrorMail("ORDERSTARTTYPE_INVALID",..WSOrd.%Id()_" : "_..WSOrd.BonType) + + If '(..IsValidWebDomain()) Do Quit $$$ERROR($$$GeneralError,"WSOrder has no valid WebDomain for this shop") + . Set Info = "WSOrd.WebDomain = *"_..WSOrd.WebDomain _"* "_"Domain Shop = *"_..WebServer()_"*" + . Do ..Logger.ErrorMail("WEBDOMAIN_INVALID",Info) + + ; testen of order lijnen bevat die niet konden berekend worden. + Set ..lbLineErrors = ..DetectLineErrors(..WSOrd) + ; indien parameter stop bij lijn fouten actief + If (..#HaltOnLineErrors && $LL(..lbLineErrors) ) Do Quit $$$ERROR($$$GeneralError,"Error in several lines") + . Do ..Logger.Error("TBX_LINE_ERRORS",..WSOrd.mID _" "_ $$$LCVT(lbLineErrors)) + + Set NewBT = ..GetOrderResultType() ; order type wijzigen alvorens bon te bewaren + If (NewBT'=..WSOrd.BonType) Do + . Set OldBT = ..WSOrd.BonType + . Set ..WSOrd.BonType = NewBT + . Do ..Logger.Info("BONTYPE_SET",OldBT _ " ---> " _ NewBT) + + if (..Shop = "VHEPN") && (..Requester'="VHEPN" ) { + Do ..WSOrd.AddToSubmitToVHLog("1") + } else { + Set ..WSOrd.SubmitTS=$ZDT($H,3) + } + + ; bon bewaren + Set stSaved = 1 + Set stSaved = ..WSOrd.%Save() + If 'stSaved Do Quit stSaved + . Do ..Logger.ErrorMail("SAVE_ORDER_FAILED",$$ParseStatus^vhLib.System(stSaved)) + Do ..Logger.Info("ORDER_SAVED") + + ; Post processing verwerking starten -> indien post processing errors --> quiten + Do ..Logger.Info("POSTPROCESSING_STARTED") + Set stPostProcessing = ..PostProcessing() + if 'stPostProcessing Do Quit $$$ERROR($$$GeneralError,"Post processing error") + . Do ..Logger.ErrorMail("POSTPROCESSING_FAILED",$$ParseStatus^vhLib.System(stPostProcessing)) + + Do ..Logger.Info("ORDER_PROCESSED") + + Quit $$$OK +]]> + + + +%String + + + + +1 +%String + + + + +1 +%Status + + + + +1 +%Status + + + + +1 +Boolean + + + + +WSOrd +1 +%List + + + + +1 +%Status + + + + +1 +%String +" +]]> + + + +1 +%List + + + +%String + + + + +1 +%String + + + + +1 +%String + + + + +%String + + + + +%String + + + + + + + + + Index: _vhisie/TBX/TBoxMain.js =================================================================== diff -u --- _vhisie/TBX/TBoxMain.js (revision 0) +++ _vhisie/TBX/TBoxMain.js (revision 2) @@ -0,0 +1,177 @@ +// Constants: +var JVMDetectMode="DONTCHECK" // "DISPLAY","ONERROR","ONAVAIL","SILENT","DONTCHECK" + +// General variabels (initial values): +var ActiveTaal=""; +var blnSesActive=true; +var msgSessionTimedOut; +var winPrintPage; +var winInfoPage; + +function atoReloadPage() { + var msg=msgSessionTimedOut || ("Session timed out."+"\n"+"Click OK to renew this page?"); + if (true) return; + if (confirm (msg)) window.location.reload(true); + else window.location.href="about:blank"; +} +function OnAppTimeOut() { + blnSesActive=false; + var oTimer=document.getElementById('timer'); + if (oTimer) oTimer.innerHTML="0:00:00 " + "Session timed out. Page can no longer be interactive with the server. " + ' Click to restart.'; + atoReloadPage(); + return; +} + +function PrintPageFocus() { + WindowFocus("winPrintPage"); +} + +function PrintWinPrintPage(sURL) { + window.TagActionPrint="PRINT"; + ShowPrintWin(sURL); + winPrintPage.focus(); +} +function ShowPrintWin (sURL) { + sURL= sURL || "about:blank"; + winPrintPage=window.open(sURL,"winPrintPage"); + winPrintPage.opener=window; +} + +function GetParentPos() { + if (isIE()) return {x:window.screenLeft, y:window.screenTop} + else return {x:window.screenX, y:window.screenY} ; +} +function GetParentDim() { + if (isIE()) return {w:document.body.offsetWidth, h:document.body.offsetHeight} + else return {w:window.outerWidth, h:window.outerHeight} ; +} +function GetScreenDim() { + return {w:window.screen.availWidth, h:window.screen.availHeight} ; +} +function PosCenterWindow(DlgDim) { + var ParPos=GetParentPos(); + var ParDim=GetParentDim(); + return {x:parseInt(ParPos.x + (ParDim.w - DlgDim.w)/2), y:parseInt(ParPos.y + (ParDim.h - DlgDim.h)/2)} +} +function PosCenterScreen(DlgDim) { + var ScrnDim=GetScreenDim(); + return {x:parseInt((ScrnDim.w - DlgDim.w)/2), y:parseInt((ScrnDim.h - DlgDim.h)/2)} +} + +function GetFeatures() { + return "location=0,menubar=0,scrollbars=0,resizable=0,status=0,titlebar=0,toolbar=0"; +} +function GetFeatures2() { + return "location=0,menubar=0,scrollbars=1,resizable=1,status=0,titlebar=0,toolbar=0"; +} + +var winInfoHelp; +function ShowInfo (SubjCode,InfoDC) { + if (isUndef(InfoDC)) InfoDC=DC; + InfoDC=(InfoDC=="I" ? "_I" : (InfoDC=="A" ? "_A" : "")); + var sHRef=("Help/InfoHelp"+SubjCode+InfoDC+(ActiveTaal ? "_"+ActiveTaal : "")+".htm"); + var sTarget="winInfoHelp"; + winInfoHelp=window.open(sHRef, sTarget, GetSettings("M_INFO")); + try { winInfoHelp.focus(); } + catch (exception) { } // alert(" focus: " + String(exception.name + " - " + exception.message)); +} + +function GetSettings(CodeDlg,DlgDim) { + var DlgPos,ScrnDim; + var sFeat; + switch (CodeDlg) + { + case "M_INFO" : + DlgDim= DlgDim || {w:380, h:580}; + ScrnDim=GetScreenDim(); + DlgPos={x:ScrnDim.w-DlgDim.w-30, y:25} // align right-top // y:ScrnDim.h-DlgDim.h-25-20 --> bottom + sFeat=GetFeatures2(); + break; + case "WAIT" : + DlgDim={w:300,h:170}; + DlgPos=PosCenterWindow(DlgDim); + sFeat=GetFeatures(); + break; + case "MAIL" : + DlgDim=DlgDim || {w:350, h:350}; + DlgPos=PosCenterWindow(DlgDim); + sFeat=GetFeatures(); + break; + default : alert ('Onbekende CodeDlg : "' + CodeDlg + '"'); return; break; + } + var s=""; + s += "width=" + DlgDim.w + ",height=" + DlgDim.h; + s += ",left=" + DlgPos.x + ",top=" + DlgPos.y ; // position for IE + s += ",screenX="+DlgPos.x+",screenY="+DlgPos.y; // position for NN + s += "," + sFeat; + return s; +} + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function TestHTMLWiz () { + return (document.location.href.indexOf(".csp")==-1); +} + +function ResizeWButtons () { + try + { + var coll = document.getElementsByTagName("SPAN"); + var maxW=0; + if (coll!=null) { + // bepaal breedste button (langste tekst) + for (var i=0; i maxW) { maxW = coll[i].offsetWidth; } +// alert ("Has coll " + coll + " Cnt=" + coll.length + " MaxW=" + maxW); + // alle buttons zelfde breedte + for (var i=0; i0 KastHoogte=Hoogte + Set KadObj.Hoogte=Hoogte + Set KadObj.Breedte=Breedte + Do KadObj.ToepassingSetObjectId(##class(Res.PI.Definitie).IDViaNaam("Toepas")_"||"_"KD") + Do KadObj.ProfTypeSetObjectId(##class(Res.PI.Definitie).IDViaNaam("ProfType")_"||"_ProfType) + Do KadObj.ProfAfwSetObjectId(##class(Res.PI.Definitie).IDViaNaam("ProfAfw")_"||"_ProfAfw) + Do KadObj.OphangPlaatsSetObjectId(##class(Res.PI.Definitie).IDViaNaam("OphangPlaats")_"||"_$S(DraaiRicht="L":"L",1:"R")) + If $G(Gemonteerd)="" Set Gemonteerd=$S(KadObj.ProfType.VulCode="A":"L",1:"KV") + Set KadObj.Gemonteerd=Gemonteerd + Set KadObj.Verpakking=$S(Gemonteerd="KV":"K",1:"L") + Do VULLING(KadObj,Vulling,$G(VullingExtras)) + Do SCHARSVDX(KadObj,"S","") + Do GREEP(KadObj,KastHoogte) + Quit +LADE(KadObj,Hoogte,Breedte,ProfType,ProfAfw,Vulling,VullingExtras,OphangPlaats,Gemonteerd) + Set KadObj.Hoogte=Hoogte + Set KadObj.Breedte=Breedte + Do KadObj.ToepassingSetObjectId(##class(Res.PI.Definitie).IDViaNaam("Toepas")_"||"_"LF") + Do KadObj.ProfTypeSetObjectId(##class(Res.PI.Definitie).IDViaNaam("ProfType")_"||"_ProfType) + Do KadObj.ProfAfwSetObjectId(##class(Res.PI.Definitie).IDViaNaam("ProfAfw")_"||"_ProfAfw) + Do KadObj.OphangPlaatsSetObjectId(##class(Res.PI.Definitie).IDViaNaam("OphangPlaats")_"||"_$S(OphangPlaats="I":"I",1:"O")) + If $G(Gemonteerd)="" Set Gemonteerd=$S(KadObj.ProfType.VulCode="A":"L",1:"KV") + Set KadObj.Gemonteerd=Gemonteerd + Set KadObj.Verpakking=$S(Gemonteerd="KV":"K",1:"L") + Do VULLING(KadObj,Vulling,$G(VullingExtras)) + Do FRONT(KadObj) + Do GREEP(KadObj,Hoogte) + Quit +VOUW(KadObj,KastHoogte,Hoogte,Breedte,ProfType,ProfAfw,Vulling,VullingExtras,DraaiRicht,Deel,Gemonteerd) + Set:'$G(KastHoogte) KastHoogte=Hoogte + Set KadObj.Hoogte=Hoogte + Set KadObj.Breedte=Breedte + Do KadObj.ToepassingSetObjectId(##class(Res.PI.Definitie).IDViaNaam("Toepas")_"||"_$S(Deel="V":"VDV",1:"VDS")) + Do KadObj.ProfTypeSetObjectId(##class(Res.PI.Definitie).IDViaNaam("ProfType")_"||"_ProfType) + Do KadObj.ProfAfwSetObjectId(##class(Res.PI.Definitie).IDViaNaam("ProfAfw")_"||"_ProfAfw) + Do KadObj.OphangPlaatsSetObjectId(##class(Res.PI.Definitie).IDViaNaam("OphangPlaats")_"||"_$S(DraaiRicht="L":"L",1:"R")) + If $G(Gemonteerd)="" Set Gemonteerd=$S(KadObj.ProfType.VulCode="A":"L",1:"KV") + Set KadObj.Gemonteerd=Gemonteerd + Set KadObj.Verpakking=$S(Gemonteerd="KV":"K",1:"L") + Do VULLING(KadObj,Vulling,$G(VullingExtras)) + If Deel="V" Do ; Vouwdeel + . Do SCHARSVDX(KadObj,"V","V") ; Vouwscharnieren + . Do SCHARSVDX(KadObj,"O","V") ; Ophangglijders (boven en onder) + Else Do ; Scharnierdeel + . Do SCHARSVDX(KadObj,"S","S") ; Standaard scharnieren + . Do SCHARSVDX(KadObj,"V","S") ; Vouwscharnieren + . Do GREEP(KadObj,KastHoogte) + Quit +AFBOORD + Quit + +VULLING(KadObj,Vulling,VullingExtras) + New I + Quit:KadObj.ProfType.VulCode="" ; Geen vulling mogelijk + Quit:'$L(Vulling) ; Geen vulling gekozen + Do KadObj.Vulling.VullingSetObjectId(##class(Res.PI.Definitie).IDViaNaam("Vulling")_"||"_Vulling) + Quit:($G(VullingExtras)="") + For I=1:1 Quit:('$L($P(VullingExtras,";",I))) Do + . Do KadObj.Vulling.VullingExtra.InsertObjectId(##class(Res.PI.Definitie).IDViaNaam("VullingExtra")_"||"_$P(VullingExtras,";",I)) + Quit +SCHARSVDX(KadObj,Code,Deel) + New BeslagTabel,emSchar + Set BeslagTabel=##class(Res.PI.Definitie).IDViaNaam("Beslag") + If Code="S" Do ; Voor std deur of scharnierdeel van vouwdeur + . Set emSchar=##class(Prod.GADef.emKadBeslag).%New() + . Do emSchar.BeslagSetObjectId(BeslagTabel_"||"_"FERSSVD") + . Do SCHARSVDXPOS(emSchar,5.5) + . Do KadObj.Beslag.SetAt(emSchar, "S") + . Do emSchar.%Close() + If Code="V",(Deel="S")!(Deel="V") Do ; Voor scharnierdeel en vouwdeel van vouwdeur + . Set emSchar=##class(Prod.GADef.emKadBeslag).%New() + . Do emSchar.BeslagSetObjectId(BeslagTabel_"||"_"TRNVW"_$E(Deel,1)) + . Do SCHARSVDXPOS(emSchar,$S(Deel="S":8.8,1:3.5)) + . Do KadObj.Beslag.SetAt(emSchar, $S(Deel="S":"VC", 1:"VV")) + . Do emSchar.%Close() + If Code="O",Deel="V" Do ; Voor Ophangglijders van vouwdeel van vouwdeur + . ; Ophangglijder boven + . Set emSchar=##class(Prod.GADef.emKadBeslag).%New() + . Do emSchar.BeslagSetObjectId(BeslagTabel_"||"_"TRNRB") + . Do SCHARPOSLIST(emSchar,79,4.1) + . Do KadObj.Beslag.SetAt(emSchar, "VB") + . Do emSchar.%Close() + . ; Ophangglijder onder + . Set emSchar=##class(Prod.GADef.emKadBeslag).%New() + . Do emSchar.BeslagSetObjectId(BeslagTabel_"||"_"TRNRD") ; TERNO ROL DUBBEL (SVEDEX) + . Do SCHARPOSLIST(emSchar,"o-79",4.1) + . Do KadObj.Beslag.SetAt(emSchar, "VO") + . Do emSchar.%Close() + Quit + +SCHARSVDXPOS(emSchar,AfBM) + New Eerste,Volgende,VZ,Middle,lstPos,Hoogte + Set VZ=70/2 ; Hoogte scharnier + Set Eerste=79 + Set Volgende=672+79 + Set Hoogte=+KadObj.Hoogte + Quit:(Hoogte<(Eerste*2)) + If +$G(blnStdDeur) && (Hoogte=1726) Do + . ; Uitzondering: bij deze hoogte slechts 3 scharnieren : 79 - (79+800) - (79+800+768) + . Set lstPos=Eerste + . Set lstPos=lstPos_";"_(79+800) + . Set lstPos=lstPos_";"_(-Eerste) + Else Do + . ; Standaard posities van de scharnieren + . Set lstPos=Eerste + . If Hoogte<(Eerste+Volgende+VZ) Do ; deuren tot 870mm + .. ; KadObj.Hoogte is te klein voor 4 scharnieren. Slechts 2 schar plaatsen. + . Else If Hoogte/2<(Volgende+VZ) Do ; deuren van 870mm tot 1572mm + .. ; Twee middelste scharnieren vallen samen + .. Set lstPos=lstPos_";"_$S(Hoogte/20) emPos.RelLengtePos=posI + . If SameBM Set emPos.AfstandRand=AfBM + . Else Set:($G(AfBM)'="") emPos.AfstandRand=$P(AfBM,";",I) + . Do emSchar.Positie.SetAt(emPos,I) + . Do emPos.%Close() + Quit + +BORING(KadObj,Code,XPos,YPos,Diam,BoringType,XXXPlaatsXXX,BoorDiepte) + New emBoor,Key + Set emBoor=##class(Prod.GADef.emKadBoring).%New() + Set emBoor.XPos=KadObj.AbsPosCalc("X",XPos) + Set emBoor.YPos=KadObj.AbsPosCalc("Y",YPos) + Set:(XPos'>0) emBoor.RelXPos=XPos + Set:(YPos'>0) emBoor.RelYPos=YPos + Set emBoor.BoorDiameter=Diam + Set emBoor.BoorDiepte=$S(Diam<0:0, 1:BoorDiepte) ; Puntboring (diam<0) ==> BoorDiepte=0 + Set emBoor.BoringType=BoringType + + Do KadObj.ControleBoring(emBoor) + Set:($E(emBoor.TxtOpmerking,1,3)'="OK:") emBoor.Opmerking=emBoor.TxtOpmerking + ;Set:(emBoor.BoringPlaats?1"P"1A1";VUL") emBoor.BoorGlasDiameter=9 ; Placed in comment by WimV on 06-04-2005 (in opdracht van JohanB) + Set Key="X" + Do KadObj.Boringen.SetAt(emBoor,$S(Key?.A:Key, 1:"X")_$TR($J(KadObj.Boringen.Count()+1, 2), " ", "0")) + Do emBoor.%Close() + Quit +FRONT(KadObj) ; <<<<< Diameter frontbevestiging + Quit:(KadObj.ProfType.VulCode="A") ; Geen boringen voor Afboordingprofielen + New X,Y,Diam + Set Y=-$S(KadObj.OphangPlaats.ItemID="I":18,1:25) + Set X=15 + Set Diam=-1 + Do BORING(KadObj,"", X,Y, Diam,"ON","",0) + Do BORING(KadObj,"", X,Y-64, Diam,"ON","",0) + Do BORING(KadObj,"", -X,Y, Diam,"ON","",0) + Do BORING(KadObj,"", -X,Y-64, Diam,"ON","",0) + Quit +GREEP(KadObj,TotHoogte) + Quit:(KadObj.ProfType.ItemID="P02") ; Geen greep boren voor smalle afboordingsprofielen + New XPos,YPos,Diam + If KadObj.Toepassing.ItemID="LF",$L(KadObj.Vulling.Vulling) Do ; LadeFront + . Set YPos="c" + . Set Diam=7 + . If KadObj.Breedte>500 Do ; 2 grepen ipv van 1 + .. Do BORING(KadObj,"", 100-16,YPos, Diam,"ON","",-1) + .. Do BORING(KadObj,"", 100+16,YPos, Diam,"ON","",-1) + .. Do BORING(KadObj,"", -100+16,YPos, Diam,"ON","",-1) + .. Do BORING(KadObj,"", -100-16,YPos, Diam,"ON","",-1) + . Else Do ; 1 greep + .. Do BORING(KadObj,"", "c+16",YPos, Diam,"ON","",-1) + .. Do BORING(KadObj,"", "c-16",YPos, Diam,"ON","",-1) + .; + Else If (KadObj.Toepassing.ItemID="KD")!(KadObj.Toepassing.ItemID="VDS") Do ; Standaard deur of Vouwdeur-scharnierdeel + . Set XPos=$S(KadObj.OphangPlaats.ItemID="R":22.5,1:-22.5) + . Set Diam=5 + . If TotHoogte=KadObj.Hoogte Do + .. Do BORING(KadObj,"", XPos,"c-96" , Diam,"ON","",-1) + .. Do BORING(KadObj,"", XPos,"c+96" , Diam,"ON","",-1) + . Else Do + .. Set YPos=TotHoogte/2-96 + .. Do BORING(KadObj,"", XPos,YPos , Diam,"ON","",-1) + .. Do BORING(KadObj,"", XPos,YPos+192, Diam,"ON","",-1) + Quit \ No newline at end of file Index: csp/dynaplugreportvhisietable.cls.xml =================================================================== diff -u --- csp/dynaplugreportvhisietable.cls.xml (revision 0) +++ csp/dynaplugreportvhisietable.cls.xml (revision 2) @@ -0,0 +1,202 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,!," " + If '(($L(pxWebShop.WebShopID))) Goto %csp00001 ;{ + Write !," ",! + Write " ",! + Write $c(9)_"",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write " ",! + Write "
      " + Write "" + Write "Overzicht van de geïmporteerde producten in vhisie
      ",! + Write " ",! + Write $c(9)_"",! + Write $c(9)_" " + Write "" + Write !,$c(9)_"",! + Write $c(9)_"",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_"",! + Write $c(9)_"",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write " ",! + Write "
      "_(##class(Res.Vertaling).GetVertalingPlus("DP","ReferenceVH","L",pxWebShop.Taal))_":"_(pxWebShop.WebShopID)_"
       
      ",! + Write " " + Goto %csp00002 ;} +%csp00001 ;{ + Write !," ",! + Write " ",! + Write $c(9)_"",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write " ",! + Write "
      " + Write "" + Write "Er werden geen losse onderdelen gevonden in deze dynalog import
      ",! + Write " " +%csp00002 ;} + Write !," ",! + Write " ",! + Write " " + If '(($L(pxWebShop.WebShopID))) Goto %csp00003 ;{ + Write !," ",! + Write " "_$c(9)_" ",! + Write " "_$c(9)_" ",! + Write " "_$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " +%csp00005 If '(pxWebShop.Lijnen.Next()) Goto %csp00004 ;{ + Write !,$c(9)_" " + If '(pxWebShop.Lijnen.GetData(1)="G") Goto %csp00006 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + Goto %csp00007 ;} +%csp00006 ;{ + Write !,$c(9)_" " + If '(pxWebShop.Lijnen.GetData(1)="WST") Goto %csp00008 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + Goto %csp00009 ;} +%csp00008 If '(pxWebShop.Lijnen.GetData(1)="WSP") Goto %csp00010 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9,9)_" "_$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9,9)_"",! + Write $c(9)_" " +%csp00009 ;} +%csp00010 + Write !,$c(9)_" " +%csp00007 ;} + Write !,$c(9) + Goto %csp00005 +%csp00004 ;} + Write !,"
      "_(##class(Res.Vertaling).GetVertalingPlus("DP","ProductDescription","L",pxWebShop.Taal))_""_(##class(Res.Vertaling).GetVertalingPlus("DP","OfferteRef","L",pxWebShop.Taal))_""_(##class(Res.Vertaling).GetVertalingPlus("DP","Amount","L",pxWebShop.Taal))_""_(##class(Res.Vertaling).GetVertalingPlus("DP","UnitPrice","L",pxWebShop.Taal))_""_(##class(Res.Vertaling).GetVertalingPlus("DP","Total","L",pxWebShop.Taal))_"
      "_(pxWebShop.Lijnen.Data("Tekst"))_"
      "_(pxWebShop.Lijnen.Data("Tekst"))_"
      "_($G(pxWebShop.Lijnen.Data("ProductNaam")))_""_($G(pxWebShop.Lijnen.Data("OfferteRef")))_""_(pxWebShop.Lijnen.Data("Aantal"))_""_($FN(pxWebShop.Lijnen.Data("ENettoPrijs"),".",2)_" "_$S($G(pxWebShop.Lijnen.Data("GrootteOrde"))="H":"%",1:""))_""_($FN(pxWebShop.Lijnen.Data("Totaal"),".",2)_" "_pxWebShop.Lijnen.Data("Munt"))_"
      ",! + Write " " +%csp00003 ;} + Write !," " + Write "" +]]>
      +
      + + +1 +code +%Boolean +" + Write !,! + Do ..OnPageHTML() + Write !,"",! + Write "" +]]> + + + +1 +code +%Boolean +" + Write !,!,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,!,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +c:\cachesys\csp\hadev\DynaPlugReportVHisieTable.csp + + + +/csp/hadev/DynaPlugReportVHisieTable.csp + + + +61775,46540 + +
      +
      Index: Prod/GAData/Item.cls.xml =================================================================== diff -u --- Prod/GAData/Item.cls.xml (revision 0) +++ Prod/GAData/Item.cls.xml (revision 2) @@ -0,0 +1,617 @@ + + + +persistent +PRGACNTs,%VHMacro +%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 + + + + + + + + + +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 + + + + + +Berekent de code voor een nieuw DataItem, als volgt: +MetaItem.Code + (001, 002, 003, etc.) +0 +0 +code + +0 +%Library.String +0 + + + + +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 + + + + + +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 +0 +code +CopyMode:%Library.String="" +0 +Prod.GAData.Item +0 + + + + + +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 + + + + +0 +0 +code +ForceRecalc:%Library.Boolean +0 +0 + + + + + +Geeft de waarde van een proglabel +0 +0 +code +ProgLabel:%Library.String +0 +%Library.String +0 + + + + + + + - + - + - + - + - + - + + | | + + 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" + + + + Index: Prod/GAMeta/BT/TBDesignCode.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBDesignCode.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBDesignCode.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBDCD") +TBDesignCodeDefaultData +^Res.PI.Items("PR;GA;TBDCD") +^Res.PI.Items("index","PR;GA;TBDC") +^Res.PI.Items("stream","PR;GA;TBDC") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Prod/Product/KPRPropViaNr.mac.rou =================================================================== diff -u --- Prod/Product/KPRPropViaNr.mac.rou (revision 0) +++ Prod/Product/KPRPropViaNr.mac.rou (revision 2) @@ -0,0 +1,114 @@ + ; Via onderstaande labels worden de properties gelinked (gemapped) met de global ^KPR + ; "prop"_PropName --> ;Node;Piece van ^KPR(PRNr) + +propGAProdID ;G;13 +propKortTekst ;0;1 +propCifPPL ;J;23 +propLijstPrijs ;J;25 +propLEVNr ;J;1 +propVerpakProduct ;J;32 +propVerpakQty ;J;33 +propStock ;1;20 +PropOpslagZone ;2;15 +propKlasHoofdGroep ;I;1;$E(Val,1,4) +propKlasGroep ;I;2;$E(Val,5,9) +propKlasSubGroep ;I;3;$E(Val,10,18) +propHFReservatie ;@;$P(^PRSTOCK("D",PRNr),"\",6) +propHFVoorraad ;@;$P(^PRSTOCK("D",PRNr),"\",5) +propHFHerbestelWijze ;15;3 +propHFHerbestelPunt ;15;4 +propHFHerbestelAantal ;15;5 +propHFHerbestelAfr ;15;6 +propHFNettoLengte ;15;7 +propHFBrutoLengte ;15;8 +propHFEenheid ;15;9 +propHFMetaTag ;15;10 +propHFDefMagazijn ;15;11 +propHFSubMagazijn ;15;12 +propNettoGewicht ;X;$LI($$gpvGewicht(PRNr),1) +propTarraGewicht ;X;$LI($$gpvGewicht(PRNr),2) +propBrutoGewicht ;X;$LI($$gpvGewicht(PRNr),3) +propGENTYPFG ;X;$$gpvGENTYPShort(PRNr) +propGENTYP ;X;$$gpvGENTYP(PRNr) +propKindMoeder ;@;$S($D(^PRLINK("D",PRNr)):"M",$D(^PRLINK("IK",PRNr)):"K",1:"E") +propProductGroep ;X;$$gpvProdGrp(PRNr) + +GetPropViaNr() ; Parameters: PRNr,PropName + Quit:(PRNr="") "" + New Txt,Key,Val + Set Txt=$T(@("prop"_PropName)) + Quit:(Txt="") "#Onbekend property "_PropName_"#" + Quit:('$D(^KPR(PRNr))) "#Onbekend product "_PRNr_"#" + Set Key=$P(Txt,";",2) + If (Key="@")||(Key="X") Do Quit Val + . X "Set Val="_$P(Txt,";",3,99) + Set:("I;J"[Key) Key=$O(^KPR(PRNr,Key)) + Quit:("I;J"[$P(Txt,";",2))&&($E(Key)'=$P(Txt,";",2)) "#Ontbrekende node "_$P(Txt,";",2)_"#" + If $P(Txt,";",4)="" Quit $P($G(^KPR(PRNr,Key)),"\",$P(Txt,";",3)) + Else Do + . Set Val=$P($G(^KPR(PRNr,Key)),"\",$P(Txt,";",3)) + . X "Set Val="_$P(Txt,";",4,99) + Quit Val + +SetPropViaNr() ; Parameters: PRNr,PropName,Val + Quit:(PRNr="") 1 + Quit:('$D(Val)) 1 + New Txt,Key + Set Txt=$T(@("prop"_PropName)) + Quit:(Txt="") "#Onbekend property "_PropName_"#" + Quit:('$D(^KPR(PRNr))) "#Onbekend product "_PRNr_"#" + Set Key=$P(Txt,";",2) + Quit:(Key="X") 0 + If (Key="@") Do Quit 1 + . X "Set "_$P(Txt,";",3,99)_"=Val" + Set:("I;J"[Key) Key=$O(^KPR(PRNr,Key)) + Quit:("I;J"[$P(Txt,";",2))&&($E(Key)'=$P(Txt,";",2)) "#Ontbrekende node "_$P(Txt,";",2)_"#" + Set $P(^KPR(PRNr,Key),"\",$P(Txt,";",3))=Val + Quit 1 + + +gpvGewicht(PRNr) + Quit:(PRNr="") "" + New ID,BLRec,BG,NG + If $D(^KPR(PRNr,"J5005")) Do ; een BLUM product + . Set ID=$TR($P(^KPR(PRNr,2),"\",25),".","") + . Set $E(ID)=0 + . Set BLRec=$G(^BLProd("D",ID)) + . Set BG=$P(BLRec,"\",9) + . Set NG=$P(BLRec,"\",26) + If $G(NG)="" Set (BG,NG)=$P($G(^KPR(PRNr,1)),"\",13) ; Indien niet gedefinierd + Quit $LB(NG, BG-NG, BG) + +gpvGENTYPShort(PRNr) + ; Geeft enkel FabGrp terug + New GenPRNr + Set GenPRNr=$P(^KPR(PRNr,0),"\",3) + Quit:(GenPRNr="") "" + Set:GenPRNr'?4.7N GenPRNr=PRNr ; het is reeds het generisch product + Quit $P($G(^KPR(GenPRNr,"G")),"\",1,3) + +gpvGENTYP(PRNr) + New Typ,GenPRNr,SubGrp + Set GenPRNr=$P($G(^KPR(PRNr,0)),"\",3) + Quit:GenPRNr="" "" + Set:GenPRNr'?4.7N GenPRNr=PRNr ; het is reeds het generisch product + Set Typ=$P($G(^KPR(GenPRNr,"G")),"\",1,3) + Set SubGrp=$P($G(^KPR(PRNr,"G")),"\",3) + Set:$L(SubGrp)=3 $P(Typ,"\",2)=SubGrp + Quit Typ ;FabGrp\FabSubGrp\BarcodeBegin + +gpvProdGrp(PRNr) + New Groep,GenTyp,Key + Set LevNr=$E($O(^KPR(PRNr,"J")),2,5) + If LevNr=5005 Quit "BLUM" + If LevNr=6502 Quit "GRP" + If LevNr=6332 Do Quit Groep ; HALUX + .Set Groep="HAL" + .Set GenTyp=$$gpvGENTYP(PRNr) + .If GenTyp["GRP" Set Groep="GRP" + .If GenTyp["TBX" Set Groep="TBX" + Set Key=$O(^KPR(PRNr,"I")) + If $E(Key)="I",$P(^KPR(PRNr,Key),"\")["OL" Quit "OL" + Quit "REST" + + \ No newline at end of file Index: APPS/TBXWeb/impl/ActieSFSCorpusProfielen.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/ActieSFSCorpusProfielen.cls.xml (revision 0) +++ APPS/TBXWeb/impl/ActieSFSCorpusProfielen.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +persistent +1 +APPS.TBXWeb.Actie +0 + + + +Datum in $H-formaat doorgeven +Datum:%String +%Boolean + + + + +Shop:%String +%Boolean + + + + +Klant:%String +%Boolean + + + + +TBXOrder:WS.TBX.Order +%Boolean + + + + +TBXLijn:WS.TBX.EM.OrderLijn,GADataProduct:Prod.GAData.Product +%Boolean + + + + +%String + + + + +%Library.CacheStorage + + + Index: EventQueueCNTs.inc.rou =================================================================== diff -u --- EventQueueCNTs.inc.rou (revision 0) +++ EventQueueCNTs.inc.rou (revision 2) @@ -0,0 +1,5 @@ + #Define stPrivate 1 + #Define stSession 2 + #Define stPublic 3 + #Define stBroadcast 4 + #Define stExclude 5 \ No newline at end of file Index: WS/PR/KADWebSoap/CalcPrijs.cls.xml =================================================================== diff -u --- WS/PR/KADWebSoap/CalcPrijs.cls.xml (revision 0) +++ WS/PR/KADWebSoap/CalcPrijs.cls.xml (revision 2) @@ -0,0 +1,140 @@ + + + +WS.PR +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.PR.KADWebSoap + + +%Client,%Action,Aantal:%Integer,MuntCode:%String,ProfType:%String,Hoogte:%xsd.double,Breedte:%xsd.double,Beslag:%String,QtyBeslag:%Integer,QtyGlasBoor:%Integer,QtyProf1:%String,QtyProf2:%String,QtyProf3:%String,QtyProf4:%String,Vulling:%String,VullingExtra:%String,KlantID:%String,Opties:%String +%xsd.double +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%xsd.double + + + + + +%Library.Integer + + + + +%Library.String + + + + +%Library.String + + + + +%xsd.double + + + + +%xsd.double + + + + +%Library.String + + + + +%Library.Integer + + + + +%Library.Integer + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + Index: WS/EC/WebShopClient/OfferteStatus.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/OfferteStatus.cls.xml (revision 0) +++ WS/EC/WebShopClient/OfferteStatus.cls.xml (revision 2) @@ -0,0 +1,65 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionKey:%String +%Library.String +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +%Library.String + + + + + +%Library.String + + + + Index: EWMS/Trans/Transport.cls.xml =================================================================== diff -u --- EWMS/Trans/Transport.cls.xml (revision 0) +++ EWMS/Trans/Transport.cls.xml (revision 2) @@ -0,0 +1,758 @@ + + + +0 +0 +persistent +0 +1 +Transport +GSQLStorage +%Library.Persistent +0 + + +0 +EWMS STAT,NOCREATE + + + +0 +dbo.transport + + + +0 +1 +1 +LocID +0 + + + +%String +0 +0 + +0 +0 +0 +0 +2 +0 +loc_id +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +29 +0 +abc +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +21 +0 +auto_confirm +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +20 +0 +auto_id +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +34 +0 +carrier_dwh +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +33 +0 +carrier_type +0 + + + +%Float +0 +0 + +0 +0 +0 +0 +35 +0 +carrier_weight +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +22 +0 +check_free +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +27 +0 +do_cancel +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +26 +0 +do_confirm +0 + + + +%String +0 +0 + +0 +0 +0 +0 +44 +0 +extra_char_1 +0 + + + + +%Float +0 +0 + +0 +0 +0 +0 +45 +0 +extra_float_1 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +42 +0 +extra_int_1 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +43 +0 +extra_int_2 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +16 +0 +final_g +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +15 +0 +final_m +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +17 +0 +final_x +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +18 +0 +final_y +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +19 +0 +final_z +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +4 +0 +flow_nr +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +40 +0 +is_full +0 + + + +%String +0 +0 + +0 +0 +0 +0 +38 +0 +last_co_time +0 + + + + +%String +0 +0 + +0 +0 +0 +0 +37 +0 +last_id_time +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +11 +0 +next_g +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +10 +0 +next_m +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +12 +0 +next_x +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +13 +0 +next_y +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +14 +0 +next_z +0 + + + +%String +0 +0 + +0 +0 +0 +0 +31 +0 +owner +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +6 +0 +present_g +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +5 +0 +present_m +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +7 +0 +present_x +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +8 +0 +present_y +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +9 +0 +present_z +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +36 +0 +priority +0 + + + +%String +0 +0 + +0 +0 +0 +0 +30 +0 +product +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +32 +0 +product_group +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +41 +0 +route_sequence +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +28 +0 +sender +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +25 +0 +transport_confirmed +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +23 +0 +transport_means +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +24 +0 +transport_ordered +0 + + + +%String +0 +0 + +0 +0 +0 +0 +39 +0 +transport_reason +0 + + + + +%Binary +0 +0 + +0 +0 +0 +0 +46 +0 +ts +0 + + + + +%Integer +0 +0 + +0 +0 +0 +0 +3 +0 +type_transport +0 + + + +0 +1 +code +ArrayName:%Library.String +0 +%Library.Boolean +0 + + + + +%CacheSQLStorage +^EWMS.Tra.TransportS + + + Index: _vhisie/TBX/DynSpace.css =================================================================== diff -u --- _vhisie/TBX/DynSpace.css (revision 0) +++ _vhisie/TBX/DynSpace.css (revision 2) @@ -0,0 +1,6 @@ + .clsDynSpaceNavig { margin:0; margin-top:0px; margin-right:5px; } + .clsDynSpaceTD { margin:0; padding:0; padding-right:3px; } + .clsDynSpaceP { margin:0; width:20px; background-color:white; } + .clsDynSpaceIMG { border:solid #D8E3E9 1px; filter:alpha(opacity=50); opacity:0.50; } + .clsDynSpaceHiLite { border:solid #D8E3E9 1px; } + .clsDynSpaceActive { border:solid #ff3800 1px; } Index: Prod/ProductTekst.cls.xml =================================================================== diff -u --- Prod/ProductTekst.cls.xml (revision 0) +++ Prod/ProductTekst.cls.xml (revision 2) @@ -0,0 +1,1631 @@ + + + +persistent +DataM +%Library.Persistent + + + +Uniekheid index voor property ProductNr +1 +ProductNr +1 + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 26 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 26 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 26 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 26 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + +%Library.Integer + +0 + + + + Omschrijving +Taal = "BR" -> Bestelreferentie]]> +code +Taal:%String="N",Sep:%String +%String + + + + +%CacheSQLStorage +^Prod.ProductBasisS + +data +^KPR +delimited + +{ProductNr} +0.1 + + +"\" +4 +1 + + +"\" +4 +7 + + +"\" +4 +8 + + +"\" +4 +9 + + +"\" +4 +10 + + +"\" +5 +4 + + +"\" +5 +5 + + +"\" +5 +6 + + +"\" +5 +7 + + +"\" +5 +8 + + +"\" +5 +9 + + +"\" +4 +2 + + +"\" +5 +10 + + +"\" +4 +3 + + +"\" +5 +1 + + +"\" +5 +2 + + +"\" +5 +3 + + +"\" +4 +4 + + +"\" +4 +5 + + +"\" +4 +6 + + +"\" +2 +2 + + +"\" +10 +8 + + +"\" +10 +9 + + +"\" +10 +10 + + +"\" +11 +1 + + +"\" +11 +2 + + +"\" +11 +3 + + +"\" +9 +4 + + +"\" +11 +5 + + +"\" +11 +6 + + +"\" +11 +7 + + +"\" +3 +23 + + +"\" +11 +8 + + +"\" +11 +9 + + +"\" +11 +10 + + +"\" +10 +1 + + +"\" +10 +2 + + +"\" +10 +3 + + +"\" +10 +4 + + +"\" +10 +5 + + +"\" +10 +6 + + +"\" +10 +7 + + +"\" +2 +1 + + +"\" +12 +8 + + +"\" +12 +9 + + +"\" +12 +10 + + +"\" +13 +1 + + +"\" +13 +2 + + +"\" +13 +3 + + +"\" +13 +4 + + +"\" +9 +5 + + +"\" +13 +6 + + +"\" +13 +7 + + +"\" +3 +22 + + +"\" +13 +8 + + +"\" +13 +9 + + +"\" +13 +10 + + +"\" +12 +1 + + +"\" +12 +2 + + +"\" +12 +3 + + +"\" +12 +4 + + +"\" +12 +5 + + +"\" +12 +6 + + +"\" +12 +7 + + +"\" +1 +22 + + +"\" +8 +8 + + +"\" +8 +9 + + +"\" +8 +10 + + +"\" +9 +1 + + +"\" +9 +2 + + +"\" +9 +3 + + +"\" +9 +4 + + +"\" +9 +5 + + +"\" +9 +6 + + +"\" +9 +7 + + +"\" +3 +21 + + +"\" +9 +8 + + +"\" +9 +9 + + +"\" +9 +10 + + +"\" +8 +1 + + +"\" +8 +2 + + +"\" +8 +3 + + +"\" +8 +4 + + +"\" +8 +5 + + +"\" +8 +6 + + +"\" +8 +7 + + +"\" +0 +2 + + +"\" +6 +8 + + +"\" +6 +9 + + +"\" +6 +10 + + +"\" +7 +1 + + +"\" +7 +2 + + +"\" +7 +3 + + +"\" +7 +4 + + +"\" +7 +5 + + +"\" +7 +6 + + +"\" +7 +7 + + +"\" +0 +11 + + +"\" +7 +8 + + +"\" +7 +9 + + +"\" +7 +10 + + +"\" +6 +1 + + +"\" +6 +2 + + +"\" +6 +3 + + +"\" +6 +4 + + +"\" +6 +5 + + +"\" +6 +6 + + +"\" +6 +7 + + + + + Index: Res/PI/Verbind.cls.xml =================================================================== diff -u --- Res/PI/Verbind.cls.xml (revision 0) +++ Res/PI/Verbind.cls.xml (revision 2) @@ -0,0 +1,189 @@ + + + + +Hoekverbinder +persistent +Res.PI.Items + + + +
    • VZBSL : Vrijezone beslag +
    • VZBOR : Vrijzezone boring +
    • BORAX : Bevestingsboring A pos X +
    • BORAY : Bevestingsboring A pos Y +
    • BORBX : Bevestingsboring B pos X +
    • BORBY : Bevestingsboring B pos Y +]]> +%Library.Float +array + + + + +%Integer + + + +%Library.String + + + +Res.PI.Kost + + + +Res.PI.Kost + + + +%Library.String + + + +QtyStaffel:%Library.Integer,MuntPar:%Library.Float,DtlObj:Res.PI.emKostDetail,Opties:%Library.String,Omtrek:%Library.Float,Opp:%Library.Float,Volume:%Library.Float +%Library.Float + + + + + + + ; ... + ; + + New strVML,intLeft,intTop,intRotate + New MaxDim,FKey + + If $G(Plaats)="" Set Plaats="LB" + If $G(XHoek)="" Set XHoek=0 + If $G(YHoek)="" Set YHoek=0 + + Set intRotate=$S(Plaats="LB":0, Plaats="RB":90, Plaats="RO":180, Plaats="LO":270, 1:0) + Set MaxDim="" + Set strVML=$$TemplateVMLGet(%this.ItemID,.MaxDim) + + Set intLeft=XHoek-$S($E(Plaats,1)="R":MaxDim,1:0) + Set intTop=YHoek-$S($E(Plaats,2)="O":MaxDim,1:0) + + ; Replace parameters by values + For FKey="GROUP_LEFT;intLeft", "GROUP_TOP;intTop", "GROUP_ROTATE;intRotate" Do + . Do ReplaceSubString(.strVML, "@"_$P(FKey,";",1)_"@", @$P(FKey,";",2)) + + Do WRITE^XMLWRITE(DevObj,strVML) + Quit + +ReplaceSubString(strText,strFind,strNew) + ; Replaces all in by + ; strText should be passed by Reference !!! + ; + New FKey,Q,P,Find,Variable + + For Quit:strText'[strFind Do + . Set Q=$FIND(strText,strFind)-1 + . Set P=Q-$L(strFind)+1 + . Set $E(strText,P,Q)=strNew + + Quit "Pass First Parameter by Reference!" + +TemplateVMLGet(VCode,MaxDim) + ; Returns the VML-code Template to draw "Beslag" + ; is returned by Reference !!! + New VML,NL,BorClr + + Set NL=$C(13)_$C(10) + Set BorClr="gray" + Set VML="" + + If VCode="2" Do + . ; + . If $G(Opties)["C" Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set MaxDim=61 + . ; + Else If VCode="1" Do + . ; + . If $G(Opties)["C" Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set VML=VML_""_NL + . Set MaxDim=43 + . ; + Else Do + . Set VML="" + . Quit + + Quit VML + + + +]]> + + + +%Library.CacheStorage +VerbindDefaultData + +ConstructAfm +subnode +"CA" + + +"VB" + +Gewicht + + +HoekKost + + +SchroefKost + + +VrijeZone + + +BoorA + + +BoorB + + +HoekKostCode + + +SchroefKostCode + + +OLDHoekKost + + +OLDSchroefKost + + + + + Index: csp/tbx/XmlWriter.cls.xml =================================================================== diff -u --- csp/tbx/XmlWriter.cls.xml (revision 0) +++ csp/tbx/XmlWriter.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + + +Afgeleide van %XML.Writer, uitgebreid met de method WriteProcessingInstruction() + +Deze klasse moet enkel gebruikt worden op Caché v 5.0.12 (and earlier), op de WWW dus. +1 +%XML.Writer +0 + + +WriteProcessingInstruction writes out a processing instruction with a + space between the name and text as follows: <?name text?>. +This method may only be called outside the root element is written.
      +Arguments:
      +- name Name of the processing instruction.
      +- text Text to include in the processing instruction. ]]> +name:%String,text:%String +%Status +" + + /* + If ..OutputDestination'="device" { + Use io + } + + Set ..IndentNext=..Indent + */ + + Quit $$$OK +]]> + + + + +OVERRIDE van %XML.Writer (by WimV on 20/04/2009) +object:%XML.Adaptor,tag:%String,namespace:%String,local:%Boolean +%Status + + +
      +
      Index: vhLib/cspError.inc.rou =================================================================== diff -u --- vhLib/cspError.inc.rou (revision 0) +++ vhLib/cspError.inc.rou (revision 2) @@ -0,0 +1,10 @@ + + // From Method keywords +#define fmOnPreHTTP "OnPreHTTP" +#define fmHyperEventError "HyperEventError" + + // Error Type keywords (main categories to be distinguish when a CSP error occured) +#define etPageLoadError "PageLoadError" +#define etPreHTTPTimeOut "PreHTTPTimeOut" +#define etHyperEventError "HyperEventError" +#define etHyperEventTimeOut "HyperEventTimeOut" \ No newline at end of file Index: DetailVertalingAbstractCNTs.inc.rou =================================================================== diff -u --- DetailVertalingAbstractCNTs.inc.rou (revision 0) +++ DetailVertalingAbstractCNTs.inc.rou (revision 2) @@ -0,0 +1,12 @@ + //Gebruikt bij TaalObj, verschillende compo's + #Define toLabel 1 + #Define toMemo 2 + #Define toIsHTMLCheck 3 + + //Gebruikt bij LinkObj, verschillende compo's + #Define loLabel 1 + #Define loDirectoryCombo 2 + #Define loPlaatsCombo 3 + #Define loSoortCombo 4 + #Define loURLCombo 5 + #Define loExtensionCombo 6 \ No newline at end of file Index: csp/tbx/printpage.cls.xml =================================================================== diff -u --- csp/tbx/printpage.cls.xml (revision 0) +++ csp/tbx/printpage.cls.xml (revision 2) @@ -0,0 +1,216 @@ + + + + +XML-versie van het WS.TBX.Order object +%VHMacro +1 +%CSP.Page +0 + + +text/xml + + + +UTF-8 + + + +/VHISIE/TBX/PrintPage.csp + + + +1 + + + +0 + + + +1 +0 +%Status + m.a.w. pxWSOrd.Munt moet correct ingevuld worden (EUR of CHF); prijzen van WSOrd niet meer omrekenen, dus Munt="EUR" + . Set pxWSOrd.Munt=$S(blnShowAK:"EUR", 1:Munt) + . Set Munt="EUR" + + If pxWSOrd.LeverTijdID="ASAP" Do + . Set LevTOms=pxWSOrd.LeverTijd + . Set:(LevTOms[" (") $P(LevTOms," (",1)="ASAP" + . Set pxWSOrd.LeverTijd=LevTOms + Else If pxWSOrd.LeverTijdID="LATER" Do + . Set pxWSOrd.LeverTijd=pxWSOrd.LeverTijd_$$$CRLF_">>"_$C(160)_pxWSOrd.Opmerking1 + Else If $L(pxWSOrd.LeverTijdID) Do + . Set pxWSOrd.LeverTijd=$TR(pxWSOrd.LeverTijd,$C(160)," ") + . Set pxWSOrd.LeverTijd=$$$Replace(pxWSOrd.LeverTijd," - ","-") + . Set:($L(pxWSOrd.LeverTijd," (")>1) pxWSOrd.LeverTijd=$$$Trim($P(pxWSOrd.LeverTijd," (",1))_" ("_$P(pxWSOrd.LeverTijd," (",2,99) + . Set pxWSOrd.LeverTijd=$$$Replace(pxWSOrd.LeverTijd,"Semaine","Sem.") + + Do ; If $L(pxWSOrd.NietMeeleveren) Do + . Set str="" + . For i=1:1:$L(pxWSOrd.NietMeeleveren,";") Do + . . Set NietMeeKey=($P(pxWSOrd.NietMeeleveren,";",i)) + . . Set:($E(NietMeeKey,1,2)="NM")&&($E(NietMeeKey,3)'="_") $E(NietMeeKey,1,2)="NM_" + . . Set:($L(NietMeeKey)) str=str_$S($L(str):", ", 1:"")_$$$LCase($$$GetVertaling(NietMeeKey,Taal,"L")) + . Set pxWSOrd.NietMeeleverenOms=str + + // Berekende waarden voor de Omschrijving van Kleurkeuze e.d. + Set blnContainsGlas=0 + Set i="" + For Set WSLn=pxWSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . Set WSLn.ItemDC=##class(BL.PR.GA.TandemBox).DesignCodeFromDS(WSLn.ItemDS) + . ;Set:($L(WSLn.ItemDC)) WSLn.ItemDCOms=##class(cspBasis.GAProdTBox).WebTextValue("DC_"_WSLn.ItemDC,Taal,"L") + . Set:($L(WSLn.ItemDC)) WSLn.ItemDCOms=$$$GetVertaling("DC_"_WSLn.ItemDC,Taal,"L") + . Set:($L(WSLn.ItemDS)) WSLn.ItemDSOms=$$$GetVertaling("DS_"_WSLn.ItemDS,Taal,"L") + . ;d WLIP^vhDBG(97,"Proxy") + . ;d WL^vhDBG("ItemDSOms="_WSLn.ItemDSOms) + . Set:($L(WSLn.ItemKL)) WSLn.ItemKLOms=$$$GetVertaling("KL_"_WSLn.ItemKL,Taal,"L") + . Set:($L(WSLn.ItemKB)) WSLn.ItemKBOms=$$$GetVertaling("KL_"_WSLn.ItemKB_$S(WSLn.ItemKB?1(1"WI",1"BE"):"_KB", 1:""),Taal,"L") ; KL_EI_KB + . Set:($L(WSLn.ItemRK)) WSLn.ItemRKOms=$$$GetVertaling("KL_"_WSLn.ItemRK,Taal,"L") + . Set:($L(WSLn.ItemKX)) WSLn.ItemKXOms=$$$GetVertaling("KL_"_WSLn.ItemKX,Taal,"L") + . Set:($L(WSLn.ItemKV)) WSLn.ItemKVOms=$$$GetVertaling("KLV_"_WSLn.ItemKV,Taal,"L") + . Set:(WSLn.ItemFB="NM") WSLn.ItemFB="-" + . Set blnContainsGlas=(blnContainsGlas)||(WSLn.ItemBX?1(1"BG",1"COV"))||(WSLn.ItemBGRP?1(1"V")) + + If 'blnContainsGlas Do + . ; Kan ook op voorhand bepaald worden, en dan 'niet invullen' i.p.v. achteraf te wissen + . Set i="" + . For Set WSLn=pxWSOrd.Lijnen.GetNext(.i) Quit:(i="") Set WSLn.ItemKVOms="-" + + // Wis Prijzen AK / VK + Quit:(blnShowVK && blnShowAK) + Set:(pxWSOrd.BonType="INKP")&&('blnShowAK) pxWSOrd.BonType="BBON" + Set:(blnShowAK) pxWSOrd.BonType=pxWSOrd.BonType_"-AK" + Set TotPrijs=0 + Set i="" + For Set WSLn=pxWSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . Set:(blnShowAK) TotPrijs=TotPrijs+(WSLn.AKPrijs*WSLn.Qty) + . If $$$ShowVKOnly Do + . . Set WSLn.AKPrijs="" + . Else If $$$ShowAKOnly Do + . . Set WSLn.KostPrijs="" + . . ;Set WSLn.KostPrijs=WSLn.AKPrijs ; copy into VKPrijs + . . ;Set WSLn.AKPrijs="" + . Else If $$$ShowNone Do + . . Set WSLn.KostPrijs="" + . . Set WSLn.AKPrijs="" + . Else If $$$ShowBoth Do + . . ; Nothing + . Set WSLn.KostPrijs=$$opgPrijsConvertX(Munt,WSLn.KostPrijs) + . Set WSLn.AKPrijs=$$opgPrijsConvertX(Munt,WSLn.AKPrijs) + Set:($$$ShowAKOnly) pxWSOrd.TotPrijs=TotPrijs + Set pxWSOrd.TotPrijs=$$opgPrijsConvertX(Munt,pxWSOrd.TotPrijs) + Quit +opgPrijsConvertX(Munt,Val) + Quit:($IsValidNum(Val)) $$PrijsConvert^cspBasis.Library(Munt,Val) + Quit Val +opgAddToLog + If '$IsObject(pxWSOrd) Do Quit + . Do ##class(cspBasis.GAProdTBox).AddToLog("PRINTPAGE","","","ERROR",wsID,$G(%session.Data("VERW")),$G(Taal),,) + New lbExtras + Set lbExtras="" + Set:($L($G(XSLhref))) lbExtras=lbExtras_$LB("XSLhref="_XSLhref) + Do ##class(cspBasis.GAProdTBox).AddToLog("PRINTPAGE",pxWSOrd.WebDomain,pxWSOrd.KLNummer,"P"_$S(blnShowAK:"-AKP",1:""),wsID,$G(VERW),$G(Taal),,lbExtras) + ;Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,Domain,KLNr,WizMode,wsID,Verwerker,Taal,VhisieLogin,lbExtras) + Quit +]]> + + + +1 +lbErrTypes + + + + Index: BL/EC/sub/pxTBXOrder.cls.xml =================================================================== diff -u --- BL/EC/sub/pxTBXOrder.cls.xml (revision 0) +++ BL/EC/sub/pxTBXOrder.cls.xml (revision 2) @@ -0,0 +1,45 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +%String + + + +%Boolean + + + +%String + + + + +%String + + + Index: EWMS/History/Transport.cls.xml =================================================================== diff -u --- EWMS/History/Transport.cls.xml (revision 0) +++ EWMS/History/Transport.cls.xml (revision 2) @@ -0,0 +1,177 @@ + + + +%occStatus +%Library.Persistent + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +1 +0 +0 + + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +1 +0 +0 + + + +0 +0 +code +SQLGCWrapper:%Library.String +0 +%Library.Boolean +0 + + + + +0 +0 +code +SQLGCWrapper:%Library.String +0 +%Library.Boolean +0 + + + + Index: Prod/GAMeta/ItemPR.cls.xml =================================================================== diff -u --- Prod/GAMeta/ItemPR.cls.xml (revision 0) +++ Prod/GAMeta/ItemPR.cls.xml (revision 2) @@ -0,0 +1,148 @@ + + + + +Geeft het Bruto en Netto gewicht terug in de vorm van een $LB +persistent +Prod.GAMeta.Item +0 + + +0 +0 +code +PRNr:%Library.String,DItem:Prod.GAData.Item +0 +%Library.String +0 + + + + +0 +0 +code +Type:%Library.String="N",PRNr:%Library.String,DItem:Prod.GAData.Item +0 +%Library.String +0 + + + + +0 +0 +code +PRNr:%Library.String,DItem:Prod.GAData.Item +0 +%Library.String +0 + + + + +0 +0 +code +PRNr:%Library.String,DItem:Prod.GAData.Item,Verkort:%Library.Boolean=0 +0 +%Library.String +0 + + + + + +De parameter lbKMArgs moet van de vorm zijn $LB( $LB(,) , $LB(,) , $LB(,) , ... )
      +Mogelijke KMArg list-items zijn: +
      +    $LB(Kenm1,)                     : geeft de vertaling van de kenmerk-waarde van Kenm1
      +    $LB(Kenm2,)                     : geeft de vertaling van de kenmerk-waarde van Kenm2
      +    $LB(,"blabla")                  : geeft de letterlijke waarde "blabla" terug (eerste list-item="")
      +    $LB(Kenm3,"TranslateValue")     : geeft de vertaling van "TranslateValue" volgens meta-kenmerk Kenm3 terug
      +                                        (TranslateValue kan ook een expressie zijn) 
      +
      +]]>
      +0 +0 +code +lbKMArgs:%Library.List,Delim:%Library.String=";",DItem:Prod.GAData.Item,KenmGrp:%Library.String +0 +%Library.String +0 + +
      + + +0 +0 +code +PRNr:%Library.String,DItem:Prod.GAData.Item +0 +%Library.String +0 + + + + +0 +0 +code +KenmGrp:%Library.String,Kenm:%Library.List,DItem:Prod.GAData.Item +0 +%Library.String +0 + + + + + +Valideert het product van het DataItem, als het MetaItem van de klasse "ItemPR*" is. +0 +0 +code +DItem:Prod.GAData.Item,ParamCheck:%Library.String="CheckPR" +0 +%Library.Integer +0 + + + + + + +Opties :
    • +GAF : Full XML-beschrijving; i.e. met tag < PRODUCTEN >
    • +GAV : VML-code toevoegen
    • +GA0 : met Omschrijving van de data in de XML-tags
    • +VMLH,VMLC : Opties voor VML-gedeelte: zie KaderDeur.XMLVectorWrite + +

      +XSLURL : Toevoegen van de reference naar de XSL. Indien Leeg (""), tags worden weggelaten.]]> +0 +0 +code +DItem:Prod.GAData.Item,DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String +0 +0 + + + + +%Library.CacheStorage + + + Index: WS/EC/WebShopProxy.cls.xml =================================================================== diff -u --- WS/EC/WebShopProxy.cls.xml (revision 0) +++ WS/EC/WebShopProxy.cls.xml (revision 2) @@ -0,0 +1,191 @@ + + + +BL.EC.Common +1 +%SOAP.WebService +0 + + + +Name of the WebService. +Dynalog + + + + +TODO: change this to actual SOAP namespace. +SOAP Namespace for the WebService +http://vhisie.vanhoecke.be + + + + +URL for invoking the WebService. + location on www (Hadev): "http://iserv.vanhoecke.be/csp/hadev"; + location on www (Demo ): "http://iserv.vanhoecke.be/csp/demo" ; +http://iserv.vanhoecke.be/csp/demo + + + +http://iserv.vanhoecke.be/csp/hadev + + + +http://iserv.vanhoecke.be/csp/demo + + + +InternalError + + + + +Parameters:
      +GebruikersNaam: Niet case gevoelig
      +WachtWoordEncrypt: Geëncrypteerd wachtwoord
      +Type : "DynaLog"
      +Data : is een LargeObject (<32K) dat de ganse te transferen data bevat. Eventueel geplaatst tussen [CDATA ...]] tags]]>
      +1 +GebruikersNaam,WachtWoordEncrypt,Type,Optie,Data:%GlobalCharacterStream,Taal,DynaplugVersion,DynalogVersion,ClientIP="",Domein="" +BL.EC.pxDynaPlug +1 + +
      + + +1 +SessionID:%String,pxTBXOrder:BL.EC.sub.pxTBXOrder +BL.EC.pxDynaPlug +1 + + + + +1 +SessionID:%String,pxDynaPlug:BL.EC.pxDynaPlug +BL.EC.pxDynaPlug +1 + + + + +1 +SessionID:%String,pxDynaPlug:BL.EC.pxDynaPlug +BL.EC.pxDynaPlug +1 + + +
      +
      Index: WS/EC/WebShopClient/UpdateTBXOrder.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/UpdateTBXOrder.cls.xml (revision 0) +++ WS/EC/WebShopClient/UpdateTBXOrder.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionID:%String,pxTBXOrder:BL.EC.sub.pxTBXOrder +BL.EC.pxDynaPlug +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +BL.EC.sub.pxTBXOrder + + + + Index: _vhisie/TBX/TBox WebOrder HEIN_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder HEIN_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder HEIN_N.xsl (revision 2) @@ -0,0 +1,512 @@ + + + + + + +EUR + + + + HEIN - TandemBOX - Web Order + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + EDI Nr.:  +
      NAAM:
       
      (BTW)  
      STRAAT/NR:
       
      POSTCODE:
       
      GEMEENTE:
       
      TELEFOON:
       
      FAX:
       
      E-MAIL:
       
      LEVERTIJD:
       
      REFERENTIE:
       
      + + + + + +
      + + + + +
      + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
      +
      +   +
      Fax deze bon naar het nr +49 (0)7034 9270-70
      +
      + + + + + + + + + + +
      + + + + + + +
      +
      + + + + + +
      Standaard lade (uit stock):
      + + + + + +
      +
      + + + + + + + + + + + + + + + + +
      Niet meeleveren:

       

      Totaal:

      +

       

      +
      +

        

      +
      +
      + + + + + +
      + Deze offerte is 30 dagen geldig, tot +
      +
      +
      + + + + +
      + Die Preise verstehen sich ab Werk, zuzüglich der gesetzlichen Mehrwertsteuer. +
      +
      + + + + + +
      + + + +
      +
      +
      + + + + + +
      + + + +
      +
      +
      + + +
      + + + + + + + + + + + +
      DESIGN : LadezijdenKLEURKEUZE : Onderdelen
      + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
      +

      +

      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + +
      BODEM+RUG:

      RELINGEN:

      BOXSIDE:

      VULLING/GLAS:

      +
      +
      + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

      + + +

      + + + +

      mm

      + + + +

      +

      mm

      + + + +

      mm

      + + + +

      kg

      + + + + +

      + + S + +

      + + + +

      + + + +

      + + + clsMColQty +

      + + + + clsOvzPrices + + + + +
      +
      + + + +

       

      +

      # FOUT #

      + +

       

      +
      +
      + + + + + ... + + +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

       

      +

      Code

      +

      Breedte

      +

      WD

      +

      Diepte

      +

      Gew

      +

      FB *

      +

      Box

      +

      Diverse

      +

      Aant

      + +

      Ink. Prijs/stPrijs/st Info

      + +
      + + + + +

      * FB : Frontbevestiging (Legende)

      +

      + + + + + + +
      +

      +
      + + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

      * Box : Verhoogde zijwand (Legende)

      +

      + + + + + + + + + +
      +

      +
      + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + Boxcover zonder vulling + (Code ) + + + +
      Index: _vhisie/TBX/MailSend.csp =================================================================== diff -u --- _vhisie/TBX/MailSend.csp (revision 0) +++ _vhisie/TBX/MailSend.csp (revision 2) @@ -0,0 +1,205 @@ + + + + + + + + + #(..WebTextValue("DataVersturen",Taal,"L"))# + + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      #(..WebTextValue("DataVersturen",Taal,"L"))#
      +
      + + #(..WebTextValue("Orderbevestiging",Taal,"L"))# + +
      + #(..WebTextValue("Orderbevestiging_Keuzelijst",Taal,"L"))# +
      + +

      +
      + #(..WebTextValue("Levertijd",Taal,"L"))#:    + +
      + + + + + +
      +
      +

      + APPLICATION ERROR: Unable to submit.
      + Bookmark your order ('add to favorites' from the 'main page') and try again later. +

      +

      + APPLICATION ERROR: Impossible d'envoyer l'ordre.
      + Sauver votre commande ('enregister' dans la 'page principale') et essayez � nouveau plus tard. +

      +
      + #(..WebTextValue("Bijkomende opmerkingen",Taal,"L"))#:
      + +
      + + #(..WebTextValue("Annuleren",Taal,"L"))# + + #(..WebTextValue("VerzendenMail",Taal,"L"))# #(..WebTextValue("Annuleren",Taal,"L"))# + +
      +
      + + + + + + + + + + Index: APPS/TBXWeb/DomeinNamen.inc.rou =================================================================== diff -u --- APPS/TBXWeb/DomeinNamen.inc.rou (revision 0) +++ APPS/TBXWeb/DomeinNamen.inc.rou (revision 2) @@ -0,0 +1,47 @@ + /// Routine : APPS.TBXWeb.DomeinNamen.INC + /// + /// Author : Wim Vermeulen + /// Created : 18/10/2010 + /// + +#include vhLib.Macro +#include %occInclude + + /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + /// | Gemeenschappelijke constanten | + /// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + + + ; === Domein namen === + #define TBoxWebDomeinVHEPN "www.tandem-box.com" + #define TBoxWebDomeinHEIN "tbx.tandem-box.de" + #define TBoxWebDomeinOPTIMA "www.optima-tbx.fr" + #define TBoxWebDomeinDUPONT "tbx.du-pont.be" + #define TBoxWebDomeinHELMY "tbx.destil.nl" + #define TBoxWebDomeinHFLE "hafele.tandem-box.com" + #define TBoxWebDomeinSFS "tbx.sfsunimarket.biz" + #define TBoxWebDomeinMBHO "tandembox.meubelbeslagholland.nl" + #define TBoxWebDomeinDEMO "demo.tandem-box.com" + + ; === Bijhorende Klantnummers === + #define TBoxWebKlantNrVHEPN "4682" + #define TBoxWebKlantNrHEIN "7833" + #define TBoxWebKlantNrOPTIMA "6279" + #define TBoxWebKlantNrDUPONT "1736" + #define TBoxWebKlantNrHELMY "4598" + ; HELMY : Old="2127" New="4598" (by WimV on 17/01/2006) + #define TBoxWebKlantNrHFLE "2671" + #define TBoxWebKlantNrSFS "12486" + #define TBoxWebKlantNrMBHO "2999" + #define TBoxWebKlantNrVHEPNDEMO "6819" + + + ; === Info pagina's voor de TBoxWeb handels === + #define HomePageVHEPN "http://www.vanhoecke.be" + #define TBoxInfoPageVHEPN "http://www.vanhoecke.be/nl/producten/tandem-box/" + + #define HomePageMBHO "http://www.meubelbeslagholland.nl" + ; #define TBoxInfoPageMBHO "http://www.meubelbeslagholland.nl/servodrive" + #define TBoxInfoPageMBHO "" \ No newline at end of file Index: csp/tbx/testdataoptlmc.cls.xml =================================================================== diff -u --- csp/tbx/testdataoptlmc.cls.xml (revision 0) +++ csp/tbx/testdataoptlmc.cls.xml (revision 2) @@ -0,0 +1,412 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
      ",! + Write $c(9,9,9,9) + Do ..Include("Header.csp") + Write !,$c(9,9,9)_"
      " + Write "" + Write "
      ",! + Write ! + If '($G(blnNoAccess)) Goto %csp00001 ;{ + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
      ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9)_" "_(..WebTextValue("MainBadCode",Taal,"O")),! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
      ",! + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9) + Write "
      " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
         " + Write "" + Write (..WebTextValue("Taal",Taal,"L"))_": " + Write "" + Write ""_(arSwitchTL("N")_" - "_arSwitchTL("F")_" - "_arSwitchTL("E")_" - "_arSwitchTL("D"))_"
      " + Write "" + Write "Analyse QueryString:" + Write "" + Write "
      QueryString: " + Write "" + Write "
      DATAOPT: " + Write "" + Write "
       " + Write "" + Write "
      ",! + Write $c(9) + Write ..InsertHiddenFields("TestDataOptLMC.csp"),! + Write "
      " + Write !,$c(9) + Write "
      " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
      " + Write "" + Write "Decrypted values:" + Write "" + Write "  " + Write "" + Write "
      DATAOPT: " + Write "" + Write "
      "_(..WebTextValue("Taal",Taal,"L"))_": " + Write "" + Write "
      Client Number: " + Write "" + Write "Client Name: " + Write "" + Write "
      Reduction: " + Write "" + Write "E-mail: " + Write "" + Write "
       
       " + Write "" + Write "
      ",! + Write $c(9) + Write ..InsertHiddenFields("TestDataOptLMC.csp"),! + Write "
      " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + If '($G(blnKeySteps)) Goto %csp00003 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! +%csp00003 ;} + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
      " + Write "" + Write "Encrypted URL:" + Write "" + Write "   
      DATAOPT: ",! + Write $c(9,9,9,9) + Write "" + Write "
      ",! + Write $c(9,9,9,9)_"  Check: " + Write "" + Write ($G(DataOptCheck)) + Write "" + Write !,$c(9,9,9)_"
       
      Step 1: ",! + Write $c(9,9,9,9)_"
      "_($G(arStepsOPT(1)))_"
      ",! + Write $c(9,9,9)_"
      Step 2: ",! + Write $c(9,9,9,9)_"
      "_($G(arStepsOPT(2)))_"
      ",! + Write $c(9,9,9)_"
      --> Hex: ",! + Write $c(9,9,9,9)_"
      "_($G(arStepsOPT("2Hex")))_"
      ",! + Write $c(9,9,9)_"
      Step 3: ",! + Write $c(9,9,9,9)_"
      "_($G(arStepsOPT(3)))_"
      ",! + Write $c(9,9,9)_"
      Step 4: ",! + Write $c(9,9,9,9)_"
      "_($G(arStepsOPT(4)))_"
      ",! + Write $c(9,9,9)_"
       
      " + Write "" + Write "
      ",! + Write $c(9)_"
      "_$c(9,9,9),! +%csp00002 ;} + Write $c(9,9,9,9),! + Write $c(9,9,9)_"
      ",! + Write $c(9,9,9,9) + Write !,"
      ",! + Write " ",! + Write "
      ",! + Write !,"" + Write !,$c(9,9,9)_"
      ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
      +
      + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TEST OPTIMA DATAOPT",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,! + Do ..Include("PRGACNTs.INC") + Write !,!,!,!,!,! + Set %session.AppTimeout = 905 + // Session Data is set in the OnPreHTTP-method + Set WSOrd=$S($G(wsID)="":0, 1:##class(WS.TBX.Order).%OpenId(wsID)) + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +c:\cachesys\csp\vhisie\TBX\TestDataOptLMC.csp + + + +/vhisie/TBX/TestDataOptLMC.csp + + + +0 + + + +61649,48749 + + + +0 + +
      +
      Index: EWMS/Carriers.cls.xml =================================================================== diff -u --- EWMS/Carriers.cls.xml (revision 0) +++ EWMS/Carriers.cls.xml (revision 2) @@ -0,0 +1,385 @@ + + + +persistent +1 +Carriers +GSQLStorage +%Library.Persistent + + +0 +EWMS STAT,NOCREATE + + + +dbo.Carriers_Cache + + + +0 +00000000 + + + +1 +1 +LocID,Sectie + + + +%Integer + +0 +6 +CarrierDwh + + + +%Integer + +0 +5 +CarrierType + + + +%Float + +0 +8 +CarrierVolume + + + +%Float + +0 +7 +CarrierWeight + + + +%Integer + +0 +12 +ColliNr + + + +%Integer + +0 +10 +IsFull + + + +%String + +0 +2 +LocID + + + + +%Integer + +0 +11 +LocM + + + +%String + +0 +3 +Sectie + + + + +%Float + +0 +9 +TarraWeight + + + +%Integer + +0 +4 +UnitLoadType + + + +0 +1 +code +LocID:%Library.String,Sectie:%Library.String,ReturnEmptyWhenNew:%Library.Boolean=0 +0 +%Library.String +0 + + + + +0 +1 +code +LocID:%Library.String,Locatie:%Library.String,Sectie:%Library.String,SQLGCWrapper:%Library.String +0 +%Library.List +0 + + + + +0 +1 +code + +0 +%Library.Boolean +0 + + + + +0 +1 +code +LocID:%Library.String,Sectie:%Library.String +0 +%Library.List +0 +0) + Do RS.%Close() + + If 'PalletExists Do ;Nee, deze bestaat niet, de carrier mag dus ook verwijderd worden + . New CarriersID + . Set CarriersID=##class(EWMS.Carriers).ComposeID(LocID,Sectie) + . New tmpStatus,ParsedStatus + . Set tmpStatus=##class(EWMS.Carriers).%DeleteId(CarriersID) + . Set ParsedStatus=$$ParseStatus^vhLib(tmpStatus) + . If $$$ISERR(tmpStatus) && (ParsedStatus'["SQLError: 100") Do ;SQLError=100 is geen echte fout + .. Set Status=$LB(-1,"Delete Error:"_$C(13,10)_ParsedStatus) + . Else Do + .. Set Status=$LB(1,"Pallet bestaat niet meer in Inventory, carrier succesvol verwijderd.") + Else Do + . Set Status=$LB(2,"Pallet bestaat nog in Inventory, carrier blijft.") + + Quit Status +]]> + + + +0 +0 +code +SQLGCWrapper:%Library.String +0 +%Library.Boolean +0 + + + + +0 +1 +code +PalletID:%Library.String,LocM:%Library.String +0 +%Library.String +0 + + + + +%Library.SQLQuery +paLocID:%Library.String +0 +SELECT LocID, Sectie +FROM EWMS.Carriers +WHERE (LocID = :paLocID) + +0 + + + + + +%CacheSQLStorage +^EWMS.CarriersS + + + Index: WS/TBX/Calc/BuildWS.cls.xml =================================================================== diff -u --- WS/TBX/Calc/BuildWS.cls.xml (revision 0) +++ WS/TBX/Calc/BuildWS.cls.xml (revision 2) @@ -0,0 +1,53 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.Calc + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +WS.TBX.Order + + + + + +WS.TBX.Order + + + + +%Library.String + + + + Index: Res/PI/emVullingLevering.cls.xml =================================================================== diff -u --- Res/PI/emVullingLevering.cls.xml (revision 0) +++ Res/PI/emVullingLevering.cls.xml (revision 2) @@ -0,0 +1,32 @@ + + + +serial +%Library.SerialObject + + +%Library.String + + + + +Tijd nodig voor de fabricatie van de vulling +%Library.Integer + + + +%Library.CacheSerialState +emVullingLeveringState +^Res.PI.emVullingLeveringS + +list + +Leverancier + + +Tijd + + + + + Index: _vhisie/TBX/TBoxPrintPage.js =================================================================== diff -u --- _vhisie/TBX/TBoxPrintPage.js (revision 0) +++ _vhisie/TBX/TBoxPrintPage.js (revision 2) @@ -0,0 +1,26 @@ + +var blnSkipOnFocus=false; + +function CheckWinOpener() { + if (window.opener && window.opener.TagActionPrint=="PRINT") window.setTimeout("PrintAndClose()", 100); +} +function PrintAndClose() { + window.print(); + window.opener.TagActionPrint=""; + window.close(); +} +function OnFocusW() { + if (blnSkipOnFocus) return; + if (window.opener==self) return; + // else + if (window.opener.NeedsUpdateP) { + blnSkipOnFocus=true; + alert("The data has changed. It will update now."); + window.opener.NeedsUpdateP=false; + window.opener.ShowPrintWin(); + } +} + +if (!window.opener) window.opener=self; +window.onfocus=OnFocusW; +window.onload=CheckWinOpener; Index: Prod/GAMeta/BT/TBDesign.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBDesign.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBDesign.cls.xml (revision 2) @@ -0,0 +1,77 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + + +Lijst van de mogelijke templates te gebruiken bij de design +%Library.String +0 +0 +list +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBDSD") +TBDesignDefaultData +^Res.PI.Items("PR;GA;TBDSD") +^Res.PI.Items("index","PR;GA;TBDS") +^Res.PI.Items("stream","PR;GA;TBDS") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + +BeperkTemplate + + + +TaalOms +subnode +"TO" + + + + Index: Prod/GADef/AfgeleidDef.cls.xml =================================================================== diff -u --- Prod/GADef/AfgeleidDef.cls.xml (revision 0) +++ Prod/GADef/AfgeleidDef.cls.xml (revision 2) @@ -0,0 +1,106 @@ + + + + +Product beschrijving van een specifiek maat product +persistent +%Library.Persistent +0 + + + +Index voor property Type +Type + + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Prod.Product +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Stream +characterstream +1 + + + + +ABSTRACT !!! +1 +DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String + + + + +Method voor oproep via ActiveX +CStreamParent is het object dat een Property "CStream" bevat, waarnaar de output geschreven zal worden. +CStreamParent is default: %this. +Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String,CStreamParent:%Library.RegisteredObject +0 + + + + +%CacheStorage +^ProdSpecificD +ProdSpecificDefaultData +^ProdSpecificD +^ProdSpecificI +^Prod.GAD.AfgeleidDefS + +listnode + +Beschrijving + + +Type + + +Product + + +%%CLASSNAME + + + + + Index: Prod/Klas/Groep.cls.xml =================================================================== diff -u --- Prod/Klas/Groep.cls.xml (revision 0) +++ Prod/Klas/Groep.cls.xml (revision 2) @@ -0,0 +1,64 @@ + + + +persistent +1 +VHOpslag +%Persistent + + +1 +1 +SortSleutel +1 + + + +Prod.Klas.Klas + +0 + + + +%String + +0 + + + +%String + +0 + + + +%String + +0 + + + +%CacheSQLStorage +^WS.EC.ContractOrdersS + +data +^KPGR1 + +{SortSleutel} + + +"\" +6 + + +"\" +2 + + +"\" +1 + + + + + Index: Res/PI/Vulling.cls.xml =================================================================== diff -u --- Res/PI/Vulling.cls.xml (revision 0) +++ Res/PI/Vulling.cls.xml (revision 2) @@ -0,0 +1,129 @@ + + + + +Vulling +persistent +Res.PI.Items + + +%Integer + + + +%Boolean + + + +Res.PI.VullingExtra +list + + + +%Library.String + + + + +%Library.String + + + + +Sommige bewerkingen kunnen alleen besteld worden bijr een bepaalde leverancier. +Dit in combinatie met de leveranciers van de vullingextra kan uiteindelijk bepaald worden welke leverancier het glas moet leveren. +Het kan zijn dat sommige beglazing niet kan geleverd worden. +De volgorde van de leverancier is belangrijk om dat de eerste in de lijst de default leverancier is +Res.PI.emVullingLevering +list + + + +Res.PI.VullingExtra +list + + + +Res.PI.Kost + + + + +Geeft de codering van de vulling aan. Zo kunnen vullingen geselecteerd worden (of niet geselecteerd) door het gekozen profiel +%Library.String +"4" + + + + + + +Lijst met taalafhankelijke omschrijving +%Library.SQLQuery +(Taal:%Library.String="N") + 'ZZ') + ORDER BY VUL.Sort +]]> + + + + + + +Ophalen van de Vullingen met beperking volgens VulCode +%Library.SQLQuery +(VCode:%Library.String) +SELECT ID, ItemID, Omschrijving, Sort +FROM Vulling +WHERE (VulCode = :VCode) +ORDER BY Sort + + + + + + +%Library.CacheStorage +VullingDefaultData + +"VUL" + +Gewicht + + +GlasKost + + +IsStdGehard + + +KaderExtras + + +LosExtras + + +VulCode + + +HeeftVulCode + + +KortTekst + + +Leveranciers + + +KostCode + + +OLDGlasKost + + + + + Index: Kenm/Vertaal/DataIndex.cls.xml =================================================================== diff -u --- Kenm/Vertaal/DataIndex.cls.xml (revision 0) +++ Kenm/Vertaal/DataIndex.cls.xml (revision 2) @@ -0,0 +1,124 @@ + + + + +Opbouw van de index van de DataDefinitie, om deze index ook door SQL toegankelijk te maken is dit in een apart object opgeslagen. +Bij de DataDefinitie opbject zitten de waarden van een kenmerk een product in een lijst. In dit index object zit alle waarden separaat. +persistent +Kenm.Basis.DataIndex + + + +Openen van het object Kenm.Vertaal.MetaDefintiie +0 +0 +code + +0 +Kenm.Vertaal.MetaDefinitie +0 + + + + + +Als CompareObj mee doorgegeven wordt, overruled deze de standaard vergelijking Waarde=WaardeInput.]]> +0 +1 +code +Groep:%Library.String,Kenmerk:%Library.String,WaardeInput:%Library.String,Ref:%Library.String="Local",CompareObj:Kenm.Vertaal.VertaalTransAbstract +0 +0 + + + + + +Geeft een array met de waarden van een kenmerk. +De waarden die nog mogelijk zijn worden met een 1 gemarkeerd. Het mogelijk zijn betekend dat er producten geselecteerd zijn die die waarde hebben. +Indien Ref leeg is dan wordt er niet gecontroleerd of een waarde nog mogelijk is. +0 +1 +code +Groep:%Library.String,Kenmerk:%Library.String,ValueRef:%Library.String="KenmerkVal",Ref:%Library.String="" +0 +0 + + + + +%Library.SQLQuery +paGroup:%Library.String +0 +SELECT Kenmerk,Waarde,UnID +FROM Kenm_Vertaal.DataIndex +WHERE (Groep = :paGroup) +ORDER BY UnID + +0 + + + + + +%Library.SQLQuery + +0 +SELECT UnID, ID, Groep, Kenmerk, Waarde +FROM Kenm_Vertaal.DataIndex +ORDER BY Waarde + +0 + + + + + +%Library.CacheStorage + + + Index: Prod/Kenmerk/MetaDefinitie/LoadObjects.mac.rou =================================================================== diff -u --- Prod/Kenmerk/MetaDefinitie/LoadObjects.mac.rou (revision 0) +++ Prod/Kenmerk/MetaDefinitie/LoadObjects.mac.rou (revision 2) @@ -0,0 +1,312 @@ +#include %occInclude +#include %VHMacro + + + ; Do ##class(Prod.Kenmerk.MetaDefinitie).BuildMeta(Groep) + ; Do +BuildMeta(Groep) + New GrpObj + Set Groep=$G(Groep,"TB") ; Default groep = "TB" - TandemBox productkenmerken + Do DeleteMetaGroep(Groep) + Set GrpObj=$$CreateMetaGroep(Groep) + Do AddMetaDefs(GrpObj) + Do GrpObj.%Close() + w "BuildMeta is afgewerkt.",! + Quit + +InitMGdata(Mdata,Groep) ; Mdata als .local doorgeven + ; Struct. ListBuild voor MetaGroep: $LB( Omschrijving, VertalingsGroep) + ; MetaGroep Defaults: ("Oms. "_Groep, Groep ,) +#define iINC $INCREMENT(i) + New i + Set i=0 + Kill Mdata(Groep,"MG") + + If Groep="TB" Do + . Set Mdata(Groep,"MG")=$LB("TandemBOX","TB") + If Groep="TBX" Do + . Set Mdata(Groep,"MG")=$LB("TandemBOX op Maat") + If Groep="GRP" Do + . Set Mdata(Groep,"MG")=$LB("Greep op Maat") + If Groep="TLM" Do + . Set Mdata(Groep,"MG")=$LB("Verlichting op Maat") + Else If Groep="OL" Do + . ;Set Mdata(Groep,"MG")=$LB("ORGALUX","PK") + Quit + +InitMDdata(Mdata,Groep) ; Mdata als .local doorgeven + ; Struct. ListBuild voor MetaDefs: $LB(Kenmerk, VolgNr, Format, Multiple, MultipleDisplay,Omschrijving,SubGroep) + ; MetaDefs Defaults: (, i , "T" , 1 , 1 ) + ; Voor embedded objects: + ; - Op Subnode ("VTT",ID) komt VertaalTrans (ID=VertalingsType) + ; - Op Subnode ("VTTL",ID) komt VertaalTransLink (ID=VertalingsType) + ; - ... +#define iINC $INCREMENT(i) + New i + Set i=0 + Kill Mdata(Groep,"MD") + + If Groep="TB" Do + . ;Set Mdata(Groep,"MD",$$$iINC)=$LB("SortKey") + . ;Set Mdata(Groep,"MD",$$$iINC)=$LB("TypeNr") + . ;Set Mdata(Groep,"MD",$$$iINC)=$LB("OmsN1") + . ;Set Mdata(Groep,"MD",$$$iINC)=$LB("OmsN2") + . ;Set Mdata(Groep,"MD",$$$iINC)=$LB("Stock") + . ;Set Mdata(Groep,"MD",$$$iINC)=$LB("KleurN") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("tB",,"I") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("BasisType") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""BasisType-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LiRe") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""LiRe-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Design") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""Design-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("GlijderType") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""GlijderType-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("FrontType") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""FrontType-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Verpakking") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""Verpakking-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LadeDiepte") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("T","{%MM}") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("BreedteIntern",,"F") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("T","{%MM}") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Kleur") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""Kleur-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("DraagKracht") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("T","{%KG}") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("ZijwandHoogte") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""ZijwandHoogte-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("RugHoogte") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""RugHoogte-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("RugBreedte") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("FBevestiging") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""FBevestiging-""_X") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Dim1",,"F") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("AftrekRug",,"F") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("AftrekBodem",,"F") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Actief") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Opties") + . Set Mdata(Groep,"MD",i,"VTT","K")= $LB("@","""Opties-""_X") + If Groep="TBX" Do + . Set Mdata(Groep,"MD",$$$iINC)=$LB("DS",,,,,"Design","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LC",,,,,"LadeCode","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("GT",,,,,"Uittrekbaarheid","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("KLAS",,,,,"Klasse","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LT",,,,,"Fronttype","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("ZW",,,,,"Zijwand hoogte","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("RH",,,,,"Rughoogte","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("FB",,,,,"Frontbevestiging","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LD",,"I",,,"Ladediepte","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("WD",,,,,"Wanddikte","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("CB",,"F",,,"Corpusbreedte","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("OPVLL",,"I",,,"Opvullijst links","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("OPVLR",,"I",,,"Opvullijst rechts","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("MTIB",,"B",,,"Min Tolerantie op IB","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("SPZK",,,,,"Spoelbakzijkant","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("DK",,"I",,,"Draagkracht","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("KB",,,,,"Kleur: Bodem","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("KF",,,,,"Kleur: Front","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("RK",,,,,"Kleur: Reling","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("KL",,,,,"Kleur: Lade","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("KR",,,,,"Kleur: Rug","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("KX",,,,,"Kleur: BoxSide","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("KSP",,,,,"Kleur: Spoelbak acc.","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("BM",,,,,"Blumotion","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("SB",,"B",,,"Stabilisator","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("FS",,,,,"Frontsteun","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("BS",,,,,"Boxside","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("SR",,,,,"Stalen rug","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("PRO",,,,,"TANDEMBOX pro","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("ASM",,,,,"Antislipmat","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("BHM",,,,,"Boren Hangmap voor BuroBox","BASIS") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("MATKL",,,,,"Plaatmateriaal klant","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VERPAK",,,,,"Verpakking","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMCP",,,,,"Niet meeleveren: Corpusprofiel","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMRL",,,,,"Niet meeleveren: Zijreling","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMAK",,,,,"Niet meeleveren: Afdekkap","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMBDS",,,,,"Niet meeleveren: Bodemsteun","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMBMM",,,,,"Niet meeleveren: Blumotion meenemer","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMBMB",,,,,"Niet meeleveren: Blumotion behuizing","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMFB",,,,,"Niet meeleveren: Frontbevestiging","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMBS",,,,,"Niet meeleveren: Boxside","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMOVL",,,,,"Niet meeleveren: Opvullijst","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("NMSPDL",,,,,"Niet meeleveren: Dwarslatjes spoelbak","OPTIE") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VPLA",,,,,"Verpak Ladeprofiel","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VPCP",,,,,"Verpak Corpusprofiel","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VPRUG",,,,,"Verpak Rughouder","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VPAK",,,,,"Verpak Afdekkap","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VPFS",,,,,"Verpak Frontstuk","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VPRL",,,,,"Verpak Reling","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("RLIK",,,,,"Reling Inkorten","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("DC",,,,,"Design Code","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("IB",,,,,"Interne Breedte","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("SPBR",,,,,"Spoelbakbreedte","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("IsSR",,,,,"Met Stalen rug","CALC") + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Staffel",,,,,"Staffel","CALC") + If Groep="GRP" Do + . Set Mdata(Groep,"MD",$$$iINC)=$LB("DS",,,,,"Design",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("AFW",,,,,"Afwerking",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LG",,"F",,,"Lengte van de greep",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LZ",,"F",,,"Zaaglengte",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("Staffel",,,,,"Staffel",) + If Groep="TLM" Do + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LP",,"F",,,"Lengte profiel",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("AS",,,,,"Afdekscherm",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("UL",,,,,"Uitgang links",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("UR",,,,,"Uitgang rechts",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("EKL",,,,,"Eindkap links",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("EKR",,,,,"Eindkap rechts",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("AL",,,,,"Aftrek links",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("AR",,,,,"Aftrek rechts",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("SN",,,,,"Snoeruitgang",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("SNLX",,,,,"Snoerlengte",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LLAMP",,,,,"Lijst van lampen",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("LPOS",,"F",,,"Lijst van posities",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("BW",,,,,"Berekeningswijze",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("SW",,,,,"Schakelaar",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("XBBOD",,,,,"Extra boringen in bodem",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("XBRUG",,,,,"Extra boringen in rug",) + . Set Mdata(Groep,"MD",$$$iINC)=$LB("VPAK",,,,,"Verpakking",) + Else If Groep="OL" Do + . ;Kill Mdata(Groep,"MD") + . ;Set Mdata(Groep,"MD",$$$iINC)=$LB("Kenm") + Quit + +DeleteMetaGroep(Groep) + // Verwijdert de MetaGroep en al zijn kinderen (=MetaDefinities) + Quit:('##class(Prod.Kenmerk.MetaGroep).%ExistsId(Groep)) + w "Verwijderen van de Product MetaGroep "_Groep_" en al zijn MetaDefinities ...",! + Do ##class(Prod.Kenmerk.MetaGroep).%DeleteId(Groep) + w "De Meta's van "_Groep_" zijn verwijderd",! + Quit +CreateMetaGroep(Groep) + New GrpObj,MGdata,lbData + w "Aanmaken Product MetaGroep: Code="_Groep,! + Set GrpObj=##class(Prod.Kenmerk.MetaGroep).%New() + Do InitMGdata(.MGdata,Groep) + Set lbData=MGdata(Groep,"MG") + Set GrpObj.Code=Groep + Set GrpObj.Omschrijving=$LG(lbData,1, "Oms. "_Groep) + Set GrpObj.VertalingsGroep=$LG(lbData,2, Groep) + Quit GrpObj +AddMetaDefs(GrpObj) + Quit:('GrpObj)||(GrpObj.Code="") + New MDdata,i,Groep,MDefSwiz + New emKey,emID,arEmbed,Ok + w "Aanmaken MetaDefinities voor de productgroep "_GrpObj.Code_" ...",! + Set Groep=GrpObj.Code + Do InitMDdata(.MDdata,Groep) + Set i="" + For Set i=$O(MDdata(Groep,"MD",i)) Quit:(i="") Do + . Do CreateMetaDef(GrpObj,$LB("")_MDdata(Groep,"MD",i),i) + . Quit:('MDefSwiz) + . Set emKey="" + . For Set emKey=$O(MDdata(Groep,"MD",i,emKey)) Quit:(emKey="") Do + .. Kill arEmbed + .. Merge arEmbed=MDdata(Groep,"MD",i,emKey) + .. Do:(emKey="VTT") amdVertaalTrans(MDefSwiz,.arEmbed) + .. Do:(emKey="VTTL") amdVertaalTransLink(MDefSwiz,.arEmbed) + .. Set Ok=MDefSwiz.%Save() + .. w:('Ok) "Fout bij creatie embedded-objects (Key:"_emKey_")"_$$ParseStatus^vhLib(Ok),! + Quit +CreateMetaDef(GrpObj,lbData,i) + New MDef,Ok + Set MDef=##class(Prod.Kenmerk.MetaDefinitie).%New() + ;w $$ListToPieces^vhLib(lbData,";") + Set MDef.Groep=GrpObj ;$LI(lbData,1) + Set MDef.Kenmerk=$LG(lbData,2) + Set MDef.VolgNr=$LG(lbData,3,i) + Set MDef.Format=$LG(lbData,4,"T") + Set MDef.Multiple=$LG(lbData,5,1) + Set MDef.MultipleDisplay=$LG(lbData,6,1) + Set:$L($LG(lbData,7)) MDef.Omschrijving=$LG(lbData,7) + Set:$L($LG(lbData,8)) MDef.SubGroep=$LG(lbData,8) + Set Ok=MDef.%Save() + If Ok Do + . W "Voor groep "_$S(MDef.Groep:MDef.Groep.Code, 1:"?")_" : Kenmerk "_MDef.Kenmerk_" aangemaakt",! + . Set MDefSwiz=MDef + Else Do + . W "Fout "_$$ParseStatus^vhLib(Ok),! + Do MDef.%Close() + Quit +amdVertaalTrans(MDef,arEmbed) ; arEmbed als .local doorgeven + New VTT + Set emID="" + For Set emID=$O(arEmbed(emID)) Quit:(emID="") Do + . Set VTT=##class(Prod.Kenmerk.VertaalTrans).%New() + . Set VTT.Kenmerk=MDef + . Set VTT.VertalingsTypes=emID + . Set VTT.SleutelSelectExecType=$LG(arEmbed(emID),1,"") + . Set VTT.SleutelSelectExec=$LG(arEmbed(emID),2,"") + . Set VTT.WaardeExecType=$LG(arEmbed(emID),3,"") + . Set VTT.WaardeExec=$LG(arEmbed(emID),4,"") + . Do VTT.%Close() + Quit +amdVertaalTransLink(MDef,arEmbed) ; arEmbed als .local doorgeven + New VTTL + Set emID="" + For Set emID=$O(arEmbed(emID)) Quit:(emID="") Do + . Set VTTL=##class(Prod.Kenmerk.VertaalTransLink).%New() + . Set VTTL.Kenmerk=MDef + . Set VTTL.VertalingsTypes=emID + . Set VTTL.SleutelSelectExecType=$LG(arEmbed(emID),1,"") + . Set VTTL.SleutelSelectExec=$LG(arEmbed(emID),2,"") + . Do VTTL.%Close() + Quit + + + ; ===================================================================================================== + ; DATA + ; ===================================================================================================== + +NewObjectViaList() ; Parameters: Params +#define D "\" + ; Params=Groep\Kenmerk\PRNr\lstWaarde + Quit:($G(Params)="") "" + New DDef,lstWaarde,i,MDefID,SaveOK + Set MDefID=$P(Params,$$$D,1)_"||"_$P(Params,$$$D,2) + Quit:('##class(Prod.Kenmerk.MetaDefinitie).%ExistsId(MDefID)) "" ; Kenmerk is niet gedefinieerd! + Set DDef=##class(Prod.Kenmerk.DataDefinitie).%New() + Do DDef.ProductSetObjectId($P(Params,$$$D,3)) ; PRNr + Do DDef.KenmerkSetObjectId(MDefID) + Set lstWaarde=$P(Params,$$$D,4) + For i=1:1:$L(lstWaarde,";") Do:($L($$$Trim($P(lstWaarde,";",i)))) + . Do DDef.Waarden.Insert($$$Trim($P(lstWaarde,";",i))) + Set SaveOK=DDef.%Save() + Do DDef.%Close() + Quit $S('SaveOK:"0:"_$$ParseStatus^vhLib(SaveOK) ,1:1) + +DeleteDataDef(Groep) + If $G(Groep)="" Do Quit + . ;Do ##class(Kenm.Basis.DataDefinitie).%DeleteExtent() + + ; Else + New DDefID + w "Begin Delete",! + &sql(DECLARE crsDD CURSOR FOR SELECT ID + INTO :DDefID FROM Prod_Kenmerk.DataDefinitie WHERE (Kenmerk LIKE :Groep || "||%")) + &sql(OPEN crsDD) + For &sql(FETCH crsDD) Quit:SQLCODE Do ##class(Prod.Kenmerk.DataDefinitie).%DeleteId(DDefID) + &sql(CLOSE crsDD) + Quit + + + ; See global/nodes: ^Prod.Ken.DataDefinitieD(,"OL||DynSpace" +WaardenSortMultiVal() ; Parameters: GroepID,Kenmerk + New MDefID,MDef,lbWSort,PRNr,i,L,tmpLB,lbNew + Set MDefID=$G(GroepID)_"||"_$G(Kenmerk) + &sql(SELECT WaardenSortering INTO :lbWSort FROM Prod_Kenmerk.MetaDefinitie WHERE (ID=:MDefID)) + Quit:($G(lbWSort)="") "" + Set L=$LL(lbWSort) + Set PRNr="" + For Set PRNr=$O(^Prod.Ken.DataDefinitieD(PRNr)) Quit:(PRNr="") Do + . Set tmpLB=$LG($G(^Prod.Ken.DataDefinitieD(PRNr,MDefID)),1) + . Quit:(tmpLB="") + . If $LL(tmpLB)=1 Set lbNew=tmpLB + . Else Do + .. Set lbNew="" + .. For i=1:1:L Set:($LF(tmpLB,$LI(lbWSort,i))) lbNew=lbNew_$LB($LI(lbWSort,i)) + .. w "--> ("_PRNr_") "_$$$LCVT(lbNew),! + . Set $LI(^Prod.Ken.DataDefinitieD(PRNr,MDefID),1)=lbNew + . ;s:(PRNr=58790) PRNr=$O(^Prod.Ken.DataDefinitieD(""),-1) ; Quit early, temp!!! + Quit $$$OK \ No newline at end of file Index: Prod/Kenmerk/MetaGroep.cls.xml =================================================================== diff -u --- Prod/Kenmerk/MetaGroep.cls.xml (revision 0) +++ Prod/Kenmerk/MetaGroep.cls.xml (revision 2) @@ -0,0 +1,68 @@ + + + + +Groepering van de verschillende kenmerken tot een lijst van kenmerken behorende tot een productgroep +persistent +%Library.Persistent + + + +Uniekheid index voor property Code +1 +1 +Code +1 + + + +%Library.String + + + +Prod.Kenmerk.MetaDefinitie +children +Groep +1 + + + +%Library.String + + + +%Library.String + + + +%Library.SQLQuery +() +SELECT ID,Code,Omschrijving FROM Prod_Kenmerk.MetaGroep + + + + + + +%Library.CacheStorage +^Prod.Ken.MetaDefinitieD +MetaGroepDefaultData +^Prod.Ken.MetaDefinitieD +^Prod.Ken.MetaDefinitieI +^Prod.Ken.MetaGroepS + +%%CLASSNAME +node +0 + + + +Omschrijving + + +VertalingsGroep + + + + + Index: WS/TBX/CalcSoap/BuildWS.cls.xml =================================================================== diff -u --- WS/TBX/CalcSoap/BuildWS.cls.xml (revision 0) +++ WS/TBX/CalcSoap/BuildWS.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.TBX.CalcSoap + + +%Client,%Action,WSOrd:WS.TBX.Order,Opties:%String +WS.TBX.Order +1 + + + + +1 + + + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +WS.TBX.Order + + + + + +WS.TBX.Order + + + + +%Library.String + + + + Index: _vhisie/TBX/Help/TBoxInfoHelp.js =================================================================== diff -u --- _vhisie/TBX/Help/TBoxInfoHelp.js (revision 0) +++ _vhisie/TBX/Help/TBoxInfoHelp.js (revision 2) @@ -0,0 +1,44 @@ +var blnShowGI = true; + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} +function isUndef (jsVar) { + return (typeof(jsVar)=="undefined"); +} + +function jsWriteDC_I_GI(txt) { + var s=""; + s += ''; + s += '' + txt + ''; + s += ''; + document.write(s); +} + +function DetectParams(IHCode) { + var blnSFS = (window.location.href.indexOf(".sfsunimarket.biz") > 0); + var blnHEIN = (window.location.href.indexOf(".tandem-box.de") > 0) + if ((IHCode=="DC_I") && (blnSFS || blnHEIN)) blnShowGI = false; +} + +function init() { +} + +/* +function GetParamValue (sURL, Param, Default) { + var sURLUpper = sURL.toUpperCase() + "&"; + Param = Param.toUpperCase(); + if (!Default) Default=""; + var Pos = sURLUpper.indexOf (Param + "="); + if (Pos==-1) return Default; + Pos = Pos + Param.length + 1; + return sURL.substring (Pos, sURLUpper.indexOf("&", Pos)); +} +function GetInitButton () { + var QS = document.location.search; + var InitButton = GetParamValue (QS, "Button", DefaultButton); + if (InitButton=="null") return ""; + return InitButton; +} +*/ \ No newline at end of file Index: _vhisie/TBX/Help/FitImage.js =================================================================== diff -u --- _vhisie/TBX/Help/FitImage.js (revision 0) +++ _vhisie/TBX/Help/FitImage.js (revision 2) @@ -0,0 +1,45 @@ +// General variabels: +var winImage; + +function isIE() { + return (navigator.appName.indexOf('Netscape')==-1); +} + +function GetFeatures() { + return (", location=0, menubar=0, scrollbars=0, resizable=0, status=0, titlebar=0, toolbar=0"); +} + +function GetSettings(CodeDlg,DlgDim) { + var DlgPos; + var sFeat; + switch (CodeDlg) + { + case "IMGFIT" : + DlgDim= {w:100, h:100}; + if (isIE()) { DlgPos={x:window.screenLeft+50, y:window.screenTop+50}; } else { DlgPos={x:50, y:50}; } + sFeat=GetFeatures(); + break; + default : alert ('Onbekende CodeDlg : "' + CodeDlg + '"'); return; break; + } + var s=""; + s += "width=" + DlgDim.w + ",height=" + DlgDim.h; + s += ",left=" + DlgPos.x + ",top=" + DlgPos.y ; // position for IE + s += ",screenX="+DlgPos.x+",screenY="+DlgPos.y; // position for NN + s += "," + sFeat; + return s; +} + +function ShowImage (sHRef) { + winImage = window.open(sHRef, "winImage", GetSettings("IMGFIT")); + if (winImage) winImage.focus(); +} + +function FitImageURL (sHRef) { + var sTitle = "Website Info"; + return ("../media/FitImage.htm?IMGURL="+sHRef+"&TITLE="+sTitle+"&POSITION=top-right"); +} + +function ShowFitImage (sHRef) { + ShowImage(FitImageURL(sHRef)); +} + Index: Prod/GAMeta/ItemPR1DIM.cls.xml =================================================================== diff -u --- Prod/GAMeta/ItemPR1DIM.cls.xml (revision 0) +++ Prod/GAMeta/ItemPR1DIM.cls.xml (revision 2) @@ -0,0 +1,40 @@ + + + + +Geeft het Bruto en Netto gewicht terug in de vorm van een $LB +persistent +Prod.GAMeta.ItemPR + + + + +Opties :
    • +GAF : Full XML-beschrijving; i.e. met tag < PRODUCTEN >
    • +GAV : VML-code toevoegen
    • +GA0 : met Omschrijving van de data in de XML-tags
    • +VMLH,VMLC : Opties voor VML-gedeelte: zie KaderDeur.XMLVectorWrite
    • +. + +

      +XSLURL : Toevoegen van de reference naar de XSL. Indien Leeg (""), tags worden weggelaten.]]> +0 +0 +code +DItem:Prod.GAData.Item,DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String +0 +0 + + + + +%Library.CacheStorage + + + Index: _vhisie/TBX/SelectStdLade.csp =================================================================== diff -u --- _vhisie/TBX/SelectStdLade.csp (revision 0) +++ _vhisie/TBX/SelectStdLade.csp (revision 2) @@ -0,0 +1,210 @@ + + + + + + + + + + TandemBox #(..WebTextValue("StdLade",Taal,"L"))# + + + + + + + +
      + #(..WebTextValue("StdLade",Taal,"L"))#
      +
      +

      + #(..WebTextValue("StdLadeKlikken",Taal,"O"))# +

      +

      + #(""_..WebTextValue("Ladediepte",Taal,"L")_": 500mm"_"   - "_..WebTextValue("Blumotion",Taal,"L")_": integriert"_"   - "_..WebTextValue("Wanddikte",Taal,"L")_": 19mm")# +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      #(..WebTextValue("Ladetype",Taal,"L"))##(..WebTextValue("Breedte",Taal,"L"))##(..WebTextValue("Draagkracht",Taal,"L"))# 
      #($$REPLACE^vhRtn1(arStdL,$C(13,10),"
      "))#
      + #(LT_" - "_..WebTextValue("BX_"_BX,Taal,"L"))# + + + + + + + + + + + + + + + + + + + + + +
      #(CB)# mm#(DK)# kg 
      +
      + +
      +
      + + #(..WebTextValue("Sluiten",Taal,"L"))# +
      + + + + + + + Index: vhColor.mac.rou =================================================================== diff -u --- vhColor.mac.rou (revision 0) +++ vhColor.mac.rou (revision 2) @@ -0,0 +1,140 @@ +HELP +Help +help + w "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",! + w " COLORLIB",! + w "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",!,! + w " - ColorToRGB(Color,Hex)",! + w " - RGBToColor(R,G,B)",! + w " - RGBToHLS(R,G,B)",! + w " - HLSToRGB(H,L,S)",!,! + w "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",! + Quit + + // Kleur routine lib + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : ColorToRGB + // Author : Manuel Bauwens + // Function: converteert een kleur(makova style) naar een RGB waarde + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ColorToRGB(Color,Hex) + New R, G, B + Set (R,G,B)=0 + For Quit:(Color-65536)<0 Do + . Set Color=Color-65536 + . Set B=B+1 + For Quit:(Color-256)<0 Do + . Set Color=Color-256 + . Set G=G+1 + Set R=Color + + Set:$G(Hex) R=$ZH(R),G=$ZH(G),B=$ZH(B) + + Set:R=0 R=$S($G(Hex):"00",1:"000") + Set:G=0 G=$S($G(Hex):"00",1:"000") + Set:B=0 B=$S($G(Hex):"00",1:"000") + + Quit R_G_B + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : RGBToColor + // Author : Manuel Bauwens + // Function: converteert een RGB kleur naar een (makova style) kleur waarde, input moet decimaal zijn (jaja, hex-values eerst omzetten met $ZH) + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +RGBToColor(R,G,B) + Quit (B*65536)+(G*256)+R + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : RGBToHLS + // Author : Manuel Bauwens + // Function: converteert een RGB kleur naar een HLS kleur waarde (Hue Lightness Saturation) + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +RGBToHLS(R,G,B) + New LR,LG,LB,LH,LL,LS,LMin,LMax + Set LR=R/256 + Set LG=G/256 + Set LB=B/256 + Set LMin=$$min(LR,LG,LB) + Set LMax=$$max(LR,LG,LB) + Set LL=(LMax+LMin)/2 + Quit:LMin=LMax "0\"_((LL*256)\1)_"\0" + Set:LL<0.5 LS=(LMax-LMin)/(LMax+LMin) + Set:LL'<0.5 LS=(LMax-LMin)/(2.0-LMax-LMin) + Set:LR=LMax LH=(LG-LB)/(LMax-LMin) + Set:LG=LMax LH=2.0+(LB-LR)/(LMax-LMin) + Set:LB=LMax LH=4.0+(LR-LG)/(LMax-LMin) + Quit ((LH*42.6)\1)_"\"_((LL*256)\1)_"\"_((LS*256)\1) + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : HLSToRGB + // Author : Manuel Bauwens + // Function: converteert een HLS kleur (Hue Lightness Saturation) naar een RGB kleur waarde + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +HLSToRGB(H,L,S) + New LR,LG,LB,LH,LL,LS,L1,L2 + Set LH=H/255 + Set LL=L/255 + Set LS=S/255 + Quit:LS=0 L_"\"_L_"\"_L + Set:LL<0.5 L2=LL*(1+LS) + Set:LL'<0.5 L2=LL+LS-(LL*LS) + Set L1=2*LL-L2 + Set LR=LH+(1/3) + Set:LR<0 LR=LR+1 + Set:LR>1 LR=LR-1 + If 6*LR<1 Do + . Set LR=L1+((L2-L1)*6*LR) + Else if 2*LR<1 Do + . Set LR=L2 + Else if 3*LR<2 Do + . Set LR=L1+(L2-L1)*((2/3)-LR)*6 + Else Do + . Set LR=L1 + Set LG=LH + Set:LG<0 LG=LG+1 + Set:LG>1 LG=LG-1 + If 6*LG<1 Do + . Set LG=L1+((L2-L1)*6*LG) + Else if 2*LG<1 Do + . Set LG=L2 + Else if 3*LG<2 Do + . Set LG=L1+(L2-L1)*((2/3)-LG)*6 + Else Do + . Set LG=L1 + Set LB=LH-1/3 + Set:LB<0 LB=LB+1 + Set:LB>1 LB=LB-1 + If 6*LB<1 Do + . Set LB=L1+((L2-L1)*6*LB) + Else if 2*LB<1 Do + . Set LB=L2 + Else if 3*LB<2 Do + . Set LB=L1+(L2-L1)*((2/3)-LB)*6 + Else Do + . Set LB=L1 + Quit ((LR*255)\1)_"\"_((LG*255)\1)_"\"_((LB*255)\1) + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : max + // Author : Manuel Bauwens + // Function: hulp functie + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +max(P1,P2,P3) + New Result + Set Result(P1)="" + Set Result(P2)="" + Set Result(P3)="" + Quit $O(Result,-1) + + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // Name : min + // Author : Manuel Bauwens + // Function: hulp functie + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +min(P1,P2,P3) + New Result + Set Result(P1)="" + Set Result(P2)="" + Set Result(P3)="" + Quit $O(Result) \ No newline at end of file Index: _vhisie/TBX/TBoxSelectStdLade.js =================================================================== diff -u --- _vhisie/TBX/TBoxSelectStdLade.js (revision 0) +++ _vhisie/TBX/TBoxSelectStdLade.js (revision 2) @@ -0,0 +1,78 @@ + +// General variabels: +var qsQty; + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function isNumberInt(inputString) { + return (!isNaN(parseInt(inputString)) ? true : false); +} + +function jsVTL(Intern,Taal,TextType) { + // !!! jsArVTL must be a GLOBAL array variable !!! + TextType = TextType || "O"; + Taal = Taal || ActiveTaal; + var Val = jsArVTL[Intern+"#"+Taal+"-"+TextType]; + if (Val=="~") return ""; + return ( (Val=="" || isUndef(Val)) ? Intern+" ("+TextType+"-"+Taal+")" : Val); +} +// jsVTL(""); // + +function btnStdLClick (pdlMDRow, QtyReplace) { + // The "QtyReplace" variable contains a unique code (e.g.: $$QTY$$) that must be replaced with the value NewQty (user input). + // When QtyReplace is empty, the user won't be asked to enter a Quantity (nothing to replace). + if (isUndef(pdlMDRow)) return; + if (QtyReplace && QtyReplace.length && pdlMDRow.indexOf(QtyReplace) > -1) { + var NewQty; + var QtyDfl=(qsQty>0 ? qsQty : "1"); + var msg=jsVTL("jsStdLGeefAantal")+":"; // "Please enter the quantity \nfor this \"Standard Drawer\":"; + NewQty=prompt(msg, QtyDfl); + if (NewQty==null) return; + if (! isNumberInt(NewQty)) NewQty=""; // "1"; + pdlMDRow=pdlMDRow.replace(QtyReplace,NewQty); + } + RetVal=pdlMDRow; + if (!window.opener) window.opener=self; + if (window.opener.document==window.document) { + alert ("Select " + RetVal); + return; + } + // Select item in window.opener + try { window.opener.UpdateStdLade (RetVal); } + catch (exception) { + alert ("Error updating: " + RetVal); + return; + } + if (window.FeedBackFld) { + window.FeedBackFld.focus(); } + else { window.opener.focus(); } + window.close(); +} + +function GetParamValue (sURL, Param, Default) { + var sURLUpper; + sURLUpper = sURL.toUpperCase() + "&"; + Param = Param.toUpperCase(); + if (!Default) Default=""; + + var Pos = sURLUpper.indexOf (Param + "="); + if (Pos==-1) return Default; + Pos = Pos + Param.length + 1; + return sURL.substring (Pos, sURLUpper.indexOf("&", Pos)); +} + +function AnalizeQS() { + var sData = GetParamValue(document.location.href, "data", ""); + var sKlr = GetParamValue(document.location.href, "klr", ""); + qsQty=sData.split("`")[1]; // tweede piece + var oQS = document.getElementById("lblQString"); + if (!oQS) return; + oQS.innerHTML=sData + "
      " + sKlr; +} + +function init() { + AnalizeQS(); +} Index: Prod/GADef/emKadBoring/tmpDev.mac.rou =================================================================== diff -u --- Prod/GADef/emKadBoring/tmpDev.mac.rou (revision 0) +++ Prod/GADef/emKadBoring/tmpDev.mac.rou (revision 2) @@ -0,0 +1,14 @@ + +CalcLPos(GADefProd,%this) + Quit $Case($E(%this.BoringPlaats,1,2), "PL":%this.YPos, "PR":GADefProd.Hoogte-%this.YPos, "PB":GADefProd.Breedte-%this.XPos, "PO":%this.XPos, :"") + +CalcRandPos(GADefProd,%this) + Quit:(%this.BoringType="IN")!(%this.BoringType="EX") %this.BoringType_":"_%this.ZPos + Quit $Case($E(%this.BoringPlaats,1,2), "PL":%this.XPos, "PR":GADefProd.Breedte-%this.XPos, "PB":%this.YPos, "PO":GADefProd.Hoogte-%this.YPos, :"") + +CalcHoogtePos(GADefProd,blnOpposite,%this) + New BT + Set BT=%this.BoringType + Set:(blnOpposite) BT=$CASE(BT, "ON":"BO", "EX":"IN", :BT) + Quit:('GADefProd.ProfType)&("BO;IN"[BT) 0 + Quit $CASE(BT, "ON":0, "BO":GADefProd.ProfType.Dikte, "IN":GADefProd.ProfType.Breedte, "EX":0, 1:0) \ No newline at end of file Index: Prod/GAData/Item/tmpDev.mac.rou =================================================================== diff -u --- Prod/GAData/Item/tmpDev.mac.rou (revision 0) +++ Prod/GAData/Item/tmpDev.mac.rou (revision 2) @@ -0,0 +1,258 @@ +OnBeforeSave ; Parameters: IsNew + ;Do ..CleanUpMem() + Quit + +CleanUpMem +#define IsTemplateProduct ..Product.Template +#define BfSave 2 + + ;d ..Product.TTrace("%OnBeforeSave ("_$J($G(^wvTest)+1,4)_") "_..Code_" TPL="_(+..Product.Template)_" DI oref="_%this) + If '$$$IsTemplateProduct Do + . ;s ^wvTest=$G(^wvTest)+1 + . ;m ^wvTest(^wvTest,..Product.%Id())=^Prod.GAData.ProductD(..Product.%Id()) + . ;d ..Product.TTrace(" Clear Data Item") + . Do ..Autos.Clear() + . Do ..ClearDataParams($$$BfSave) + Quit + +ValidatePR() ; Parameters: (geen) + New okPR + If ..MetaItem.%ClassName(0)?1"ItemPR".E Do + . Set okPR=..MetaItem.ValidatePR(%this) + Else Set okPR=1 + Quit okPR + +ClearDataParams ; Parameters: ClearMode +#define Recalc 1 +#define BfSave 2 + New ModeClr + ;d WL^vhDBG("clrDP: "_..Code_" Lbl:"_..Label_" "_%this) + Quit:($G(ClearMode)="") + Set ModeClr=$CASE(ClearMode, $$$Recalc:$LB("C","M"), $$$BfSave:$LB("C"), :"") + If $L(ModeClr) Do + . New PKey,MParam + . Set PKey="" + . For Set MParam=..MetaItem.Parameters.GetNext(.PKey) Quit:(PKey="") Do + .. Quit:(..IsFixed(PKey)) + .. Do:(MParam)&&($LF(ModeClr,MParam.Mode)>0) ..Parameters.RemoveAt(PKey) ; Do:(MParam)&&(ModeClr[MParam.Mode) + .. ;Do:(MParam)&&($LF(ModeClr,MParam.Mode)>0) WL^vhDBG("clrDP: PKey="_PKey_" mode="_MParam.Mode) + Else Do + . Do ..Parameters.Clear() + Quit + +IsActief() ; Parameters: ForceRecalc +#define Actief "Actief" + Quit:('$G(ForceRecalc)||(..IsFixed($$$Actief)))&&(..Parameters.IsDefined($$$Actief)) $$iacTransform(..Parameters.GetAt($$$Actief)) + New tmpAct + Set tmpAct=$$iacTransform(..Eval($$$Actief,,.ForceRecalc)) + Do ..Parameters.SetAt(tmpAct,$$$Actief) + Quit tmpAct +iacTransform(tmpAct) + Quit $S(tmpAct="":1, 1:tmpAct>0) + + +#include %VHMacro +CalcAll ; Parameters: (geen) +#define UpdTypePL "PL" + New arItems + Set arItems(1)=%this + If '..IsActief(1) Do Quit + . Do ..Product.UpdateLookUpClean($$$UpdTypePL,.arItems) + ; Else + New MItem,MParam,lbSort,lbSort2,PKey,i + Set MItem=..MetaItem + Set (lbSort,lbSort2)="" + Set PKey="" + For Set MParam=MItem.Parameters.GetNext(.PKey) Quit:(PKey="") Do:(MParam.Mode'?1(1"E",1"L")) + . If MParam.KolomNr>0 Set $LI(lbSort,MParam.KolomNr)=PKey + . Else Set lbSort2=lbSort2_$LB(PKey) + Set lbSort=lbSort_lbSort2 + For i=1:1:$LL(lbSort) Do:($L($LG(lbSort,i))) ..Eval($LI(lbSort,i),,1) + ;d WL^vhDBG("CalcAll: "_..Code_" Lbl:"_..Label_" "_%this) + Do ..Product.UpdateLookUp($$$UpdTypePL,.arItems) + If (..Autos.IsDefined("AfterCalc")) Do ..EvalTemplAuto("AfterCalc") ; Xecute kan een globale variabele definieren. + Quit + +Get() ; Parameters: Key,ItemLabel +#define Actief "Actief" + New DItem + If $L($G(ItemLabel)) Do Quit $S($IsObject(DItem):DItem.Get(Key), 1:"") + . Set DItem=$G(..Product.LookUp("IL",ItemLabel)) + ; Else + Quit:(Key=$$$Actief) ..IsActief() + Quit:(..Parameters.IsDefined(Key)) ..Parameters.GetAt(Key) + ;d:(..Label?1(1"PRSTANG",1"LZ")) ..Product.TTrace("==> 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 "" + +Eval() ; Parameters: Key,ItemLabel,Forced,SkipActief +#define Actief "Actief" +#define DItemActief (DItem.IsActief(.Forced)) + New DItem + If $L($G(ItemLabel)) Do Quit $S($IsObject(DItem)&&((Key=$$$Actief)||($G(SkipActief))||$$$DItemActief):DItem.Eval(Key,,.Forced), 1:"") + . Set DItem=$G(..Product.LookUp("IL",ItemLabel)) + ; Else + New MParam,RetVal + Set MParam=..MetaItem.Parameters.GetAt(Key) + Quit:('MParam) "" + Quit:(MParam.Mode="E") ..EvalFormule(Key) + Quit:('$G(Forced)||(..IsFixed(Key)))&&(..Parameters.IsDefined(Key)) ..Parameters.GetAt(Key) + ;d ..Product.TTrace("EVAL "_..Code_" Lbl:"_..Label_" Key:"_Key_" ") + ;d:(..Label?1(1"PRSTANG",1"LZ")) ..Product.TTrace("Eval voor Key "_Key) + Set RetVal=..EvalAutos(Key) + Do:(MParam.Mode?1(1"M",1"C")) ..Parameters.SetAt(RetVal,Key) + Quit RetVal + +EvalTemplAuto() ; Parameters: Key + New TPAuto,RetVal + Set TPAuto=..Autos.GetAt(Key) + If $L(TPAuto) Do Quit $G(RetVal) ; TemplateAuto uitvoeren en RetVal teruggeven + . If $L(TPAuto,"`")=1 Set RetVal=TPAuto + . Else Do + .. New Self,Meta + .. Set Self=%this + .. Set Meta=%this.MetaItem + .. Do evaExecRes($P(TPAuto,"`",1),$P(TPAuto,"`",2)) + Quit "" + +EvalMetaAuto() ; Parameters: Key + New MParam,RetVal + Set MParam=..MetaItem.Parameters.GetAt(Key) + Quit:('MParam)||(MParam.Auto="") "" + ;d:(Key'?1"ProgLabel".E) ..Product.TTrace("EvalM "_..Code_" Lbl:"_..Label_" Key:"_Key_" ") + New Self,Meta + Set Self=%this + Set Meta=%this.MetaItem + Do evaExecRes($P(MParam.Auto,"`",1),$P(MParam.Auto,"`",2)) + Quit RetVal + +EvalAutos() ; Parameters: Key + New TPAuto,RetVal + Set TPAuto=..Autos.GetAt(Key) + If $L(TPAuto) Do Quit $G(RetVal) ; TemplateAuto uitvoeren en RetVal teruggeven + . If $L(TPAuto,"`")=1 Set RetVal=TPAuto + . Else Do + .. New Self,Meta + .. Set Self=%this + .. Set Meta=%this.MetaItem + .. Do evaExecRes($P(TPAuto,"`",1),$P(TPAuto,"`",2)) + ; Else: MetaAuto uitvoeren + Quit ..EvalMetaAuto(Key) + +evaExecRes(VExecType,VExec) + Do EXEC^vhRES(VExecType,VExec,"RetVal",,"evaTRAP^"_$ZN) ; RetVal wordt teruggekregen + ;d:(VExec["Self.Val(""LG"")") WLFMT^vhDBG(" > Self.Val(""LG"")="_Self.Val("LG")_", Self.Val(""DS"")="_Self.Val("DS"),"I") + Quit +evaTRAP + New msg + Set msg="EXECUTE FOUT: "_sTyp_"`"_sExecTxt_"`"_$G(sParList) + Do WLFMT^vhDBG(msg,"A") + Do WLFMT^vhDBG("Bij Key :"_Key_" van DItem:"_..Code_" Label:"_..Label_" Meta:"_..MetaItem.Code,"A") + 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($$LCVT^vhLib(tmpLB)) + Quit + +EvalFormule() ; Parameters: Key + ; Voor de evaluatie van DItems waarvan MParam.Mode="E" + ; Defaulting via Template-Data of Template-Autos + Quit:(..Parameters.IsDefined(Key)) $$evaExecExpr(..Parameters.GetAt(Key)) + Quit $$evaExecExpr(..Autos.GetAt(Key)) +evaExecExpr(sExpr) + New RetVal + New Self,Meta + Set Self=%this + Set Meta=%this.MetaItem + Do evaExecRes("@",$$evaTranslateExpr(sExpr)) + ;d WLFMT^vhDBG("EvalFormule: bij Key :"_Key_" van DItem:"_..Code_" Label:"_..Label_" RetVal:"_RetVal,"W") + Quit $G(RetVal) +evaTranslateExpr(sExpr) + Quit sExpr + + +CopyParamsFromMeta ; Parameters: (geen) + Quit:('..MetaItem) + New PKey,MItem,MParam + Set MItem=..MetaItem + Set PKey="" + For Set MParam=MItem.Parameters.GetNext(.PKey) Quit:(PKey="") Do + . Do ..Parameters.SetAt($$cpfmGetValue,PKey) + Quit +cpfmGetValue() + Quit "" ; PKey_""_..Code + + +CalcCode() ; Parameters: (geen) + Quit:('..Product) "" + Quit:('..MetaItem) "" + New mc,PrevCode,tmpLU + Set mc=..MetaItem.Code + Set PrevCode=$O(..Product.LookUp("ISort","Code",mc_"999"),-1) + Quit mc_$S($E(PrevCode,1,$L(mc))=mc:$$LeftPad^vhLib($P(PrevCode,mc,2)+1,3), 1:"001") + +CalcVolgNr() ; Parameters: (geen) + Quit:('..Product) "" + Quit:(..SubGroepCode="") "" + Quit $O(..Product.LookUp("ISort","VNr",..SubGroepCode,""),-1)+1 + + +CopyObject() ; Parameters: CopyMode +#define InList(%v) $LF(lbCopyPropt,%v)>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 + \ No newline at end of file Index: Prod/GADef/KaderDeur/Templates.mac.rou =================================================================== diff -u --- Prod/GADef/KaderDeur/Templates.mac.rou (revision 0) +++ Prod/GADef/KaderDeur/Templates.mac.rou (revision 2) @@ -0,0 +1,487 @@ +#include %occInclude + ; AUTHOR : Wim VERMEULEN + ; LOCATION : VAN HOECKE N.V. + ; LAST MODIFIED : 08/08/2005 + ; + ; THIS ROUTINE USES THE DATA FROM ...^Prod.GADef.KaderDeur.TemplateDB + ; AND CREATES THE TEMPLATE-OBJECTS (IN Prod.GADef.KaderDeur AND Res.PI.TemplateKader). + ; TO CREATE: RUN "START+KlantNr" SEPARATELY, or + ; RUN CLASS-METHOD "Fillobjects()" FROM THE Res.PI.TemplateKader CLASS TO CREATE ALL TEMPLATES + + +START3711 + Do START2523 ; Nieuw KLNr van TULP + Quit + /// 3711 is niet meer van toepassing! + /* + w "START3711 is begonnen. Even geduld... ",! + Kill ^CreateTemplatesLog(3711) + Set ^CreateTemplatesLog(3711)="Last Update: "_$ZDATETIME($H,3) + Do CreateFromDB("B1L1" , 3711, 1, "Bovenkastdeur links, greep onder") + Do CreateFromDB("B1R1" , 3711, 2, "Bovenkastdeur rechts, greep onder") + Do CreateFromDB("B1L1/1", 3711, 3, "Bovenkastdeur links, greep onder, tot 300mm") + Do CreateFromDB("B1R1/1", 3711, 4, "Bovenkastdeur rechts, greep onder, tot 300mm") + Do CreateFromDB("B1L5" , 3711, 5, "Onderkastdeur links, greep boven") + Do CreateFromDB("B1R5" , 3711, 6, "Onderkastdeur rechts, greep boven") + Do CreateFromDB("B1L5/1", 3711, 7, "Onderkastdeur links, greep boven, tot 300mm") + Do CreateFromDB("B1R5/1", 3711, 8, "Onderkastdeur rechts, greep boven, tot 300mm") + Do CreateFromDB("b12x-B11010L",3711, 9, "Kastdeur links, greep onder") + Do CreateFromDB("b12x-B11010R",3711, 10, "Kastdeur rechts, greep onder") + Do CreateFromDB("B2L1" , 3711, 11, "Kastdeur links draaiend") + Do CreateFromDB("B2R1" , 3711, 12, "Kastdeur rechts draaiend") + Do CreateFromDB("B2L1/1", 3711, 13, "Kastdeur links draaiend, tot 300mm") + Do CreateFromDB("B2R1/1", 3711, 14, "Kastdeur rechts draaiend, tot 300mm") + Do CreateFromDB("B3L1" , 3711, 15, "Kastdeur links draaiend") + Do CreateFromDB("B3R1" , 3711, 16, "Kastdeur rechts draaiend") + Do CreateFromDB("B3L1/1", 3711, 17, "Kastdeur links draaiend, tot 300mm") + Do CreateFromDB("B3R1/1", 3711, 18, "Kastdeur rechts draaiend, tot 300mm") + Do CreateFromDB("B4L1" , 3711, 19, "Kastdeur links draaiend") + Do CreateFromDB("B4R1" , 3711, 20, "Kastdeur rechts draaiend") + Do CreateFromDB("B4L1/1", 3711, 21, "Kastdeur links draaiend, tot 300mm") + Do CreateFromDB("B4R1/1", 3711, 22, "Kastdeur rechts draaiend, tot 300mm") + Do CreateFromDB("B4R3" , 3711, 23, "Kastdeur rechts draaiend") + Do CreateFromDB("B8L5" , 3711, 24, "Front deur links, greep boven, scharnier omlaag") + Do CreateFromDB("B8R5" , 3711, 25, "Front deur rechts, greep boven, scharnier omlaag") + Do CreateFromDB("B8L5/1", 3711, 26, "Front deur links, greep boven, scharnier omlaag, tot 300mm") + Do CreateFromDB("B8R5/1", 3711, 27, "Front deur rechts, greep boven, scharnier omlaag, tot 300mm") + Do CreateFromDB("S1L1" , 3711, 28, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S1L3" , 3711, 29, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S1L5" , 3711, 30, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S1L0" , 3711, 31, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S1R1" , 3711, 32, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S1R3" , 3711, 33, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S1R5" , 3711, 34, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S1R0" , 3711, 35, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S2L1" , 3711, 36, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S2L3" , 3711, 37, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S2L5" , 3711, 38, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S2L0" , 3711, 39, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S2R1" , 3711, 40, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S2R3" , 3711, 41, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S2R5" , 3711, 42, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S2R0" , 3711, 43, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S3L1" , 3711, 44, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S3L0" , 3711, 45, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S3R1" , 3711, 46, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S4R0" , 3711, 47, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S4L1" , 3711, 48, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S4L0" , 3711, 49, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S4R1" , 3711, 50, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S4R0" , 3711, 51, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("B5-2" , 3711, 52, "Klapdeur tot 600mm, breed prof, 1 steun rechts") + Do CreateFromDB("B5-2/1", 3711, 53, "Klapdeur tot 300mm, breed prof, 1 steun rechts") + Do CreateFromDB("B5-B" , 3711, 54, "Klapdeur vanaf 800mm, breed prof, 2 steunen") + Do CreateFromDB("B5-C" , 3711, 55, "Klapdeur vanaf 1000mm, breed prof, 3 scharn.") + Do CreateFromDB("B5-D" , 3711, 56, "Klapdeur vanaf 1000mm, breed prof, 4 scharn.") + Do CreateFromDB("S5-2" , 3711, 57, "Klapdeur tot 600mm, smal prof, 1 steun rechts") + Do CreateFromDB("S5-B" , 3711, 58, "Klapdeur vanaf 800mm, smal prof, 2 steunen") + Do CreateFromDB("S5-C" , 3711, 59, "Klapdeur vanaf 1000mm, smal prof, 3 scharn.") + Do CreateFromDB("S5-D" , 3711, 60, "Klapdeur vanaf 1000mm, smal prof, 4 scharn.") + Do CreateFromDB("B6-6" , 3711, 61, "LadeFront met 1 greep, tot 600mm") + Do CreateFromDB("B6-6/1", 3711, 62, "LadeFront met 1 greep, tot 300mm") + Do CreateFromDB("B6-B" , 3711, 63, "LadeFront met 2 grepen, vanaf 800mm") + Do CreateFromDB("B7-6" , 3711, 64, "LadeFront Hoog met 1 greep, tot 600mm") + Do CreateFromDB("B7-6/1", 3711, 65, "LadeFront Hoog met 1 greep, tot 300mm") + Do CreateFromDB("B7-B" , 3711, 66, "LadeFront Hoog met 2 grepen, vanaf 800mm") + Do CreateFromDB("B0-6" , 3711, 67, "LadeFront Hoog met 1 greep, tot 600mm") + Do CreateFromDB("B0-6/1", 3711, 68, "LadeFront Hoog met 1 greep, tot 300mm") + Do CreateFromDB("B0-B" , 3711, 69, "LadeFront Hoog met 2 grepen, vanaf 800mm") + Do CreateFromDB("B9-0" , 3711, 70, "Vaste Blende boven") + Do CreateFromDB("BAR3" , 3711, 71, "Kastdeur DDVKH rechts draaiend") + Do CreateFromDB("BAL3" , 3711, 72, "Kastdeur DDVKH links draaiend") + Do CreateFromDB("BBB" , 3711, 73, "Front BZLD kast, vanaf 800mm") + Do CreateFromDB("BB2" , 3711, 74, "Front BZLD kast, 600mm") + Do CreateFromDB("B124-D21011" , 3711, 75, "Klapdeur vanaf 950mm, breed prof, 2 steunen") + Do CreateFromDB("B12Z-D21011" , 3711, 76, "Klapdeur vanaf 950mm, breed prof, 2 steunen") + Do CreateFromDB("B124-D21010" , 3711, 77, "Klapdeur tot 900mm, breed prof, 2 steunen") + Do CreateFromDB("B12Z-D21010" , 3711, 78, "Klapdeur vanaf 650mm, breed prof, 2 steunen") + Do CreateFromDB("D21010x2Z" , 3711, 79, "Klapdeur vanaf 650mm, breed prof, 2 steunen") + Do CreateFromDB("B2B4-D21010" , 3711, 80, "Klapdeur tot 900mm, breed prof, 2 steunen") + Do CreateFromDB("B12Z-D50010" , 3711, 81, "Klapdeur vanaf 650mm") + Do CreateFromDB("B2F4-F11010" , 3711, 82, "Front korflade met 2 grepen, vanaf 650mm") + Do CreateFromDB("B16Z-F11010" , 3711, 83, "Front korflade met 1 greep, vanaf 650mm") + Do CreateFromDB("F11010x6Z" , 3711, 84, "Front korflade met 1 greep, vanaf 650mm") + Do CreateFromDB("B114-B11010L" , 3711, 85, "Kastdeur links, greep onder") + Do CreateFromDB("B114-B11010R" , 3711, 86, "Kastdeur rechts, greep onder") + Do CreateFromDB("S110-B11010L" , 3711, 87, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S130-B11010L" , 3711, 88, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S150-B11010L" , 3711, 89, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S100-B11010L" , 3711, 90, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S110-B11010R" , 3711, 91, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S130-B11010R" , 3711, 92, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S150-B11010R" , 3711, 93, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S100-B11010R" , 3711, 94, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S110-C11010L" , 3711, 95, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S130-C11010L" , 3711, 96, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S150-C11010L" , 3711, 97, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S100-C11010L" , 3711, 98, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S110-C11010R" , 3711, 99, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S130-C11010R" , 3711,100, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S150-C11010R" , 3711,101, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S100-C11010R" , 3711,102, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S120-D11010" , 3711,103, "Klapdeur tot 600mm, smal prof, 1 steun rechts") + Do CreateFromDB("S120-D21010" , 3711,104, "Klapdeur tot 900mm, smal prof, 2 steunen") + Do CreateFromDB("S120-D21011" , 3711,105, "Klapdeur vanaf 900mm, smal prof, 2 steunen") + Do CreateFromDB("B2B4-D21011" , 3711,106, "Klapdeur vanaf 950mm, breed prof, 2 steunen") + Do CreateFromDB("S120-D21010" , 3711,104, "Klapdeur tot 900mm, smal prof, 2 steunen") + w "START3711 is uitgevoerd",! + Quit + */ + +START2523 + w "START2523 is begonnen. Even geduld... ",! + Kill ^CreateTemplatesLog(2523) + Set ^CreateTemplatesLog(2523)="Last Update: "_$ZDATETIME($H,3) + /* + Do CreateFromDB("B1L1" , 2523, 1, "Bovenkastdeur links, greep onder") + Do CreateFromDB("B1R1" , 2523, 2, "Bovenkastdeur rechts, greep onder") + Do CreateFromDB("B1L1/1", 2523, 3, "Bovenkastdeur links, greep onder, tot 300mm") + Do CreateFromDB("B1R1/1", 2523, 4, "Bovenkastdeur rechts, greep onder, tot 300mm") + Do CreateFromDB("B1L5" , 2523, 5, "Onderkastdeur links, greep boven") + Do CreateFromDB("B1R5" , 2523, 6, "Onderkastdeur rechts, greep boven") + Do CreateFromDB("B1L5/1", 2523, 7, "Onderkastdeur links, greep boven, tot 300mm") + Do CreateFromDB("B1R5/1", 2523, 8, "Onderkastdeur rechts, greep boven, tot 300mm") + Do CreateFromDB("b12x-B11010L",2523, 9, "Kastdeur links, greep onder") + Do CreateFromDB("b12x-B11010R",2523, 10, "Kastdeur rechts, greep onder") + Do CreateFromDB("B2L1" , 2523, 11, "Kastdeur links draaiend") + Do CreateFromDB("B2R1" , 2523, 12, "Kastdeur rechts draaiend") + Do CreateFromDB("B2L1/1", 2523, 13, "Kastdeur links draaiend, tot 300mm") + Do CreateFromDB("B2R1/1", 2523, 14, "Kastdeur rechts draaiend, tot 300mm") + Do CreateFromDB("B3L1" , 2523, 15, "Kastdeur links draaiend") + Do CreateFromDB("B3R1" , 2523, 16, "Kastdeur rechts draaiend") + Do CreateFromDB("B3L1/1", 2523, 17, "Kastdeur links draaiend, tot 300mm") + Do CreateFromDB("B3R1/1", 2523, 18, "Kastdeur rechts draaiend, tot 300mm") + Do CreateFromDB("B4L1" , 2523, 19, "Kastdeur links draaiend") + Do CreateFromDB("B4R1" , 2523, 20, "Kastdeur rechts draaiend") + Do CreateFromDB("B4L1/1", 2523, 21, "Kastdeur links draaiend, tot 300mm") + Do CreateFromDB("B4R1/1", 2523, 22, "Kastdeur rechts draaiend, tot 300mm") + Do CreateFromDB("B4R3" , 2523, 23, "Kastdeur rechts draaiend") + Do CreateFromDB("B8L5" , 2523, 24, "Front deur links, greep boven, scharnier omlaag") + Do CreateFromDB("B8R5" , 2523, 25, "Front deur rechts, greep boven, scharnier omlaag") + Do CreateFromDB("B8L5/1", 2523, 26, "Front deur links, greep boven, scharnier omlaag, tot 300mm") + Do CreateFromDB("B8R5/1", 2523, 27, "Front deur rechts, greep boven, scharnier omlaag, tot 300mm") + Do CreateFromDB("S1L1" , 2523, 28, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S1L3" , 2523, 29, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S1L5" , 2523, 30, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S1L0" , 2523, 31, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S1R1" , 2523, 32, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S1R3" , 2523, 33, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S1R5" , 2523, 34, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S1R0" , 2523, 35, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S2L1" , 2523, 36, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S2L3" , 2523, 37, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S2L5" , 2523, 38, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S2L0" , 2523, 39, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S2R1" , 2523, 40, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S2R3" , 2523, 41, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S2R5" , 2523, 42, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S2R0" , 2523, 43, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S3L1" , 2523, 44, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S3L0" , 2523, 45, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S3R1" , 2523, 46, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S4R0" , 2523, 47, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S4L1" , 2523, 48, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S4L0" , 2523, 49, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S4R1" , 2523, 50, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S4R0" , 2523, 51, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("B5-2" , 2523, 52, "Klapdeur tot 600mm, breed prof, 1 steun rechts") + Do CreateFromDB("B5-2/1", 2523, 53, "Klapdeur tot 300mm, breed prof, 1 steun rechts") + Do CreateFromDB("B5-B" , 2523, 54, "Klapdeur vanaf 800mm, breed prof, 2 steunen") + Do CreateFromDB("B5-C" , 2523, 55, "Klapdeur vanaf 1000mm, breed prof, 3 scharn.") + Do CreateFromDB("B5-D" , 2523, 56, "Klapdeur vanaf 1000mm, breed prof, 4 scharn.") + Do CreateFromDB("S5-2" , 2523, 57, "Klapdeur tot 600mm, smal prof, 1 steun rechts") + Do CreateFromDB("S5-B" , 2523, 58, "Klapdeur vanaf 800mm, smal prof, 2 steunen") + Do CreateFromDB("S5-C" , 2523, 59, "Klapdeur vanaf 1000mm, smal prof, 3 scharn.") + Do CreateFromDB("S5-D" , 2523, 60, "Klapdeur vanaf 1000mm, smal prof, 4 scharn.") + Do CreateFromDB("B6-6" , 2523, 61, "LadeFront met 1 greep, tot 600mm") + Do CreateFromDB("B6-6/1", 2523, 62, "LadeFront met 1 greep, tot 300mm") + Do CreateFromDB("B6-B" , 2523, 63, "LadeFront met 2 grepen, vanaf 800mm") + Do CreateFromDB("B7-6" , 2523, 64, "LadeFront Hoog met 1 greep, tot 600mm") + Do CreateFromDB("B7-6/1", 2523, 65, "LadeFront Hoog met 1 greep, tot 300mm") + Do CreateFromDB("B7-B" , 2523, 66, "LadeFront Hoog met 2 grepen, vanaf 800mm") + Do CreateFromDB("B0-6" , 2523, 67, "LadeFront Hoog met 1 greep, tot 600mm") + Do CreateFromDB("B0-6/1", 2523, 68, "LadeFront Hoog met 1 greep, tot 300mm") + Do CreateFromDB("B0-B" , 2523, 69, "LadeFront Hoog met 2 grepen, vanaf 800mm") + Do CreateFromDB("B9-0" , 2523, 70, "Vaste Blende boven") + Do CreateFromDB("BAR3" , 2523, 71, "Kastdeur DDVKH rechts draaiend") + Do CreateFromDB("BAL3" , 2523, 72, "Kastdeur DDVKH links draaiend") + Do CreateFromDB("BBB" , 2523, 73, "Front BZLD kast, vanaf 800mm") + Do CreateFromDB("BB2" , 2523, 74, "Front BZLD kast, 600mm") + Do CreateFromDB("B124-D21011" , 2523, 75, "Klapdeur vanaf 950mm, breed prof, 2 steunen") + Do CreateFromDB("B12Z-D21011" , 2523, 76, "Klapdeur vanaf 950mm, breed prof, 2 steunen") + Do CreateFromDB("B124-D21010" , 2523, 77, "Klapdeur tot 900mm, breed prof, 2 steunen") + Do CreateFromDB("B12Z-D21010" , 2523, 78, "Klapdeur vanaf 650mm, breed prof, 2 steunen") + Do CreateFromDB("D21010x2Z" , 2523, 79, "Klapdeur vanaf 650mm, breed prof, 2 steunen") + Do CreateFromDB("B2B4-D21010" , 2523, 80, "Klapdeur tot 900mm, breed prof, 2 steunen") + Do CreateFromDB("B12Z-D50010" , 2523, 81, "Klapdeur vanaf 650mm") + Do CreateFromDB("B2F4-F11010" , 2523, 82, "Front korflade met 2 grepen, vanaf 650mm") + Do CreateFromDB("B16Z-F11010" , 2523, 83, "Front korflade met 1 greep, vanaf 650mm") + Do CreateFromDB("F11010x6Z" , 2523, 84, "Front korflade met 1 greep, vanaf 650mm") + Do CreateFromDB("B114-B11010L" , 2523, 85, "Kastdeur links, greep onder") + Do CreateFromDB("B114-B11010R" , 2523, 86, "Kastdeur rechts, greep onder") + Do CreateFromDB("S110-B11010L" , 2523, 87, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S130-B11010L" , 2523, 88, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S150-B11010L" , 2523, 89, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S100-B11010L" , 2523, 90, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S110-B11010R" , 2523, 91, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S130-B11010R" , 2523, 92, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S150-B11010R" , 2523, 93, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S100-B11010R" , 2523, 94, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S110-C11010L" , 2523, 95, "Linkerdeur, smal profiel, knop onder") + Do CreateFromDB("S130-C11010L" , 2523, 96, "Linkerdeur, smal profiel, knop midden") + Do CreateFromDB("S150-C11010L" , 2523, 97, "Linkerdeur, smal profiel, knop boven") + Do CreateFromDB("S100-C11010L" , 2523, 98, "Linkerdeur, smal profiel, zonder knop") + Do CreateFromDB("S110-C11010R" , 2523, 99, "Rechterdeur, smal profiel, knop onder") + Do CreateFromDB("S130-C11010R" , 2523,100, "Rechterdeur, smal profiel, knop midden") + Do CreateFromDB("S150-C11010R" , 2523,101, "Rechterdeur, smal profiel, knop boven") + Do CreateFromDB("S100-C11010R" , 2523,102, "Rechterdeur, smal profiel, zonder knop") + Do CreateFromDB("S120-D11010" , 2523,103, "Klapdeur tot 600mm, smal prof, 1 steun rechts") + Do CreateFromDB("S120-D21010" , 2523,104, "Klapdeur tot 900mm, smal prof, 2 steunen") + Do CreateFromDB("S120-D21011" , 2523,105, "Klapdeur vanaf 900mm, smal prof, 2 steunen") + Do CreateFromDB("B2B4-D21011" , 2523,106, "Klapdeur vanaf 950mm, breed prof, 2 steunen") + */ + ; New items to append: + ;Do CreateFromDB("S120-D21010" , 2523,104, "Klapdeur tot 900mm, smal prof, 2 steunen") + w "START2523 is uitgevoerd",! + Quit + + +CreateFromDB(PICode,KlantID,Sort,Omschrijving) + Set blnChangePropts=0 ; Default="0". Switch to "1" to change some properties on the Template KadObj, without creating new objects + If blnChangePropts Do + . Quit:($G(PICode)="") + . New KadObj,PIObj,ItemID + . Set ItemID=PICode + . Set PIObj=$$CreatePITemplate(ItemID,PICode,,$G(KlantID),$G(Sort),$G(Omschrijving)) + . Set KadObj=PIObj.GADefTemplate + . ; Make Changes to KadObj + . ; + . Set PIObj.Sort=Sort + . ; + . Set sc=KadObj.%Save() + . w:($$$ISERR(sc)) "KadObj.%Save : "_$$ParseStatus^vhLib(sc) + . Set sc=PIObj.%Save() + . w:($$$ISERR(sc)) "PIObj.%Save : "_$$ParseStatus^vhLib(sc) + . Set PIObj="" + . w "Aanpassing voor "_PICode_" uitgevoerd.",! + Quit:(blnChangePropts) + + ; Creates the KadObj and the PIObj. + Quit:($G(PICode)="") + New KadObj,PIObj,ItemID + Set KadObj=##class(Prod.GADef.KaderDeur).%New() + ; FillPropts, FillBeslag and FillBoringen + Do @("T"_KlantID_"xx"_$$ReplaceCode(PICode)_"^Prod.GADef.KaderDeur.TemplateDB(.KadObj)") + Set KadObj.TemplateUsed=PICode + Do KadObj.%Save() + ; Check that KadObj is correctly saved. + Set ^CreateTemplatesLog(KlantID,PICode)=$S(KadObj.%Id()'="":"ID: "_KadObj.%Id(), 1:"KaderdeurID kon niet gegenereerd worden. Creatie Template afgebroken.") + Quit:(KadObj.%Id()="") + ; Create PI.TemplateKader-object + Set ItemID=PICode + Set PIObj=$$CreatePITemplate(ItemID,PICode,KadObj.%Id(),$G(KlantID),$G(Sort),$G(Omschrijving)) + Do PIObj.%Save() + Do PIObj.%Close() + Do KadObj.%Close() + Quit + +ReplaceCode(strText) + New FKey + For FKey="-;MIN", "+;PLUS", "/;SLASH", "\;BSLASH" Do + . Do ReplaceSubString(.strText, $P(FKey,";",1), $P(FKey,";",2)) + Quit strText + +ReplaceSubString(strText,strFind,strNew) + ; Replaces all in by + ; strText should be passed by Reference !!! + ; + New Q,P,Find,Variable + For Quit:strText'[strFind Do + . Set Q=$FIND(strText,strFind)-1 + . Set P=Q-$L(strFind)+1 + . Set $E(strText,P,Q)=strNew + Quit "Pass First Parameter by Reference!" + + +CreatePITemplate(ItemID,PICode,GADefOID,KlantID,Sort,Omschrijving) + ; Returns the new PIObj + Quit:($G(ItemID)="") + New FullID + Set FullID=##class(Res.PI.Definitie).IDViaNaam("TemplateKader")_"||"_ItemID + If ##class(Res.PI.TemplateKader).%ExistsId(FullID) Do + . Set PIObj=##class(Res.PI.TemplateKader).%OpenId(FullID) + Else Do + . Set PIObj=##class(Res.PI.TemplateKader).%New() + . Do FillPITemplate(.PIObj,ItemID,$G(PICode),,$G(KlantID),$G(Sort),$G(Omschrijving)) + Do:($G(GADefOID)'="") PIObj.GADefTemplateSetObjectId(GADefOID) + Quit PIObj + +FillPITemplate(PIObj,ItemID,PICode,GADefOID,KlantID,Sort,Omschrijving) + ; PIObj passed by Reference! + Quit:('$G(PIObj)) + Quit:($G(ItemID)="") + Do PIObj.TabelIDSetObjectId(##class(Res.PI.Definitie).IDViaNaam("TemplateKader")) + Set PIObj.ItemID=ItemID + Set PIObj.PICode=$S('$G(PICode):ItemID,1:PICode) + Set:($G(Omschrijving)'="") PIObj.Omschrijving=Omschrijving + Set:($G(Sort)'="") PIObj.Sort=Sort + Do:($G(GADefOID)'="") PIObj.GADefTemplateSetObjectId(GADefOID) + Do:($G(KlantID)'="") PIObj.KlantSetObjectId(KlantID) + Quit + + +FillKDBeslag(KadObj,BeslagKey,BeslagTypeID,lstPosities) + ; KadObj passed by Reference! + ; has the following structure ("[]" means OPTIONAL) : + ; "RelLPos[@LPos];AfRand[;PosKey1]\RelLPos2[@LPos2];[AfRand2][;PosKey2]\RelLPos3[@LPos3];[AfRand3][;PosKey3]" + ; - if PosKey_I is omitted, it is automatically calculated by "Beslag.Posities.Count()+1" + ; - if AfRand is omitted, it is reused from previous "Beslag.Positie" + ; + Quit:($G(BeslagKey)="") + Quit:($G(BeslagTypeID)="") + Quit:($G(lstPosities)="") + New emBeslag,I,emBeslagPos,TabelBeslag,PosI,LPos,AfRand,PosKey + Set TabelBeslag=##class(Res.PI.Definitie).IDViaNaam("Beslag") + Set AfRand="" + Set emBeslag=##class(Prod.GADef.emKadBeslag).%New() + Do emBeslag.BeslagSetObjectId(TabelBeslag_"||"_BeslagTypeID) + For I=1:1 Quit:('$L($P(lstPosities,"\",I))) Do + . Set PosI=$P(lstPosities,"\",I) + . Set LPos=$P(PosI,";") ; RelLengtePos_@_LengtePos + . Set:($P(PosI,";",2)'="") AfRand=$P(PosI,";",2) ; AfstandRand (Re-use previous when empty) + . Set PosKey=$P(PosI,";",3) ; PosKey (Count #Posities when empty) + . Set:(PosKey="") PosKey=emBeslag.Positie.Count()+1 ; New Key incremented by 1 + . Quit:($P(LPos,"@",1)_$P(LPos,"@",2)="") + . Set emBeslagPos=##class(Prod.GADef.emKadBeslagPos).%New() + . Set emBeslagPos.RelLengtePos=$P(LPos,"@",1) + . Set emBeslagPos.LengtePos=$P(LPos,"@",2) + . Set:(AfRand'="") emBeslagPos.AfstandRand=AfRand + . Do emBeslag.Positie.SetAt(emBeslagPos,PosKey) + . Do emBeslagPos.%Close() + Do KadObj.Beslag.SetAt(emBeslag,BeslagKey) + Do emBeslag.%Close() + Quit + +FillKDBoring(KadObj,XCode,YCode,Diam,BoringType,BoorDiepte,GlasDiam,ZCode,BKey,CncID) + ; KadObj passed by Reference! + ; XCode,YCode,ZCode constist of "RelPos_@_Pos" + Quit:($G(XCode)="") + Quit:($G(YCode)="") + Quit:($G(Diam)="") + Quit:(+Diam=0) + Quit:($G(BoorDiepte)="") + Quit:($G(BoringType)="") + New emBoring + Set emBoring=##class(Prod.GADef.emKadBoring).%New() + Set emBoring.RelXPos=$P(XCode,"@",1) + Set emBoring.RelYPos=$P(YCode,"@",1) + Set emBoring.XPos=$P(XCode,"@",2) + Set emBoring.YPos=$P(YCode,"@",2) + Set emBoring.BoorDiameter=$P(Diam,"+",1) + Set:($P(Diam,"+",2)'="") emBoring.AfschuinDiameter=$P(Diam,"+",2) + Set emBoring.BoringType=BoringType + Set emBoring.BoorDiepte=$S(emBoring.BoorDiameter<0:0, 1:BoorDiepte) ; Puntboring (diam<0) ==> BoorDiepte=0 + Set:($G(GlasDiam)) emBoring.BoorGlasDiameter=GlasDiam + Set:($G(ZCode)) emBoring.RelZPos=$P(ZCode,"@",1) + Set:($G(ZCode)) emBoring.ZPos=$P(ZCode,"@",2) + Set:($D(CncID)) emBoring.CncID=CncID + Set BKey=$E($G(BKey,"X"),1) + Set BKey=$S(BKey?1A:BKey, 1:"X") + Do KadObj.Boringen.SetAt(emBoring,BKey_$TR($J($$ArrCount(KadObj.Boringen,BKey)+1, 2), " ", "0")) + ;Do KadObj.Boringen.SetAt(emBoring,$S(BKey?1A:BKey, 1:"X")_$TR($J(KadObj.Boringen.Count()+1, 2), " ", "0")) + ;Do KadObj.Boringen.SetAt(emBoring,KadObj.Boringen.Count()+1) + Do emBoring.%Close() + Quit + +ArrCount(objArray,StartKey) + New Num,Key + Set StartKey=$G(StartKey,"") + Set Num=0 + Set Key="" + For Do objArray.GetNext(.Key) Quit:(Key="") Do + . Set:($E(Key,1,$L(StartKey))=StartKey) Num=Num+1 + Quit Num + +FillKDPropts(KadObj,ToepasID,OphangPID,ProfielTypeID,Hoogte,Breedte,VullingID,VullingExtras,Gemonteerd,Verpakking,TemplateRoutine) + ; KadObj passed by Reference! + New TabelProfType,TabelProfAfw,TabelVul,TabelVulExtra,TabelToepas,TabelOphang + Set TabelProfType=##class(Res.PI.Definitie).IDViaNaam("ProfType") + Set TabelProfAfw=##class(Res.PI.Definitie).IDViaNaam("ProfAfw") + Set TabelVul=##class(Res.PI.Definitie).IDViaNaam("Vulling") + Set TabelVulExtra=##class(Res.PI.Definitie).IDViaNaam("VullingExtra") + Set TabelToepas=##class(Res.PI.Definitie).IDViaNaam("Toepas") + Set TabelOphang=##class(Res.PI.Definitie).IDViaNaam("OphangPlaats") + + Do:($G(ToepasID)'="") KadObj.ToepassingSetObjectId(TabelToepas_"||"_ToepasID) + Do:($G(OphangPID)'="") KadObj.OphangPlaatsSetObjectId(TabelOphang_"||"_OphangPID) + Do:($G(ProfielTypeID)'="") KadObj.ProfTypeSetObjectId(TabelProfType_"||"_$P(ProfielTypeID,"-")) + Do:($G(ProfielTypeID)'="") KadObj.ProfAfwSetObjectId($S($P(ProfielTypeID,"-",2)'="":TabelProfAfw_"||"_ProfielTypeID,1:"")) + Set:($G(Hoogte)'="") KadObj.Hoogte=Hoogte + Set:($G(Breedte)'="") KadObj.Breedte=Breedte + Set:($G(Gemonteerd)'="") KadObj.Gemonteerd=Gemonteerd + Set:($G(Verpakking)'="") KadObj.Verpakking=Verpakking + Set:($G(TemplateRoutine)'="") KadObj.TemplateRoutine=TemplateRoutine + Do:($G(VullingID)'="") SetVulling(.KadObj,VullingID,$G(VullingExtras)) + Quit + +SetVulling(KadObj,VullingID,VullingExtras) + ; KadObj passed by Reference! + New emVulling,I + Quit:(VullingID="") + Set VullingExtras=$G(VullingExtras,"") + Set emVulling=##class(Prod.GADef.emKadVulling).%New() + Do emVulling.VullingSetObjectId(TabelVul_"||"_VullingID) + For I=1:1 Quit:('$L($P(VullingExtras,";",I))) Do + . Do emVulling.VullingExtra.InsertObjectId(##class(Res.PI.Definitie).IDViaNaam("VullingExtra")_"||"_$P(VullingExtras,";",I)) + Set KadObj.Vulling=emVulling + Do emVulling.%Close() + Quit + + + + + + +CreateCompact(Toepas,OphangP,PICode,KlantID,Sort,Omschrijving,TemplateRoutine) + ; Another way to create the TemplateKader and Kader-objects + ; Not the best way to create the objects. It Better to use CreateFromDB (called by "START...") + ; Creates the KadObj and the PIObj. + ; KlantID,Sort and Omschrijving are optional parameters. + Quit:($G(PICode)="") + New KadObj,PIObj,ItemID + Set KadObj=##class(Prod.GADef.KaderDeur).%New() + Do FillKDPropts(.KadObj,$G(Toepas),$G(OphangP),,,,,,"KV","K",$G(TemplateRoutine)) + Do KadObj.%Save() + ; Check that KadObj is correctly saved. + Write:(KadObj.%Id()="") "KaderdeurID kon niet gegenereerd worden. Creatie Template afgebroken." + Quit:(KadObj.%Id()="") + Do DumpObject^%apiOBJ(KadObj) + + Set ItemID=PICode + Set PIObj=$$CreatePITemplate(ItemID,PICode,KadObj.%Id(),$G(KlantID),$G(Sort),$G(Omschrijving)) + Do PIObj.%Save() + Do DumpObject^%apiOBJ(PIObj) + Do PIObj.%Close() + Do KadObj.%Close() + Quit + +ExtendFT(%this,TemplateID,param1,param2,param3,param4,param5) + ; + ; !!! THIS ROUTINE HAS BEEN PLACED IN THE OBJECT'S METHOD (IN OBJECT ARCHTITECT) !!! + ; + ; Extends the KadObj with the dynamic properties from the template + Quit:(TemplateID="") + If $E(TemplateID,1,3)="PIT" Do + . New PITemplate + . Set PITemplate=##class(Res.PI.TemplateKader).%OpenId(##class(Res.PI.Definitie).IDViaNaam("TemplateKader")_"||"_$E(TemplateID,4,999)) + . Set TemplateID=PITemplate.GADefTemplateGetObjectId() + . Do PITemplate.%Close() + New Templ,RoutineName + Set Templ=##CLASS(Prod.GADef.KaderDeur).%OpenId(TemplateID) + Set RoutineName=Templ.TemplateRoutine + ;Do Templ.%Close() + Quit:('$L(RoutineName)) + ;Do @(RoutineName_"(%this,TemplateID,$G(param1),$G(param2),$G(param3),$G(param4),$G(param5))") + Do @(RoutineName_"(%this,Templ,$G(param1),$G(param2),$G(param3),$G(param4),$G(param5))") + Do Templ.%Close() + Quit \ No newline at end of file Index: DW/WWW/HTTPLogTBX.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBX.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBX.cls.xml (revision 2) @@ -0,0 +1,160 @@ + + + + +Logging van www.tandem-box.com +persistent +1 +%Persistent + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXD +HTTPLogTBXDefaultData +^DW.WWW.HTTPLogTBXD +^DW.WWW.HTTPLogTBXI +^DW.WWW.HTTPLogTBXS + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + +Flag + + + + + Index: Prod/GAMeta/BT/TBVulstukKleur.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBVulstukKleur.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBVulstukKleur.cls.xml (revision 2) @@ -0,0 +1,82 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +Prod.GAMeta.BT.TBVulstukMateriaal + + + +1 +ID +1 +%String + + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBKV") +TBVulstukKleurDefaultData +^Res.PI.Items("PR;GA;TBKV") +^Res.PI.Items("index","PR;GA;TBKV") +^Res.PI.Items("stream","PR;GA;TBKV") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + +Materiaal + + + +TaalOms +subnode +"TO" + + + + Index: TECH/ListObjectIdIterator.cls.xml =================================================================== diff -u --- TECH/ListObjectIdIterator.cls.xml (revision 0) +++ TECH/ListObjectIdIterator.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +1 +Iterator,%RegisteredObject + + +%AbstractList +1 + + + +%String +1 + + + +%CacheString +1 + + + + +Returns true if the iteration has more elements. +%Boolean + + + + +List:%AbstractList +1 +1 +%Status + + + + + +Returns the next element in the iteration. +Only returns a valid element if HasNext() returns true +Causes an error if HasNext() returns false +%CacheString + + + + Index: csr/csp/TimerX.cls.xml =================================================================== diff -u --- csr/csp/TimerX.cls.xml (revision 0) +++ csr/csp/TimerX.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +User +cache +%CSP.Rule + + +code +%Status +",1) + Do ..WriteCSPText(" ",1) + Do ..WriteCSPText("
  • ",1) + Do ..WriteCSPText("",1) + Do ..WriteCSPText("",0) + Quit $$$SKIPCHILDREN +]]> + + + +/csr/myrules/TimerX.csr + + + Index: HTMLChars.inc.rou =================================================================== diff -u --- HTMLChars.inc.rou (revision 0) +++ HTMLChars.inc.rou (revision 2) @@ -0,0 +1,101 @@ + #Define html " " + #Define html """ + #Define html "&" + #Define html "<" + #Define html ">" + #Define html "©" + #Define html "®" + #Define html "TM" + #Define html "´" + #Define html "«" + #Define html "»" + #Define html "¡" + #Define html "¿" + #Define html "À" + #Define html "à" + #Define html "Á" + #Define html "á" + #Define html "Â" + #Define html "â" + #Define html "Ã" + #Define html "ã" + #Define html "Ä" + #Define html "ä" + #Define html "Å" + #Define html "å" + #Define html "Æ" + #Define html "æ" + #Define html "Ç" + #Define html "ç" + #Define html "Ð" + #Define html "ð" + #Define html "È" + #Define html "è" + #Define html "É" + #Define html "é" + #Define html "Ê" + #Define html "ê" + #Define html "Ë" + #Define html "ë" + #Define html "Ì" + #Define html "ì" + #Define html "Í" + #Define html "í" + #Define html "Î" + #Define html "î" + #Define html "Ï" + #Define html "ï" + #Define html "Ñ" + #Define html "ñ" + #Define html "Ò" + #Define html "ò" + #Define html "Ó" + #Define html "ó" + #Define html "Ô" + #Define html "ô" + #Define html "Õ" + #Define html "õ" + #Define html "Ö" + #Define html "ö" + #Define html "Ø" + #Define html "ø" + #Define html "Ù" + #Define html "ù" + #Define html "Ú" + #Define html "ú" + #Define html "Û" + #Define html "û" + #Define html "Ü" + #Define html "ü" + #Define html "Ý" + #Define html "ý" + #Define html "ÿ" + #Define html "Þ" + #Define html "þ" + #Define html "ß" + #Define html "§" + #Define html "¶" + #Define html "µ" + #Define html "¦" + #Define html "±" + #Define html "·" + #Define html "¨" + #Define html "¸" + #Define html "ª" + #Define html "º" + #Define html "¬" + #Define html "­" + #Define html "¯" + #Define html "°" + #Define html "¹" + #Define html "²" + #Define html "³" + #Define html "¼" + #Define html "½" + #Define html "¾" + #Define html "×" + #Define html "÷" + #Define html "¢" + #Define html "£" + #Define html "¤" + #Define html "¥" \ No newline at end of file Index: csp/tbx/testdataoptsfs.cls.xml =================================================================== diff -u --- csp/tbx/testdataoptsfs.cls.xml (revision 0) +++ csp/tbx/testdataoptsfs.cls.xml (revision 2) @@ -0,0 +1,412 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Do ..Include("Header.csp") + Write !,$c(9,9,9)_"
    " + Write "" + Write "
    ",! + Write ! + If '($G(blnNoAccess)) Goto %csp00001 ;{ + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9)_" "_(..WebTextValue("MainBadCode",Taal,"O")),! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
    ",! + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9) + Write "
    " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
       " + Write "" + Write (..WebTextValue("Taal",Taal,"L"))_": " + Write "" + Write ""_(arSwitchTL("N")_" - "_arSwitchTL("F")_" - "_arSwitchTL("E")_" - "_arSwitchTL("D"))_"
    " + Write "" + Write "Analyse QueryString:" + Write "" + Write "
    QueryString: " + Write "" + Write "
    DATAOPT: " + Write "" + Write "
     " + Write "" + Write "
    ",! + Write $c(9) + Write ..InsertHiddenFields("TestDataOptSFS.csp"),! + Write "
    " + Write !,$c(9) + Write "
    " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    " + Write "" + Write "Decrypted values:" + Write "" + Write "  " + Write "" + Write "
    DATAOPT: " + Write "" + Write "
    "_(..WebTextValue("Taal",Taal,"L"))_": " + Write "" + Write "
    Client Number: " + Write "" + Write "Client Name: " + Write "" + Write "
    Reduction: " + Write "" + Write "E-mail: " + Write "" + Write "
     
     " + Write "" + Write "
    ",! + Write $c(9) + Write ..InsertHiddenFields("TestDataOptSFS.csp"),! + Write "
    " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + If '($G(blnKeySteps)) Goto %csp00003 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! +%csp00003 ;} + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    " + Write "" + Write "Encrypted URL:" + Write "" + Write "   
    DATAOPT: ",! + Write $c(9,9,9,9) + Write "" + Write "
    ",! + Write $c(9,9,9,9)_"  Check: " + Write "" + Write ($G(DataOptCheck)) + Write "" + Write !,$c(9,9,9)_"
     
    Step 1: ",! + Write $c(9,9,9,9)_"
    "_($G(arStepsOPT(1)))_"
    ",! + Write $c(9,9,9)_"
    Step 2: ",! + Write $c(9,9,9,9)_"
    "_($G(arStepsOPT(2)))_"
    ",! + Write $c(9,9,9)_"
    --> Hex: ",! + Write $c(9,9,9,9)_"
    "_($G(arStepsOPT("2Hex")))_"
    ",! + Write $c(9,9,9)_"
    Step 3: ",! + Write $c(9,9,9,9)_"
    "_($G(arStepsOPT(3)))_"
    ",! + Write $c(9,9,9)_"
    Step 4: ",! + Write $c(9,9,9,9)_"
    "_($G(arStepsOPT(4)))_"
    ",! + Write $c(9,9,9)_"
     
    " + Write "" + Write "
    ",! + Write $c(9)_"
    "_$c(9,9,9),! +%csp00002 ;} + Write $c(9,9,9,9),! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write !,"
    ",! + Write " ",! + Write "
    ",! + Write !,"" + Write !,$c(9,9,9)_"
    ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"TEST DATAOPT SFS",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,! + Do ..Include("PRGACNTs.INC") + Write !,!,!,!,!,! + Set %session.AppTimeout = 905 + // Session Data is set in the OnPreHTTP-method + Set WSOrd=$S($G(wsID)="":0, 1:##class(WS.TBX.Order).%OpenId(wsID)) + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +c:\cachesys\csp\vhisie\TBX\TestDataOptSFS.csp + + + +/vhisie/TBX/TestDataOptSFS.csp + + + +0 + + + +61649,48749 + + + +0 + +
    +
    Index: TECH/Matrix.cls.xml =================================================================== diff -u --- TECH/Matrix.cls.xml (revision 0) +++ TECH/Matrix.cls.xml (revision 2) @@ -0,0 +1,81 @@ + + + +1 +%RegisteredObject +0 + + +%ListOfDataTypes +list + + + +1 +Lijst:%ListOfDataTypes,AantalRijen:%Integer="",AantalKolommen:%Integer="" +TECH.Matrix + + + + +TECH.Matrix + + + + +%String + + + + Index: csp/vhisie/TBX/Wizard/tmpDev.mac.rou =================================================================== diff -u --- csp/vhisie/TBX/Wizard/tmpDev.mac.rou (revision 0) +++ csp/vhisie/TBX/Wizard/tmpDev.mac.rou (revision 2) @@ -0,0 +1,183 @@ +#include PRGACNTs + /* + http:// -domain- /VHISIE/TBX/DTestURL.csp?Taal=N&REF=ukcfmaF7LFiqpsawRaZiuA-- + http://192.168.1.67/VHISIE/TBX/DTestURL.csp?REF=VHEPN\4682\232\A + http://cache02/VHISIE/TBX/DtestURL.csp?REF=\\277\A + */ + +OnPreHTTP() +#define TaalDfl $S(blnHEIN:"D", blnLMC:"F", blnSFS:"D", 1:"N") + New name,tmpRq,RefArray,OutPage,Ref,luSafe,luTBX,lbDomLU + New blnSubmit,blnRedir,PSW,i + s:('$D(%ClientIP)) %ClientIP="192.168.1.97" + ;d WL^vhDBG($C(13,10)) + Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) + Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev + // Set session data + locals + Kill %session.Data("Taal") + Kill %session.Data("WSID") + Kill %session.Data("KLNR") + Kill %session.Data("VERW") + Kill %session.Data("MODE") + Kill %session.Data("UserType") + Kill %session.Data("QSDATA") + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set blnVHEPN=(sDomVERW="VHEPN") + Set blnHEIN=(sDomVERW="HEIN") + Set blnLMC=(sDomVERW="LMC") + Set blnDUPO=(sDomVERW="DUPO") + Set blnHELMY=(sDomVERW="HELMY") + Set blnHFLE=(sDomVERW="HFLE") + Set blnSFS=(sDomVERW="SFS") + Set blnMBHO=(sDomVERW="MBHO") + Set:('$D(%session.Data("BeursUser"))) %session.Data("BeursUser")=(blnVHEPN)&&##class(cspBasis.GAProdTBox).IsBeursUser() + Set %session.Data("DOMAIN")=sDomCVT + Set %session.Data("URL")=%request.URL + Set %session.Data("REFMN")=$system.Encryption.Base64Decode($TR($G(%request.Data("REFMN",1)),"_-","+=")) + Merge %session.Data("QSDATA")=%request.Data + Kill %session.Data("QSDATA","CSPToken") ; Encoded part is not usefull + Set VERW=$$SesDataFromRq^cspBasis.Library("VERW",,"") + Set KLNr=$$SesDataFromRq^cspBasis.Library("KLNR",,"") + Set wsID=$$SesDataFromRq^cspBasis.Library("WSID",,"") + Set sMode=$$SesDataFromRq^cspBasis.Library("MODE",,"") + Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,$$$TaalDfl) + // Als toch niet correcte URL, dan redirect naar "Aanvraag Anonymous" + If (sMode'?1(1"A",1"W",1"P")) Do Quit 1 + . Set %response.Redirect="/VHISIE/TBX/Access.csp?Taal="_Taal_"&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(,sDomVERW,,"A")) ; ServerSideRedirect + // Else + Set:($G(VERW)="") VERW=sDomVERW ;d WL^vhDBG("VERW="_VERW_" domain="_sDomCVT_" sDomVERW="_sDomVERW) + Set UserType=$$ophGetUserType(KLNr,sDomCVT,VERW,sMode) + Set %session.Data("UserType")=UserType + ;Set UserTypeTxt=$CASE(UserType, $$$utKlantAnon:"KlantAnon", $$$utKlantKnown:"KlantKnown", $$$utVerwSub:"VerwSub", $$$utVerwDomain:"VerwDomain", $$$utVerwAdmin:"VerwAdmin", "":"?", :UserType) + If (wsID="")&&(KLNr>0) Do + . ; New from Order (Copy into New) : wsIDFrom is passed by QS-parameter + . Set wsIDFrom=$G(%request.Data("NEWFROMORD",1)) + . Set blnNewFromOrd=($$ophCheckFromWSOrd(wsIDFrom,KLNr)) + . Set:('blnNewFromOrd) wsIDFrom="" + Else Do + . Set wsIDFrom=wsID + . Set blnNewFromOrd=0 + +#If $$$NSpace="DEMO" + Set blnCalcPrices=0 + New CalcExpr + Set CalcExpr=$G(^UI.Settings("WWW-TBX","DEMO","CalcPrijs","ExprCondit"),0) + If @CalcExpr Set blnCalcPrices=1 + ;Set:(%RemoteIP?1(1"192.168.1.195")) blnCalcPrices=1 +#Else + Set blnCalcPrices=(KLNr>0)||(UserType>$$$utKlantAnon) +#EndIf + Set blnPriceAvail=(blnCalcPrices)||($$ophGetPriceAvail(wsID)) + Set blnCalcOFFAV=(blnCalcPrices)&&($$ophGetBonType(wsID)="OFFAV") + Set Munt="EUR" + Set Munt=$$GetUserMunt^cspBasis.Library(sDomVERW,) + Set lbShowFT="" + Set:('blnCalcPrices)||(sMode'="A") lbShowFT=lbShowFT_$LB("OFFAV") + Set:(blnPriceAvail )||(sMode'="A") lbShowFT=lbShowFT_$LB("OFF") + Set:(blnHEIN)||(sMode'="A")||((wsID>0)&&(sMode'="A")) lbShowFT=lbShowFT_$LB("BBON") + Set BTWInputMode=$S($$$NSpace="DEMO":0, 'blnVHEPN:0, blnCalcPrices:1, 1:3) ; 0=hidden, 1=shown but optional, 3=shown+obligatory + Set:(blnVHEPN)&&(KLNr>0) BTWInputMode=0 ; Overrules previous line + Set blnShowDynSpace=(blnVHEPN)&&(KLNr?1(1"4645x",1"6821")) + // Design Choice Mode : Intivo, Standaard of eXpert + Set DCM="" + Set:(wsIDFrom>0) DCM=##class(WS.TBX.Order).DCMCalc(wsIDFrom) ; wsID or wsIDFrom + Set:(DCM="") DCM=$G(%request.Data("DCM",1)) + Set:(DCM="") DCM="S" ; default + Set lbDesignChoices=##class(cspBasis.GAProdTBox).GetDesignChoices(DCM,KLNr,sDomVERW,sDomKLNr) + Set HeaderLogo = DCM + //Set:(DCM="I") HeaderLogo="I" + // Bulk Settings + If (blnVHEPN)&&(KLNr>0) Do + . Set KLMiniWS=##class(cspBasis.GAProdTBox).GetKlantData(sDomVERW,KLNr) + . If KLMiniWS.BulkVPKCode'="" Do + . . Set lbBulkConfig=$LB(KLMiniWS.BulkVPKCode,KLMiniWS.BulkMinQty,"checked") + . Else Do + . . Set lbBulkConfig=##class(cspBasis.GAProdTBox).GetKlantBulk(sDomVERW,KLNr) + . ;d WL^vhDBG("lbBulkConfig: "_$$$LCVT(lbBulkConfig)) + . Quit:(lbBulkConfig="")||($LG(lbBulkConfig,1)_$LG(lbBulkConfig,2)="") + . Set:($LG(lbBulkConfig,1)="") $LI(lbBulkConfig,1)="O" + . Set:($LG(lbBulkConfig,2)<1) $LI(lbBulkConfig,2)=20 + Else If blnLMC Do + . ;Set lbBulkConfig=$LB("O",20) + . Set lbBulkConfig="" ; ##class(cspBasis.GAProdTBox).GetKlantBulk("VHEPN",sDomKLNr) + Else If blnSFS||blnMBHO Do + . Set lbBulkConfig="" + Else Do + . Set lbBulkConfig="" + Set lbAllowVPK=$S($LG(lbBulkConfig,1)'?1(1"",1"S"):$LB("S")_$LB($LG(lbBulkConfig,1)), 1:"") ; _$LB("O","C","A","B","P","Z") ; Indien alleen Stukverpakking, dan leeg, anders $LB("S")_$LB(...) + + // BL voor Defaults + Set blTBoxDfl=##class(cspBasis.GAProdDfls).Instantiate() + Do blTBoxDfl.Init(KLNr,sDomVERW,DCM,Taal,lbAllowVPK) + Do blTBoxDfl.BuildMatenDefaultsJS() ;Set sc=blTBoxDfl.ErrorStatus + Do blTBoxDfl.BuildKleurDefaultsJS("*") ;Set sc=blTBoxDfl.ErrorStatus + Do:DCM="I" blTBoxDfl.BuildInschfElmntJS() + + Do ophInschfElmntInfo(wsIDFrom) ; ; blnNewFromOrd --> wsIDFrom i.p.v. wsID + + // Log entry + Do ophAddToLog + Quit 1 +ophGetUserType(KLNr,Domain,Verw,Mode) + ;d WL^vhDBG("KLNr"_KLNr_" Mode="_Mode_" wsID="_wsID_" Verw="_Verw_" Domain="_Domain) +#If $$$NSpace="xDEMO" + Quit:(Mode="A") $S(1:$$$utKlantAnon) +#Else + Quit:(Mode="A") $S(blnHEIN||blnDUPO||blnHELMY||blnHFLE:$$$utKlantAnonWP, KLNr>0:$$$utKlantKnown, 1:$$$utKlantAnon) ; blnLMC,blnSFS : $$$utKlantKnown +#EndIf + Quit:(Mode="W") $$ophGetVERWType(Domain,Verw) + Quit:(Mode="P") $$$utKlantAnon ; Temporary: fixed value + ;Else + Quit $$$utKlantAnon ; UserType unknown ==> default user +ophGetVERWType(Domain,Verw) + Quit:($G(Domain)="")||($G(Verw)="") $$$utKlantAnon + Quit $G(luTBX(Domain,"UserType",Verw), $$$utKlantAnon) ; Get from local; if not defined then Anonymous +ophCheckFromWSOrd(FromOrdID,MatchKLNr) + Quit:(FromOrdID="")||('$IsValidNum(FromOrdID)) 0 + New WSOrd,OrdDomVERW,OrdKLNr + Set WSOrd=##class(WS.TBX.Order).%OpenId(FromOrdID) + Quit:('$IsObject(WSOrd)) 0 + Set OrdDomVERW=$LG(##class(WS.TBX.Order).DomainLookUp($$TBXDomainCVT^cspBasis.Library(WSOrd.WebDomain),$LB("VERW")),1) + Quit:(OrdDomVERW'=sDomVERW) 0 ; Onbekend of foutief domein + Quit (WSOrd.KLNummer>0)&&(WSOrd.KLNummer=MatchKLNr) +ophInschfElmntInfo(wsID) + // bepalen of InschuifElement reeds gekozen is kan adhv bestaand order. + + New WSOrd,WSLn,MatID + Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + Quit:'$IsObject(WSOrd) + + Set WSLn=WSOrd.Lijnen.GetNext("") + Set blnInschfElmnt = 0 + If DCM="I" Do + . Set blnInschfElmnt = ($L(wsID)>0) + . Set arrInschElemnt("ID") = WSLn.ItemKV + . Set arrInschElemnt("Oms") = ##class(Res.Vertaling).GetVertalingPlus("TBW","KLV_"_WSLn.ItemKV,"L",Taal,,1) + . Set MatID = ##class(Prod.GAMeta.BT.TBVulstukKleur).MateriaalViaID(WSLn.ItemKV) + . Set arrInschElemnt("MatID") = MatID + . Set arrInschElemnt("MatOms") = $ZCVT(##class(Res.Vertaling).GetVertalingPlus("TBW","VSMat_"_MatID,"L",Taal,,1),"U") + Quit +ophGetPriceAvail(wsID) + Quit:($G(wsID)="") 0 + New WSOrd,blnPrice,i,WSLn + Set WSOrd=##class(WS.TBX.Order).%OpenId(wsID) + Quit:('WSOrd) 0 + Set blnPrice=0 + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="")||(blnPrice) Do + . Set:(+WSLn.KostPrijs>0) blnPrice=1 + Quit blnPrice +ophGetBonType(wsID) + New sBonType + Quit:($G(wsID)="") "" + Set sBonType="" + &SQL(SELECT BonType into :sBonType FROM WS_TBX.WebOrder WHERE ID=:wsID) + Quit sBonType +ophAddToLog + Do ##class(cspBasis.GAProdTBox).AddToLog($S((sMode="A")&&(wsID'>0):$S($G(blnNewFromOrd):"WIZARD_COPY",1:"WIZARD_NEW"), 1:"WIZARD_OPEN"),sDomain,KLNr,sMode_$S(DCM'?1(1"S",1""):" - "_DCM,1:""),wsID,VERW,Taal,"") + Quit \ No newline at end of file Index: _vhisie/TBX/WizOvz.csp =================================================================== diff -u --- _vhisie/TBX/WizOvz.csp (revision 0) +++ _vhisie/TBX/WizOvz.csp (revision 2) @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(..WebTextValue("Algemene gegevens",Taal,"L"))#
    #(..WebTextValue("KLNaam",Taal,"L"))# :
     
     
     
    #(..WebTextValue("Commissie",Taal,"L"))# :
     
    #(..WebTextValue("Kleurkeuze",Taal,"L"))#
    +
    #(..WebTextValue("Design",Taal,"L"))# :
    +
    #(..WebTextValue("Kleur",Taal,"L")_" "_..WebTextValue("Ladezijden",Taal,"L"))# :
    +
    +
     
    +
     
    +
    +
    #($TR(..WebTextValue("Bodem&Rug",Taal,"L")," ",""))# :
    + +
    #($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue("Relingen",Taal,"L"))# :
    +
    + +
    #($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue($S(0:"VerhoogdeZijwand",1:"VullingGlas_"_DCM),Taal,"L"))# :
    +
    +
    +
     
    + +
     
    +
    + +
     
    +
    +
    #(..WebTextValue("Maten",Taal,"L"))#
    +   + +
    + + + + + + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(arVTL("TH","LT") )##(arVTL("TH","CB") )##(arVTL("TH","WD") )##(arVTL("TH","LD") )##(arVTL("TH","DK") )##(arVTL("TH","FB") )##(arVTL("TH","BX") )##(arVTL("TH","DIV"))##(arVTL("TH","Aant"))# #(..WebTextValue($S($G(blnCalcPrices)||$G(blnPriceAvail):"PrijsPerStukTH", 1:"InfoTH"),Taal,"L"))#
    +
    + +
     #(..WebTextValue("PrijsTotaal",Taal,"L"))#:   
    +

    + + + +

    + Die Bruttopreise verstehen sich ab Werk, zuz�glich der gesetzlichen Mehrwertsteuer. +

    +
    + +

    + #(..WebTextValue("NotRegUserInfo",Taal,"O"))# +

    +
    +
    + + + + + + + + + + + + + + +
    #(..WebTextValue("ActiesWizard",Taal,"L"))#:
    + #(..WebTextValue("ActiesWizardInfo2",Taal,"O"))# #(..WebTextValue("MeerInfo",Taal,"L"))#. +
    #(..WebTextValue("FinishWizard",Taal,"L",$LB("U")))##(..WebTextValue("FinishWizard",Taal,"O"))# 
    \ No newline at end of file Index: _vhisie/TBX/Main.csp =================================================================== diff -u --- _vhisie/TBX/Main.csp (revision 0) +++ _vhisie/TBX/Main.csp (revision 2) @@ -0,0 +1,560 @@ + + + + + + + + + + + + + #("TANDEMBOX"_" "_..WebTextValue("MainPageTitle",Taal,"L"))# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
    + + +  #(..WebTextValue("MainBadCode",Taal,"O"))# +
     #(..WebTextValue("MainBadCode","E","O"))#
    +
    +
    +

      #(NoAccessMsg)#
    +

    + + Go to Fix Optima page +

    +
    +   << BACK +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(..WebTextValue("AangemeldAls",Taal,"L")_" "_$G(arShow("KnownCustomer","INFO")))#     #(..WebTextValue("Taal",Taal,"L"))#: #(arUrl("SwitchTL","D")_$S(1:" - "_arUrl("SwitchTL","F"), 1:""))##(..WebTextValue("Taal",Taal,"L"))#: #(arUrl("SwitchTL","N")_" - "_arUrl("SwitchTL","F")_" - "_arUrl("SwitchTL","D"))#
    +
    + #(msgInfo)#
    +
    +
    +
    + #($G(arVerlof("MSG","DisplayMsg")))#
    + #($G(arVerlof("MSG","DisplayPeriod")))#
    +
    +
    + !!! ALLEEN VOOR VAN HOECKE !!! +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     
    Klantspecifiek: TEST DE VERBINDING MET ONZE SERVER
     TEST REQUEST 
     
     

    #(..WebTextValue("VolgendeIngave",Taal,"O",$LB("F")))#
     #(..WebTextValue("NieuweIngave",Taal,"L"))# : #($P(..WebTextValue("VolgendeIngave",Taal,"O"),",",1))# 
    #($S(sMode="COMPLETE":"


    ", 1:"")_..WebTextValue($S((sMode="COMPLETE")&&(KLNr'=$$$KLNrListAll):"VolgendeIngave", 1:"NieuweIngave"),Taal,"O",$LB("F")))#
    + + + + + + + + + + + + + + + + + + + + + + + + + +
      + TANDEMBOX plus + + TANDEMBOX antaro + + TANDEMBOX intivo +   
      + +
      +
    + +
      +
    + +
      +
      
    +
    +
      + #(..WebTextValue("NieuweIngave",Taal,"L")_" - Expert")# + +  
    #(..WebTextValue("NewFromOrder",Taal,"O",$LB("F")))#
     #(..WebTextValue("BtnNewFromOrder",Taal,"L"))# : #(..WebTextValue("NewFromOrder",Taal,"O"))# 
     
    #(..WebTextValue("HistoriekTonen",Taal,"O",$LB("F"))_$S(KLNr=$$$KLNrListAll:" (overzicht VERKOOP)",1:""))#
     #(..WebTextValue("HistoriekTonen",Taal,"L"))# : #($P(..WebTextValue("HistoriekTonen",Taal,"O"),",",1))# 
    +
    + #(..WebTextValue("NotRegUserInfo",Taal,"O"))# +
    +
    + + +
    + + + + +
    #(..WebTextValue("AppTester_Voor",Taal,"L")_""_..WebTextValue("AppTester",Taal,"L")_""_..WebTextValue("AppTester_Na",Taal,"L"))# + +
    +
    +
    +
    +
    #(arShow("AlgVoorw","INFO"))#
    [ #($$$LCase(sMode))# ]
     
    + +
    + + + + + + + + + Index: Flow/OrderWMS/Lijn.cls.xml =================================================================== diff -u --- Flow/OrderWMS/Lijn.cls.xml (revision 0) +++ Flow/OrderWMS/Lijn.cls.xml (revision 2) @@ -0,0 +1,239 @@ + + + +persistent +VHOpslag +%Library.Persistent + + +1 +1 +ORDNr,OLUNr + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +Sys.cTimeStamp + +0 + + + +Flow.OrderWMS.Hoofding +parent + +Lijnen +1 + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +%Library.String + +0 + + + + +Prod.Product + +0 + + + +%Library.String + +0 + + + + +Flow.OrderWMS.Sub +children + +Lijn +1 + + + +%String + +0 + + + +code +IsNew:%Library.Boolean=1 +cache +0 +%Library.Status + + + + +code +IsNew:%Library.Boolean=1 +cache +0 +%Library.Status + + + + +1 +code +oid:%Library.ObjectIdentity +cache +0 +%Library.Status +Id + Set oid=$LI(oid,1) + + //Check if oid is valid, if not return error + Quit:('##class(Flow.OrderWMS.Lijn).%ExistsId(oid)) $$$ERROR($$$GeneralError,"Lijn.OnDelete: object '"_oid_"' does not exist!") + + //Open object to delete + New tmpLijn + Set tmpLijn=##class(Flow.OrderWMS.Lijn).%OpenId(oid) + + //Check if created object is valid + Quit:(tmpLijn=$$$NULLOREF) $$$ERROR($$$GeneralError,"Lijn.OnDelete: unable to open object '"_oid_"'!") + + New tmpResult + Set tmpResult=tmpLijn.DeleteIndex() + + //Close temp. object + Do tmpLijn.%Close() + + Quit tmpResult +]]> + + + +code +cache +0 +%Library.Status + + + + +code +cache +0 +%Library.Status + + + + +%Library.CacheSQLStorage +^Flow.Ord.LijnS + +data +^ORDW +delimited + +"D" + + +{Hoofding.ConsolidatieNr} + + +"D" + + +{ORDNr} + + +{OLUNr} + + +"\" +6 + + +"\" +5 + + +"\" +4 + + +"\" +7 + + +"\" +3 + + +"\" +1 + + +"\" +2 + + +"\" +8 + + + + + Index: cspBasis/GAProdDfls.cls.xml =================================================================== diff -u --- cspBasis/GAProdDfls.cls.xml (revision 0) +++ cspBasis/GAProdDfls.cls.xml (revision 2) @@ -0,0 +1,627 @@ + + + + +Basis BL-klasse voor het aanmaken van FOP task voor de FlowDocs. +Deze BL moet geïnstantieerd worden +%VHMacro,PRGACNTs +1 +%RegisteredObject +0 + + + +Oproepende BL-object +%RegisteredObject + + + +%Status + + + + +KlantNr +%String + + + + +Domein verwerker +%String + + + + +Huidige DCM +%String + + + +%String + + + + +Javascript code voor de KleurDefaults +%String + + + + +Javascript code voor de KleurDefaults +%String + + + + +Javascript code voor de MatenDefaults +%String + + + + +HTML code voor de MatenDefaults +%String + + + + +MatenDflAvail geeft aan welke Default Maten gedefinieerd zijn : ALL / NONE / UNDEF / SOME +%String + + + + +lbAllowVPK is een $LB() van toegelaten VPK-codes, bvb. $LB("S","O") +%List + + + + +HTML code voor de MatenDefaults +%String +1 + + + + +Parameters voor ... (nog in te vullen) +%String +array + + + + +Set blTBoxDfl=##class(cspBasis.GAProdDfls).Instantiate(...) +1 +ParentBL:%RegisteredObject +cspBasis.GAProdDfls + + + + +KLNr:%String,sDomVERW:%String,DCM:%String,Taal:%String="",lbAllowVPK:%List="" + + + + + + + + + + + + + +Analyseren van de lbDFL (=MatenDefaults) + invullen in de multi-dim property arDFL("MTN") + + berekenen van de property MatenDflAvail +lbDFL:%List +1 +0 Do + . Set blnEmpty=blnEmpty&&(tmpAr("VPK")="") + . Set blnFull=blnFull&&($L(tmpAr("VPK"))) + Set ..MatenDflAvail=$S(blnFull:"ALL", blnEmpty:"NONE", 1:"SOME") ; , $LG(lbDFL,1)="":"UNDEF" + Quit + +CheckVerpakking() + // Extra controlos op verpakking + Set:(tmpAr("VPK")'?1(1"",1"No"))&&($LL(..lbAllowVPK))&&('$LF(..lbAllowVPK,tmpAr("VPK"))) tmpAr("VPK")="" + Quit +]]> + + + + element. ]]> + +1 +%String + + + + + element. ]]> + +1 +"_(%v)_"" + #define fmtValue(%v) ""_(%v)_"" + #define Separator "   |   " + + // Ophalen van de klantspecifieke defaults (Maten+Design) + If '$D(..arDFL("MTN"))||(..MatenDflAvail="") Do + . Set lbDFL=..GetKlantDefaults("MTN","*","*") ; DCM --> DC + . Do ..FillMatenDflArray(lbDFL) + + If Type'?1(1"INFO") Do Quit + . Set ..ErrorStatus="Type "_$G(Type)_" is niet gedefinieerd." + + Set blnVPK=($LL(..lbAllowVPK)>0) + Set Taal=..Taal + Kill arMtnDfl + Merge arMtnDfl=..arDFL("MTN") + + // Type="INFO" + If ($D(arVTL("DFL"))) Do + . Set arMtnDfl("FB")=$G(arVTL("DFL","FB_"_arMtnDfl("FB")),arMtnDfl("FB")) + . Set arMtnDfl("BM")=$G(arVTL("DFL","BM_"_arMtnDfl("BM")),arMtnDfl("BM")) + . Set arMtnDfl("WD")=$G(arVTL("DFL","WD_"_arMtnDfl("WD")),arMtnDfl("WD")) + . Set arMtnDfl("ASM")=$G(arVTL("DFL","ASM_"_arMtnDfl("ASM")),arMtnDfl("ASM")) + . Set tmpVPK=$G(arMtnDfl("VPK")) + . Set:(blnVPK) arMtnDfl("VPK")=$G(arVTL("DFL","VPK_"_tmpVPK),tmpVPK) + . For i=1:1:$L(arMtnDfl("NM"),";") Do + . . Set NietMeeKey=($P(arMtnDfl("NM"),";",i)) + . . Set:($L(NietMeeKey)) arMtnDfl(NietMeeKey,"VTL")=$G(arVTL("DFL",NietMeeKey),NietMeeKey) + + // Op basis van arMtnDfl() een HTML-code maken + Set cspBasis=##class(cspBasis.GAProdTBox).%New() + Set sHtml="" + Set:(arMtnDfl("FB")'?1(1"",1"No")) sHtml=sHtml_$$$fmtLabel(cspBasis.WebTextValue("Frontbevestiging",Taal,"L"))_": "_$$$fmtValue(arMtnDfl("FB"))_$$$CRLF + Set:(arMtnDfl("BM")'?1(1"",1"No")) sHtml=sHtml_$S($L(sHtml):$$$Separator,1:"")_$$$fmtLabel(cspBasis.WebTextValue("Glijders",Taal,"L"))_": "_$$$fmtValue(arMtnDfl("BM"))_$$$CRLF + Set:(arMtnDfl("WD")'?1(1"",1"No")) sHtml=sHtml_$S($L(sHtml):$$$Separator,1:"")_$$$fmtLabel(cspBasis.WebTextValue("Wanddikte",Taal,"L"))_": "_$$$fmtValue(arMtnDfl("WD"))_$$$CRLF + Set:(arMtnDfl("ASM")'?1(1"",1"No")) sHtml=sHtml_$S($L(sHtml):$$$Separator,1:"")_$$$fmtLabel(cspBasis.WebTextValue("Antislipmat",Taal,"L"))_": "_$$$fmtValue(arMtnDfl("ASM"))_$$$CRLF + ;Set:(arMtnDfl("BM")'?1(1"",1"No")) sHtml=sHtml_$S($L(sHtml):$$$Separator,1:"")_$$$fmtValue(arMtnDfl("BM"))_$$$CRLF + If blnVPK Do + . Set:(tmpVPK'?1(1"",1"No",1"S",1"Z",1"A",1"B")) arMtnDfl("VPK")=cspBasis.WebTextValue("VerpakBulk",Taal,"L",$LB("L"))_": "_arMtnDfl("VPK") + . Set:(blnVPK)&&(arMtnDfl("VPK")'?1(1"",1"No")) sHtml=sHtml_$S($L(sHtml):"
    ",1:"")_$$$fmtLabel(cspBasis.WebTextValue("Verpakking",Taal,"L"))_": "_$$$fmtValue(arMtnDfl("VPK"))_$$$CRLF + Do ; Niet Meeleveren + . Set sNietMee="" + . For i=1:1:$L(arMtnDfl("NM"),";") Set NietMeeKey=($P(arMtnDfl("NM"),";",i)) Set:($L(NietMeeKey)) sNietMee=sNietMee_$S($L(sNietMee):", ",1:"")_$$$fmtValue($G(arMtnDfl(NietMeeKey,"VTL"),NietMeeKey)) + . Set:($L(sNietMee)) sHtml=sHtml_$S($L(sHtml):"
    ",1:"")_$$$fmtLabel(cspBasis.WebTextValue("NietMeeleveren",Taal,"L"))_": "_sNietMee + + // Als niet alle Defaults leeg, dan opsommen welke undefined zijn + If ..MatenDflAvail'="ALL" Do + . Set sHtmlEmpty="" + . Set:(arMtnDfl("FB")="") sHtmlEmpty=sHtmlEmpty_$$$fmtValue(cspBasis.WebTextValue("Frontbevestiging",Taal,"L")) + . Set:(arMtnDfl("BM")="") sHtmlEmpty=sHtmlEmpty_$S($L(sHtmlEmpty):$$$Separator,1:"")_$$$fmtValue(cspBasis.WebTextValue("Blumotion",Taal,"L")) + . Set:(arMtnDfl("WD")="") sHtmlEmpty=sHtmlEmpty_$S($L(sHtmlEmpty):$$$Separator,1:"")_$$$fmtValue(cspBasis.WebTextValue("Wanddikte",Taal,"L")) + . Set:(arMtnDfl("ASM")="") sHtmlEmpty=sHtmlEmpty_$S($L(sHtmlEmpty):$$$Separator,1:"")_$$$fmtValue(cspBasis.WebTextValue("Antislipmat",Taal,"L")) + . Set:(blnVPK)&&(arMtnDfl("VPK")="") sHtmlEmpty=sHtmlEmpty_$S($L(sHtmlEmpty):$$$Separator,1:"")_$$$fmtValue(cspBasis.WebTextValue("Verpakking",Taal,"L")) + . ; Append to sHtml + . Set sHtml=sHtml_$S($L(sHtml):"
    ",1:"")_$$$fmtLabel(cspBasis.WebTextValue("DFL_NoDefaultsFor",Taal,"L"))_": "_sHtmlEmpty_$$$CRLF + Set sHtml="

    "_$$$CRLF_sHtml_"

    " + + // Set property + Set ..MatenDefaultsHTML=sHtml + Quit +]]>
    +
    + + + +Returns complete JS-function : "function GetMatenDefaults() { ... }" +1 + DC + . Do ..FillMatenDflArray(lbDFL) + + Kill arMtnDfl + Merge arMtnDfl=..arDFL("MTN") + + // Extra aanpassingen of controles + Set:(arMtnDfl("DS")="") arMtnDfl("DS")=$S(..DCM="I":"WI", ..DCM="A":"WA", 1:"GS") + + // Op basis van arMtnDfl() een JS-function maken + Set jsFunc="" + Set jsFunc=jsFunc_$$$CRLF_$C(9)_"function GetMatenDefaults() {" + Set jsFunc=jsFunc_$$$CRLF_$C(9)_$C(9)_"arKlrValue['DS']="_$$$QuoteJS(arMtnDfl("DS"))_";" + Set jsFunc=jsFunc_$$$CRLF_$C(9) + For Lbl="FB","BM","WD","ASM","VPK" Set:($L($G(arMtnDfl(Lbl)))) jsFunc=jsFunc_$$$CRLF_$C(9)_$C(9)_"arKlrValue["_$$$QuoteJS("DFL_"_Lbl)_"]="_$$$QuoteJS(arMtnDfl(Lbl))_";" + If $$$aHasSubNodes(arMtnDfl("NM")) Do + . For i=1:1:$L(arMtnDfl("NM"),";") Set NietMeeKey=($P(arMtnDfl("NM"),";",i)) Set:($L(NietMeeKey)) jsFunc=jsFunc_$$$CRLF_$C(9)_$C(9)_"arKlrValue["_$$$QuoteJS("DFL_"_NietMeeKey)_"]=1;" + Set jsFunc=jsFunc_$$$CRLF_$C(9)_"}" + + // Set property + Set ..MatenDefaultsJS=jsFunc + Quit +]]> + + + + +1 + + + + + +Returns complete JS-function : "function GetKleurDefaults(DS,arKleur) { ... }" +DC:%String +1 + + + + + +Returns complete JS-function : "function BuildInschfElmnt() { ... }" +1 + + + + + +Get Kleur Defaults : arKlrDfl als .local doorgeven +For each Design the defaults for KleurBodem, KleurReling, KleurVulling, ... are defined here. +Returns Array ByRef +1 + +1 + + + + + +Zie method ..GetKlantDefaultsRAW() +Type = "KLR" of "MTN" +Returns a $LB() +Type:%String,DC:%String,DS:%String +1 +%List +0) "" + Set DCM=..DCM + Set:(DCM'?1(1"S",1"I",1"A",1"X")) DCM="S" + + If DCM="X" Do ; Expert --> DCM = S + I / DC = S + I + . If Type="KLR" Do + . . Set lbDFL=..GetKlantDefaultsRAW(Type,"S","*",DS) + . . Set lbDFL=lbDFL_..GetKlantDefaultsRAW(Type,"I","*",DS) + . Else If Type="MTN" Do + . . Set lbDFL=..GetKlantDefaultsRAW(Type,"*","S","*") + . . Set lbDFL=lbDFL_..GetKlantDefaultsRAW(Type,"*","I","*") + Else Do ; Normale situatie + . If Type="KLR" Do + . . Set lbDFL=..GetKlantDefaultsRAW("KLR",DCM,"*",DS) + . Else If Type="MTN" Do + . . Set:(DC'?1(1"S",1"I",1"A")) DC=$S(DCM="I":"I", DCM="A":"A", 1:"S") + . . Set lbDFL=..GetKlantDefaultsRAW("MTN","*",DC,"*") + + Quit lbDFL +]]> + + + + +Get Klant Defaults +Type = "KLR" of "MTN" +Returns a nested $LB() of Defaults : $LB($LB(DC,DS,tmpList),$LB(DC,DS,tmpList), ...) +Type:%String,DCM:%String,DC:%String,DS:%String +1 +%List + + + + + +Get Klant Defaults +Type = "KLR" of "MTN" +Returns a nested $LB() of Defaults : $LB($LB(DC,DS,tmpList),$LB(DC,DS,tmpList), ...) + +Oproepen via : + s lb=##class(cspBasis.GAProdTBox).GetKlantDefaultsRAW("KLR",4645,"VHEPN","S","S","*") w $$LCVT^vhLib(lb),! +1 +Type:%String,KLNr:%String,sDomVERW:%String,DCM:%String,DC:%String,DS:%String +1 +%List +0) "" + Set lbDFL="" + Set:(Type="KLR") lbDFL=$$gkdGetKleurDflList(DCM,DC,DS) + Set:(Type="MTN") lbDFL=$$gkdGetMatenDflList(DCM,DC,DS) + Quit lbDFL + +gkdGetKleurDflList(DCM,DC,DS) + Set tmpLB="" + If DS?1(1"",1"*") Do + . Set DS="" + . For Set DS=$O($$$GlobalKleurDfls(DCM,DC,DS)) Quit:(DS="") Do + . . Set tmpList=$G($$$GlobalKleurDfls(DCM,DC,DS)) + . . Set:($L(tmpList)) tmpLB=tmpLB_$LB($LB(DC,DS,tmpList)) + Else Do + . Set tmpList=$G($$$GlobalKleurDfls(DCM,DC,DS)) + . Set:($L(tmpList)) tmpLB=$LB($LB(DC,DS,tmpList)) + Quit tmpLB +gkdGetMatenDflList(DCM,DC,DS) + Set tmpLB="" + Set tmpList=$G($$$GlobalMatenDfls(DCM,DC,DS)) + Set:($L(tmpList)) tmpLB=$LB($LB(DC,DS,tmpList)) + Quit tmpLB +]]> + + + + +Set Klant Defaults +NewDefaults is piece-delimited list : + - Type = "KLR" : DS\KB\KR\KV + - Type = "MTN" : DC\DS\FB\BM\WD\VPK +Returns %Status +Type:%String,DC:%String,DS:%String,NewDefaults:%String +1 +%Status +0) $$$OK + Quit:(DCM="") $$$ERROR($$$GeneralError,"Foutief of onbekend modus DCM ("_DCM_")") + + If DCM="X" Do ; Expert + . Set DCM=$S(DC="I":"I", DCM="A":"A", 1:"S") + + If Type="KLR" Do + . Set sc=$$skdSetKleurDfls(DCM,"*",DS) + Else If Type="MTN" Do + . Set DC=$S(DC="I":"I", DCM="A":"A", 1:"S") + . Set sc=$$skdSetMatenDfls("*",DC,"*") + Quit sc + +skdSetKleurDfls(DCM,DC,DS) + Set $$$GlobalKleurDfls(DCM,DC,DS)=NewDefaults + Quit $$$OK +skdSetMatenDfls(DCM,DC,DS) + Set $$$GlobalMatenDfls(DCM,DC,DS)=NewDefaults + Quit $$$OK +]]> + + + + +Save Klant Defaults + pdlKleurDfl is piece-delimited list : DS\KB\KR\KV + pdlMatenDfl is piece-delimited list : DC\DS\FB\BM\WD\VPK\NM\ASM +Returns error message as string or "" (empty) +DC:%String,DS:%String,pdlKleurDfl:%String,pdlMatenDfl:%String +1 +%Status + + + + + +Test method +Oproepen via : + s sc=##class(cspBasis.GAProdDfls).BuildDefaultsCSPtest(4645,,"S",,) w sc,! +1 +KLNr:%String,sDomVERW:%String="VHEPN",DCM:%String="S",Taal:%String="N",lbAllowVPK:%List="" +%Status + + +
    +
    Index: APPS/TBXWeb/EMailAdressen.inc.rou =================================================================== diff -u --- APPS/TBXWeb/EMailAdressen.inc.rou (revision 0) +++ APPS/TBXWeb/EMailAdressen.inc.rou (revision 2) @@ -0,0 +1,63 @@ + /// Routine : APPS.TBXWeb.EMailAdressen + /// + /// Author : Jo Claes + /// Created : + /// + + ; === E-mail adressen voor verzenden van TBX Orders === + + #define EMailFrom2Any "AdminTBX@vanhoecke.be" + + #define EMailFrom2Hein "AdminTBX@vanhoecke.be" + #define EMailAnon2Hein "AdminTBX@hein-beschlag.de" + #define EMailOVHein """HEIN OV."" " + #define EMailOVHeinTEST """HEIN OV."" " + + #define EMailAnon2LMC "AdminTBX@vanhoecke.be" + #define EMailOVLMC2VH "OV_TBX_OPTIMA@vanhoecke.be" + #define EMailOVLMC """LMC OV."" " + #define EMailOVLMC2VHTEST """OV_TBX_OPTIMA"" " + #define EMailOVLMCTEST """OPTIMA OV."" " + + #define EMailAnon2Dupo "AdminTBX@du-pont.be" + #define EMailOVDupo """Du Pont OV."" " + #define EMailOVDupoTEST """Du Pont OV."" " + #define EMailAKDupo """Du Pont TBX Aankoop"" " + + #define EMailAnon2HelmY "AdminTBX@destil.nl" + #define EMailOVHelmY """Destil OV."" " + #define EMailOVHelmY02 """Twan Peters"" " + #define EMailOVHelmYTEST """Destil OV."" " + #define EMailAKHelmY """Destil TBX Inkoop"" " + + #define EMailAnon2Hfle "AdminTBX@hafele.nl" + #define EMailOVHfle """Hafele OV."" " + #define EMailOVHfleTEST """Hafele OV."" " + #define EMailAKHfle """Hafele TBX Inkoop"" " + + #define EMailAKUnknown """Extern TBX Aankoop"" " + + #define EMailAnon2Sfs "AdminTBX@vanhoecke.be" + #define EMailOVSfs2VH "OV_TBX_SFS@vanhoecke.be" + #define EMailOVSfs2VHTEST """OV_TBX_SFS"" " + #define EMailOVSfs """SFS OV."" " + #define EMailOVSfsBis """SFS OV."" " + #define EMailOVSfsTEST """SFS OV."" " + #define EMailAKSfs """SFS TBX Inkoop"" " + + #define EMailAnon2Mbho "AdminTBX@vanhoecke.be" + #define EMailOVMbho2VH "OV_TBX_MBHO@vanhoecke.be" + #define EMailOVMbho2VHTEST """OV_TBX_MBHO"" " + #define EMailOVMbho """MBHO OV."" " + ; #define EMailOVMbhoBis """MBHO OV."" " + #define EMailOVMbhoTEST """MBHO OV."" " + #define EMailAKMbho """MBHO TBX Inkoop"" " + + ; === E-mail adressen voor andere info === + #define EMailTBXInfo2Hein "info@tandem-box.de" + #define EMailTBXInfo2SfsFR "ferrements@sfsunimarket.biz" + #define EMailTBXInfo2SfsDU "beschlaege@sfsunimarket.biz" + #define EMailTBXInfo2Mbho "info@meubelbeslagholland.nl" + + ; === E-mail adressen voor ICT-administrator === (in geval van fout bij "Verzenden van het Order") + #define EMailICTAdminMbho "info@meubelbeslagholland.nl" \ No newline at end of file Index: APPS/TBXWeb/impl/MBHOOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/MBHOOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/MBHOOrderHandler.cls.xml (revision 2) @@ -0,0 +1,58 @@ + + + +1 +AbstractOrderHandler +0 + + +0 + + + +%String + + + + +Boolean + + + + +%String + + + + +Destination +%List +" + Set ServerPrefix="" +#Else + Set lbTo=$LB($$$EMailOVMbhoTEST) ; """Hafele OV."" <$$$EMailOVHfleTEST>" + Set ServerPrefix="["_$$$Server_"] " +#EndIf + + Quit lbTo +]]> + + + +%Status + + + + +%String + + + + Index: _vhisie/TBX/TBox WebOrder VH_TL.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder VH_TL.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder VH_TL.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Van Hoecke - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + Nummer_Kort:  +
    KLNaam:
     
    (BTW)  
    KLStraatNr:
     
    Postcode:
     
    Gemeente:
     
    Telefoon:
     
    Fax:
     
    Email:
     
    Levertijd:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + FT_OFFAV + FT_OFF + FT_BBON + FT_INKP + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    StdLade (UitStock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    PrijsTotaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKleurkeuze : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Bodem&Rug:

    Relingen:

    Boxside:

    VullingGlas:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    LadetypeTH

    +

    BreedteTH

    +

    WanddikteTH

    +

    LadediepteTH

    +

    DraagkrachtTH

    +

    FrontbevestigingTH *

    +

    BoxsideTH

    +

    DiverseTH

    +

    AantalTH

    + +

    Ink. Prijs/stPrijsPerStukTH InfoTH

    + +
    + + + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + FB_S + FB_I + FB_E + FB_A + FB_D + FB_Z + (Code ) + + + + + + + + + +

    * Box : VerhoogdeZijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + BX_DR + BX_ER + BX_ZR/VerhoogdeZijwand + BX_BD + BX_BG + BX_CAP + BX_COV + BX_BZ + (Code ) + + + +
    Index: Prod/Kenmerk/Utils/tmpDev.mac.rou =================================================================== diff -u --- Prod/Kenmerk/Utils/tmpDev.mac.rou (revision 0) +++ Prod/Kenmerk/Utils/tmpDev.mac.rou (revision 2) @@ -0,0 +1,367 @@ +#include %VHMacro + + ;Do TBXKenmerkVTL^Prod.Kenmerk.Utils.tmpDev +TBXKenmerkVTL + New GroepID,lbKenm,i,j,TaalDFL,VTLType,VTLGroep + Set GroepID="TB" + Set VTLType="K" + Set VTLGroep=$$tvkGetVTLGroep(GroepID) + Set TaalDFL=##class(Res.PI.Taal).BasisTaalID() + Set lbKenm=$LB("BasisType","Design","FBevestiging","FrontType","GlijderType","Kleur","LiRe","Opties","RugHoogte","Verpakking","ZijwandHoogte") + For i=1:1:$LL(lbKenm) Do tkvWaardenPerKenm($LG(lbKenm,i)) + w !,"Create VTL's finished.",! + Quit +tvkGetVTLGroep(GroepID) + New GrpObj,VTLGroep + Set GrpObj=##class(Prod.Kenmerk.MetaGroep).%OpenId(GroepID) + Quit:('GrpObj) "" + Set VTLGroep=GrpObj.VertalingsGroep + Do GrpObj.%Close() + Quit VTLGroep +tkvWaardenPerKenm(Kenm) + Quit:(Kenm="") + w !,!,"Voor Kenmerk "_Kenm_": Create VTL's" + New lbWaarden + &SQL(DECLARE crsTBX CURSOR FOR SELECT DISTINCT(Waarden) INTO :lbWaarden FROM Prod_Kenmerk.DataDefinitie WHERE Kenmerk=(:GroepID || '||' || :Kenm) ) + &SQL(OPEN crsTBX) + For &SQL(FETCH crsTBX) Quit:(SQLCODE) Do tkvCreateVTLItemLB(lbWaarden,Kenm) + &SQL(CLOSE crsTBX) + Quit +tkvCreateVTLItemLB(lbWaarden,Kenm) + For j=1:1:$LL(lbWaarden) + . Do tkvCreateVTLItem(Kenm_"-"_$LG(lbWaarden,j)) ; ,VTLGroep,VTLType,TaalDFL) + Quit +tkvCreateVTLItem(InternWde) ; ,VTLGroep,VTLType,TaalDFL) + w !,InternWde + Quit:(##class(Res.Vertaling).%ExistsId(VTLGroep_"||"_InternWde_"||"_VTLType_"||"_TaalDFL)) + New objVTL,SaveRs + Set objVTL=##class(Res.Vertaling).%New() ; ID wordt VTLGroep_"||"_InternWde_"||"_VTLType_"||"_TaalDFL) + Do objVTL.GroepSetObjectId(VTLGroep) + Set objVTL.Intern=InternWde + Do objVTL.TypeSetObjectId(VTLType) + Do objVTL.TaalSetObjectId(TaalDFL) + Set SaveRs=objVTL.%Save() + w " Vertaling: object Save:"_SaveRs + Write:('SaveRs) SaveRs_" - Fout bij bewaren van Vertaling met ID: "_VTLGroep_"||"_InternWde_"||"_VTLType_"||"_Taal,! + Do objVTL.%Close() + Quit + + + ;Do ImportSleutelVTL^Prod.Kenmerk.Utils.tmpDev +ImportSleutelVTL + New ArPR,PRNr,objVTL,GroepID,DataID,SleutelVal,lbWaarden,TxtN1,TxtN2,TxtN3,TxtF1,TxtF2,TxtF3,OmsNL,OmsFR,Oms + New VTLGroep,MetaGroep + Set GroepID="OL" + Set MetaGroep=##class(Prod.Kenmerk.MetaGroep).%OpenId(GroepID) + Set VTLGroep=MetaGroep.VertalingsGroep + Do MetaGroep.%Close() + ;Lijst van PRNr's: + Do ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,"ArPR") ; Array opbouwen van alle producten + Set PRNr="" + For Set PRNr=$O(ArPR(PRNr)) Quit:(PRNr="") Do + . Set (lbWaarden,TxtN1,TxtN2,TxtN3,TxtF1,TxtF2,TxtF3)="" + . ; Ophalen van de Interne Waarde van de "Sleutel" + . Set DataID=PRNr_"||"_GroepID_"||Sleutel" + . &sql(SELECT Waarden INTO :lbWaarden FROM Prod_Kenmerk.DataDefinitie WHERE (ID=:DataID)) + . Set SleutelVal=$LG(lbWaarden,1) + . ; Ophalen van de vertalingen uit het Mumps productenbestand + . // SELECT OmschrijvingN1,OmschrijvingN2,Orderreferenties3N,OmschrijvingF1,OmschrijvingF2,Orderreferenties3F INTO :TxtN1,:TxtN2,:TxtN3,:TxtF1,:TxtF2,:TxtF3 + . &sql(SELECT OmschrijvingN1,OmschrijvingN2 INTO :TxtN1,:TxtN2 FROM Prod.Product WHERE (ID=:PRNr)) + . Set OmsNL=$$isvConcatTxt(TxtN1,TxtN2,TxtN3) + . Set OmsFR=$$isvConcatTxt(TxtF1,TxtF2,TxtF3) + . Do isvVertaling(SleutelVal,"N",OmsNL) + . Do isvVertaling(SleutelVal,"F",OmsFR) + + /* + . &sql(DECLARE crsDD CURSOR FOR SELECT Waarden INTO :lbWaarden FROM Prod_Kenmerk.DataDefinitie WHERE (ID=:DataID)) + . &sql(OPEN crsDD) + . &sql(FETCH crsDD) ; Fetch Interne Waarde(n) for "Sleutel" + . &sql(CLOSE crsDD) + . Set SleutelVal=$LG(lbWaarden,1) + . ; Ophalen van de vertalingen uit het Mumps productenbestand + . // SELECT OmschrijvingN1,OmschrijvingN2,Orderreferenties3N,OmschrijvingF1,OmschrijvingF2,Orderreferenties3F INTO :TxtN1,:TxtN2,:TxtN3,:TxtF1,:TxtF2,:TxtF3 + . &sql(DECLARE crsPR1 CURSOR FOR + SELECT OmschrijvingN1,OmschrijvingN2 INTO :TxtN1,:TxtN2 + FROM Prod.Product WHERE (ID=:PRNr)) + . &sql(OPEN crsPR1) + . &sql(FETCH crsPR1) ; Fetch Tekstlijnen + . &sql(CLOSE crsPR1) + */ + + Quit +isvConcatTxt(Txt1,Txt2,Txt3) + Set Oms=Txt1 + Set Oms=Oms_$S($L(Oms)&$L(Txt2):$C(13,10), 1:"")_Txt2 + Set Oms=Oms_$S($L(Oms)&$L(Txt3):$C(13,10), 1:"")_Txt3 + Quit Oms +isvVertaling(Intern,Taal,Waarde) + If ##class(Res.Vertaling).%ExistsId(VTLGroep_"||"_Intern_"||O||"_Taal) Do + . Set objVTL=##class(Res.Vertaling).%OpenId(VTLGroep_"||"_Intern_"||O||"_Taal) + Else Do + . Set objVTL=##class(Res.Vertaling).%New(VTLGroep_"||"_Intern_"||O||"_Taal) + . Do objVTL.GroepSetObjectId(VTLGroep) + . Set objVTL.Intern=Intern + . Do objVTL.TypeSetObjectId("O") + . Do objVTL.TaalSetObjectId(Taal) + + Quit:('objVTL) + If '$L(objVTL.Vertaling) Do + . Set objVTL.Vertaling=Waarde + . Set SaveRs=objVTL.%Save() + . Write:('SaveRs) SaveRs_" - Fout bij bewaren van Vertaling met ID: "_VTLGroep_"||"_Intern_"||O||"_Taal + Do objVTL.%Close() + Quit + + + +PRLijstViaCriteriaExtra ; Parameters: GroepID,Ref,CriteriaArray,BeperkLastKM,arLastKMVal +#define CVTBool(%v) (+%v'=0) + Kill arLastKMVal + If $D(CriteriaArray("PRNr")) Do + . ; Array van PRNr opbouwen via opgegeven PRNrs + . Do ##class(Prod.Kenmerk.Utils).PRLijstViaPRNr(GroepID,Ref,.CriteriaArray) + Else Do + . ; Array van PRNr's opbouwen via opgegeven Kenmerken + . New blnUndefs ; ,ArKM + . Set blnUndefs=$$$CVTBool($G(CriteriaArray("IncludeUndefs",1))) + . Kill @Ref + . Kill ArKM + . Merge ArKM=CriteriaArray + . Do ##class(Prod.Kenmerk.Utils).FilterKenmerken(GroepID,.ArKM) + . If $L($G(BeperkLastKM))&&($D(ArKM(BeperkLastKM))) Do + .. New tmpCArray,LBSortedVal,i + .. Set i="" + .. Merge tmpCArray(BeperkLastKM)=ArKM(BeperkLastKM) ; temp array met LastKM. Wordt achteraf beperkt + .. ; Beperken tot alle behalve het laatste Kenmerk + .. Kill ArKM(BeperkLastKM) + .. ;d WL^vhDBG("Na splitsen:"_$$$ArrayTT("ArKM")_$$$ArrayTT("tmpCArray")) + .. Do ##class(Prod.Kenmerk.Utils).PRLijstViaKenmerk(GroepID,Ref,.ArKM,blnUndefs) + .. ; Lijst van alle waarden voor het laatste kenmerk van alle nog aanwezige producten + .. Set LBSortedVal=##class(Prod.Kenmerk.DataIndex).SPKenmerkWaardenLB(GroepID,BeperkLastKM,.@Ref,1) + .. Set arLastKMVal("SORTED","ALL")=LBSortedVal + .. Set arLastKMVal("SORTED","KMVAL")=$G(tmpCArray(BeperkLastKM)) + .. For Set i=$O(tmpCArray(BeperkLastKM,i)) Quit:(i="") Set arLastKMVal("SORTED","KMVAL")=arLastKMVal("SORTED","KMVAL")_$LB($G(tmpCArray(BeperkLastKM,i))) + .. ;d WL^vhDBG("Values"_$$$ArrayTT("arLastKMVal")) + .. ; Beperking op LastKM toepassen: + .. Do:($D(@Ref)) ##class(Prod.Kenmerk.Utils).PRLijstViaKenmerk(GroepID,Ref,.tmpCArray,blnUndefs) + . Else Do + .. Do ##class(Prod.Kenmerk.Utils).PRLijstViaKenmerk(GroepID,Ref,.ArKM,blnUndefs) + ; Groeperen op Kenmerken + Do ##class(Prod.Kenmerk.Utils).GroepeerOpKenmerk(GroepID,.@Ref) + Quit + +PRLijstViaCriteria ; Parameters: GroepID,Ref,CriteriaArray +#define CVTBool(%v) (+%v'=0) + If $D(CriteriaArray("PRNr")) Do + . ; Array van PRNr opbouwen via opgegeven PRNrs + . Do ##class(Prod.Kenmerk.Utils).PRLijstViaPRNr(GroepID,Ref,.CriteriaArray) + Else Do + . ; Array van PRNr's opbouwen via opgegeven Kenmerken + . New blnUndefs ; ,ArKM + . Set blnUndefs=$$$CVTBool($G(CriteriaArray("IncludeUndefs",1))) + . Kill @Ref + . Kill ArKM + . Merge ArKM=CriteriaArray + . Do ##class(Prod.Kenmerk.Utils).FilterKenmerken(GroepID,.ArKM) + . Do ##class(Prod.Kenmerk.Utils).PRLijstViaKenmerk(GroepID,Ref,.ArKM,blnUndefs) + ; Groeperen op Kenmerken + Do ##class(Prod.Kenmerk.Utils).GroepeerOpKenmerk(GroepID,.@Ref) + Quit + +FilterKenmerken ; Parameters: GroepID,KenmerkArray + New rs,LBKenm,Kenm + Set LBKenm="" + Set rs=##class(%ResultSet).%New("Prod.Kenmerk.MetaDefinitie:LijstPerGroep") + Do rs.Execute(GroepID) + For Quit:('rs.Next()) Set LBKenm=LBKenm_$LB(rs.GetData(2)) + Do rs.%Close() + ; LBKenm is een lijst met alle Kenmerken van de groep GroepID + Set Kenm="" + For Set Kenm=$O(KenmerkArray(Kenm)) Quit:(Kenm="") Do + . If $LF(LBKenm,Kenm)=0 Kill KenmerkArray(Kenm) ; Kenm is geen correct Kenmerk van de groep + Quit + +PRLijstViaPRNr ; Parameters: GroepID,Ref,CriteriaArray + New i + Kill @Ref + Quit:('$D(CriteriaArray("PRNr"))) + Do ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,"tmpAllePRNr") ; Array opbouwen van alle producten + ; CriteriaArray controleren op geldige PRNr's + ; - PRNr op subnodes van "PRNr" controleren + Set i="" + For Set i=$O(CriteriaArray("PRNr",i)) Quit:(i="") Do lvpCheckAddToRef(CriteriaArray("PRNr",i)) + ; - PRNr op node (PRNr) controleren + If $D(CriteriaArray("PRNr"))#10 Do lvpCheckAddToRef(CriteriaArray("PRNr")) + Kill tmpAllePRNr ; Opkuisen + Quit +lvpCheckAddToRef(PRNr) + Quit:(PRNr="") + Set:($D(tmpAllePRNr(PRNr))>0) @Ref@(PRNr)="" + Quit + + +PRLijstViaKenmerk ; Parameters: GroepID,Ref,KenmerkArray,IncludeUndefs +#define CompareType "C" + New Kenm,i,objKenm,objCompare + ; Array opbouwen van alle producten + Do:('$D(@Ref)) ##class(Prod.Kenmerk.DataIndex).SPAlle(GroepID,Ref) + ; Array beperken voor ieder ieder kenmerk van KenmerkArray + Set Kenm="" + For Set Kenm=$O(KenmerkArray(Kenm)) Quit:(Kenm="") Do + . Set objKenm=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||"_Kenm) + . Set:(IncludeUndefs) objCompare=$S(objKenm:objKenm.GetVTLTransformByType($$$CompareType), 1:"") + . ; - Beperking op waarde van de subnodes + . Set i="" + . For Set i=$O(KenmerkArray(Kenm,i)) Quit:(i="") Do lvkBeperk(KenmerkArray(Kenm,i)) + . ; - Beperking op waarde van node (Kenm) + . If $D(KenmerkArray(Kenm))#10 Do lvkBeperk(KenmerkArray(Kenm)) + . Do:(objKenm) objKenm.%Close() + Quit +lvkBeperk(KWaarde) + If IncludeUndefs Do ##class(Prod.Kenmerk.DataIndex).SPBeperk(GroepID,Kenm,KWaarde,Ref,$G(objCompare)) + Else Do ##class(Prod.Kenmerk.DataIndex).SPBeperkExcl(GroepID,Kenm,KWaarde,Ref) + Quit + + +GroepeerOpKenmerk ; Parameters: GroepID,PRNrArray +#define lstEXTRA "WandDikte;Kleur" +#define SPLIT "||" +#define QUOTEDSPLIT """||""" +#define XTDSPLIT ",""||""" + + Set GroepID="OL" + ;Do Start^TRTimer + New PRNr,BeperkAr,BeperkAr2,lstKeys,i,j,D,LBSortKenm,CntKenm,sQry,tmpQry,PrevQry + New KWdnSort,NumAr + Set D="\" + Set CntKenm=$$gokSortKenm() ; Maakt ook LBSortKenm aan en KWdnSort + Set PRNr="" + For Set PRNr=$O(PRNrArray(PRNr)) Quit:(PRNr="") Do + . Set lstKeys=##class(Prod.Kenmerk.Utils).SortWaarden(PRNr,LBSortKenm,D) + . ;Set $P(lstKeys,D,$LF(LBSortKenm,$$$SPLIT))=$$$SPLIT + . Set $P(lstKeys,D,$LF(LBSortKenm,$$$SPLIT))=$$$QUOTEDSPLIT + . Set $P(lstKeys,D,CntKenm+1)=PRNr + . ; dit product invullen in BeperkAr + . Do gokFillNodeNum + + ; Reduceren van de Array door de Basis-nodes te vervangen door ��n volgnummer + Set i=0 + Set PrevQry="" + Set sQry="BeperkAr" + For Set sQry=$Q(@sQry) Quit:(sQry="") Do + . Set tmpQry=$E(sQry,1,$F(sQry_$$$XTDSPLIT,$$$XTDSPLIT)-1)_")" + . If tmpQry'=PrevQry Do + .. Merge BeperkAr2($INCREMENT(i))=@tmpQry + .. Set PrevQry=tmpQry + .. Set NumAr(i)=$P($P(sQry,"(",2),",",1) ; _"."_$P($P(sQry,"(",2),",",2) + + ; Kenmerken Extra vervangen door ��n volgnummer (= tweede node) + Kill BeperkAr + Set i="" + Set PrevI="" + Set sQry="BeperkAr2" + For Set sQry=$Q(@sQry) Quit:(sQry="") Do + . Set i=$P($P(sQry,"(",2),",",1) ; Eerste node (=incremented counter + . Set PRNr=$TR($$$LastPiece(sQry,","), ")","") ; Laatste node + . If i'=PrevI Do + .. Set j=0 + .. Set PrevI=i + .. Set BeperkAr(i,1,"NDX")=NumAr(i) + . Set BeperkAr(i,$INCREMENT(j))=PRNr + + Kill PRNrArray + Merge PRNrArray=BeperkAr + Kill BeperkAr + Kill BeperkAr2 + ;Do Stop^TRTimer + ;Write !,"Tijd voor Groeperen (New): "_$$GetTime^TRTimer(),! + Quit +gokFillNode ;(lstKeys) + ; Vult in BeperkAr de uitgebreide node-structuur in + ; Lege pieces door 0 vervangen + For i=1:1:$L(lstKeys,D) Set:($P(lstKeys,D,i)="") $P(lstKeys,D,i)=0 + ; Niet-numerieke waarden tussen "" zetten + For i=1:1:$L(lstKeys,D) Set:('$IsValidNum($P(lstKeys,D,i))) $P(lstKeys,D,i)=""""_$P(lstKeys,D,i)_"""" + ; Komma's vervangen door punt-komma's ("," ==> ";") en dan Delimiters vervangen door komma's (D ==> ",") + Set lstKeys=$TR($TR(lstKeys,",",";"),D,",") + X "Set BeperkAr("_lstKeys_")="""" " + Quit +gokFillNodeNum ;(lstKeys) + ; Vult in BeperkAr de uitgebreide node-structuur in + ; Lege pieces door 0 vervangen + For i=1:1:$L(lstKeys,D) Set:($P(lstKeys,D,i)="") $P(lstKeys,D,i)=0 + ; Delimiters vervangen door komma's (D ==> ",") + Set lstKeys=$TR(lstKeys,D,",") + X "Set BeperkAr("_lstKeys_")="""" " + Quit +gokSortKenm() + ; Gesorteerde lijst opbouwen van alle Kenmerken van de Groep. + ; Kenmerken worden wel gesplitst in Basis en Extra + New rs,LBBasis,LBExtra,i,Kenm + Set (LBBasis,LBExtra)="" + Set rs=##class(%ResultSet).%New("Prod.Kenmerk.MetaDefinitie:LijstPerGroep") + Do rs.Execute(GroepID) + For Quit:('rs.Next()) Do + . Set Kenm=rs.GetData(2) + . If ($$$lstEXTRA[Kenm) Set LBExtra=LBExtra_$LB(Kenm) + . Else Set LBBasis=LBBasis_$LB(Kenm) + . Set KWdnSort(Kenm)=rs.GetData(3) + Do rs.%Close() + ; Samenvoegen van Basis en Extra, gescheiden door $$$SPLIT + Set LBSortKenm=LBBasis_$LB($$$SPLIT)_LBExtra + Quit $LL(LBSortKenm) + + +SortWaarden() ; Parameters: PRNr,LBSortKenm,Delimiter +#define Kenm 2 +#define Wdn 3 +#define VolgN 4 + New sBasis,rs,tmpVal + New KPos,VPos,Index + Set sBasis="" + Set rs=##class(%ResultSet).%New("Prod.Kenmerk.DataDefinitie:LijstPerProduct") + Do rs.Execute(PRNr) + For Quit:'rs.Next() Do + . Set Kenm=rs.GetData($$$Kenm) + . Set $P(sBasis,Delimiter,$$swdSubNodePos)=$$swdListValuesIndex(rs.GetData($$$Wdn)) + Do rs.%Close() + Quit sBasis +swdSubNodePos() + ; SubNode positie opzoeken + Set KPos=$LF(LBSortKenm,Kenm) + Quit $S(KPos=0:rs.GetData($$$VolgN), 1:KPos) +swdListValuesIndex(List) + ; List splitsen in values en als ";"-gescheiden text teruggeven + Quit:($LL(List)=1) $$swdValueIndex($LI(List,1)) + Quit:($LL(List)=0) 0 + ; Else Meerdere waarden in list: maakt Index decimaal, bvb. 2.003006 (Index1=2;Index2=3;Index3=6) + Set Index=$$swdValueIndex($LI(List,1))_"." + For i=2:1:$LL(List) Set Index=Index_$E(1000+$$swdValueIndex($LG(List,i)), 2,4) + Quit Index +swdValueIndex(Val) + Set VPos=$LF($G(KWdnSort(Kenm)),Val) + If (VPos=0)&&($L(Val)) Do ; als Val nog niet voorkomt in de $LB + . Set KWdnSort(Kenm)=$G(KWdnSort(Kenm))_$LB(Val) + . Set VPos=$LL(KWdnSort(Kenm)) + Quit VPos + +DeleteViaPRNr() ; Parameters: PRNr,lbGroepIDs + Quit:($G(PRNr)="") + New i + If $G(lbGroepIDs)="" Do ; Allen + . Do dvpDeleteGroep(PRNr,"*") + Else Do + . For i=1:1:$LL(lbGroepIDs) Do + . . Do:$L($LG(lbGroepIDs,i)) dvpDeleteGroep(PRNr,$LG(lbGroepIDs,i)) ; Per groep + Quit 1 + +dvpDeleteGroep(PRNr,GroepID) + New DDefID,SQLCODE + &sql(DECLARE crsDP CURSOR FOR + SELECT ID INTO :DDefID FROM Prod_Kenmerk.DataDefinitie + WHERE (Product=:PRNr) AND ((Kenmerk->Groep = :GroepID) OR (:GroepID="*")) ) + ;Test + &sql(OPEN crsDP) + For &sql(FETCH crsDP) Quit:SQLCODE Do ##class(Prod.Kenmerk.DataDefinitie).%DeleteId(DDefID) + &sql(CLOSE crsDP) + Quit \ No newline at end of file Index: Prod/GAMeta/BT/TBRugStukVerlaagd.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBRugStukVerlaagd.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBRugStukVerlaagd.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBRSTL") +TBStalenRugDefaultData +^Res.PI.Items("PR;GA;TBRSTL") +^Res.PI.Items("index","PR;GA;TBRSTL") +^Res.PI.Items("stream","PR;GA;TBRSTL") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: _vhisie/TBX/TBox WebOrder VH_N.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder VH_N.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder VH_N.xsl (revision 2) @@ -0,0 +1,504 @@ + + + + + + +EUR + + + + Van Hoecke - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI Nr.:  +
    NAAM:
     
    (BTW)  
    STRAAT/NR:
     
    POSTCODE:
     
    GEMEENTE:
     
    TELEFOON:
     
    FAX:
     
    E-MAIL:
     
    LEVERTIJD:
     
    REFERENTIE:
     
    + + + + + +
    + + + + +
    + + OFFERTE AANVRAAG + OFFERTE + BESTELBON + INKOOPORDER + Unknown: [] + +
    +
    +   +
    Fax deze bon naar het nr (32-3) 760 19 19
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Standaard lade (uit stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Niet meeleveren:

     

    Totaal:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Deze offerte is 30 dagen geldig, tot +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : LadezijdenKLEURKEUZE : Onderdelen
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    BODEM+RUG:

    RELINGEN:

    BOXSIDE:

    VULLING/GLAS:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # FOUT #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Breedte

    +

    WD

    +

    Diepte

    +

    Gew

    +

    FB *

    +

    Box

    +

    Diverse

    +

    Aant

    + +

    Ink. Prijs/stPrijs/st Info

    + +
    + + + + +

    * FB : Frontbevestiging (Legende)

    +

    + + + + + + +
    +

    +
    + + + + + : + schroefversie + INSERTA + EXPANDO + voor ALU & Volkern front + drevel + geen + (Code ) + + + + + + + + + +

    * Box : Verhoogde zijwand (Legende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Dubbele reling + Enkele reling + Zonder reling/verhoogde zijwand + Dubbelwandige BOXSIDE + Glazen BOXSIDE + BOXCAP + BOXCOVER met ... + BOXCOVER zonder vulling + (Code ) + + + +
    Index: BL/EC/pxTBXWeb.cls.xml =================================================================== diff -u --- BL/EC/pxTBXWeb.cls.xml (revision 0) +++ BL/EC/pxTBXWeb.cls.xml (revision 2) @@ -0,0 +1,42 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + +%String + + + +%String +list + + + +%String +list + + + +BL.EC.pxKlantInfoAdres + + + +%String +array + + + +OrderID + + + + Index: csp/productlist.cls.xml =================================================================== diff -u --- csp/productlist.cls.xml (revision 0) +++ csp/productlist.cls.xml (revision 2) @@ -0,0 +1,544 @@ + + + +User +cache +%CSP.Page,cspBasis.ProductList + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write "
    ",! + Write $c(9,9,9) + Write "" + Write "back" + Write "" + Write "  " + Write "" + Write "close" + Write "" + Write !,$c(9,9)_"",! + Write $c(9,9,9) + If '(Taal="F") Goto %csp00001 ;{ + Write !,$c(9,9,9,9)_" ",! + Write $c(9,9,9) + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9,9,9,9) + /* + ; Landkeuze veranderen - Modifier choix de pays + ; A href="/PRframe.asp?#(QSwis)#" target="_top" + */ + Write !,$c(9,9,9,9) + If '($G(blnShowLcWIS)) Goto %csp00003 ;{ + Write !,$c(9,9,9,9,9) + Write "" + Write (..WebTextValue("LandKeuzeWijzigen",Taal,"L")) + Write "" + Write !,$c(9,9,9,9) + Goto %csp00004 ;} +%csp00003 ;{ + Write !,$c(9,9,9,9,9)_(..WebTextValue("LandKeuzeWijzigen",Taal,"L")),! + Write $c(9,9,9,9) +%csp00004 ;} + Write ": ",! + Write $c(9,9,9,9) + Write "" + Write (TagVlagBE) + Write "" + Write " " + Write "" + Write "(BE)" + Write "" + Write "  -  ",! + Write $c(9,9,9,9) + Write "" + Write (TagVlagNL) + Write "" + Write " " + Write "" + Write "(NL)" + Write "" + Write !,$c(9,9,9) +%csp00002 ;} + Write !,$c(9,9)_"
    ",! + Write !,"",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write !,$c(9) + #define GetVertalingJS(%i,%tl,%tt) ##class(Res.Vertaling).GetVertalingPlus("OLW",%i,%tt,%tl,,1) + Set blnShowPRNr=(''$G(%request.Data("SHOWPRNR",1))) + Set BannerMsg=$$$GetVertalingJS("BannerMsg",Taal,"L") ; ##class(Res.Vertaling).GetVertalingPlus($$$WEBTYPE,Intern,TextType,Taal) + Kill ArCntProd + Do ##class(cspBasis.ProductSearch).PRLijstSimple(GroepID,"ArCntProd",.tmpRqData) + Set CntProd=##class(Prod.Kenmerk.DataIndex).SPCount("ArCntProd") + Kill ArCntProd + Set PrevHeadNDX="" + Set jj=0 + Set i="" + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! +%csp00009 If '(..LoopArray(.ArPR,.i)) Goto %csp00008 ;{ + Write !,$c(9) + ; ..DataDefValueList(Taal,GroepID,PRNr,Kenmerk,TextType,ListItems,[ListSep]) + ; Voorbereidend werk: + Kill BSVal + Set BSVal("PRT","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"ProductType","K","1") + Set BSVal("SBT","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"SubType","K","1") + Set BSVal("SLT","O")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Sleutel","O","1") + Set BSVal("BRD","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Breedte","K","1") + Set BSVal("DPT","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Diepte","K","*") + Set BSVal("VRS","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"Vereist","K","*") + Set BSVal("BOW","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"BOWeten","K","*") + Set BSVal("DYN","K")=..DataDefValueList(Taal,GroepID,$G(ArPR(i,1)),"DynSpace","K","*") + Set CntVRS=$LL(BSVal("VRS","K")) + Set CntVRSExtra=CntVRS+$LL(BSVal("BRD","K"))+$LL(BSVal("DPT","K")) ; Breedte en Diepte vallen onder de vereisten + Set CntBOW=$LL(BSVal("BOW","K")) + Set CntDynS=$LL(BSVal("DYN","K")) + Set lblDynSpace=$G(MetaArray("DynSpace","VTL"),"DynS-L") + ; URL's ' + Set BSVal("SLT","LB")=..DataDefValueURL(Taal,GroepID,$G(ArPR(i,1)),"Sleutel","LB") + Set BSVal("SLT","LI")=..FitImage(..DataDefValueURL(Taal,GroepID,$G(ArPR(i,1)),"Sleutel","LI")) + Set BSVal("INF","LI")=..FitImage(..DataDefValueURL(Taal,GroepID,$G(ArPR(i,1)),"InfoSleutel","LI")) + Set BSVal("DYN","LB")=..DataDefValueListURL(Taal,GroepID,$G(ArPR(i,1)),"DynSpace","LB","*") + Set BSVal("DYN","LI")=..DataDefValueListURL(Taal,GroepID,$G(ArPR(i,1)),"DynSpace","LI","*") + ; Hoofding voor de groepering + Set ProdGHeader=$S(..UseProdHeader(GroepID,.ArPR,i):$LG(BSVal("SBT","K"),1), 1:"") + If $L(ProdGHeader), $L($G(ArPR(i,1,"NDX"))) Do + . If ArPR(i,1,"NDX")'=PrevHeadNDX Do + .. Set jj=0 + .. Set PrevHeadNDX=ArPR(i,1,"NDX") + . ;Set ProdGHeader=ArPR(i,1,"NDX")_"."_$INCREMENT(jj)_" "_ProdGHeader + ; Sub-array of all products with same Basis + Kill tmpAr + Merge tmpAr=ArPR(i) + Set j="" + Write !,$c(9) + If '($L(ProdGHeader)) Goto %csp00010 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write $c(9) +%csp00010 ;} + Write !,$c(9)_"",! + Write $c(9) + If '($L($G(BSVal("DYN","K")))) Goto %csp00011 ;{ + Write !,$c(9,9)_"",! + Write $c(9) + Goto %csp00012 ;} +%csp00011 ;{ + Write !,$c(9,9)_"",! + Write $c(9) +%csp00012 ;} + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + If '($L($O(ArPR(i)))) Goto %csp00035 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! +%csp00035 ;} + Write ! + Goto %csp00009 +%csp00008 ;} + Write !,"
    ",! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9,9) + If '(CntProd>0) Goto %csp00005 ;{ + Write !,$c(9,9,9,9)_(CntProd_" "_$ZCVT(..WebTextValue($S(CntProd=1:"Product",1:"Producten"),Taal,"L"),"L")),! + Write $c(9,9,9) + Goto %csp00006 ;} +%csp00005 ;{ + Write !,$c(9,9,9,9)_(..WebTextValue("Geen producten gevonden",Taal,"L")),! + Write $c(9,9,9) +%csp00006 ;} + Write !,$c(9,9,9) + If '($L($G(BPLastKM))) Goto %csp00007 ;{ + Write !,!,$c(9,9,9,9)_"      "_(BPLastKM_": "),! + Write $c(9,9,9,9)_""_($S($L($G(LastKMOtherVal)):$$REPLACE^vhRtn1(LastKMOtherVal," - ","  "), 1:""))_"",! + Write $c(9,9,9) +%csp00007 ;} + Write !,$c(9,9,9)_"

    "_(..WebTextValue("ProgWijzigingen",Taal,"L"))_".

    ",! + Write !,!,$c(9,9,9) + Write "
    " + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_(ProdGHeader),! + Write $c(9,9,9) + Write "
    " + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9) + For iDynS=1:1:(CntDynS) { + Write !,$c(9,9,9,9)_"

    " + Write "" + Write "" + Write "" + Write "

    ",! + Write $c(9,9,9) + } + Write !,$c(9,9)_"
    ",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) + If '($L($G(BSVal("INF","LI")))) Goto %csp00017 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00017 ;} + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + If '($L($G(BSVal("SLT","LB")))) Goto %csp00013 ;{ + Write !,$c(9,9,9,9,9) + If '($L($G(BSVal("SLT","LI")))) Goto %csp00014 ;{ + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9) + Goto %csp00015 ;} +%csp00014 ;{ + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9) +%csp00015 ;} + Write !,$c(9,9,9,9) + Goto %csp00016 ;} +%csp00013 ;{ + Write !,$c(9,9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9) +%csp00016 ;} + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + Write "" + Write (..WebTextValue("MeerInfoEnFotos",Taal,"L")) + Write "" + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9) + If '($G(blnShowPRNr,0)) Goto %csp00018 ;{ + Write "

    [PRNr: "_($G(ArPR(i,1)))_"]

    " +%csp00018 ;} + Write !,$c(9,9,9,9,9,9) + If '($L($LG(BSVal("SLT","O"),1))) Goto %csp00019 ;{ + Write " "_(($LG(BSVal("SLT","O"),1)))_"
    " +%csp00019 ;} + Write !,$c(9,9,9,9,9,9,9) + If '(CntVRSExtra>0) Goto %csp00020 ;{ + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_""_($G(MetaArray("Vereist","VTL"),"VRS-L"))_":
      ",! + Write $c(9,9,9,9,9,9,9) + If '($LL(BSVal("BRD","K"))) Goto %csp00021 ;{ + Write "
    • "_($G(MetaArray("Breedte","VTL"),"BRD-L"))_": "_($LI(BSVal("BRD","K"),1))_"
    • " +%csp00021 ;} + Write !,$c(9,9,9,9,9,9,9) + If '($LL(BSVal("DPT","K"))) Goto %csp00022 ;{ + Write "
    • "_($G(MetaArray("Diepte","VTL"),"DPT-L"))_": "_($$LCVTSimple^vhLib(BSVal("DPT","K")," / "))_"
    • " +%csp00022 ;} + Write !,$c(9,9,9,9,9,9) + For iVrs=1:1:(CntVRS) { + Write !,$c(9,9,9,9,9,9,9)_"
    • "_($LI(BSVal("VRS","K"),iVrs))_"
    • ",! + Write $c(9,9,9,9,9,9) + } + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) +%csp00020 ;} + Write !,$c(9,9,9,9,9,9,9) + If '(CntBOW>0) Goto %csp00023 ;{ + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9)_""_($G(MetaArray("BOWeten","VTL"),"BOW-L"))_":
      ",! + Write $c(9,9,9,9,9,9) + For iBow=1:1:(CntBOW) { + Write !,$c(9,9,9,9,9,9,9)_"
    • "_($LI(BSVal("BOW","K"),iBow))_"
    • ",! + Write $c(9,9,9,9,9,9) + } + Write !,$c(9,9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9) +%csp00023 ;} + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9)_"
    " + Write "" + Write "",! + Write $c(9,9,9)_"",! + Write $c(9,9) +%csp00025 If '(..LoopArray(.tmpAr,.j)) Goto %csp00024 ;{ + Write !,$c(9,9,9) + ; Loop through products with same Basis + Set PRNr=ArPR(i,j) + If PRNr?4.6N Do + . Set PRLB=..GetKortTekstEnPrijs(PRNr) + . Set CKortTxt=$E($LG(PRLB,1),4,11) + . Set CPrijs=$S($G(blnLandKeuze)=1:"", 1:..EindGebruikersPrijs($LG(PRLB,2),LandCode)) + Kill XTVal + Set XTVal("WDD","K")=..DataDefValueList(Taal,GroepID,PRNr,"WandDikte","K","*","-") + Set XTVal("KLR","K")=..DataDefValueList(Taal,GroepID,PRNr,"Kleur","K","*") + Write !,$c(9,9,9) + If '($LL(XTVal("WDD","K"))) Goto %csp00026 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00026 ;} + Write !,$c(9,9,9) + If '($LL(XTVal("KLR","K"))) Goto %csp00027 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00027 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) + If '($L($O(tmpAr(j)))) Goto %csp00032 ;{ + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9) +%csp00032 ;} + Write !,$c(9,9) + Goto %csp00025 +%csp00024 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9,9) + If '($G(blnLandKeuze)=1) Goto %csp00033 ;{ + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) + Goto %csp00034 ;} +%csp00033 ;{ + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) +%csp00034 ;} + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9)_"
    "_($G(MetaArray("WandDikte","VTL"),"WDD-L"))_": "_($LI(XTVal("WDD","K"),1))_"
    "_($G(MetaArray("Kleur","VTL"),"KLR-L"))_": "_($LI(XTVal("KLR","K"),1))_"
    ",! + Write $c(9,9,9,9,9,9) + If '($L($G(CKortTxt))) Goto %csp00028 ;{ + Write (CKortTxt) + Goto %csp00029 ;} +%csp00028 ;{ + Write " " +%csp00029 ;} + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) + If '($G(CPrijs)>0) Goto %csp00030 ;{ + Write (CPrijs)_" EUR" + Goto %csp00031 ;} +%csp00030 ;{ + Write " " +%csp00031 ;} + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9,9,9)_(..WebTextValue("LandKeuzePrijs",Taal,"L"))_" : ",! + Write $c(9,9,9,9,9,9,9) + Write "" + Write (TagVlagBE) + Write "" + Write " - " + Write "" + Write (TagVlagNL) + Write "" + Write !,$c(9,9,9,9,9,9)_""_(..WebTextValue("PrijsInclBTW"_$S($L(LandCode):"_"_LandCode, 1:""),Taal,"L"))_"
    ",! + Write $c(9,9)_"

    ",! + ; Close MetaObjects + ;New k,tmpOref + Set k="" + For Set k=$O(MetaArray(k)) Quit:(k="") Set MetaArray(k)="" + Kill MetaArray + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"ORGALUX : "_(PageTitle)_"",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,!,!,! + Set %session.AppTimeout = 300 + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,!,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +c:\cachesys\csp\olprodcat\ProductList.csp + + + +/csp/olprodcat/ProductList.csp + + + +0 + + + +60291,61975 + +
    +
    Index: Res/PI/ReceptieGroep.cls.xml =================================================================== diff -u --- Res/PI/ReceptieGroep.cls.xml (revision 0) +++ Res/PI/ReceptieGroep.cls.xml (revision 2) @@ -0,0 +1,107 @@ + + + + +Wo oa gebruikt bij Receptie Selectie (UGLYPicking) +Bevat alle mogelijke groepen van buffers smane met hun +default instellingen + +persistent +Default +%Library.Persistent + + +%Library.String + + + +%Library.String + + + + + +%Library.String + + + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +%Library.String + + + +%Library.Boolean +0 + + + +1 +NaamID +1 + + + +%Library.SQLQuery +SELECT ID, Caption, DefaultLocatie, DefaultPallet, NaamID +FROM Res_PI.ReceptieGroep +ORDER BY Caption + + + + + + +%Library.CacheStorage +^Res.PI.ReceptieGroepD +ReceptieGroepDefaultData +^Res.PI.ReceptieGroepD +^Res.PI.ReceptieGroepI +^Res.PI.ReceptieGroepS + + +DefaultLocatie + + +DefaultPallet + + +Naam + + +Caption + + +NaamID + + +KPR3Node + + +%%CLASSNAME + + +AutoPopupAantal + + +DefaultLocatieStr + + +DefaultPalletStr + + + + + Index: WS/TBX/Calc/PeekServer.cls.xml =================================================================== diff -u --- WS/TBX/Calc/PeekServer.cls.xml (revision 0) +++ WS/TBX/Calc/PeekServer.cls.xml (revision 2) @@ -0,0 +1,43 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.Calc + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + Index: csp/errorvhtbx.cls.xml =================================================================== diff -u --- csp/errorvhtbx.cls.xml (revision 0) +++ csp/errorvhtbx.cls.xml (revision 2) @@ -0,0 +1,132 @@ + + + +csp.errorvh +0 + + + +Custom Error page in Configuration Manager: /vhisie/ErrorVHTbx.csp +Parameter moet aangepast worden in afgeleide klasse +/vhisie/ErrorVHTbx.csp + + + + +Deze definities zijn globaal voor de hele CSP-application; het is immers niet mogelijk om +bij "HyperEventTimeOut" de OrigCSPClassName te detecteren om daar de CustomEH array in te vullen. +1 + + + + +1 +lbErrTypes +0) + Kill tmpAr + Do @("dehBuildAr"_ErrType) + Merge %cspEHandler(ErrType)=tmpAr + Quit +dehBuildArPageLoadError ; PageLoadError + Set tmpAr("ACTIONS")=$LB("LogDB","Email","ErrPage") + Set tmpAr("ACTIONS","LogDB")=$LB("DFL","TBX_Err_CSP",$LB("CustomLogError","cspBasis.GAProdTBox",1)) + Set tmpAr("ACTIONS","Email")=$LB("""CSPserver "_$system.Server.HostName()_""" ",$LB($$$EmailToSysOp),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + ;Set tmpAr("ACTIONS","Email")=$LB("Skip") + Set tmpAr("ACTIONS","ErrPage")=$LB("","OnPageTBX") ; $LB("~") + Quit +dehBuildArPreHTTPTimeOut ; PreHTTPTimeOut + Set tmpAr("ACTIONS")=$LB("LogDB","ErrPage") ; or RedirURL + Set tmpAr("ACTIONS","LogDB")=$LB("NONE","TBX_Err_CSP",$LB("CustomLogError","cspBasis.GAProdTBox",1)) + Set tmpAr("ACTIONS","ErrPage")=$LB("","OnPageTBX") + Quit +dehBuildArHyperEventError ; HyperEventError + Set tmpAr("ACTIONS")=$LB("LogDB","Email","JSAlert") + Set tmpAr("ACTIONS","LogDB")=$LB("DFL","TBX_Err_CSP",$LB("CustomLogError","cspBasis.GAProdTBox",1)) + Set tmpAr("ACTIONS","Email")=$LB("""CSPserver "_$system.Server.HostName()_""" ",$LB($$$EmailToSysOp),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set tmpAr("ACTIONS","JSAlert")=$LB("Error returned by server call") ; overruled by ("MSG","JSAlert") + Set tmpAr("MSG","JSAlert",1)=("TandemBox: "_$$$GetVertaling("jsHyperEventError",$G(Taal,"F"),"O")) + Quit +dehBuildArHyperEventTimeOut ;HyperEventTimeOut + // Custom actions must be set in the CustomHyperTimeOutEH() method + Set tmpAr("ACTIONS")=$LB("JSAlert") + Set tmpAr("ACTIONS","JSAlert")=$LB("Session TimeOut") + Quit +]]> + + + +1 + +%Status + + + + +1 +%Status + + + + TANDEMBOX - #(ErrTitle)# + + + + + + + + +
      
    +
    +
    + +

    #(ErrTxt)#

    +
    > + Do optDisplayErrorHidden + &html< + > + Quit $$$OK +optDisplayErrorHidden + // Internet Explorer doesn't work without this routine !!! (WHY? don't know) + &html<
    > + Do ..DisplayError(.ErrorInfo) + &html<
    > + Quit +]]>
    +
    +
    +
    Index: APPS/TBXWeb/impl/HELMYOrderHandler.cls.xml =================================================================== diff -u --- APPS/TBXWeb/impl/HELMYOrderHandler.cls.xml (revision 0) +++ APPS/TBXWeb/impl/HELMYOrderHandler.cls.xml (revision 2) @@ -0,0 +1,62 @@ + + + +1 +AbstractOrderHandler +0 + + +0 + + + +%String + + + + +Boolean + + + + +Destination +%List +" + Set ServerPrefix="" +#Else + Set lbTo=$LB($$$EMailOVHelmYTEST) ; """Helmond OV."" <$$$EMailOVHelmYTEST>" + Set ServerPrefix="["_$$$Server_"] " +#EndIf + + Quit lbTo +]]> + + + +Destination +%String + + + + +%String + + + + +%Status + + + + Index: Prod/GAMeta/BT/TBRugKleur.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBRugKleur.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBRugKleur.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBKRD") +TBRugKleurDefaultData +^Res.PI.Items("PR;GA;TBKRD") +^Res.PI.Items("index","PR;GA;TBKR") +^Res.PI.Items("stream","PR;GA;TBKR") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: csp/dynaplugreport.cls.xml =================================================================== diff -u --- csp/dynaplugreport.cls.xml (revision 0) +++ csp/dynaplugreport.cls.xml (revision 2) @@ -0,0 +1,616 @@ + + + +User +cache +%CSP.Page + + +1 +code +lbErrTypes +cache + +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("csp.errorvh","OnPageMinimum") + #Else + Set %cspEHandler($$$etPageLoadError,"ACTIONS")=$LB("ErrPage") + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") + #EndIf + + Quit + +]]> + + + +1 +code +MyArr,Index +cache +%String + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !," " + If '(($G(blnErrorOccured))) Goto %csp00003 ;{ + Write !," " + Write "" + Write !," " +%csp00003 ;} + Write !," " + Write "
    " + Write !," " + Write "" + Write " ",! + Write " " + If '(($L(pxWebShop.WebShopID))) Goto %csp00004 ;{ + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","DP_OFFERTE","L",Taal))_"" + Write "" + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","Name","L",Taal))_":"_(pxWebShop.LeveringsAdres.Naam)_"
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","Address","L",Taal))_":"_(pxWebShop.LeveringsAdres.StraatNrBus)_"
    "_(pxWebShop.LeveringsAdres.WoonPlaats)_"
    ",! + Write " ",! + Write " " + Goto %csp00005 ;} +%csp00004 If '((pxTBXWeb.TBXOrders.Count())) Goto %csp00006 ;{ + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","DP_OFFERTE","L",Taal))_"" + Write "" + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","Name","L",Taal))_":"_(pxTBXWeb.KlantInfoAdres.Naam)_"
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","Address","L",Taal))_":"_(pxTBXWeb.KlantInfoAdres.StraatNrBus)_"
    "_(pxTBXWeb.KlantInfoAdres.WoonPlaats)_"
    ",! + Write " " +%csp00005 ;} +%csp00006 + Write !,"
    ",! + Write " " + If '((pxTBXWeb.TBXOrders.Count())) Goto %csp00007 ;{ + Write !," " + For Counter=1:1:(pxTBXWeb.TBXOrders.Count()) { + Write !," " + If '($L(pxTBXWeb.TBXOrders.GetAt(Counter))) Goto %csp00008 ;{ + Write !," " + Write "
    " + Write " ",! + Write " ",! + Write " ",! + Write " " + Write "" + Write !," " + Set WsOrd = ##class(WS.TBX.Order).%OpenId(pxTBXWeb.TBXOrders.GetAt(Counter)) + Write !," " + If '(($isObject(WsOrd))) Goto %csp00009 ;{ + Write !," ",! + Write "  ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " "_$c(9)_" ",! + Write " "_$c(9)_" " +%csp00009 ;} + Write !," "_$c(9)_"  ",! + Write " "_$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write "
    " + Write "" + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","EDINr","L",Taal))_": "_(WsOrd.OrderNr)_""_(##class(Res.Vertaling).GetVertalingPlus("DP","TBXOrder_Reference","L",Taal))_": "_(WsOrd.Commissie)_""_(WsOrd.TotPrijs_ " EUR")_"
    " + Write "" + Write ($TR(txtHideDetails,"'","")) + Write "" + Write "
    ",! + Write "
    ",! + Write " " + Write "
    " + Write !," " + Do ..Include("dynaplugreporttbxtable.csp?id="_(pxTBXWeb.TBXOrders.GetAt(Counter))) + Write !," " + Write "
    " + Write " ",! + Write " ",! + Write " ",! + Write " "_$c(9)_" ",! + Write " ",! + Write "
    ",! + Write " "_$c(9)_" " + If '((pxTBXWeb.Status(pxTBXWeb.TBXOrders.GetAt(Counter))?1"OFF".E)) Goto %csp00010 ;{ + Write " ",! + Write " "_$c(9)_" " + set flagStill2Order = 1 + Write !," " + Write "" + Write " "_(##class(Res.Vertaling).GetVertalingPlus("DP","TBXOrder_Order","L",Taal))_" ",! + Write " " + Goto %csp00011 ;} +%csp00010 ;{ + Write !," "_(##class(Res.Vertaling).GetVertalingPlus("DP","TBXOrder_AllReadyOrdered","L",pxWebShop.Taal))_" ",! + Write " " +%csp00011 ;} + Write !,"
    ",! + Write "
    ",! + Write " " + Write "
    " + Write !," " +%csp00008 ;} + Write !," " + } + Write !," " +%csp00007 ;} + Write !,!," " + If '(($L(pxWebShop.WebShopID))) Goto %csp00012 ;{ + Write !," " + Write "
    " + Write " ",! + Write " ",! + Write " ",! + Write $c(9)_"",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write " ",! + Write "  ",! + Write " ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write "
    " + Write "" + Write "" + Write "" + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","EDINr","L",Taal))_" : "_(pxWebShop.WebShopID)_""_(##class(Res.Vertaling).GetVertalingPlus("DP","Reference","L",Taal))_": "_(pxWebShop.CommReferentie)_""_("

    0:">"_$justify(pxWebShop.Totaal,"",2)_" "_pxWebShop.Munt,1:" style=""color:#CC0033;"">"_"Geen totaal mogelijk")_"

    ")_"
    " + Write "" + Write ($TR(txtHideDetails,"'","")) + Write "" + Write "
    ",! + Write " " + Write "
    " + Write !,"
    ",! + Write " ",! + Write " "_$c(9)_" ",! + Write " "_$c(9)_" ",! + Write " "_$c(9)_" " + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write " ",! + Write $c(9)_" " +%csp00014 If '(pxWebShop.Lijnen.Next()) Goto %csp00013 ;{ + Write !,$c(9)_" " + If '(pxWebShop.Lijnen.GetData(1)="G") Goto %csp00015 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + Goto %csp00016 ;} +%csp00015 ;{ + Write !,$c(9)_" " + If '(pxWebShop.Lijnen.GetData(1)="WST") Goto %csp00017 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" " + Goto %csp00018 ;} +%csp00017 If '(pxWebShop.Lijnen.GetData(1)="WSP") Goto %csp00019 ;{ + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9,9)_" " + Write !,$c(9)_" ",! + Write $c(9)_" ",! + Write $c(9)_" ",! + Write $c(9,9)_"",! + Write $c(9)_" " +%csp00018 ;} +%csp00019 + Write !,$c(9)_" ",! + Write $c(9)_" " +%csp00016 ;} + Write !,$c(9) + Goto %csp00014 +%csp00013 ;} + Write !,"
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","ProductDescription","L",Taal))_""_(##class(Res.Vertaling).GetVertalingPlus("DP","Amount","L",Taal))_""_(##class(Res.Vertaling).GetVertalingPlus("DP","UnitPrice","L",Taal))_""_(##class(Res.Vertaling).GetVertalingPlus("DP","Total","L",Taal))_"
    "_(pxWebShop.Lijnen.Data("Tekst"))_"
    "_(pxWebShop.Lijnen.Data("Tekst"))_"
    "_($G(pxWebShop.Lijnen.Data("ProductNaam")))_""_(pxWebShop.Lijnen.Data("Aantal"))_""_($FN(pxWebShop.Lijnen.Data("ENettoPrijs"),".",2)_" "_$S($G(pxWebShop.Lijnen.Data("GrootteOrde"))="H":"%",1:""))_""_($FN(pxWebShop.Lijnen.Data("Totaal"),".",2)_" "_pxWebShop.Lijnen.Data("Munt"))_"
    ",! + Write " " + Write "
    " + Write !,"
    ",! + Write " ",! + Write " ",! + Write " ",! + Write " " + set flagStill2Order = 1 + Write !," " + Goto %csp00021 ;} +%csp00020 ;{ + Write !," "_(##class(Res.Vertaling).GetVertalingPlus("DP","WebShop_Order_AllReadyOrdered","L",Taal))_" ",! + Write " " +%csp00021 ;} + Write !," ",! + Write "
    ",! + Write " " + If '((pxWebShop.OfferteStatus="O")) Goto %csp00020 ;{ + Write !," " + Write "" + Write " "_(##class(Res.Vertaling).GetVertalingPlus("DP","WebShop_Order","L",Taal))_"
    ",! + Write "
    ",! + Write " " + Write "
    " + Write !," " +%csp00012 ;} + Write !,!," " + If '((flagStill2Order=1)) Goto %csp00022 ;{ + Write !," ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write $c(9)_" ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write " ",! + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","OrderReference","L",Taal))_" : " + Write "" + Write "
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","DeliveryTime","L",Taal))_" : ",! + Write " " + Write "" + Write "",! + Write " " + Write "" + Write " ",! + Write " ",! + Write " " + Write "" + Write !,$c(9)_"
    "_(##class(Res.Vertaling).GetVertalingPlus("DP","Remark","L",Taal))_" : " + Write "" + Write "
    " + Write "" + Write "
    ",! + Write " " +%csp00022 ;} + Write " ",! + Write " " + Write ..InsertHiddenFields("DynaPlugReport.csp"),! + Write "
    " + Write !,"
    " + Write "" + Write (##class(Res.Vertaling).GetVertalingPlus("DP","OpenPageInDefaultBrowser","L",Taal)) + Write "" + Write "
    ",! + Write " " + Write "" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,"" + Write !,! + #define GetVertalingJS(%i,%tl,%tt) ##class(Res.Vertaling).GetVertalingPlus("TBW",%i,%tt,%tl,,1) + Write !,! + If '(($$$NSpace="DEMO")) Goto %csp00001 ;{ + Write !," " + Write "" + Write ! + Goto %csp00002 ;} +%csp00001 ;{ + Write !," " + Write "" + Write ! +%csp00002 ;} + Write !,!,!,"" + Write !,!,"" + Write !,!,""_(##class(Res.Vertaling).GetVertalingPlus("DP","DP_OFFERTE","L",Taal))_"",! + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,$c(9),! + Write !,!," " + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +1 +code + +cache + + + + +1 +code +Intern,Taal,TextType,lbFlags +cache +%String + + + + +c:\cachesys\csp\hadev\DynaPlugReport.csp + + + +/csp/hadev/DynaPlugReport.csp + + + +61874,42139 + +
    +
    Index: WS/TBX/DataIOWWW/DeleteWSOrdOnWWW.cls.xml =================================================================== diff -u --- WS/TBX/DataIOWWW/DeleteWSOrdOnWWW.cls.xml (revision 0) +++ WS/TBX/DataIOWWW/DeleteWSOrdOnWWW.cls.xml (revision 2) @@ -0,0 +1,53 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.DataIOWWW + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.String + + + + + +%Library.String + + + + +%Library.String + + + + Index: Prod/GAMeta/SubGroep.cls.xml =================================================================== diff -u --- Prod/GAMeta/SubGroep.cls.xml (revision 0) +++ Prod/GAMeta/SubGroep.cls.xml (revision 2) @@ -0,0 +1,102 @@ + + + +persistent +PRGACNTs +%Library.Persistent,%XML.Adaptor + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%String + +0 + + + +Prod.GAMeta.Groep +0 +0 +parent + +SubGroepen +0 +0 +1 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String + +0 + + + +%Integer + +0 + + + +0 +1 +1 +Code,Version +1 + + + +%Library.CacheStorage +{%%PARENT}("SG") +SubGroepDefaultData +{%%PARENT}("SG") +^Prod.GAMeta.SubGroepI +^Prod.GAM.SubGroepS + +%%CLASSNAME +node +0 + + +listnode + +ChildExpr + + +LijstDef + + +Omschrijving + + + + + Index: PRGACNTs.inc.rou =================================================================== diff -u --- PRGACNTs.inc.rou (revision 0) +++ PRGACNTs.inc.rou (revision 2) @@ -0,0 +1,137 @@ +#include vhLib.Macro + + // CSP-HTML-URL (macro's uit %VHMacro.inc) + #define HTML(%v) $$ConvertToHTML^vhRtn1(%v) + #define HTML2(%v) $ZCVT(%v,"O","HTML") + #define QuoteJS(%v) ##class(%CSP.Page).QuoteJS(%v) + #define URL(%v) $ZCVT(%v,"O","URL") + #define XML(%v) $ZCVT(%v,"O","UTF8") + + + ; +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ + ; | Constanten voor het algemene GAData.Product: | + ; +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ + ; Package: Prod.GAMeta.* + Prod.GAData.* + + ; Consistency Check (cc): mogelijke onderdelen van GA.Product die kunnen gecontroleerd worden op inconsistente data + #define ccChildExpr 1 + #define ccVolgNrDItem 2 + #define ccVolgNrKost 3 + #define ccItemLabel 4 + #define ccProgLabel 5 + #define ccKolomNrParam 6 + #define ccParamMode 7 + #define ccExecutes 8 + + + ; ImageDir constanten + #define SharedCommonDir "\\Notes01\Shared\Common\" + #define ImageDirGA(%v) "\\Notes01\Shared\Common\Images\GAProd\"_%v_"\" + + + + ; +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ + ; | Constanten voor specifieke toepassingen van GA.Product: | + ; +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ + ; Package: BL.PR.GA.* + UI.PR.GA.* + + ; + + + + + + + + + ; + TandemBOX + + ; + + + + + + + + + + ; Losse constanten + #define tbxCodeStdLade "Std" + + ; PropagatieType (pt) + #define ptNone 0 + #define ptEmpty 1 + #define ptAll 2 + ; Of: hoe waarden van andere kenmerken gewijzigd (gepropageerd) worden wanneer de keuzelijst ervan groter of kleiner wordt, + ; t.g.v beperkingen opgelegd door bovenliggende kenmerkwaarden + ; ptNone 0 ; Waarden worden niet aangepast aan de mogelijke waarden + ; ptEmpty 1 ; Als waarde niet in lijst, waarde wordt gewist + ; ptAll 2 ; ptEmpty + als slechts ��n item in lijst, dan wordt deze geselecteerd + + ; RunMode (rm): Opstart-setting voor de applicatie UI.PR.GA.TandemBox + #define rmNewTemplate 1 + #define rmViewTemplate 2 + #define rmEditTemplate 3 + #define rmNewFromTemplate 4 + #define rmNewFromProduct 5 + #define rmViewProduct 6 + #define rmEditProduct 7 + + ; Constanten voor WebApp + #define mmToggleHistOrd 0 + #define mmAllowTogether 1 + #define QSREFReplace "$$HashedREF$$" + #define KLNrListAll "#ALL#" + + + ; + + + + + + + + + + ; + Verlichting + + ; + + + + + + + + + + + #define MaxTLPos 100 + + + ; +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ + ; | Constanten voor TandemBox WEB-applicaties: | + ; +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ + ; Package: csp.TBX.* + WS.TBX.* + + ; Storage Global for Klant Data + #define GlobalKLData ^WS.TBX.KlantData + + ; Delimiters voor JS-communicatie via HyperEvents + // OPGELET 1 : !!! moeten dus in sync zijn met de javascript-files op de webserver dir /VHISIE/TBX/ + // OPGELET 2 : !!! deze macro's worden ZEKER nog niet op alle plaatsen gebruikt. Alle code extra controleren op hard-coded delimiters !!! + #define DelimWSOrderHfd "`" + #define DelimWSOrderLijn "\" + + ; UserType (ut): Uit de URL wordt het type gebruiker (UserType) bepaald die de web-applicatie opent/bekijkt/wijzigt. + #define utKlantAnon 1 + #define utKlantAnonWP 2 + #define utKlantKnown 3 + #define utVerwSub 5 + #define utVerwDomain 8 + #define utVerwAdmin 9 + + ; Status Hist (sh): Show In Historiek : Numerieke waarde die aangeeft of een order al dan niet moet getoond worden. + #define shHiddenForAll 0 + #define shHiddenByDynaPlug 5 + #define shShownForVHEPN 10 + #define shShownForVERW 30 + #define shShownForKlant 80 + ; #define shShownForAll 99 ; Niet gebruiken, want orders zijn klantgebonden + #define shShownForAll 99 + + ; Encryptie-sleutel voor de DATAOPT parameter (QueryString in URL) for Klant Data + #define OptimaKey "vanhoeckeOPTIMAL" + #define SfsOptKey "SFS.unimarket2VH" + #define MBHollandOptKey "NL_MeuHo.VH!lAdE" + + ; Toegang voor OptimaFIX page : beperkt via controle op IP-adres + ; !!! Te compileren in routines : + ; - csp.vhisie.TBX.BuildRef.tmpDev.MAC + ; - csp.vhisie.TBX.Main.tmpDev.MAC + #define OptimaAccess (sDomVERW="LMC")&&(%RemoteIP?1(1"92.103.129.165",1"92.103.129.172",1"92.103.129.174",1"192.168.1."1.3N)) + // OptimaAccess PREVIOUS IP's : (%RemoteIP?1(1"212.103.4.85") ; No longer in use by Optima + + ; Toegang voor de TestDataOpt page : beperkt via controle op IP-adres + ; !!! Te compileren in routines : + ; - csp.vhisie.TBX.BuildRef.tmpDev.MAC + #define AccessTestPageDataOptLMC(%ip) (%ip?1(1"92.103.129.165",1"212.103.4.85")) + #define AccessTestPageDataOptSFS(%ip) (%ip?1(1"77.59.193.234",1"195.141.221.1")) + #define AccessTestPageDataOptMBHO(%ip) (%ip?1(1"217.21.251.83")) + + + + ; Munt pariteit voor vreemde munten + ; --------------------------------- + // CHF : Zwitserse Frank (voor SFS) 1 EUR = 1.513 CHF + #define MuntParCHF 0.6609 + /* !!! IMPORTANT !!! + ========= + !!! After changing the exchange rates, also compile the routine "cspBasis.Library.MAC" !!! + */ \ No newline at end of file Index: DW/WWW/HTTPLogTBXMBHolland.cls.xml =================================================================== diff -u --- DW/WWW/HTTPLogTBXMBHolland.cls.xml (revision 0) +++ DW/WWW/HTTPLogTBXMBHolland.cls.xml (revision 2) @@ -0,0 +1,163 @@ + + + + +Logging van www.destil.nl +persistent +1 +%Persistent +0 + + + +Number of bytes received +%Integer + + + + +Number of bytes sent +%Integer + + + + +Date and tmie that the log entry was created +%TimeStamp + + + + +Server name +%String + + + + +Type of the operation or command. For example, this may be USER for FTP or GET for WWW +%String + + + + +Any parameters for the operation. This can be either name/value pairs for invoking CGI or an ISAPI extension. It is a user name for the FTP command USER. +%String + + + + + +Time spent on request processing (in milliseconds) +%Integer + + + + +Server IP address +%String + + + + +Name of the service. This can be WWW, FTP or some other name +%String + + + + +Service status, such as 200 +%Integer + + + + +Target of the operation or command. For example, this may be Default.htm +%String + + + + +User name for the client. Mostly anonymous +%String + + + + +Windows NT status code. 0 typically indicates success +%Integer + + + + +Client ip address +%String + + + + +Reeds verwerkt flag (leeg of 1) +%Integer + + + +%Library.CacheStorage +^DW.WWW.HTTPLogTBXMBHollandD +HTTPLogTBXMBHollandDefaultData +^DW.WWW.HTTPLogTBXMBHollandD +^DW.WWW.HTTPLogTBXMBHollandI +^DW.WWW.HTTPLogTBXMBHollandS + +listnode + + +%%CLASSNAME + + +BytesRecvd + + +BytesSent + + +ClientHost + + +Flag + + +LogTime + + +Machine + + +Operation + + +Parameters + + +ProcessingTime + + +ServerIP + + +Service + + +ServiceStatus + + +Target + + +Username + + +Win32Status + + + + + Index: Prod/GADef/emKadBeslag.cls.xml =================================================================== diff -u --- Prod/GADef/emKadBeslag.cls.xml (revision 0) +++ Prod/GADef/emKadBeslag.cls.xml (revision 2) @@ -0,0 +1,354 @@ + + + + Afspraken i.v.m. Posities van Beslag en Boringen:
    +
    • +Standaard zijn posities STEEDS gemeten van Links (X), van Boven (Y) en vanaf de Rug (Z)
    • +AfstandRand is steeds relatief (t.o.v. de buitenrand van het profiel)
    • +Negatieve posities zijn gemeten van de tegenovergestelde kant:
      +| PosX < 0 ==> X = KD.Breedte - PosX
      +| PosY < 0 ==> Y = KD.Hoogte - PosY
      +| PosZ < 0 ==> Z = KD.ProfType.Dikte - PosZ
    • +De negatieve posities zijn
      + - te tonen als positieve waarden in de User Interface
      + - op te slaan in Caché als negatieve waarden
      + - in XML eveneens als negatieve waarden op te slaan met ev. een Attribute "omschrijving", bvb. "OMS=Van onderkant"
      + +
    +]]> +serial +%Library.SerialObject +0 + + +Res.PI.Beslag + + + +%Library.String + + + + +Positie van het scharnier ligt op de Y-as waarbij de deur geplaatst is in het vierde kwadrant + +"L" : Links, postie tov van linkse rand +"R" : Rechts, positie tov van rechtse rand +numeriek : volgnummer van de positie, alle posties vanuit één bepaald punt +Prod.GADef.emKadBeslagPos +array + + + + +WandDitke van de corpus. Bij klapscharen moet deze mee in +rekening gebracht worden voor de posities van de boringen. +%Library.Float + + + + +Berekent de positie van het beslag aan de hand van de opdek en de waarde van OffsOpdek. +1 +Opdek:%Float,OffsOpdek:%Float,WandDikte:%Float=0 +%Library.Float + + + + + +Berekent de opdek aan de hand van de positie van het beslag en de waarde van OffsOpdek. +1 +Pos:%Float,OffsOpdek:%Float,WandDikte:%Float=0 +%Library.Float + + + + + +Copy maken van het beslag in een nieuw object. +Verschillende CopyModes: "FullCopy" (=Default), "NoPos", "Empty" +CopyMode:%Library.String="FullCopy" +Prod.GADef.emKadBeslag +s (=emKadBeslagPos). + . Set CopyProptList="B" + Else If CopyMode="Empty" Do + . ; Leeg, alleen lege s aanmaken. + . Set CopyProptList="P" + Else Do + . ; CopyMode is onbekend of leeg. + . Set CopyProptList="" + . Quit ; Do + + Do:(CopyProptList["B") caNewObj.BeslagSetObjectId(%this.Beslag.%Id()) + If CopyProptList["P" Do + . ; Copy List of s + . Set PKey="" + . For Do %this.Positie.GetNext(.PKey) Quit:PKey="" Do + .. Set emBeslagPos=%this.Positie.GetAt(PKey) + .. If CopyProptList["PX" Set caoNewPos=emBeslagPos.CopyObject("FullCopy") + .. Else Set caoNewPos=emBeslagPos.CopyObject("Empty") + .. Do caNewObj.Positie.SetAt(caoNewPos,PKey) + + Quit caNewObj +]]> + + + +QtyStaffel:%Library.Integer,MuntPar:%Library.Float,DtlObj:Res.PI.emKostDetail,Opties:%Library.String,Omtrek:%Library.Float,Opp:%Library.Float,Volume:%Library.Float +%Library.Float + + + + + +Genereert VML-code voor elk object (emKadPosBeslag) in de array. +BeslagKey en GADefProd moeten mee doorgegeven worden. + +DevObj:%Library.String,BeslagKey:%Library.String,GADefProd:Prod.GADef.KaderDeur,Opties:%Library.String + + + + + +len) boorDist=boorDist_" - " ; Skip first time + . Set boorDist=boorDist_$ZABS(emBoor2.YPos-emBoor1.YPos)_" mm" + . Set emBoor1=emBoor2 + + Set boorDist=$S($L(boorDist)=len:"", 1:boorDist_")") ; $S(boorDist has not been changed since initialised, ...) + Quit boorDist + + +xmwTussenMaten(DevObj,GADefProd,BeslagKey) + Quit:(GADefProd.Toepassing.ItemID'="KD")||(BeslagKey'="S") + Quit:(%this.Positie.Count()'>0) + + New C,E,D1,D2,F,T,TussenM,OppositeL,N,i + Set OppositeL=GADefProd.Hoogte + Set N=%this.Positie.Count() + + Set TussenM="(#="_N_") " + Set:(N>1) C=%this.Positie.GetAt(1).LengtePos + Set:(N>1) E=OppositeL-%this.Positie.GetAt(N).LengtePos + If N=2 Do + . Set TussenM="C:"_C_", E:"_E + Else If N=3 Do + . Set D1=%this.Positie.GetAt(2).LengtePos-%this.Positie.GetAt(1).LengtePos + . Set D2=%this.Positie.GetAt(3).LengtePos-%this.Positie.GetAt(2).LengtePos + . Set TussenM="C:"_C_$S(D1=D2:", D:"_D1, 1:", D1:"_D1_", D2:"_D2)_", E:"_E + Else If N=4 Do + . Set D1=%this.Positie.GetAt(2).LengtePos-%this.Positie.GetAt(1).LengtePos + . Set F=%this.Positie.GetAt(3).LengtePos-%this.Positie.GetAt(2).LengtePos + . Set D2=%this.Positie.GetAt(4).LengtePos-%this.Positie.GetAt(3).LengtePos + . Set TussenM="C:"_C_$S(D1=D2:", D:", 1:", D1:")_D1_", F:"_F_$S(D1=D2:"", 1:", D2:"_D2)_", E:"_E + Else If N>4 Do + . ; Calculate sequential interdistances + . Set TussenM="C:"_C + . For i=1:1:N-1 Do + .. Set T(i)=%this.Positie.GetAt(i+1).LengtePos-%this.Positie.GetAt(i).LengtePos + .. Set TussenM=TussenM_", T"_i_":"_T(i) + . Set TussenM=TussenM_", E:"_E + Else Do + . Set TussenM="" + . Quit + + Do:(TussenM'="") TAGWRITE^XMLWRITE(DevObj,"TUSSENMATEN",TussenM) + + Quit +]]> + + + +%Library.CacheSerialState +emPSScharnierState +^Prod.GAD.emKadBeslagS + + +AfstandBoorMaat + + +Beslag + + +Positie + + +Opmerking + + +WandDikte + + + + + Index: Res/PI/Taal.cls.xml =================================================================== diff -u --- Res/PI/Taal.cls.xml (revision 0) +++ Res/PI/Taal.cls.xml (revision 2) @@ -0,0 +1,84 @@ + + + + +Taal lijst +persistent +Res.PI.Abstract,%Library.Persistent + + +1 +1 +ItemID +1 + + + + +Geeft het ID van de default Taal. +1 +%Library.String + + + + + +Geeft het object van de default Taal. +1 +Res.PI.Taal + + + + +%Library.SQLQuery +() +SELECT ItemID, Omschrijving, VolgNr +FROM Res_PI.Taal +ORDER BY VolgNr + + + + + + +%Library.CacheStorage +^Res.PI.Items("TAALD") +TaalDefaultData +^Res.PI.Items("TAALD") +^Res.PI.Items("TAALI") +^Res.PI.TaalS + + +Omshcrijving + + +Omschrijving + + +VolgNr + + + +%%CLASSNAME +node +0 + + +TaalOms +subnode +"TO" + + + + Index: BL/PR/GA/TandemBox.cls.xml =================================================================== diff -u --- BL/PR/GA/TandemBox.cls.xml (revision 0) +++ BL/PR/GA/TandemBox.cls.xml (revision 2) @@ -0,0 +1,1831 @@ + + + +PRGACNTs,BL.EC.Common +BL.Lib.BaseObj +0 + + +75 + + + +%String + + + +%Library.String +1 +1 + + + +%Library.String +1 +1 + + + +%Library.String +array + + + +%Library.String +1 +1 + + + +%Library.Integer + + + +%Library.String +1 +1 + + + + +METHODS +======= + +Method Initialize() : Updated by WimV on 02/02/2010 +The new implementation uses the FilterDC on the BT-Items, to build the lookups (BTExtent + BTDep + ...) +Therefore this method requires that the DesignCode (DC) is known +The DC can be passed directly by Param DC, or can be calculated from Design DS +If called without arguments, then the DC must already be set in the property blTBox.DC +DC:%String,DS:%String="" +1 +0) + ;New i + Kill BTExtent(ClassN) + For i=1:1:$LL(lbIDs) Set BTExtent(ClassN,"Val",$LI(lbIDs,i))=$LB(i,$LG(lbOms,i)) + Set BTExtent(ClassN)=lbIDs + Quit + */ +]]> + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| LOOK UP TABLES | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +%Library.List + + + + + +Vult de Multi-dimensional property "Lookup" in +1 + + + + + +Bouwt de lookup array: +===== == ====== ===== + BTExtent("TBDesign")=$LB("G","W",...) + BTExtent("TBGlijderType")=$LB("E","V") + ... + +1 +0) + . . . Set lbIDs=lbIDs_$LB(rs.Data("ItemCode")) Set BTExtent(ClassN,"Val",rs.Data("ItemCode"))=$LB(rs.Data("VolgNr"),rs.Data("Omschrijving"),rs.Data("ID")) ; ,rs.Get("FilterDC")) + . . . ;Set lbIDs=lbIDs_$LB(rs.Data("ID")) Set BTExtent(ClassN,"Val",rs.Data("ID"))=$LB(rs.Data("VolgNr"),rs.Data("Omschrijving"),rs.Data("ItemCode")) ; ,rs.Get("FilterDC")) + . Else Do + . . For Quit:('rs.Next()) Set lbIDs=lbIDs_$LB(rs.Data("ID")) Set BTExtent(ClassN,"Val",rs.Data("ID"))=$LB(rs.Data("VolgNr"),rs.Data("Omschrijving")) + . Do rs.%Close() + . Set rs="" + . Set BTExtent(ClassN)=lbIDs + Quit +]]> + + + +, , )=$LB() + BTDep("TBDesign","BTGlijderType","G")=$LB("E","V") + ,"W")=$LB("V") + , ... + BTDep("TBDesign","BTZijwand","G")=$LB("N","M","K") + ,"W")=$LB("N","M") + , ... + BTDep("TBDesign","BTRugHoogte","G")=$LB("N","M","K","C","B","D") + ,"W")=$LB("N","M","B","D") + , ... + ...]]> + +1 + "_$S($L(SourceVal):$$$LCVT($G(BTDep(Source,Target,SourceVal))),1:"")) + Quit +]]> + + + + +Vult de Multi-dimensional property "SpecTabs" in. +"SpecTabs" zijn Speciale Tabellen die extra beperkingen opleggen aan bepaalde kenmerken. +1 + + + + + +Zie ..BuildLookupLCode() method +1 + +1 + + + + + +Oproepen via + Do ##class(BL.PR.GA.TandemBox).BuildLCodeArray(.arLC) +1 + +1 + + + + + +Vult de Multi-dimensional property "Lookup" aan. + +1 + + + + + +Bouwt een array op van de TBDesign-elementen met de BeperkTemplateCode. +Adh. hiervan wordt bepaald of een gekozen design bij één of meerdere templates voorkomt. +1 + +1 + + + + + +Geeft een lijst terug van de toegelaten waarden (lbIDs), die beperkt zijn door de waarde van andere BTItems. +Target : is het BTItem waarvan de toegelaten IDs gevraagd wordt +arValues : [optioneel] array van andere BTItems. Deze leggen de beperking(en) op de gevraagde lijst. + Indien de (volledige) array niet gedefinieerd is, dan wordt de ..BTValues array-property gebruikt +PrepareLUs : 0/1 (Boolean, default=1) als de LookUps nog niet voorbereid zijn, BTExtent en BTDep opbouwen. +Target:%Library.String,arValues:%Library.String,PrepareLUs:%Library.Boolean +1 +%Library.List +1 +#define ValFromArray(%v) $G(arValues(%v)) +#define ValFromBLObj(%v) ..BTValues.GetAt(%v) + Quit:($$bpiPrepareLU=0) "" + ;New lbIDs,BeperkBT + Set lbIDs=..BTExtent(Target) + Set BeperkBT="" + For Set BeperkBT=$O(..BTExtent(Target,"Dep",BeperkBT)) Quit:(BeperkBT="") Do + . Set BeperkVal=$S($$$UseArray:$$$ValFromArray(BeperkBT), 1:$$$ValFromBLObj(BeperkBT)) + . Quit:(BeperkVal="") + . Set lbIDs=$$bpiCommonItems(lbIDs, ..BTDep(BeperkBT,Target,BeperkVal)) + Quit lbIDs +bpiCommonItems(lbOne,lbTwo) ; Berekent de doorsnede van de listbuild (= gemeenschappelijke items) + ;New i,tmpLB + Set tmpLB="" + For i=1:1:$LL(lbOne) Set:($LF(lbTwo,$LI(lbOne,i))>0) tmpLB=tmpLB_$LB($LI(lbOne,i)) + Quit tmpLB +bpiPrepareLU() + ; Geeft 0 terug als BTExtent en BTDep niet ingevuld zijn en ook niet mogen opgebouwd worden. Anders 1. + ;New BTDep,BTExtent + If $D(..BTExtent(Target)) Do + . ; Already prepared + Else If $G(PrepareLUs,1) Do + . Do ..BuildBTExtent(.BTExtent) + . Merge ..BTExtent=BTExtent + Else Quit 0 + If $D(..BTDep) Do + . ; Already prepared + Else If $G(PrepareLUs,1) Do + . Merge:('$D(BTExtent)) BTExtent=..BTExtent + . Do ..BuildBTDepend(.BTDep,.BTExtent) + . Merge ..BTDep=BTDep + Else Quit 0 + Quit 1 +]]> + + + +1 +KLNr:%String +1 +%Library.String + + + + +1 +KLNr:%String,sDomVERW +1 +%Library.String + + + + + +Returns %String: "True", "False" of "ASK" +1 +Verpakking:%String +1 +%String + + + + +1 +blnBinnenLade:%Boolean=0 +1 +%List + + + + + "*", the returned $LB() contains the default values + Defaults = $LB( KL , KB , KR , KX , KV , DC ) ]]> +1 + +1 +%List + + + + + +Fills the empty properties (KL,KB,RK,KX,KX,KV,DC) from TBXLade (new structure) with default values + +NOTE : this method should be placed in BL.Prod.GAData.TBXLade +1 +TBXLade:%RegisteredObject +1 +%Status + + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| BEREKENDE WAARDEN | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +1 +CB:%Library.Float,WD:%Library.Float,OPVLLI:%Library.Float,OPVLRE:%Library.Float,MTIB:%Library.Float +%Library.Float + + + + +1 +WD:%Library.String +%Float + 0 , dan CB als buitenmaat opgegeven, dan MinTolerantie 1mm toepassen +]]> + + + +1 +WSLn:WS.TBX.EM.OrderLijn +1 +%Float + + + + + +spID moet reeds omgerekend zijn van ItemCode naar ItemID ! +1 +spID:%String,IB:%Float,AftrekLadeProf:%Float=..#AftrekLadeProfDFL,DC:%String +1 +%Float +0) objSP.Parameters.GetAt("SPBR") + + Quit:(+$G(IB)=0) 0 + Set BrSP=IB-AftrekLadeProf-objSP.Parameters.GetAt("ZKLI")-objSP.Parameters.GetAt("ZKRE") + Quit $S(BrSP>0:BrSP, 1:0) +]]> + + + + +Parameters: + - IB verplicht + - SPZLI - SPBR - SPZRE : als 2 van de drie opgegeven, dan wordt de derde berekend; indien slechts 1 van de 3, dan worden de 2 andere berekend (symmetrische situatie) + De waarden worden teruggegeven via de parameters zelf, dus als .local doorgeven. +1 + +1 +%Status +0)&&($G(SPBR)>0)&&($G(SPZRE)>0) $S(SPBR=$$spmCalcSPBreedte():$$$OK, 1:$$$ERROR($$$GeneralError,"SPB op Maat : ongeldige maten voor SPZK en SPBR.")) + ; Mogelijke berekeningen: + If ($G(SPZLI)'>0)&&($G(SPZRE)'>0) Do ; Symmetrisch, SPBR is specified + . Set SPZLI=$$spmCalcSPZijkant(SPBR) + . Set SPZRE=SPZLI + Else If ($G(SPZLI)>0)&&($G(SPZRE)>0) Set SPBR=$$spmCalcSPBreedte() + Else If ($G(SPBR)>0)&&($G(SPZLI)>0) Set SPZRE=$$spmCalcSPZijkant(SPBR,SPZLI) + Else If ($G(SPBR)>0)&&($G(SPZRE)>0) Set SPZLI=$$spmCalcSPZijkant(SPBR,SPZRE) + Else If ($G(SPZLI)>0) Do ; Symmetrisch, SPZRE en SPBR te berekenen + . Set SPZRE=SPZLI + . Set SPBR=$$spmCalcSPBreedte() + Else If ($G(SPZRE)>0) Do ; Symmetrisch, SPZLI en SPBR te berekenen + . Set SPZLI=SPZRE + . Set SPBR=$$spmCalcSPBreedte() + Quit $$$OK + +spmCalcSPBreedte() + Set BrSP=IB-AftrekLadeProf-SPZLI-SPZRE + Quit $S(BrSP>0:BrSP, 1:0) +spmCalcSPZijkant(SPBR,SPZK) + If $G(SPZK)>0 Do + . Set BrZK=(IB-AftrekLadeProf-SPBR)-SPZK + Else Do ; Symmetrisch + . Set BrZK=(IB-AftrekLadeProf-SPBR)/2 + Quit $S(BrZK>0:BrZK, 1:0) +]]> + + + +blnBX:%Library.Boolean=0,VoorkeurID:%Library.String +1 +%Library.String +0) VoorkeurID + Quit:(blnBX=1)&&($LF(lbIDs,$$$BX1)>0) $$$BX1 + Quit:(blnBX=1)&&($LF(lbIDs,$$$BX2)>0) $$$BX2 + Quit $LI(lbIDs,1) +]]> + + + + +Geeft de (gebruikers)code van het ORGALUX product terug +1 +PRNr:%String +1 +%String + + + + +1 +LadeCode:%String +1 +%String + + + + + +Geeft de hoogte van de binnenzijwand van een spoelbaklade. +Later kan deze waarde eventueel als input-waarde gegeven worden, i.p.v. berekend (bvb indien keuze tussen meerdere hoogtes mogelijk) +1 +LadeCode:%String,DC:%String,SPZK:%String="" +1 +%String + + + + + +Geeft aantal uitsparingen in een spoelbaklade of sifonlade terug. +De parameter Klasse als .local doorgeven om het soort lade te kennen +1 + +1 +%String + + + + + +Geeft de DesignCode (S, I, B, F, MA) voor de gegeven DS. +1 +dsID:%String +1 +%String + + + + +S" : Bij voorkeur F-design, anders S-design of andere. + "S>F" : Bij voorkeur S-design, anders F-design of andere. + code : DesignCode ("S", "F" of "B"), dan enkel het design dat exact overeenkomt. ]]> +LadeKleurID:%String,BeperkDesignCode:%String="" +1 +%Library.String +S" Do + . ; Eerst enkel F-design zoeken + . For i=1:1:$L(dsIDs,";") Do Quit:(dsID'="") + . . Set:($LG(..BTDep("TBDesign","TBDesignCode",$P(dsIDs,";",i)),1)="F") dsID=$P(dsIDs,";",i) + . ; Indien niet gevonden, dan gewoon de eerste nemen + . Set:(dsID="") dsID=$P(dsIDs,";",1) + Else If BeperkDesignCode="S>F" Do + . ; Eerst enkel S-design zoeken + . For i=1:1:$L(dsIDs,";") Do Quit:(dsID'="") + . . Set:($LG(..BTDep("TBDesign","TBDesignCode",$P(dsIDs,";",i)),1)="S") dsID=$P(dsIDs,";",i) + . ; Indien niet gevonden, dan gewoon de eerste nemen + . Set:(dsID="") dsID=$P(dsIDs,";",1) + Else Do + . For i=1:1:$L(dsIDs,";") Do Quit:(dsID'="") + . . Set:($LG(..BTDep("TBDesign","TBDesignCode",$P(dsIDs,";",i)),1)=BeperkDesignCode) dsID=$P(dsIDs,";",i) + Quit dsID +]]> + + + + +Geeft Template-Codes terug die mogelijk zijn voor het gegeven Design +dsID:%String +1 +%Library.String + + + + + +Conversie van LadeCode en BoxSide +1 +LadeCode,BoxSide,Design,BinnenGreep,SPZK +1 + + + + + +Geeft de ImageURL voor de foto van de lade terug (berekening via BL.Prod.ImageLink) +Toepassing = "WEB" of "MAKOVA" +LadeCode is verplicht +BoxSide of reling : indien "" dan wordt de default Boxside/Reling voor deze LadeCode gekozen +Design is belangrijk voor Intivo +BinnenGeep is optioneel, belangrijk voor Inschuifelement bij binnenladen DL/Z en CL/Z +SPZK is belangrijk voor dubbele sifonlade +1 +Toepassing:%String,LadeCode:%String,BoxSide:%String,Design:%String,BinnenGreep:%String,SPZK:%String +1 + + + + + +Geeft een $LB() terug. [formaat: $LB(key,value,key2,value2, ...) ] +In WS.TBX.OrderLijn wordt de LB omgezet naar een %ArrayOfStrings. +1 +WSOrdLn:WS.TBX.EM.OrderLijn,lbArgs:%List +0 +%List +520) + #define Vertaal(%v) ##class(Res.Vertaling).GetVertalingPlus("TBW",%v,"L",actTaal,,1) + ;#defin isBulkVPK_old (WSLn.ItemVPK?1(1"P",1"C",1"O")) + + Quit:('$G(WSOrdLn)) + New WSLn,actTaal,DC,SPZKpc1,BlumotionVTL,SPZijkantVTL,SPZijkantVTL2,tmpLB + Set WSLn=WSOrdLn + Set actTaal=$G(Taal,"N") + Set DC=WSLn.ItemDC + Set SPZKpc1=$P(WSLn.ItemSPZK,";",1) + Do + . If WSLn.ItemBM?1(1"I",1"v") Set BlumotionVTL="" + . Else If WSLn.ItemBM="T" Set BlumotionVTL=##class(cspBasis.GAProdTBox).WebTextValue("BM_T",actTaal,"L")_$S($$$TipOnSynchro:"+SYNCHRO",1:"") + . Else If WSLn.ItemBM?1(1"Z",1"") Set BlumotionVTL=##class(cspBasis.GAProdTBox).WebTextValue("BM_Z",actTaal,"L")_" blumotion" + . Else Set BlumotionVTL=##class(Prod.GAMeta.BT.TBBlumotion).TaalAfhOmsClass("",WSLn.ItemBM,actTaal,,,DC) + . + . Set SPZijkantVTL2="" + . If SPZKpc1="" Set SPZijkantVTL="" + . Else If SPZKpc1="M" Set SPZijkantVTL=##class(cspBasis.GAProdTBox).WebTextValue("SPZijstukken",actTaal,"L")_" (mm) "_$$$Replace($P(WSLn.ItemSPZK,";",2,3),";","_") + . Else If SPZKpc1?1(1"SI01") Do + . . Set SPZijkantVTL=##class(cspBasis.GAProdTBox).WebTextValue("SifonRugstukken",actTaal,"L")_" (mm) "_$$$Replace($P(WSLn.ItemSPZK,";",2,3),";","_") + . Else If SPZKpc1?1(1"SI03") Do + . . Set SPZijkantVTL=$$$FCase(##class(Prod.GAMeta.BT.TBSPZijkant).TaalAfhOmsClass("",SPZKpc1,actTaal,,,DC))_" "_$$$Replace($P(WSLn.ItemSPZK,";",2,3),";","_") + . Else If SPZKpc1?1(1"SI01.x2",1"SI03.x2") Do + . . Set SPZijkantVTL=$$$FCase(##class(Prod.GAMeta.BT.TBSPZijkant).TaalAfhOmsClass("",SPZKpc1,actTaal,,,DC)) + . . Set SPZijkantVTL2=##class(cspBasis.GAProdTBox).WebTextValue("SifonRugstukken",actTaal,"L")_" (mm) "_$$$Replace($P(WSLn.ItemSPZK,";",2,4),";","_") + . Else Do + . . Set SPZijkantVTL=$$$FCase(##class(Prod.GAMeta.BT.TBSPZijkant).TaalAfhOmsClass("",SPZKpc1,actTaal,,,DC)) + . + . Set ActieTeksten=WSLn.GeefActieTeksten(actTaal) + . + Set tmpLB="" + Set:(WSLn.ItemSTDL=$$$tbxCodeStdLade) tmpLB=tmpLB_$LB("STD",$$$Vertaal("StdLade")) ; ##class(cspBasis.GAProdTBox).WebTextValue("StdLade",actTaal,"L")) + Set:($L($$$Trim(WSLn.KlantRef)) ) tmpLB=tmpLB_$LB("KLREF","Uw ref: "_WSLn.KlantRef) + Set:($L(WSLn.ItemSPZK)) tmpLB=tmpLB_$LB("SPZK",SPZijkantVTL) + Set:($L(SPZijkantVTL2)) tmpLB=tmpLB_$LB("SPZK2",SPZijkantVTL2) + Set:(WSLn.ItemBM'="I" ) tmpLB=tmpLB_$LB("BM",BlumotionVTL) + Set:($$$SPBzonderMat ) tmpLB=tmpLB_$LB("ASM" ,$$$FCase(##class(cspBasis.GAProdTBox).WebTextValue("GeenMat",actTaal,"L"))) + Set:(WSLn.ItemASM?1A ) tmpLB=tmpLB_$LB("ASM", $$$FCase(##class(Prod.GAMeta.BT.TBMat).TaalAfhOmsClass("",WSLn.ItemASM,actTaal,,,DC))) + Set:($$$BGRPcond ) tmpLB=tmpLB_$LB("BGRP",$$$FCase(##class(Prod.GAMeta.BT.TBBinnenGreep).TaalAfhOmsClass("",WSLn.ItemBGRP,actTaal,,,DC))) + Set:(WSLn.ItemOLP>0 ) tmpLB=tmpLB_$LB("OLP","Orgalux: "_##class(BL.PR.GA.TandemBox).CalcOLProdCode(WSLn.ItemOLP)) + Set:(WSLn.ItemSB>0 ) tmpLB=tmpLB_$LB("SB",##class(cspBasis.GAProdTBox).WebTextValue("Stabilisator",actTaal,"L")) + Set:($$$FScond ) tmpLB=tmpLB_$LB("FS", $$$FCase(##class(Prod.GAMeta.BT.TBFrontSteun).TaalAfhOmsClass("",WSLn.ItemFS,actTaal,,,DC)) ) ; ##class(cspBasis.GAProdTBox).WebTextValue("Frontsteun",actTaal,"L")_": "_WSLn.ItemFS) + Set:($$$DWVcond ) tmpLB=tmpLB_$LB("DWV", $$$FCase(##class(Prod.GAMeta.BT.TBDwarsVerdeling).TaalAfhOmsClass("",WSLn.ItemDWV,actTaal,,,DC)) ) ; ##class(cspBasis.GAProdTBox).WebTextValue("Dwarsverdeling",actTaal,"L")_": "_WSLn.ItemDWV) + Set:($L(WSLn.ItemOPVL)) tmpLB=tmpLB_$LB("OPVL",##class(cspBasis.GAProdTBox).WebTextValue("Opvullijst",actTaal,"L")_": "_WSLn.ItemOPVL) + Set:($$$isBulkVPK ) tmpLB=tmpLB_$LB("VPK",##class(cspBasis.GAProdTBox).WebTextValue("VerpakBulk",actTaal,"L")_" - "_WSLn.ItemVPK) + Set:($IsObject(ActieTeksten)) tmpLB=tmpLB_$LB("ACTIE",ActieTeksten.GetNext("")) ; Moet uitgebreid worden naar alle acties, te overlopen met een iterator (added by WimV on 21/12/2010) + + Quit tmpLB +]]> + + + + +Geeft een $LB() met de leverweken terug +s lbWk=##class(BL.PR.GA.TandemBox).GetLeverWeken("N") w $$ListToCRLF^vhLib(lbWk),! +1 +Taal:%String="N" +%List + + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| Methods for Prod.GAData/GAMeta | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + + +1 + + + + + +1 + + + + + +1 + 0 als KLAS="SP", maar "SP" niet meer in gebruik. Bij nieuwe spoelbakken ("SP2") is AftrekLadeProf=0 + . If SPZLI_SPBR_SPZRE="" Do + . . Set objSP=##class(Prod.GAMeta.BT.TBSPZijkant).OpenViaItemCode(SPZK,DC) + . . Quit:('$IsObject(objSP)) + . . Set:(SPZLI'>0) SPZLI=objSP.Parameters.GetAt("ZKLI") + . . Set:(SPBR'>0) SPBR=objSP.Parameters.GetAt("SPBR") + . . Set:(SPZRE'>0) SPZRE=objSP.Parameters.GetAt("ZKRE") + . Set scSPBR=..CalcSPBreedtesOpMaat(IB,.SPZLI,.SPBR,.SPZRE,AftrekLP) + . If $$$ISERR(scSPBR) Do WL^vhDBG("SpoelbakBreedte fout in berekening : "_$$ParseStatus^vhLib(scSPBR)) + . If $$$ISERR(scSPBR) Set X=YYY ; Calculation must trigger an ERROR + . Do bwvAddToDataItem("SPZLI",SPZLI) + . Do bwvAddToDataItem("SPBR",SPBR) + . Do bwvAddToDataItem("SPZRE",SPZRE) + + // Sifonlade D-hoogte heeft steeds B-rug (geldt ook voor C-hoogte) + If (KLAS="SY")&&(RH?1(1"D",1"C",1"G")) Do ; If LC?1(1"DY",1"DY/Z",1"DLY",1"DLY/Z",1"CLY",1"CLY/Z",1"CMY",1"CMY/Z") Do + . Quit:($L($G(Product.LookUp("PL","RSTL")))) + . Set BT="RSTL" ; TBRugStukVerlaagd + . Set BTVal="B" + . Do bwvAddToDataItem(BT,BTVal) + + If KLAS="SP2" Do + . Set RSTL=$G(Product.LookUp("PL","RSTL")) + . Set BinnenZijwandVolgtRSTL=0 ; conditioneel, afhankelijk van de UI (bvb Antaro BS2) + . If ($L(RSTL))&&(BinnenZijwandVolgtRSTL) Do + . . Do bwvAddToDataItem("SPZBINHOOGTE",RSTL) + . Else Do + . . Set BT="SPZBINHOOGTE" ; SpoelbakZwBinHoogte + . . Set BTVal=..CalcSPZijwandHoogte(LC,DC,SPZK) + . . Do bwvAddToDataItem(BT,BTVal) + . . + . . ; Rugstuk Verlaagd invullen als de verhoogde binnenzijwand niet gelijk aan de verhoogde ladezijwand + . . If BTVal'=RH Do + . . . Set SPZBINHOOGTE=BTVal + . . . Set BT="RSTL" ; TBRugStukVerlaagd + . . . Set BTVal=SPZBINHOOGTE + . . . Do bwvAddToDataItem(BT,BTVal) + + Set BT="KSP" ; TBSpoelbakKleur + Set KSP=$G(Product.LookUp("PL","RK")) ; $$$PLp("TBRelingKleur") + Set BTVal=$S((KSP="WI")||(KSP="CR"):"IN",(KSP="AL")||(KSP="SA"):"MG",1:KSP) + Do bwvAddToDataItem(BT,BTVal) + + Set BT="IsSR" ; IsStalenRug + Set BTVal=$S($G(Product.LookUp("PL","SR"))="Z":0, 1:1) ; $G(Product.LookUp("PL","SPZK"))'?1(1"S",1"B",1"S2",1"B2"):0, 1:1) ; $$$PLp("TBStalenRug") + Do bwvAddToDataItem(BT,BTVal) + + // DEPRECATED - is nooit echt gebruikt, enkel in development. + ;Set BT="FD" ; Frontdesign + ;Set BTVal=$S($G(Product.LookUp("PL","LT"))="L":"",$G(Product.LookUp("PL","DC"))="I":"I", 1:"S") + ;Do Product.SetItemValByPL(BT,BTVal) ;Do bwvAddToDataItem(BT,BTVal) + + Set BT="Staffel" + Set BTVal=$$bwvCalcStaffel(..Qty) + Do bwvAddToDataItem(BT,BTVal) + + Set BT="PRO" ; IsPRO + Set VPK=$G(Product.LookUp("PL","VERPAK")) ; $$$PLp("Verpakking") + Set BTVal=$S(VPK?1(1"P",1"I",1"A",1"C",1"O",1"B"):1, 1:0) + Do bwvAddToDataItem(BT,BTVal) + + Do Product.BuildLookUp($LB("PL")) + Quit +bwvCalcStaffel(Qty) + Quit $S(Qty<10:1,Qty>50:Qty,1:Qty\10*10) ;Qty tussen 1 en 50 in stappen van 10 +bwvAddToDataItem(PL,BTVal) + Do:($L(PL)&&$L(BTVal)) Product.SetItemValByPL(PL,BTVal) + Quit +]]> + + + + +Berekent de Verpakkingskenmerken en vult de waarden in de INPUT data-items van Product in. +arValuesSrc : bepaalt uit welke bron de KenmerkWaarden gehaald worden. + - BL : [default] haalt waarden uit BL-object : ..BTValues.GetAt(kenm) + - PROD : haalt waarden uit data-items van Product + - ARRAY : arValuesSrc bevat subnodes voor de nodige waarden + - "" : hoofdnode is leeg; indien subnode dan ARRAY, anders BL [default] + +0 +0) $LI(lbEmpty,Pos)="" ; KMNaam wissen + For i=1:1:$LL(lbEmpty) Set:($L($LI(lbEmpty,i))) lbData=lbData_$LB($LB($LI(lbEmpty,i),"")) ; toevoegen indien niet leeg + Quit +]]> + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| BTValues bewerkingen | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + + + + + + +Vult de Waarde v/e BT-item in ..BTValues in + bepaalt de beperkingen op de hiervan afhankelijke ListItems (i.e. gekoppelde Popup's via BeperkGUI) +De array BTValues bevat de mogelijke waarden van deze gekoppelde ListItems ("I"-subnode) en eventueel gewijzigde waarde van +BT-items ("V"-subnode) ten gevolge van PropagatieType +Structuur van BTUpdates: (als .local doorgeven) + BTUpdates("I","TBFrontSteun")=$LB(1,0) + BTUpdates("I","TBBoxSide")="ZR" + ... + BTUpdates("V","TBFrontSteun")=0 + BTUpdates("V","TBGlijderType")="V" + ... + +0 +$$$MaxLoop) + Quit:(Source="")||('$D(BTDep(Source))) + Set:('$D(Val)) Val=..BTValues.GetAt(Source) + ;W !,$J("",4*(CntLoop-1))_"BEGIN Restrict with "_Source_" = "_Val_" (Loop:"_CntLoop_") PT:"_PropagatieType,! + ;d WL^vhDBG($J("",4*(CntLoop-1))_"BEGIN Restrict with "_Source_" = "_Val_" (Loop:"_CntLoop_") PT:"_PropagatieType) + New SourceDep,Target,tmpDep,i,TargetVal + New lbIDs,BeperkBT,BeperkVal,BeperkLB + Set Target="" + Kill tmpDep + For Set Target=$O(BTDep(Source,Target)) Quit:(Target="") Do + . Set tmpDep($LF(lbClasses,Target))=Target + ; tmpDep bevat een gesorteerde lijst van de Targets volgens prioriteit in + ;d WL^vhDBG("$O(BTDep(Source,Target))="_$O(BTDep(Source,Target))_" tmpDep: "_$$ArrayToText^vhLib("tmpDep")) + Set i="" + For Set i=$O(tmpDep(i)) Quit:(i="") Do + . Set Target=tmpDep(i) + . Quit:(Target=BTNaam) ; Initieel aangepaste BeperkBT (door BTValueSet()) + . Set TargetVal=$G(tmpValues(Target)) + . Do bvsBeperkIDs + . ;w $J("",4*(CntLoop-1))_"beperking op "_Target_" Items:"_$$LCVT^vhLib(lbIDs)_" Orig TargetVal:"_TargetVal ,! + . ;d WL^vhDBG($J("",4*(CntLoop-1))_"beperking op "_Target_" Items:"_$$LCVT^vhLib(lbIDs)_" Orig TargetVal:"_TargetVal) + . Set BTUpdates("I",Target)=lbIDs + . If $$bvsValueUpdated Do + .. Set BTUpdates("V",Target)=TargetVal + .. Set tmpValues(Target)=TargetVal + .. Do bvsRestrictBT(Target,TargetVal,CntLoop+1) + Quit +bvsBeperkIDs + Set lbIDs=BTExtent(Target) + Set BeperkBT="" + ;d:($D(MApplication)) WL^vhDBG($$ArrayToText^vhLib("BTDep")) + For Set BeperkBT=$O(BTExtent(Target,"Dep",BeperkBT)) Quit:(BeperkBT="") Do + . Set BeperkVal=$G(tmpValues(BeperkBT)) + . Quit:(BeperkVal="") + . ;d:($D(MApplication)) WL^vhDBG("B "_BeperkBT_" "_Target_" "_BeperkVal) + . Set BeperkLB=BTDep(BeperkBT,Target,BeperkVal) + . Set lbIDs=$$bvsCommonItems(lbIDs,BeperkLB) + Quit +bvsCommonItems(lbOne,lbTwo) + New i,tmpLB + Set tmpLB="" + For i=1:1:$LL(lbOne) Set:($LF(lbTwo,$LI(lbOne,i))>0) tmpLB=tmpLB_$LB($LI(lbOne,i)) + Quit tmpLB +bvsValueUpdated() + Quit $CASE(PropagatieType, $$$ptEmpty:$$bvsValueUpdatedEMPTY, $$$ptAll:$$bvsValueUpdatedALL, :0) +bvsValueUpdatedEMPTY() + If $L(TargetVal)&&($LF(lbIDs,TargetVal)=0) Do Quit 1 + . Set TargetVal="" + Else Quit 0 + Quit 0 +bvsValueUpdatedALL() + If ($LL(lbIDs)=1)&&(TargetVal'=$LI(lbIDs,1)) Do Quit 1 + . Set TargetVal=$LI(lbIDs,1) + Else If $L(TargetVal)&&($LF(lbIDs,TargetVal)=0) Do Quit 1 + . Set TargetVal="" + Else Quit 0 + Quit 0 +]]> + + + + +SepID is de string tussen het ID en de Oms (bvb.: "WS - Wit std"); Als SepID="0", dan geen ID vooraan. ]]> +BTNaam:%Library.String,lbIDs:%Library.List,SepID:%Library.String=" - " +1 +%Library.String + + + + + +1 + + + + +1 +%String + + + + +1 +DK:%String,LD:%String,BM:%String +1 +%String + + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| (Verpakkings)kenmerken bewerkingen | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +Filtert KenmerkArray op kenmerken: dwz. alleen kenmerken van de groep worden +1 +KMSpecs:%String,KMDefaults:%String +1 +%String + + + + +GroepID:%String,Kenmerk:%String,lbNegeerKM:%List +0 +%Library.List + + + + + +Bij IncludeUndefs=1 worden producten waarbij een kenmerk niet gedefinieerd is (lees: niet van toepassing is), +toch opgenomen in de lijst.]]> +1 + +0 + + + + +]]> +1 + +%Library.List + + + + + +KenmerkArray als .Local doorgeven.]]> +1 + +1 + + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| Import/Export from external sources | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +Uitleg: zie ..BuildFromWSNew() +Het BL-TBox object moet reeds geïnstantieerd en geïnitialiseerd zijn. +Daarom steeds via de method ..BuildFromWSNew() oproepen. +WS:WS.TBX.Order,Opties:%Library.String +0 + + + + + +Maakt de TBox-producten aan vertrekkende van het WS-object. +Dit WS-object kan data bevatten voor meerdere TBox'en. +Opties: PRS=0/1/B ; SAV=0/1 ; KPR=0/1 +Dit is een class-method, in tegenstelling tot "BuildFromWS()". +1 +WSOrd:WS.TBX.Order,Opties:%Library.String +0 + + + + + +Gaat de consistenties van WSOrd.Lijnen na. +Als er inconsistenties zijn, worden deze teruggegeven via de array "arErrs". +1 +WSOrd:WS.TBX.Order,arErrs:%String,Taal:%String="N" +0 +%Boolean + + + + + +Omzetten van WSOrder data naar Offerte.Hoofding+Lijnen +Geeft als resultaat $LB(OffID,"") terug +De Kenmerken en enkele properties zijn reeds ingevuld, maar de producten (GAData+KPR) zijn nog NIET berekend. +1 +WSOrder:%String,Opties:%String,ClientAddress:%String +1 +%List + + + + + +WSOrdToWWW stuurt een WS.TBX.Order object naar de server. +Deze bewaart het order, zodat het later kan geopend worden via de TBoxWeb applicatie. + blnUpdate=0 : wordt steeds als nieuw object bewaard, krijgt dus nieuw ID (mID) + blnUpdate=1 : bestaand order (mID) wordt overschreven +Geeft als resultaat terug : $LB(wsID, KLNr, qsREF, FullUrl, Taal, sc) +1 +WSOrder:WS.TBX.Order,MsgNoAccess:%String="",Opties:%String,blnUpdate:%Boolean=1 +1 +%List + + + + + +Verwijderen van een WS.TBX.Order op de WWW-server. +Geeft als resultaat terug : 1 of 0 +1 +WSOrderID:%String +1 +%String + + + + + +Opvragen van het WS.TBX.Order object van de WWW-server. +Geeft als resultaat terug : WS.TBX.Order object of "" +1 +WSOrderID:%String +1 +WS.TBX.Order + + + + + +Aanpassen van een property-waarde van het WS.TBX.Order object op de WWW-server. +Geeft als resultaat terug : status "" (succes) of ErrorMsg +1 +WSOrderID:%String,ProptName:%String,ProptValue:%String +1 +%String + + + + Index: WS/TBX/DataIOWWW/WSOrdToWWW.cls.xml =================================================================== diff -u --- WS/TBX/DataIOWWW/WSOrdToWWW.cls.xml (revision 0) +++ WS/TBX/DataIOWWW/WSOrdToWWW.cls.xml (revision 2) @@ -0,0 +1,58 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.DataIOWWW + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +%Library.List + + + + + +WS.TBX.Order + + + + +%Library.String + + + + +%Library.String + + + + Index: csp/vhisie/TBX/Main/tmpDev.mac.rou =================================================================== diff -u --- csp/vhisie/TBX/Main/tmpDev.mac.rou (revision 0) +++ csp/vhisie/TBX/Main/tmpDev.mac.rou (revision 2) @@ -0,0 +1,1186 @@ +#include PRGACNTs +#include APPS.TBXWeb + +#define RefStartNew "\\\START" +#define IsAllowedBrowser(%v) (%v?1(.E1"MSIE".E,.E1"Firefox".E,.E1"Opera".E)) +#define IsAllowedMacBrowser(%v) (%v?1(.E1"Safari".E,.E1"Firefox".E,.E1"Opera".E)) +#define IsFireFox4Browser(%v) (%v?1(.E1"Firefox/4".E)) +#define IsOpera11Browser(%v) ((%v?1(.E1"Opera".E))&&(%v?1(.E1"Version/11".E))) +#define IsMSIE90Browser(%v) (%v?1(.E1"MSIE 9.0".E)) +#define IsRecentBrowser(%v) ($$$IsFireFox4Browser(%v)||$$$IsOpera11Browser(%v)||$$$IsMSIE90Browser(%v)) + +OnPreHTTP() +#define CSPPage ##class(%CSP.Page) +#define TaalDfl $S(blnHEIN:"D", blnLMC:"F", blnSFS:"D", 1:"N") +#define VerwHasAccess (VERW="VHEPN")||('blnVHEPN&&(VERW=sDomVERW)) + + New Ref,RefNew,RefArray,tmpRq,tmpTransfStatus,tmpBadQS,blnValidKlant + Set %RemoteIP=$G(%request.CgiEnvs("REMOTE_ADDR")) + Set %ClientIP=%RemoteIP ; IP voor DebugWindow + + Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev + ;d WL^vhDBG("Start PreHTTP: ") + ;d:($D(%session.Data("TransfStatus")))&&($D(%request.Data("TRANSF",1))) WL^vhDBG("Init TransfStatus: "_%session.Data("TransfStatus")) + Set:($D(%session.Data("TransfStatus")))&&($D(%request.Data("TRANSF",1))) tmpTransfStatus=%session.Data("TransfStatus") + Kill %session.Data + ;d:($D(tmpTransfStatus)) WL^vhDBG("tmpTransfStatus: "_tmpTransfStatus) + Set:($D(tmpTransfStatus)) %session.Data("TransfStatus")=tmpTransfStatus + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal="E" + Set blnNoAccess=(sDomVERW="") ; ONBEKEND DOMEIN - NIET TOEGELATEN !!! + Quit:(blnNoAccess) 1 + Set blnVHEPN=(sDomVERW="VHEPN") + Set blnHEIN=(sDomVERW="HEIN") + Set blnLMC=(sDomVERW="LMC") + Set blnDUPO=(sDomVERW="DUPO") + Set blnHELMY=(sDomVERW="HELMY") + Set blnHFLE=(sDomVERW="HFLE") + Set blnSFS=(sDomVERW="SFS") + Set blnMBHO=(sDomVERW="MBHO") + Set Taal=$G(%request.Data("Taal",1),$$$TaalDfl) + If ($$$LCase(Taal)?1"http:".E) Do ; attempt to hack the website + . Set tmpBadQS="Taal="_Taal + . Set Taal="E" + ;Set %session.Data("Taal")=Taal + Set HIST=$G(%request.Data("HIST",1),0) + Set blnHist=0 ; ($G(HIST)>0) + Set MainMode=$G(MainMode,$$$mmToggleHistOrd) + ;Set MainMode=$G(MainMode,$$$mmAllowTogether) + Set Ref=$G(%request.Data("REF",1)) + Set RefNew=$G(%request.Data("REF",1),$$$RefStartNew) ; Als REF niet meegegeven is, StartNew (dfl) gebruiken + Set %session.Data("BeursUser")=(blnVHEPN)&&##class(cspBasis.GAProdTBox).IsBeursUser() + If 1,($$$LCase(Ref)?1"http:".E) Do ; attempt to hack the website + . Set tmpBadQS="Ref="_Ref + + ; Convert QueryString to Array: tmpRq(name)=value + Set name="" + For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) + Kill tmpRq("CSPToken") + ; URL from OPTIMA (?) + Do ophDataOPTIMA + ; Analyse REF + Set Ref=$$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref) ; Get Ref decrypted + ;Set:(Ref="")&&($L(RefNew)) Ref=RefNew + If $L(Ref) Do + . Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.RefArray) + . Set:($G(RefArray("VERW"))="") RefArray("VERW")=sDomVERW + . Set VERW=RefArray("VERW") + . Set KLNr=$G(RefArray("KLNR")) + . Set wsID=$G(RefArray("WSID")) + . + . Quit:($$$Not(blnLMC||blnSFS||blnMBHO)) + . ; Alleen voor OPTIMA / SFS --> KlantNr from Data/Storage + . If $L($G(KLNrOptima)) Do + . . Set KLNr=KLNrOptima + . . Set RefArray("KLNR")=KLNr + . . Set Ref=$$ophArrayToRef^cspBasis.TBX.DecodeURL.tmpDev(.RefArray) + . . Set:($L($G(tmpRq("REF")))) tmpRq("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,$G(RefArray("MODE")))) + . . Kill tmpRq("DATAOPT") + . . ;Do ophBuildSwitchTLArray ; Once again, but with the NEW QueryString-values + . Else If ($IsValidNum(KLNr))&&($G(%request.Data("Taal",1))="") Do + . . Set KLMini=##class(cspBasis.GAProdTBox).GetKlantData(sDomVERW,KLNr,$LB("Stg","NoAction")) + . . Set:($IsObject(KLMini))&&(KLMini.Taal?1(1"N",1"F",1"E",1"D")) Taal=KLMini.Taal + . . Set KLMini="" + Else Do + . Set KLNr="" + + ; HRefs to switch Taal + Set tmpRq("Taal")=Taal + Set %session.Data("Taal")=Taal + Do ophBuildSwitchTLArray + + Quit:($$ophWebSiteBlocked()) "" + // Else continue... + + If ($L($G(tmpBadQS))) Do Quit 1 + . Set blnNoAccess=1 + . Set KLNr=$G(KLNr) + . Set sMode=$G(sMode,"START") + . Set wsID=$G(wsID) + . Set VERW=$G(sDomVERW,sDomVERW) + . Do ophAddToLog("!MAINPAGE!") + . Set msg="Invalid request URL parameter."_$$$CRLF_"Bad QueryString: "_tmpBadQS_$$$CRLF_"Ref="_$G(%request.Data("REF",1))_$$$CRLF_"Taal="_$G(%request.Data("Taal",1))_$$$CRLF_"!!! Page blocked - No access !!!" + . Do ophSendAlertMail(msg) + + Set WSOrd=$S($L($G(wsID)):##class(WS.TBX.Order).%OpenId(wsID), 1:0) + Do ophSetHeaderLogo(WSOrd) + If ($IsObject(WSOrd))&&($$$Not(WSOrd.IsBonTypeGeldig())) { + Set msg="WARNING : wrong BonType for TBX.Order ID="_wsID + Set msg=msg_$$$CRLF + Set msg=msg_$$$CRLF_" Het BonType van dit order moet manueel op OFF of BBON gezet worden. Mogelijk ook andere velden foutief (t.g.v. probleem met javascript)." + Set msg=msg_$$$CRLF_" De gebruiker kan de MainPage wel bekijken, maar kan zijn order niet doorsturen. Andere acties zullen waarschijnlijk ook falen." + Set msg=msg_$$$CRLF + Do ophSendAlertMail(msg) + } + + Set:($G(VERW)="") VERW=sDomVERW + Kill arShow + ; Analyse REF (part 2) + Set blnNoAccess=0 + Set sMode=$G(RefArray("MODE")) + If sMode="" { Set blnNoAccess=1 } + ElseIf sMode="START" { Do ophMMStart } + ElseIf sMode="COMPLETE" { Do ophMMComplete } + ElseIf sMode="PROCESS" { Do ophMMProcess } + ElseIf sMode="VIEW" { Do ophMMView } + ElseIf sMode="CONFIRM" { Do ophMMConfirm } + Else { Set blnNoAccess=1 } + Quit:(blnNoAccess) 1 + + ;set UseXMLHTTP=##class(%CSP.UserAgent).XMLHttpRequest(%request.UserAgent) + ;d WLIP^vhDBG(97,"%session.BrokerImplementation = "_%session.BrokerImplementation) + ;d WLIP^vhDBG(97,"use UseXMLHTTP = "_UseXMLHTTP) + + If %request.UserAgent?.E1"Macintosh".E Do + . Set blnAllowedBrowser=$$$IsAllowedMacBrowser(%request.UserAgent) + Else Do + . Set blnAllowedBrowser=$$$IsAllowedBrowser(%request.UserAgent) ; Browser list : MSIE, Firefox, Opera, Chrome, Safari + + If $$$IsRecentBrowser(%request.UserAgent) Do ; Added by WimV on 28/03/2011 + . Set %session.BrokerImplementation=2 ; use XMLHTTPRequest method + + If 'blnAllowedBrowser Do + . Set blnNoAccess=1 + . New sUserAgent + . Set sUserAgent=%request.UserAgent + . For iWB="Chrome","Safari","MSIE","Firefox","Opera" Set sUserAgent=$$$Replace(sUserAgent,iWB,""_iWB_"") + . Set NoAccessMsg="" + . Set NoAccessMsg=NoAccessMsg_"This website is not accessible when using ""Google Chrome"" or ""Safari"" .

    "_$$$CRLF + . Set NoAccessMsg=NoAccessMsg_"  The web browser you are using is:
      "_sUserAgent_"

    "_$$$CRLF + . Set NoAccessMsg=NoAccessMsg_$$$CRLF_"  Please use ""Internet Explorer"", ""Firefox"" or ""Opera"" as web browser." + . Do ophAddToLog("!MAINPAGE!") + . + Else If 0 && $$$IsFireFox4Browser(%request.UserAgent) Do ; Added by WimV on 28/03/2011 - Firefox 4 heeft problemen met hyperevents + . Set blnNoAccess=1 + . New sUserAgent + . Set sUserAgent=%request.UserAgent + . For iWB="Firefox/4" Set sUserAgent=$$$Replace(sUserAgent,iWB,""_iWB_"") + . Set NoAccessMsg="" + . Set NoAccessMsg=NoAccessMsg_" !!! TEMPORARY problems with the use of ""FireFox 4.0"" !!!

    "_$$$CRLF + . Set NoAccessMsg=NoAccessMsg_"  The web browser you are using is:
      "_sUserAgent_"

    "_$$$CRLF + . Set NoAccessMsg=NoAccessMsg_"  We are looking for a fix to work around this situation as soon as possible.
    "_$$$CRLF + . Set NoAccessMsg=NoAccessMsg_$$$CRLF_"  Please use ""Internet Explorer"", ""Firefox v3"" or ""Opera"" as web browser." + . Do ophAddToLog("!MAINPAGE!") + . + . + Else If (blnLMC||blnSFS||blnMBHO)&&($L($G(%request.Data("DATAOPT",1))))&&($G(KLNrOptima)="") Do ; Bad encryption for Optima/SFS customer + . Set blnNoAccess=1 + . Do ophAddToLog("!MAINPAGE!") + Quit:(blnNoAccess) 1 + Set blnNoAccess=$$$Not($$$VerwHasAccess) + Quit:(blnNoAccess) 1 + Do ophAnalyseWSOrdKLNr(WSOrd,KLNr,.blnNoAccess,.NoAccessMsg) ; andere parameters globaal doorgeven + Set:($L($G(NoAccessMsg)))&&(sMode'="PROCESS") NoAccessMsg="" ; Enkel tonen indien sMode="PROCESS" + Quit:(blnNoAccess) 1 + ; Else + Do ophAlgVoorw + Do ophAddToLog() + Quit 1 +ophAddToLog(Actie) ; meestal gebruikt via Default + Set Actie=$G(Actie,"MAINPAGE") + Set:(sMode="START")&&($G(blnHist)) sMode="HIST" ; &&(MainMode=$$$mmToggleHistOrd) + Set lbExtras="" + Set:('$G(blnAllowedBrowser,1)) lbExtras=lbExtras_$LB("WebBrowser="_%request.UserAgent) + Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,sDomain,KLNr,sMode,wsID,VERW,Taal,"",lbExtras) ; Actie="MAINPAGE" + Quit +ophWebSiteBlocked() + If '$$AppIsEnabled^cspBasis.Library("WWW-TBX","MAIN"_$S(blnSFS:"-SFS",1:""),%RemoteIP) Do Quit 1 + . Set KLNr=$G(KLNr), sMode=$G(sMode), wsID=$G(wsID), VERW=$G(VERW) + . Do ophAddToLog("#MAINPAGE#") + . Do RedirectPage^cspBasis.Library("/Under_Construction.htm") + Quit 0 +ophBuildSwitchTLArray + New TL,tmpAr + Merge tmpAr=tmpRq + For TL="N","F","E","D" Do + . If TL=Taal Do Quit + .. Set arUrl("SwitchTL",TL)=TL + . ; Else + . Set tmpAr("Taal")=TL + . Set arUrl("SwitchTL",TL)=""_TL_"" + Quit +ophSetHeaderLogo(WSOrd) + Quit:('$IsObject(WSOrd)) + Set WSLn=WSOrd.Lijnen.GetNext("") + Set:($IsObject(WSLn))&&(##class(BL.PR.GA.TandemBox).DesignCodeFromDS(WSLn.ItemDS)="I") HeaderLogo="" ; "I" + Quit +ophDataOPTIMA + Quit:(sDomVERW'?1(1"LMC",1"SFS",1"MBHO")) + Quit:($G(%request.Data("DATAOPT",1))="") + ;Quit:(sDomVERW'="LMC")||($G(%request.Data("DATAOPT",1))="") + New KLMini,tmpTaal,msg + Kill %OptimaMsg + Set KLMini=##class(cspBasis.GAProdTBox).GetKlantData(sDomVERW,"",$LB("Ext","CleanSave")) + ; In case of "Bad Encryption", try getting KLData from storage + If '$IsObject(KLMini) Do + . Set KLNr=$G(%OptimaVar("KLNr")) + . Set:($IsValidNum(KLNr)) KLMini=##class(cspBasis.GAProdTBox).GetKlantData(sDomVERW,KLNr,$LB("Stg","NoAction")) + . Set msg="WARNING : Bad encryption for "_$S(sDomVERW="LMC":"Optima",1:sDomVERW)_" customer (n� "_$G(KLNr)_")" + . Set msg=msg_$$$CRLF_"Ref : "_($$ophGetRef^cspBasis.TBX.DecodeURL.tmpDev(Ref))_$$$CRLF_"Enc. Data : "_$G(%OptimaVar("EncData"))_$$$CRLF_"Decrypted Data : "_$G(%OptimaVar("Data"))_$$$CRLF_"KLNr via Lookup: "_$G(%OptimaVar("KLNrViaLookup")) + . Set msg=msg_$$$CRLF_"Client IP : "_$G(%RemoteIP)_$S($G(%RemoteIP)?1(1"92.103.129.165",1"212.103.4.85"):" (Optima)", 1:"") + . Set msg=msg_$$$CRLF_$$$CRLF_"Data retrieved from storage: "_$S($IsObject(KLMini):"YES", 1:"NO") + . Do ophSendAlertMail(msg_$$$CRLF,$S($IsObject(KLMini):$LB("ICT_Meldingen@vanhoecke.be"), 1:$LB("wv@vanhoecke.be"))) + . Set KLNr=$S($IsObject(KLMini):KLMini.Nummer, 1:"") + . Kill %OptimaVar + If $IsObject(KLMini) Do + . Set KLNrOptima=KLMini.Nummer + . Set tmpTaal=KLMini.Taal + Else Do + . Set blnShow=$$$OptimaAccess + . Do MShowFixOptima(blnShow) + Set:($G(tmpTaal)?1(1"N",1"F",1"E",1"D")) Taal=tmpTaal + Set KLMini="" + Quit +MShowFixOptima(Visible) + Quit:('Visible) + Kill arShow2 + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Set arShow2("FixOptima","BTN")=Visible + Set arShow2("FixOptima","HREF")="FixOPTIMA.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit + +ophAnalyseWSOrdKLNr(WSOrd,MatchKLNr,blnNoAccess,ErrMsg) ; blnNoAccess en ErrMsg als .local doorgeven + New arValues,msg + Quit:($$ophCheckWSOrdKLNr(.WSOrd,.MatchKLNr,.arValues)) 1 ; OK + ; Else ; Not OK ==> Log NoAccess + Send Mail + Set blnNoAccess=1 + Set ErrMsg=$G(arValues(0,"ERROR")) + Do ophAddToLog("!MAINPAGE!") + Set msg="De main.csp pagina heeft een ongeldige code gedetecteerd."_$$$CRLF + Set msg=msg_"De gegevens worden niet getoond."_$$$CRLF + Set msg=msg_""_$$$CRLF + Set msg=msg_$$$ArrayTT("Var",.arValues)_$$$CRLF + Do ophSendAlertMail(msg) + Quit 0 +ophCheckWSOrdKLNr(WSOrd,MatchKLNr,arValues) + Quit:('$IsObject($G(WSOrd))) 1 + New blnOK,OrdDomVERW,OrdKLNr,msg + Kill arValues + Set OrdDomVERW=$LG(##class(WS.TBX.Order).DomainLookUp($$TBXDomainCVT^cspBasis.Library(WSOrd.WebDomain),$LB("VERW")),1) + Set arValues("WSOrder","Domain")=WSOrd.WebDomain + Set arValues("WSOrder","DomVERW")=OrdDomVERW + Set arValues("WSOrder","KLNr")=WSOrd.KLNummer + Set arValues("WSOrder","ID")=WSOrd.%Id() + Set arValues("WSOrder","IngaveTS")=WSOrd.IngaveTijdStip + Set arValues("REF","Domain")=sDomain + Set arValues("REF","DomVERW")=sDomVERW_" ("_sDomKLNr_")" + Set arValues("REF","KLNr")=MatchKLNr + Set arValues("REF","WSID")=wsID + Set arValues("REF","MODE")=sMode + Set arValues("REF","VERW")=VERW + Set arValues("REF","RqData")=$G(%request.Data("REF",1)) + Set arValues(1,"ClientIP")=$G(%RemoteIP) + Set arValues(1,"blnHist")=$G(blnHist) + ;d WL^vhDBG($$$LCVT($LB(WSOrd.WebDomain,$$TBXDomainCVT^cspBasis.Library(WSOrd.WebDomain),OrdDomVERW,sDomVERW))) + If sDomVERW'=OrdDomVERW Do Quit 0 + . // Onbekend of foutief domein - GEEN TOEGANG !!! WSOrder moet steeds binnen WebDomein blijven !!! + . Set arValues(0,"ERROR")="Onbekend of foutief domein" + ; Else ; ==> sDomVERW=OrdDomVERW + Quit:(%RemoteIP?1(1"192.168.1.")1.3N)&&(MatchKLNr=1000) 1 + Set OrdKLNr=WSOrd.KLNummer + Set blnOK=0 + If blnVHEPN Do Quit blnOK + . If OrdKLNr>0 Do + . . Set blnOK=$S(MatchKLNr>0:(OrdKLNr=MatchKLNr),1:(sMode="PROCESS")&&(VERW="VHEPN")) + . Else Do ; OrdKLNr="" + . . Set blnOK=$S(MatchKLNr>0:((sMode="PROCESS")&&(VERW="VHEPN")), 1:1) + . Set arValues(0,"ERROR")="KlantNummers komen niet overeen." + Else If blnLMC||blnSFS||blnMBHO Do Quit blnOK + . Set blnOK=(OrdKLNr=MatchKLNr)||(MatchKLNr="") + . Set arValues(0,"ERROR")="KlantNummers komen niet overeen." + Else If blnHEIN Do Quit blnOK + . Set blnOK=(OrdKLNr=MatchKLNr) + . Set arValues(0,"ERROR")="KlantNummers komen niet overeen." + Else If blnHELMY||blnHFLE||blnDUPO Do Quit blnOK + . Set blnOK=(OrdKLNr=MatchKLNr) + . Set arValues(0,"ERROR")="KlantNummers komen niet overeen." + ; Else + Set arValues(0,"ERROR")="Onbekende controle!." + Quit 0 +ophSendAlertMail(msg,lbToSpecial) + // Send mail to ICT_SupportTBX@vanhoecke.be + New From,lbTo,Subject,Body,ServerPrefix,sc + Set ServerPrefix="" ; Set ServerPrefix="["_$$$UCase($$$Server)_"] " --> wordt nu opgelost in de lib SendMiniMail^... () + Set From="""TBX Alert"" " + Set lbTo=$G(lbToSpecial,$LB("wv@vanhoecke.be")) ; "ICT_SupportTBX@vanhoecke.be") + Set Subject=ServerPrefix_"TandemBOX - No Access - "_$ZDT($H,4) + Set Body="" + Set Body=Body_"TandemBOX MainPage ALERT"_$$$CRLF + Set Body=Body_""_$$$CRLF + If $L($G(msg)) Do + . Set Body=Body_msg_$$$CRLF + . Set Body=Body_""_$$$CRLF + Set Body=Body_"--- End of message ---"_$$$CRLF + Set sc=$$SendMiniMailXtd^cspBasis.Library(From,lbTo,Subject,Body,0,0) + Quit + +ophBuildToggleHistAndOrder(wsIDNew) +#define KLNrClean $S(KLNr=$$$KLNrListAll:"", 1:KLNr) + Quit:(KLNr="") + New tmpAr,blnNew,blnOrder,blnProcess + Set blnHist=($G(HIST)>0) ; Globale variabele !!! + Set blnProcess=(sMode="PROCESS") + ;Quit:(blnProcess)&&(blnHist=0) + Set blnNew=(sMode="START") + Set blnOrder=(sMode="COMPLETE")||(sMode="VIEW") + ;d WL^vhDBG("hist: "_blnNew_" "_blnOrder_" "_blnHist_" "_KLNr) + If blnNew && 'blnHist Do + . ; New --> Show Hist + . Merge tmpAr=tmpRq + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=1 + . If KLNr=$$$KLNrListAll Do + . . Kill tmpAr("REF") + . . Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,,"COMPLETE")) + . Set arUrl("ToggleHist")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ;d WL^vhDBG(blnNew_" "_blnOrder_" "_blnHist_$$$ArrayTT("arUrl")) + If blnNew && blnHist Do + . ; Hist + New --> Hide Hist + . Merge tmpAr=tmpRq + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=0 + . Set arUrl("ToggleHist")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ; Hist + New --> Show Order + . Merge tmpAr=tmpRq + . Kill tmpAr("REF") + . ;Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB($$$KLNrClean,VERW,wsIDNew,"COMPLETE")) ; ,WizMode)) + . Set tmpAr("REF")=$$$QSREFReplace ; String to be replaced by a calculated value + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=$S(MainMode=$$$mmToggleHistOrd:0, 1:1) + . Set arUrl("ShowOrder")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ;d WL^vhDBG(blnNew_" "_blnOrder_" "_blnHist_$$$ArrayTT("arUrl")) + If blnOrder && blnHist Do + . ; Hist + Order + New --> Hide Hist + . Merge tmpAr=tmpRq + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=0 + . If KLNr=$$$KLNrListAll Do + . . Kill tmpAr("REF") + . . Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,,$S(sMode="COMPLETE":"START", 1:sMode))) + . Set arUrl("ToggleHist")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ; Hist + Order + New --> Hide Order + . Merge tmpAr=tmpRq + . Kill tmpAr("REF") + . Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB($$$KLNrClean,VERW,,$S(sMode="COMPLETE":"START", 1:sMode))) + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=1 + . Set arUrl("HideOrder")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ; Hist + Order + New --> Show Order + . Merge tmpAr=tmpRq + . Kill tmpAr("REF") + . ;Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB($$$KLNrClean,VERW,wsIDNew,"COMPLETE")) + . Set tmpAr("REF")=$$$QSREFReplace ; String to be replaced by a calculated value + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=$S(MainMode=$$$mmToggleHistOrd:0, 1:1) + . Set arUrl("ShowOrder")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + If blnOrder && 'blnHist Do + . ; Order + New --> Show Hist [1] + . Merge tmpAr=tmpRq + . If MainMode=$$$mmToggleHistOrd Do + .. Kill tmpAr("REF") + .. Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB($$$KLNrClean,VERW,,$S(sMode="COMPLETE":"START", 1:sMode))) + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=1 + . Set arUrl("ToggleHist")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ; Order + New --> Show Hist [2] --> New+Hist + . ; --> implemented in Show Hist [1] + . ; Order + New --> Hide Order --> New + . Merge tmpAr=tmpRq + . Kill tmpAr("REF") + . Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB($$$KLNrClean,VERW,,$S(sMode="COMPLETE":"START", 1:sMode))) + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=0 + . Set arUrl("HideOrder")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ;d WL^vhDBG(blnNew_" "_blnOrder_" "_blnHist_$$$ArrayTT("arUrl")) + If blnProcess && blnHist Do + . ; Hist --> Show Order + . Merge tmpAr=tmpRq + . Kill tmpAr("REF") + . Set tmpAr("REF")=$$$QSREFReplace ; String to be replaced by a calculated value + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=0 + . Set arUrl("ShowOrder")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . ; Hist --> Hide Hist ; in MainHist.csp a second condition will prevent the user from hiding the History List. + . Merge tmpAr=tmpRq + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=0 + . Set arUrl("ToggleHist")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + If blnProcess && 'blnHist Do + . ; Order --> Show Hist [1] + . Merge tmpAr=tmpRq + . Kill tmpAr("HIST") + . Set tmpAr("HIST")=1 + . Kill tmpAr("REF") + . Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB($$$KLNrClean,VERW,,sMode)) + . Set arUrl("ToggleHist")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + ;d WL^vhDBG(blnNew_" "_blnOrder_" "_blnProcess_" "_blnHist_$$$ArrayTT("arUrl")) + Quit + +ophMMStart ; Main - Mode - Start + ; Info NotRegUserInfo + Do MShowNotRegUser + Do MShowKnownCustomer(1) + ; Button NewOrder + Do MShowNewOrder(1) + Do ophBuildToggleHistAndOrder() + Quit +MShowNotRegUser + Set arShow("NotRegUserInfo","INFO")=((blnVHEPN)&&(KLNr="")) + Set arShow("NotRegUserInfoOPTIMA","INFO")=((blnLMC||blnSFS||blnMBHO)&&(KLNr="")) ; &&('$D(%session.Data("DA TAOPT")))) + Quit +ophMMComplete + New WSOrd,blnDynaplugERR + Set WSOrd=$S($L(wsID):##class(WS.TBX.Order).%OpenId(wsID), 1:0) + + ; Show Order Details + Set arShow("DisplayOrder","DTL")=$IsObject(WSOrd) + Do MShowKnownCustomer(1) + ; Info BrutoPrijsHein / NotRegUserInfo + Set arShow("BrutoPrijsHein","INFO")=(blnHEIN) + + Set blnDynaplug=($IsObject(WSOrd))&&(WSOrd.WebURL="DYNAPLUG IMPORT") + If blnDynaplug Do + . ;Set WSOrd.WebDomain="www.tandem-box.com" + . ;Set WSOrd.WebURL="" + . Set blnDynaplugERR=(''$G(blnWSErrors,0)) + Else Do + . Set blnDynaplugERR=0 + ;Set blnOFFVervallen=($IsObject(WSOrd))&&(WSOrd.BonType="OFF")&&(WSOrd.DagenVervallen()>0) ;Oude berekening + Set blnOFFVervallen=($IsObject(WSOrd))&&(WSOrd.IsOfferteVervallen($H,.RedenVervallen)) + ;d WL^vhDBG("RedenVervallen : "_$G(RedenVervallen)) + If blnOFFVervallen Do Quit:($G(blnQuit,0)) + . Set blnQuit=$$ophMMCompleteRecalcOFF() + ; Else Prepare buttons + Do MShowNotRegUser + Do MShowVervaldagOFFText + ; Positie van de tekst t.o.v. de buttons + Set TextPos=$S($IsObject(WSOrd)&&(WSOrd.IsSubmitted()):"LEFT", KLNr=$$$KLNrListAll:"LEFT", 1:"RIGHT") + ; Button RecalcOrder + Do MShowRecalcOrder(blnOFFVervallen,$G(RedenVervallen)) + ; Button PrintPage + Do MShowPrintPage(1,blnOFFVervallen||blnDynaplugERR) + ; Button BookmarkPage + Do MShowBookmarkPage('$IsValidNum(KLNr),WSOrd) + ; Button Show XML + Do MShowExportXML((blnVHEPN)&&((KLNr=$$$TBoxWebKlantNrVHEPN)||(KLNr=$$$TBoxWebKlantNrHEIN)) ) + ; Button Submit + Do MShowSubmit(1,WSOrd,blnOFFVervallen||blnDynaplugERR) + ; Button Modify Order + Do MShowModifyOrder(1,"COMPLETE") + ; Button Create New from Order + Do MShowNewFromOrder('blnDynaplug) + ; Info InvalidWSID + Set arShow("InvalidWSID","INFO")=('wsID) + ; Button NewOrder + Do MShowNewOrder(0) + Do MShowSwitchToStartMode('blnDynaplug) + Do ophBuildToggleHistAndOrder() + Set WSOrd="" + Quit +ophMMCompleteRecalcOFF() +#define IsTextOnly(%v) (%v'?.E1C.E) + New lbResult,tmpAr,sc + If $G(%request.Data("RECALC",1))="1" Do Quit 1 + . Set blnNoAccess=1 ; Globale variabele !!! + . Merge tmpAr=tmpRq + . Kill tmpAr("RECALC") + . Quit:(wsID="") + . Do ophOrdToAdminSetSesData + . // RECALC ORDER : + . Set %session.Data("RecalcOFFStatus")="ACTIVE" + . d WL^vhDBG("Start RecalcOFF(). Status: "_$G(%session.Data("RecalcOFFStatus"))) + . Set lbResult=##class(cspBasis.GAProdTBox).WSOrdRecalc(wsID) ; $LB("",$$$ERROR($$$GeneralError,"MyMessage")) ; + . Set %session.Data("RecalcOFFStatus")="DONE" + . d WL^vhDBG("Finished RecalcOFF(). Status: "_$G(%session.Data("RecalcOFFStatus"))) + . If ($LG(lbResult,1)="") Do + .. Set sc=$LG(lbResult,2) ; Kan %Status, TextOnly of $LB() zijn + .. Set arJSExec(1)="alert("_$$$QuoteJS("Recalc OFF:")_"+'\n'+"_$$$QuoteJS($S(sc="":"No message.", $$$IsTextOnly($TR(sc,$$$CRLF,"")):sc, $$$ISERR(sc):$$ParseStatus^vhLib(sc), 1:$$$LCVT(sc)))_");" + .. Set arJSExec(2)="document.location.replace("_$$$QuoteJS("main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr))_");" + . Else Do + .. Set %response.Redirect="main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) ; Use %response.Redirect() instead of js:location.replace() + ; Else + Quit 0 + +ophMMProcess + New WSOrd,blnProcessVH,blnQuit,blnAllowBulk + Set blnProcessVH=(blnVHEPN)||(VERW="VHEPN") + If blnProcessVH Do Quit:($G(blnQuit,0)) + . Set blnQuit=$$ophMMProcessFlowVHEPN + ;Else : prepare buttons/info + Do MShowKnownCustomer(1) + ;d WL^vhDBG("ophMMProcess") + Do ophBuildToggleHistAndOrder() + Set WSOrd=$S($L(wsID):##class(WS.TBX.Order).%OpenId(wsID), 1:0) + Quit:('$IsObject(WSOrd)) + ; Show Order Details + Set arShow("DisplayOrder","DTL")=$IsObject(WSOrd) + Do MShowVervaldagOFFText + ; Positie van de tekst t.o.v. de buttons + Set TextPos="RIGHT" ; $S($IsObject(WSOrd)&&(WSOrd.IsSubmitted()):"LEFT", 1:"RIGHT") + Set lbBulkConfig=##class(cspBasis.GAProdTBox).GetKlantBulk(sDomVERW,KLNr) + Set blnAllowBulk=($LG(lbBulkConfig,1)'="")&&($LG(lbBulkConfig,1)'="S") + ; Button SwitchToViewMode + Do MShowSwitchToViewMode(('blnVHEPN)&& 1) ; &&(WSOrd.BonType="INKP") + ; Button PrintPage + Do MShowPrintPage(1) ;VERW="VHEPN") + ; Button Show XML + Do MShowExportXML(VERW="VHEPN") + ; Button Calculate Order + Do MShowCalcOrder((VERW'="HEIN")&&(WSOrd.BonType="OFFAV")) + ; Button Modify Order + Do MShowModifyOrder(WSOrd.BonType'?1(1"INKP",1"BBON")) + ; Button Process --> SubmitToVHEPN / SubmitToAdmin) + If blnProcessVH Do + . ; Button SubmitToAdmin + . Do:(%RemoteIP?1"192.168.".E) MShowSubmitAdminVerw(blnVHEPN||(VERW="VHEPN"),WSOrd) + . ; Button ChangeBulk + . Set arShow("ChangeBulk","BTN")=(%RemoteIP?1"192.168.".E) + . If arShow("ChangeBulk","BTN") Do + . . Do ophOrdToAdminSetSesData + . . Set arShow("ChangeBulk","EXPAND")=blnAllowBulk + . ;If blnAllowBulk Do // ; Button ChangeBulk OLD !!! + . ;. Do ophOrdToAdminSetSesData + . ;. Set arShow("ChangeBulk","BTN")=1 + Else Do + . ; Button SubmitToVHEPN + . Do MShowSubmitToVHEPN(sDomVERW'?1(1"VHEPN",1"HEIN",1"LMC"),WSOrd) ; ,1"SFS" + . ; URL voor overzichtslijst AANKOOP: + . ; - http://www.tandem-box.com/VHISIE/TBX/Main.csp?Taal=N&HIST=1&REF=qF8LH5lEjVrpq_S/iFYEjapyttl87p0Y2mRRqi9B3i4- + . ; - http://tbx.destil.nl/VHISIE/TBX/Main.csp?Taal=N&HIST=1&REF=_KoQNXLGoSL1UjEAean5dapyttl87p0Y2mRRqi9B3i4- + . ; - http://tbx.du-pont.be/VHISIE/TBX/Main.csp?Taal=N&HIST=1&REF=wpkU0aPBib2L8HVjJIlrUPVgilNucnVjd1bJfJG4BO0- + . ; - http://hafele.tandem-box.com/VHISIE/TBX/Main.csp?Taal=N&HIST=1&REF=O905FsBp8_pRmRTFnHNy_/VgilNucnVjd1bJfJG4BO0- + . ; - http://tbx.sfsunimarket.biz/VHISIE/TBX/main.csp?Taal=D&HIST=1&REF=8H9XyVmkVvtSXca7DjMJpAFknWUyneyi4koTLULFuSk- + Set WSOrd="" + Quit +ophMMProcessFlowVHEPN() +#define IsTextOnly(%v) (%v'?.E1C.E) + New lbResult,tmpAr,sc + ;d:($D(%request.Data("TRANSF",1))) WL^vhDBG("ProcessVH QS(""TRANSF"")="_%request.Data("TRANSF",1)_" TransfStatus="_$G(%session.Data("TransfStatus"))) + + If $G(%request.Data("TRANSF",1))="AGAIN;ADM" Do Quit 1 + . New TransfAgainYES,TransfAgainNO,msgAgain + . Set blnNoAccess=1 ; Globale variabele !!! + . Merge tmpAr=tmpRq + . Kill tmpAr("TRANSF") + . Set TransfAgainNO="main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) ; Back to Orig page + . Set tmpAr("TRANSF")="ADM2" + . Set TransfAgainYES="main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) ; Navigate to "TRANSF=ADM" page + . Set msgAgain="Opnieuw naar ADMIN?" + . Set arJSExec(2)="if (confirm("_$$$QuoteJS(msgAgain)_")) { document.location.replace("_$$$QuoteJS(TransfAgainYES)_"); } else { document.location.replace("_$$$QuoteJS(TransfAgainNO)_"); }" + . ;d WL^vhDBG("Transfert again. current Status: "_$G(%session.Data("TransfStatus"))_" ... will be killed.") + . Kill %session.Data("TransfStatus") + ; Else + If $G(%request.Data("TRANSF",1))?1(1"ADM",1"ADM2") Do Quit 1 + . Set blnNoAccess=1 ; Globale variabele !!! + . Merge tmpAr=tmpRq + . Kill tmpAr("TRANSF") + . Quit:(wsID="") + . + . ;Lock +WSTBXORD(wsID):0 Else Do Quit + . . ; Log this incident + . . + . + . Do ophOrdToAdminSetSesData + . Set OFFToAdmin=$S(sDomVERW?1(1"VHEPN",1"HEIN",1"LMC"):"BBON", 1:"INKP") ; Set:(WSOrd.BonType="OFF") ... + . Set blnBusy=##class(WS.TBX.Order).TransfStatusCheckBusy(wsID) + . If (blnBusy) Do Quit ; ($G(%session.Data("TransfStatus"))'="") + . . ;d WL^vhDBG("Msg: transfert not allowed. status="_$G(%session.Data("TransfStatus"))) + . . ;Lock -WSTBXORD(wsID) + . . Set arJSExec(1)="alert("_$$$QuoteJS("Transfer in progress. Prease wait...")_"+'\n');" + . . Set arJSExec(2)="document.location.replace("_$$$QuoteJS("main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr))_");" + . ; Else + . // TRANSFER ORDER TO ADMIN: + . Set %session.Data("TransfStatus")="ACTIVE" + . Set scStatus=##class(WS.TBX.Order).TransfStatusSetByID(wsID,"ACTIVE") + . ;d WL^vhDBG("Start WSOrdToAdmin(). Status: "_$G(%session.Data("TransfStatus"))) + . Set lbResult=##class(cspBasis.GAProdTBox).WSOrdToAdmin(wsID,$G(OFFToAdmin)) ; $LB("",$$$ERROR($$$GeneralError,"MyMessage")) ; + . Set %session.Data("TransfStatus")="DONE" + . Set scStatus=##class(WS.TBX.Order).TransfStatusSetByID(wsID,"") + . ;d WL^vhDBG("Finished WSOrdToAdmin(). Status: "_$G(%session.Data("TransfStatus"))) + . If ($LG(lbResult,1)="") Do + . . Set sc=$LG(lbResult,2) ; Kan %Status, TextOnly of $LB() zijn + . . Set arJSExec(1)="alert("_$$$QuoteJS("Transfer to ADMIN:")_"+'\n'+"_$$$QuoteJS($S(sc="":"No message.", $$$IsTextOnly($TR(sc,$$$CRLF,"")):sc, $$$ISERR(sc):$$ParseStatus^vhLib(sc), 1:$$$LCVT(sc)))_");" + . . Set arJSExec(2)="document.location.replace("_$$$QuoteJS("main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr))_");" + . Else Do + . . Set %response.Redirect="main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) ; Use %response.Redirect() instead of js:location.replace() + . ;Lock -WSTBXORD(wsID) + ; Else + Quit 0 +ophMMView + New WSOrd + Do ophBuildToggleHistAndOrder() + Do MShowNotRegUser + Set WSOrd=$S($L(wsID):##class(WS.TBX.Order).%OpenId(wsID), 1:0) + Quit:('$IsObject(WSOrd)) + ; Show Order Details + Set arShow("DisplayOrder","DTL")=$IsObject(WSOrd) + Set arShow("BrutoPrijsHein","INFO")=(blnHEIN) + Do MShowVervaldagOFFText + ; Button PrintPage + Do MShowPrintPage(1) + Set WSOrd="" + Quit +ophMMConfirm + Set blnNoAccess=1 + Quit +ophBuildQS(lbRefNew) + Set lbRefNew=$G(lbRefNew) + New tmpRq,tmpRefAr,KLNr,VERW,wsID,sMode,QS + Do ophRefToArray^cspBasis.TBX.DecodeURL.tmpDev(Ref,.tmpRefAr) + Set KLNr=$LG(lbRefNew,1,$G(tmpRefAr("KLNR"))) + Set VERW=$LG(lbRefNew,2,$G(tmpRefAr("VERW"))) + Set wsID=$LG(lbRefNew,3,$G(tmpRefAr("WSID"))) + Set sMode=$LG(lbRefNew,4,$G(tmpRefAr("MODE"))) + Merge tmpRq=%request.Data + Kill tmpRq("CSPToken") + Kill:(blnLMC||blnSFS||blnMBHO) tmpRq("DATAOPT") + Kill tmpRq("HIST") + Kill tmpRq("REF") + Set tmpRq("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,sMode)) + Set QS=##class(cspBasis.GAProdTBox).CQueryString(.tmpRq) ; $$$CSPPage.Link("Main.csp",.tmpRq) + Quit $TR($TR($system.Encryption.Base64Encode(QS),$$$CRLF,""),"+=","_-") +ophAlgVoorw + Quit:(blnLMC||blnDUPO||blnHELMY||blnHFLE||blnMBHO) + New Intern,VTL + Set Intern="AlgVoorw"_$CASE(sDomVERW, "HEIN":"HEIN", "SFS":"SFS", :"VH") + Set arShow("AlgVoorw","INFO")=##class(cspBasis.GAProdTBox).WebTextValue(Intern,Taal,"L") + Quit +ophOrdToAdminSetSesData + Set %session.Data("DOMAIN")=sDomCVT + Set %session.Data("VERW")=VERW + Set %session.Data("KLNR")=KLNr + Set %session.Data("WSID")=wsID + Set %session.Data("MODE")=sMode + Quit + +MShowNewOrder(Visible) + Quit:((blnLMC)&&(KLNr'>0)) + Quit:((blnSFS)&&(KLNr'>0)) + Quit:((blnMBHO)&&(KLNr'>0)) + Quit:(KLNr=$$$KLNrListAll)&&($$$Not((sDomVERW?1(1"HFLE",1"HELMY",1"DUPO"))&&(sMode="START"))) + Quit:('$G(blnValidKlant,1)) + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB($S(KLNr=$$$KLNrListAll:"", 1:KLNr),VERW,,"A")) + Set tmpAr("REFMN")=$$ophBuildQS($S(KLNr=$$$KLNrListAll:$LB(""),1:$LB())_$LB(,,"COMPLETE")) ; Create REFMN (to pass to Wizard.csp) + Kill:(blnLMC||blnSFS||blnMBHO) tmpAr("DATAOPT") + Set arShow("NewOrder","BTN")=Visible + ;d WL^vhDBG("NewOrder tmpAr:"_$$$ArrayTT("tmpAr")) + Set arShow("NewOrder","HREF")="Access.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowSwitchToStartMode(Visible) + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,"START")) + If $L($G(Taal)) Do + . Kill tmpAr("Taal") + . Set tmpAr("Taal")=Taal + Set arShow("SwitchStartMode","BTN")=Visible + Set arShow("SwitchStartMode","HREF")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowSwitchToViewMode(Visible) + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,"VIEW")) + If $L($G(Taal)) Do + . Kill tmpAr("Taal") + . Set tmpAr("Taal")=Taal + Set arShow("SwitchViewMode","BTN")=Visible + Set arShow("SwitchViewMode","HREF")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowPrintPage(Visible,blnOFFVervallen) + New tmpAr,blnShowAKP + If $G(blnOFFVervallen,0) Do Quit + . Set arShow("PrintPage","BTN")=Visible + . Set arShow("PrintPage","HREF")="" + ; Else + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,"P")) + Set blnShowAKP=(sMode="PROCESS")&&('blnVHEPN)&&(VERW'?1(1"HEIN",1"LMC")) + Set %session.Data("ALLOWAKP")=blnShowAKP + Set:(blnShowAKP) tmpAr("SHAKP")=1 + If $L($G(Taal)) Do + . Kill tmpAr("Taal") + . Set tmpAr("Taal")=Taal + Set arShow("PrintPage","BTN")=Visible + Set arShow("PrintPage","HREF")="Access.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowBookmarkPage(Visible,WSOrd) + New BookmTxt + Set BookmTxt="TandemBOX - "_$S($IsObject(WSOrd):WSOrd.OrderNr_" - "_WSOrd.Commissie, 1:"") ; WSOrd.OrderNrCalc() + Set arShow("BookmarkPage","BTN")=Visible + Set arShow("BookmarkPage","HREF")="javascript:window.external.AddFavorite(location.href,'"_BookmTxt_"');" + Quit +MShowSubmit(Visible,WSOrd,blnOFFVervallen) +#If ($$$NSpace="DEMO") + Quit ; Only on namespace "DEMO" +#EndIf + Quit:('$IsObject(WSOrd)) + Quit:('$G(blnValidKlant,1)) + Quit:($$$Not(WSOrd.IsBonTypeGeldig())) + If $G(blnOFFVervallen,0) Do Quit + . Set arShow("Submit","BTN")=Visible + . Set arShow("SubmitAgain","BTN")=0 + . Set arShow("Submit","HREF")="" + . Set arShow("Submit","TEXT")=##class(cspBasis.GAProdTBox).WebTextValue("VerzendenBBON",Taal,"L") + . Set arShow("Submit","INFO")="" + ; Else + New tmpAr,InternText,InternInfo,blnIsSubmitted + Merge tmpAr=tmpRq + Set tmpAr("Taal")=Taal + Set tmpAr("KLNR")=KLNr + Set tmpAr("WSID")=wsID + Set:(WSOrd.BonType="OFF")&&(sDomVERW'="HEIN") tmpAr("OFFTOBBON")=1 ; OFFTOBBON in de betekenis van "Goed voor order" + Set %session.Data("Taal")=Taal + Set %session.Data("WSID")=wsID + Set %session.Data("KLNR")=KLNr + Kill tmpAr("WSID") + Kill tmpAr("REF") + Set blnIsSubmitted=(WSOrd.IsSubmitted()) ; (WSOrd.SubmitTS>0) ; + Set arShow("Submit","BTN") =(Visible)&&('blnIsSubmitted) + Set arShow("SubmitAgain","BTN")=(Visible)&&(blnIsSubmitted) + Quit:('Visible) + Set arShow("Submit","HREF")="MailSend.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Set InternText=$S((WSOrd.BonType="OFF")&&(sDomVERW'="HEIN"):"VerzendenBBON", 1:"Verzenden"_WSOrd.BonType) + Set InternInfo=$S((WSOrd.BonType="OFF")&&(sDomVERW'="HEIN"):"VerzendInfoBBON", 1:"VerzendInfo"_WSOrd.BonType) + Set arShow("Submit","TEXT")=##class(cspBasis.GAProdTBox).WebTextValue(InternText,Taal,"L") + Set arShow("Submit","INFO")=##class(cspBasis.GAProdTBox).WebTextValue(InternInfo,Taal,"L") + Set:(arShow("Submit","INFO")="~") arShow("Submit","INFO")="" + ;Set arShow("SubmitAgain","INFO")=##class(cspBasis.GAProdTBox).WebTextValue(InternInfo,Taal,"L") + Set arShow("SubmitAgain","INFO")=##class(cspBasis.GAProdTBox).WebTextValue("GevegensVerzonden",Taal,"O")_", "_arShow("Submit","INFO")_"." + Set arShow("SubmitAgain","HREF")="MailSend.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowRecalcOrder(Visible,RedenVervallen) + Quit:('Visible) + Quit:('$G(blnValidKlant,1)) + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("RECALC") + Set tmpAr("RECALC")="1" + Kill tmpAr("HIST") + Set arShow("RecalcOrder","BTN")=Visible + Set arShow("RecalcOrder","HREF")="main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowCalcOrder(Visible) + quit + /* + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,"W")) + Set tmpAr("REFMN")=$$ophBuildQS("") ; Create REFMN (to pass to Wizard.csp) + Set arShow("CalcOrder","BTN")=Visible + Set arShow("CalcOrder","HREF")="Access.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + */ + Quit +MShowModifyOrder(Visible,tmpMode) +#define blnComplete $G(tmpMode)="COMPLETE" + Quit:('$G(blnValidKlant,1)) + Quit:('$IsObject(WSOrd)) + Quit:($$$blnComplete)&&(WSOrd.IsSubmitted()) ; (WSOrd.SubmitTS>0) + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($S($$$blnComplete:$LB(KLNr,"-",wsID,"A"), 1:$LB(KLNr,VERW,wsID,"W"))) + Set tmpAr("REFMN")=$$ophBuildQS("") ; Create REFMN (to pass to Wizard.csp) + Set arShow("ModifyOrder","BTN")=Visible + Set arShow("ModifyOrder","HREF")="Access.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowNewFromOrder(Visible) + + s blnShow=$$$Not(blnHEIN||blnDUPO||blnHELMY||blnHFLE) ; (sDomVERW="SFS")||((sDomVERW="VHEPN")&&(KLNr?1(1"12486",1"4645"))) + q:('blnShow) ; until completed and released to ALL + + Quit:('$G(blnValidKlant,1)) + Quit:('$IsObject(WSOrd)) + New tmpAr + ;New wsIDnew + ;Set wsIDnew=wsID ; Construct Clone from current WSOrd + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("NEWFROMORD")=wsID + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,,"A")) + Set tmpAr("REFMN")=$$ophBuildQS($LB(,,,"COMPLETE")) ; Create REFMN (to pass to Wizard.csp) + Set arShow("NewFromOrder","BTN")=Visible + Set arShow("NewFromOrder","HREF")="Access.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) ; "#" ; "main.csp?"_ + Quit +MShowReplyCustomer(Visible) + Quit +MShowSubmitToVHEPN(Visible,WSOrd) + // Is alleen bestemd voor de Inkoop-afdeling van extern domein (destil / hafele / sfs / ...) + Quit:('Visible) + Quit:('$IsObject(WSOrd)) + Quit:($$$Not(WSOrd.IsBonTypeGeldig())) + Quit:(WSOrd.BonType'?1(1"OFF",1"BBON",1"INKP")) + Quit:(WSOrd.IsTransferredToAdmin()) ; Eenmaal door VH in Admin ge�mporteerd, SubmitToVHEPN() niet meer mogelijk via website. + New tmpAr,lbLog,tmpLbl + Merge tmpAr=tmpRq + Set tmpAr("Taal")=Taal + Set tmpAr("KLNR")=KLNr + Set tmpAr("WSID")=wsID + Set tmpAr("MODE")=sMode + Set:(WSOrd.BonType="OFF")&&(sDomVERW'="HEIN") tmpAr("OFFTOBBON")=1 ; OFFTOBBON in de betekenis van "Goed voor order" + Set %session.Data("Taal")=Taal + Set %session.Data("WSID")=wsID + Set %session.Data("KLNR")=KLNr + Set %session.Data("MODE")=sMode + Kill tmpAr("WSID") + Kill tmpAr("REF") + Set arShow("SubmitToVHEPN","BTN")=Visible + Set arShow("SubmitToVHEPN","HREF")="MailSend.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Set arShow("Submit","HREF")=arShow("SubmitToVHEPN","HREF") + Set arShow("SubmitToVHEPN","TEXT")=##class(cspBasis.GAProdTBox).WebTextValue("VerzendenBBON",Taal,"L") + Set arShow("SubmitToVHEPN","INFO")=##class(cspBasis.GAProdTBox).WebTextValue("VerzendToVH",Taal,"L") + Set:(arShow("SubmitToVHEPN","INFO")="~") arShow("SubmitToVHEPN","INFO")="" + Set lbLog=$LG(WSOrd.SubmitToVHLog,1) + If ($L(lbLog))&&($LG(lbLog,2)>0) Do + . Set tmpLbl=##class(cspBasis.GAProdTBox).WebTextValue("Verzonden",Taal,"L",$LB("L")) + . Set arShow("SubmitToVHEPNAgain","INFO")=$$$Replace(""_tmpLbl_": "_$$mssFormatTime($LG(lbLog,1),0)," "," ") + Else Do + . Set arShow("SubmitToVHEPNAgain","INFO")="" + Quit +MShowSubmitAdminVerw(Visible,WSOrd) +#If ($$$NSpace="DEMO") + Quit ; Only on namespace "DEMO" +#EndIf + Quit:('Visible) + New tmpAr,lbLog + Merge tmpAr=tmpRq + Kill tmpAr("TRANSF") + Set tmpAr("TRANSF")="ADM" + Set arShow("SubmitAdmin","BTN")=Visible + Set arShow("SubmitAdmin","HREF")="main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Set lbLog=$LG(WSOrd.TransferLog,1) + If ($L(lbLog))&&($LG(lbLog,2)>0) Do + . Set tmpAr("TRANSF")="AGAIN;ADM" + . Set arShow("SubmitAdminAgain","HREF")="main.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + . Set arShow("SubmitAdminAgain","INFO")="offerte: "_$LG(lbLog,2)_" "_$$mssSubmitAdminTime($LG(lbLog,1))_" +++klantnr "_$S(blnVHEPN:KLNr, 1:sDomKLNr)_"+++" + . Set arShow("SubmitAdminAgain","INFO")=$$$Replace(arShow("SubmitAdminAgain","INFO")," "," ") + Else Do + . Set arShow("SubmitAdminAgain","INFO")="" + Quit +mssSubmitAdminTime(TStamp) +#define RecentSec 300 + New tmp + Set tmp=$$mssFormatTime(TStamp,$$$RecentSec) + Quit $S($L(tmp):"("_tmp_")", 1:"") +mssFormatTime(TStamp,RecentSec) +#define cDate(%v) $P(%v,",",1) +#define cTime(%v) $P(%v,",",2) + Quit:(TStamp="") "" + Quit:($$$cDate(TStamp)'=$$$cDate($H)) "op "_$ZD(TStamp,4)_" "_$ZT($$$cTime(TStamp),2)_"u" + Quit:($G(RecentSec)'>0)||($$$cTime($H)-$$$cTime(TStamp)>RecentSec) "om "_$ZT($$$cTime(TStamp),2)_"u" + Quit "" +MShowForwardTo(Visible) + Quit +MShowExportXML(Visible) + New tmpAr + Merge tmpAr=tmpRq + Kill tmpAr("HIST") + Kill tmpAr("REF") + Set tmpAr("REF")=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,wsID,"P")) + Set tmpAr("VSRC")=1 + Set arShow("ExportXML","BTN")=Visible + Set arShow("ExportXML","HREF")="Access.csp?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +MShowKnownCustomer(Visible) +#define KLNrClean $S(KLNr=$$$KLNrListAll:"", 1:KLNr) + New KLNaam,KLMini + If (blnVHEPN)||(blnLMC)||(blnSFS)||(blnMBHO) Do + . Quit:($$$KLNrClean="") + . Set KLMini=##class(cspBasis.GAProdTBox).GetKlantData(sDomVERW,KLNr) + . ; If KLMini Do + . ;. Set KLNaam=KLMini.Naam + . Set:(KLMini) KLNaam=KLMini.Naam + . Set KLMini="" + . Set blnValidKlant=($G(KLNaam)'="") + . Set:($G(KLNaam)="") KLNaam="?"_KLNr_"?" + . Do MShowKnownCustomerText + Else If (KLNr=$$$KLNrListAll)&&(sMode="START") Do + . Set arShow("KnownCustomer","LBL")=Visible + . Set arShow("KnownCustomer","INFO")=""_""_##class(cspBasis.GAProdTBox).WebTextValue("",Taal,"L")_"VERKOOP Algemeen"_"" + Quit +MShowKnownCustomerText + Set arShow("KnownCustomer","LBL")=Visible + Set arShow("KnownCustomer","INFO")=""_##class(cspBasis.GAProdTBox).WebTextValue("Klant",Taal,"L",$LB("L"))_" "_""_KLNaam_"" + Quit +MShowVervaldagOFFText + Set ExtraTekst=$S($IsObject($G(WSOrd)):WSOrd.ExtraTekst, 1:"") + Quit:(ExtraTekst'["VVOFF-") + New VVDate,InfoGeldigTotEindeActie + Set VVDate=$P($P(ExtraTekst,"VVOFF-",2),";",1) + Set arShow("VervaldagOFF","INFO")=1 + If ($IsObject(WSOrd))&&(WSOrd.BevatActies()) { + Set arShow("VervaldagOFF","TEXT")=##class(cspBasis.GAProdTBox).WebTextValue("GeldigheidOFF_ofTotEindeActie",Taal,"O") ; "Deze offerte is 30 dagen geldig of tot einde actie." + ; --> indien VVDate correct berekend is, dan : + ; Set arShow("VervaldagOFF","TEXT")=##class(cspBasis.GAProdTBox).WebTextValue("GeldigheidOFF_ofTotEindeActie",Taal,"O")_" "_VVDate ; "Deze offerte is 30 dagen geldig of tot einde actie, tot" ... + } + Else { + Set arShow("VervaldagOFF","TEXT")=##class(cspBasis.GAProdTBox).WebTextValue("GeldigheidOFF",Taal,"O")_" "_VVDate ; "Deze offerte is 30 dagen geldig, tot" + } + Quit + + + + /* + + + + + + + + + + + + + + + + */ + + +PrepareWSOrdVTL +#define pg ##class(cspBasis.GAProdTBox) + Kill arWSVTL + Quit:('$IsObject($G(WSOrd))) + New i,WSLn,SomAKPrijs,BonType,Munt,MuntCalc + Set Munt="EUR" + Set Munt=$$GetUserMunt^cspBasis.Library(sDomVERW,$G(VERW)) ; if sMode=PROCESS, then enable switch between EUR and CHF, by setting VERW="SFS" or VERW="VHEPN" + Set BonType=$$$pg.ConvertBonType(WSOrd.BonType,VERW,sMode) + Set arWSVTL("BonType")=$S($L(BonType):$$$pg.WebTextValue("FT_"_BonType,Taal,"L",$LB("U")), 1:"") + Set arWSVTL("NietMee")=$$pwoTransNietMee(WSOrd.NietMeeleveren) ; $S($L(WSOrd.NietMeeleveren):"corpusprofielen, afdekkappen", 1:"") ; "De corpusprofielen / afdekkappen worden niet meegeleverd.", 1:"") + Set blnShowAKPrijs=(sMode="PROCESS")&&('blnVHEPN) ; &&(BonType="INKP") + If sDomVERW="SFS" Do + . ; Aankoopprijzen in EUR berekend en getoond + . ; Verkoopprijzen in CHF berekend en getoond + . ; ==> m.a.w. Munt moet correct ingevuld worden (EUR of CHF); prijzen van WSOrd niet meer omrekenen, dus MuntCalc="EUR" + . Set Munt=$S(blnShowAKPrijs:"EUR",1:"CHF") + . Set MuntCalc="EUR" + Else Do + . Set MuntCalc=Munt + Set arWSVTL("Munt")=Munt + + ;Set:(blnLMC)&&(sMode'="PROCESS")&&(BonType="INKP") BonType="BBON" ; Specifiek voor OPTIMA + ;Set:(blnSFS)&&(sMode'="PROCESS")&&(BonType="INKP") BonType="BBON" ; Specifiek voor ... + ;Set:(blnMBHO)&&(sMode'="PROCESS")&&(BonType="INKP") BonType="BBON" ; Specifiek voor ... + ;Set:(BonType="INKP")&&(sMode'="PROCESS") BonType="BBON" + ;Set arWSVTL("BonType")=$S($L(BonType):$$$pg.WebTextValue("FT_"_BonType,Taal,"L",$LB("U")), 1:"") + ;Set blnShowAKPrijs=(sMode="PROCESS")&&('blnVHEPN)&&(VERW'?1(1"HEIN",1"LMC")) ; ? SFS + Set SomAKPrijs=0 + Set WSLn=WSOrd.Lijnen.GetNext("") + If WSLn Do + . Set dcID=##class(BL.PR.GA.TandemBox).DesignCodeFromDS(WSLn.ItemDS) + . Set HeaderLogo = dcID + . //Set:(dcID="I") HeaderLogo="I" + . Set:($L(WSLn.ItemDS)) DCSuffix=$$$Replace($$$pg.WebTextValue("DC_Suffix_"_dcID,Taal,"L"),"~","") + . Set:($L(DCSuffix)) DCSuffix=""_DCSuffix_"" + . Set arWSVTL("KLR_DS")=$S($L(WSLn.ItemDS):$$$pg.WebTextValue("DS_"_WSLn.ItemDS,Taal,"L")_DCSuffix, 1:"") + . Set arWSVTL("KLR_KL")=$S($L(WSLn.ItemDS):$$$pg.WebTextValue("DS_"_WSLn.ItemDS,Taal,"L"), 1:"") ; arWSVTL("KLR_DS") + . ;Set arWSVTL("KLR_KL")=$S($L(WSLn.ItemKL):$$$pg.WebTextValue("KL_"_WSLn.ItemKL_$S(WSLn.ItemKL?1(1"WI",1"BE",1"BA"):"_DS",1:""),Taal,"L"), 1:"") + . Set arWSVTL("KLR_KB")=$S($L(WSLn.ItemKB):$$$pg.WebTextValue("KL_"_WSLn.ItemKB_$S(WSLn.ItemKB?1(1"WI",1"BE"):"_KB", 1:""),Taal,"L"), 1:"") + . Set arWSVTL("KLR_RK")=$S($L(WSLn.ItemRK):$$$pg.WebTextValue("KL_"_WSLn.ItemRK,Taal,"L"), 1:"") + . Set arWSVTL("KLR_KX")=$S($L(WSLn.ItemKX):$$$pg.WebTextValue("KL_"_WSLn.ItemKX,Taal,"L"), 1:"") + . Set arWSVTL("KLR_KV")=$S($L(WSLn.ItemKV):$$$pg.WebTextValue("KLV_"_WSLn.ItemKV,Taal,"L"), 1:"") + . ;Set arWSVTL("FBevest")=$S($L(WSLn.ItemFB):$$$pg.WebTextValue("FB_"_WSLn.ItemFB,Taal,"L"), 1:"") + Set blnContainsGlas=0 + Set blnWSErrors=0 + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . For Key="LT","CB","WD","LD","DK","FB","BM","BX","SB","OPVL","STDL" Do + . . Set arWSVTL("LN",i,Key)=$$pwoTransItemValue($zobjproperty(WSLn,"Item"_Key),Key) + . Set arWSVTL("LN",i,"DIV")=$$pwoTransItemValue(WSLn.ItemDIVToLB(),"DIV") ; ..ItemDIVToLB() ; Returns $LB() + . Set arWSVTL("LN",i,"AANT")=$$pwoTransItemValue(WSLn.Qty,"AANT") ; _$$pwoTransItemValue(WSLn.ItemVPK,"VPK") + . Set arWSVTL("LN",i,"PRIJS")=$$pwoTransItemValue($S($G(%session.Data("BeursUser")):99.99, blnShowAKPrijs:WSLn.AKPrijs, 1:WSLn.KostPrijs),"PRIJS") + . Set blnContainsGlas=(blnContainsGlas)||(WSLn.ItemBX?1(1"BG",1"COV"))||(WSLn.ItemBGRP?1(1"V")) + . Set:(WSLn.KostPrijs["ERROR") blnWSErrors=1 + . Set:(blnShowAKPrijs) SomAKPrijs=SomAKPrijs+(WSLn.AKPrijs*WSLn.Qty) + + If 'blnContainsGlas Set arWSVTL("KLR_KV")="" + ;Set:(blnShowAKPrijs) arWSVTL("AKPrijsTot")=$S($G(%session.Data("BeursUser")):99.99, 1:SomAKPrijs) + ;Set arWSVTL("TotPrijs")=$$pwoTransTotPrijs($S($G(%session.Data("BeursUser")):99.99, blnShowAKPrijs:arWSVTL("AKPrijsTot"),1:WSOrd.TotPrijs)) + If $G(%session.Data("BeursUser")) Do + . Set:(blnShowAKPrijs) arWSVTL("AKPrijsTot")=99.99 + . Set arWSVTL("TotPrijs")=$$pwoTransTotPrijs(99.99) + Else Do + . Set:(blnShowAKPrijs) arWSVTL("AKPrijsTot")=$$PrijsConvert^cspBasis.Library(MuntCalc,SomAKPrijs) + . Set arWSVTL("TotPrijs")=$$pwoTransTotPrijs($$PrijsConvert^cspBasis.Library(MuntCalc,$S(blnShowAKPrijs:SomAKPrijs, 1:WSOrd.TotPrijs))) + Quit +pwoTransTotPrijs(Val) + Quit:(Val>0) $J(Val,0,2)_" "_Munt + Quit "" +pwoTransItemValue(Val,Key) + New str + Quit:(Val="") " " + Quit:(Key="CB") Val_" mm" + If Key="WD" Do Quit str + . If '$IsValidNum(Val) Set str="
    "_$S(Val="B":"|←→|", 1:Val)_"
    " + . Else Set str=Val_" mm" + Quit:(Key="LD") Val_" mm" + Quit:(Key="DK") Val_" kg" + Quit:(Key="FB") $S(Val="NM":"-", Val="Z":" ", (Val="S")&&(Taal="F"):"Vis", 1:Val) + ; Quit:(Key="BM") $CASE(Val, "T":"T", "I":"v", "LR":"v", "Z":" ", :Val) + Quit:(Key="BX") $CASE(Val, "DR":"==", "ER":"---", "ZR":" ", :Val) + Quit:(Key="SB") $S(Val:"v", 1:" ") + Quit:(Key="OPVL") $S(Val="LR":"L+R", 1:Val) + Quit:(Key="DIV") $$LCVTSimple^vhLib(Val,"
    ") + Quit:(Key="AANT") Val + Quit:(Key="VPK") $S(Val="P":" ("_$$$pg.WebTextValue("VerpakBulkKort",Taal,"L")_")", Val'="S":Val, 1:"") + If Key="PRIJS" Do Quit str + . If $$$UCase(Val)="ERROR" Set str="
    # "_$$$pg.WebTextValue("jsFout",Taal,"L",$LB("U"))_" #
    " + . Else Set str=$J($$PrijsConvert^cspBasis.Library(MuntCalc,Val),0,2)_" "_Munt + Quit Val +pwoTransNietMee(NMKeys) + #define LowerCaseExceptBS $S(NietMeeKey="NM_BS":"",1:$LB("L")) + + New str + Set str="" + For i=1:1:$L(NMKeys,";") Do + . Set NietMeeKey=($P(NMKeys,";",i)) + . Set:($E(NietMeeKey,1,2)="NM")&&($E(NietMeeKey,3)'="_") $E(NietMeeKey,1,2)="NM_" + . Set:($L(NietMeeKey)) str=str_$S($L(str):", ", 1:"")_$$$pg.WebTextValue(NietMeeKey,Taal,"L",$$$LowerCaseExceptBS) + Quit str + + + /* + VORIGE VERSIE: + ====== ======= + * / + #If ($ZCVT($ZUTIL(110),"U")="WWW01")&&($$$NSpace'="DEMO") + Set ClientHostIP=$S((VERW="VHEPN")&&('blnVHEPN):"192.168.1x.", 1:"192.168.1.") + #Else + Set ClientHostIP="192.168.1x." + #EndIf + + &SQL(DECLARE crsHist CURSOR FOR + SELECT Top 1000 KLNummer, KLNaam, BonType, ID, IngaveTijdStip, TotAantal Qty, TotPrijs Prijs, Commissie, SubmitTS + INTO :tmpAr("KLNr"), :tmpAr("KLNaam"), :tmpAr("BonType"), :tmpAr("wsID"), :tmpAr("OrdTime"), :tmpAr("TotQty"), :tmpAr("TotPrs"), :tmpAr("Commissie"), :tmpAr("SubmitTS") + FROM WS_TBX.WebOrder OrdHfd + WHERE (WebDomain=:sDomain2) AND ((KLNummer=:KLNrSel)OR(:blnListALL=1)) AND (IngaveTijdStip > '2004-01-24') AND ID in + ( + SELECT DISTINCT (LogT.WSOrderID) + FROM DW_WWW.SysLogTBX LogT + WHERE (LogT.Actie ='WIZARD_CALC') AND (NOT LogT.ClientHost %STARTSWITH :ClientHostIP) + ) + ORDER BY IngaveTijdStip DESC, ID + ) + /* */ + +PrepareHistVTL +#define KLNrClean $S(KLNr=$$$KLNrListAll:"", 1:KLNr) + ;s:('$D(ClientIP)) ClientIP="192.168.1.97" + New tmpAr,KLNrSel,i,wsID,Ref,WizMode,sDomain2,tmpKLNr,blnListALL,tmpNaam,BonType,Munt,ClientHostIP,MinShowH,MaxShowH,blnListHidden + Kill arHistVTL + Set blnListHidden=($G(%request.Data("SHOWALL",1))="1") + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("csp.vhisie.TBX.Main_ToonHistoriekVoorTestklanten")) + { + Set blnListHidden=(blnListHidden)||(KLNr?1(1"4682",1"1000",1"4645")) + } + Set blnListHiddenOnly=0 + Set blnListALL=(KLNr=$$$KLNrListAll) + Set KLNrSel=$$$KLNrClean ; $S(KLNr=$$$KLNrListAll:"", 1:KLNr) + Set WizMode=$S(sMode?1(1"VIEW",1"PROCESS",1"COMPLETE"):sMode, 1:"COMPLETE") + Set sDomain2=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set Munt="EUR" + Set Munt=$$GetUserMunt^cspBasis.Library(sDomVERW,) + Do phvBuildColHeader + + Set MinShowH=$$$shShownForKlant + Set MaxShowH=$$$shShownForAll-1 + If blnListHidden Do + . Set MinShowH=$$$shHiddenForAll + . Set:(blnListHiddenOnly) MaxShowH=$$$shShownForVHEPN-1 + Else If (sMode="PROCESS")||(blnListALL) Do + . Set MinShowH=$S(VERW'="VHEPN":$$$shShownForVERW, 1:$$$shShownForVHEPN) + Else If 0 && ($G(%RemoteIP)?1(1"192.168.1.")) Do + . Set MinShowH=$$$shShownForVHEPN + Set:(KLNrSel?1(1"1000",1"4645",1"4682")) MinShowH=$$$shShownForVHEPN + + &SQL(DECLARE crsHist CURSOR FOR + SELECT Top 1000 KLNummer, KLNaam, BonType, ID, IngaveTijdStip, TotAantal Qty, TotPrijs Prijs, Commissie, SubmitTS, ShowInHist + INTO :tmpAr("KLNr"), :tmpAr("KLNaam"), :tmpAr("BonType"), :tmpAr("wsID"), :tmpAr("OrdTime"), :tmpAr("TotQty"), :tmpAr("TotPrs"), :tmpAr("Commissie"), :tmpAr("SubmitTS"), :tmpAr("ShowInHist") + FROM WS_TBX.WebOrder OrdHfd + WHERE (WebDomain=:sDomain2) AND ((KLNummer=:KLNrSel)OR(:blnListALL=1)) AND (ShowInHist BETWEEN :MinShowH AND :MaxShowH) + ORDER BY IngaveTijdStip DESC, ID + ) + &SQL(OPEN crsHist) + Set i=0 + For &SQL(FETCH crsHist) Quit:(SQLCODE) Do + . If $G(tmpAr("KLNr"))="" Set arKLNrs("I-Empty",0)="" ; Index for Empty KLKey + . Else Set arKLNrs("I",tmpAr("KLNr"))="" ; Index + . Set tmpAr("Munt")=Munt + . Do phvBuildHistArray ; lijn opbouwen + &SQL(CLOSE crsHist) + + Do phvBuildKLNrColumn + Do phvBuildHistSort + ; d WL^vhDBG("arKLNrs"_$$$ArrayTT("arKLNrs")) + Quit +phvBuildColHeader + Quit +phvBuildHistSort + Quit +phvBuildKLNrColumn + New KLKey,WizMode2 + Set WizMode2=$S(WizMode="COMPLETE":"START", 1:WizMode) + Set CntKL=0 ; Globale variabele + Set:($D(arKLNrs("I-Empty",0))) CntKL=1 + Set KLKey="" + For Set KLKey=$O(arKLNrs("I",KLKey)) Quit:(KLKey="") Do + . Set CntKL=CntKL+1 + . Set arKLNrs("U",KLKey)="?HIST=1&REF="_$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLKey,VERW,,WizMode2)) + Quit +phvBuildHistArray + Set i=i+1 + Set:($G(%session.Data("BeursUser")))&&(tmpAr("TotPrs")) tmpAr("TotPrs")=99.99 + Merge arHistVTL("LN",i)=tmpAr + Set wsID=$G(tmpAr("wsID")) + Set tmpKLNr=$S(KLNr=$$$KLNrListAll:$G(tmpAr("KLNr")), 1:KLNr) + Set arHistVTL("LN",i,"KLNr")=$G(tmpAr("KLNr")) + Set arHistVTL("LN",i,"KLNaam")=$G(tmpAr("KLNaam")) + Set arHistVTL("LN",i,"Munt")=$S($G(tmpAr("Munt"))="":"EUR", 1:tmpAr("Munt")) + Set arHistVTL("LN",i,"MuntCalc")=arHistVTL("LN",i,"Munt") + If sDomVERW="SFS" Do + . Set arHistVTL("LN",i,"Munt")="CHF" + . Set arHistVTL("LN",i,"MuntCalc")="EUR" + /* + If KLNr=$$$KLNrListAll Do + . Set tmpNaam=$G(tmpAr("KLNaam")) + . Set arHistVTL("LN",i,"KLNaam")=tmpNaam + . Set arHistVTL("LN",i,"KLNaamDSP")=$S($L(tmpNaam)>$$$LenKLNaam:$E(tmpNaam,1,$$$LenKLNaam-2)_"...", 1:tmpNaam) + . Set arHistVTL("LN",i,"KLNaamALT")="Lijst voor "_$G(arHistVTL("LN",i,"KLNaam"),"klant")_$S($L(arHistVTL("LN",i,"KLNr")):" ("_arHistVTL("LN",i,"KLNr")_")", 1:"") + */ + Set arHistVTL("LN",i,"OrderNr")=##class(WS.TBX.Order).OrderNrCalc(wsID) + Set arHistVTL("LN",i,"TimeCust")=$S($G(arHistVTL("LN",i,"OrdTime"))="":"", 1:$TR($ZD($ZDTH(arHistVTL("LN",i,"OrdTime"),3),4),"/","-")) + Set arHistVTL("LN",i,"OrderDCM")=##class(WS.TBX.Order).DCMCalc(wsID) + Do phvManageBonType + ;Set arIDs(i)=$G(arHistVTL("LN",i,"wsID")) + ;Set arIDs(i)=tmpAr("wsID") + Set Ref(i)=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(tmpKLNr,VERW,wsID,WizMode)) + Set arHistVTL("LN",i,"UrlOrd")=$$$Replace(arUrl("ShowOrder"),$$$QSREFReplace,Ref(i)) + Kill tmpAr + Quit +phvManageBonType + Set BonType=$$$pg.ConvertBonType(arHistVTL("LN",i,"BonType"),VERW,WizMode) + Set:(blnLMC||blnSFS||blnMBHO) arHistVTL("LN",i,"BonType")=BonType + Set arHistVTL("LN",i,"BonTypeVTL")=$$$pg.WebTextValue("FT_"_BonType,Taal,"L") + Quit \ No newline at end of file Index: Prod/GAMeta/Item.cls.xml =================================================================== diff -u --- Prod/GAMeta/Item.cls.xml (revision 0) +++ Prod/GAMeta/Item.cls.xml (revision 2) @@ -0,0 +1,189 @@ + + + +0 +0 +persistent +0 +0 +%Library.Persistent,%XML.Adaptor +0 +0 + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Deze array bevat de variabele, uitbreidbare data van een item. + +Voorbeeld van params zijn : +PRODUKT +AANTAL +ACTIEF (of het Item actief is of moet genegeerd worden) +KENMERKx (waarde voor een bep. kenmerk om een product te zoeken) +Prod.GAMeta.EM.Param +0 +0 +array +0 +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +Code,Version +1 + + + + +0 +0 +code +KenmNaam:%Library.String,PRNr:%Library.String,KenmGrp:%Library.String +0 +0 + + + + + + +Opties :
  • +??? : ...
  • +. + +

    +XSLURL : Toevoegen van de reference naar de XSL. Indien Leeg (""), tags worden weggelaten.]]> +0 +0 +code +DItem:Prod.GAData.Item,DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String +0 +0 + + + + +%Library.CacheStorage +^Prod.GAMeta.ItemD +ItemDefaultData +^Prod.GAMeta.ItemD +^Prod.GAMeta.ItemI +^Prod.GAM.ItemS + +%%CLASSNAME +node +0 + + + +Omschrijving + + +ProductForm + + +RijFormat + + +TemplateForm + + + +Parameters +subnode +"P" + + + + Index: cspBasis/GAProdTBox.cls.xml =================================================================== diff -u --- cspBasis/GAProdTBox.cls.xml (revision 0) +++ cspBasis/GAProdTBox.cls.xml (revision 2) @@ -0,0 +1,1548 @@ + + + +APPS.TBXWeb,PRGACNTs,ErrorVHCNTs +%RegisteredObject,%XML.Adaptor +0 + + + +Deze parameter SOAPServer... is pseudo: + De werkelijke target voor de WebService wordt bepaald door PeekSOAPServer() routine. + Parameter alleen om te testen of de bewerking WEL OF NIET via WebService moet uitgevoerd worden : + If $ZU(110)'=..#SOAPServerComputer Do call via WS Else direct call to method +CACHE02 + + + + +Deze parameter SOAPServer... is pseudo: + zie: Parameter SOAPServerComputer +DEV-ADMIN1 + + + + +Methods: +======== + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| DATA INPUT/OUTPUT + OPERATIONS | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +Get KlantData via Soap on Cache01/ADMIN1 +1 +sDomVERW:%String,KLNr:%String,lbFlags:%List="" +0 +WS.TBX.KlantMini + locNdx="_$G(locNdx)) + Do:(locNdx<0) gkdSoapAddToLog ; Problem: no location + Quit:('Result) + Do:(locNdx>1) gkdSoapAddToLog ; Not the first location + Set $ZTRAP="gkdSoapErrorKL" + Set KLMini=Client.GetKlant(KLNr) + Set $ZTRAP="" + Quit +gkdSoapAddToLog + New lbExtras + Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) + Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) + Quit + /* // DEPRECATED subroutine +gdkAddToLog + New lbExtras + Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) + Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(sDomain),$G(KLNr),$G(sMode),$G(wsID),$G(sDomVERW),$G(Taal),,lbExtras) + Quit + */ +gkdSoapErrorKL + Set $ZTRAP="" + New CustomMsg + Set CustomMsg=SoapClass_" - "_method_"() : KLNr="_KLNr_"."_$S(locNdx>1:" ["_$LG(lbLocations,locNdx)_"]" ,1:"") + Do SOAPErrorMail^cspBasis.SOAPlib("TBX_ERR",,CustomMsg,,Client) + Set KLMini="" + ;Set $ZE="" + Quit +]]> + + + + +Lookup for Optima KLNr via encrypted DATA-ref. +Use this method if encDataOpt is a Bad encrypted DATA-ref. +Returns the first (and only) KLNr that matches the encDataOpt in the global +1 +encDataOpt:%String +1 +%String + + + + + +Lookup for Optima KLNr via encrypted DATA-ref. +Use this method if encData is a Bad encrypted DATA-ref. +Or use KLNr and blnDeleteFixData=1 for deleting data for KLNr. +Returns the Status. +1 +OrigDataOpt:%String,KLNr:%String,DataOpt:%String,blnDeleteFixData:%Boolean=0 +1 +%Status + + + + +1 +KLNr:%String +%List + locNdx="_$G(locNdx)_" "_$$$LCVT(lbLocations)) + Do:(locNdx<0) geaSoapAddToLog2 ; Problem: no location + Quit:('Result) + Do:(locNdx>1) geaSoapAddToLog2 ; Not the first location + Set $ZTRAP="geaSoapErrorLW" + Set lbEmails=Client.GetEmailAdressenLB(KLNr) + Set $ZTRAP="" + Quit $G(lbEmails) + +geaSoapAddToLog2 + New lbExtras + Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) + Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) + Quit + +geaSoapErrorLW + Set $ZTRAP="" + New CustomMsg + Set CustomMsg=SoapClass_" - "_method_"() : KLNr"_$G(KLNr)_"."_$S(locNdx>1:" ["_$LG(lbLocations,locNdx)_"]" ,1:"") + Do SOAPErrorMail^cspBasis.SOAPlib("TBX_ERR",,CustomMsg,,Client) + Set KLMini="" + ;Set $ZE="" + Quit +]]> + + + + +Get LeverWeken $LB() via Soap on Cache01/ADMIN1 +1 +sDomVERW:%String,Taal:%String +%List + locNdx="_$G(locNdx)) + Do:(locNdx<0) cdwSoapAddToLog2 ; Problem: no location + Quit:('Result) + Do:(locNdx>1) cdwSoapAddToLog2 ; Not the first location + Set $ZTRAP="glwSoapErrorLW" + Set lbLevT=Client.GetLeverWekenLB(Taal) + Set $ZTRAP="" + Quit +cdwSoapAddToLog2 + New lbExtras + Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) + Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) + Quit +glwSoapErrorLW + Set $ZTRAP="" + New CustomMsg + Set CustomMsg=SoapClass_" - "_method_"() : Taal="_$G(Taal)_"."_$S(locNdx>1:" ["_$LG(lbLocations,locNdx)_"]" ,1:"") + Do SOAPErrorMail^cspBasis.SOAPlib("TBX_ERR",,CustomMsg,,Client) + Set KLMini="" + ;Set $ZE="" + Quit +]]> + + + + +Get Bulk settings from global, specifiek voor KLNr +1 +sDomVERW:%String,KLNr:%String +1 +%List + + + + + different approach for intivo/standard/... (antaro?) +Returns I for intivo, S for standard/F-design/baliko ]]> +1 +DC:%String +1 +%String + + + + + +Get Design Choices for DCM + - from global, specifiek voor KLNr, default if not defined +Returns a $LB() , max=$LB("S","I","B","F") +1 +DCM:%String,KLNr:%String,sDomVERW:%String="",sDomKLNr:%String +1 +%List +0 Do Quit:($LG(lbDCs,1)'="") lbDCs + . Set lbDCs=$$gdcGetDCsList(sDomVERW,KLNr) + // Default op extern Domein --> settings via sDomKLNr op VHEPN-domein + If sDomVERW'="VHEPN" Do Quit:($LG(lbDCs,1)'="") lbDCs + . Set lbDCs=$$gdcGetDCsList("VHEPN",sDomKLNr) + // Default op VHEPN-Domein + Set:(sDomVERW'="VHEPN")||($G(sDomKLNr)="") sDomKLNr=$LG(##class(WS.TBX.Order).DomainLookUp("www.tandem-box.com",$LB("KLNR")),1) + Set lbDCs=$$gdcGetDCsList("VHEPN",sDomKLNr) + Quit:($LG(lbDCs,1)'="") lbDCs + // Defaults from the code + Quit $CASE(DCM, "S":$$$DCsDefaultS, "I":$$$DCsDefaultI, "A":$$$DCsDefaultA, "X":$$$DCsDefaultX, :ERROR) ; ERROR will not occur + +gdcGetDCsList(sDomVERW,KLNr) + Set KlantDCs=$G($$$GlobalKLData(0,sDomVERW,KLNr,"DESIGNCHOICES")) ; contains e.g. "S:S\F~I:I~X:S\I\F\MA" + Set lbDCs="" + For i=1:1:$L(KlantDCs,$$$Delim1) Set:($P($P(KlantDCs,$$$Delim1,i),":",1)=DCM) lbDCs=$$PiecesToList^vhLib($P($P(KlantDCs,$$$Delim1,i),":",2),"\") Quit:($L(lbDCs)) + Quit lbDCs +]]> + + + + +Get list of SPZK id's for the specified LadeCode. +1 +DC:%String,LC:%String +1 +%List +ItemCode INTO :SPZK + FROM Prod_GAMeta_BT.TBSPZijkant_BeperkGUI AS BxBP1, Prod_GAMeta_BT.TBSPZijkant_BeperkGUI AS BxBP2 + WHERE (BxBP1.TBSPZijkant = BxBP2.TBSPZijkant) AND ($ListFind(BxBP1.TBSPZijkant->FilterDC,:DC)>0) + AND (BxBP1.element_key = 'TBRugHoogte' and ((';' || BxBP1.BeperkGUI || ';') LIKE :MatchRH OR BxBP1.BeperkGUI="*")) + AND (BxBP2.element_key = 'TBKlasse' and ((';' || BxBP2.BeperkGUI || ';') LIKE :MatchKLAS OR BxBP2.BeperkGUI="*")) + ORDER BY BxBP1.TBSPZijkant->VolgNr + ) + &SQL(OPEN crsSPZKLC) + For &SQL(FETCH crsSPZKLC) Quit:(SQLCODE) Set:($L(SPZK)) tmpLB=tmpLB_$LB(SPZK) + &SQL(CLOSE crsSPZKLC) + Quit tmpLB +]]> + + + + +Save Klant Defaults + pdlKleurDfl is piece-delimited list : DS\KB\KR\KV + pdlMatenDfl is piece-delimited list : DC\DS\FB\BM\WD\VPK +Returns error message as string or "" (empty) +1 +KLNr:%String,sDomVERW:%String,DCM:%String,DC:%String,DS:%String,pdlKleurDfl:%String,pdlMatenDfl:%String +1 +%Status + + + + + +Test BeursUser +%RemoteIP moet gedefinieerd zijn voor een geldige test +1 +1 +%List + 61645)&&($H < 61646) +#define MatchIP(%v) (%v?1(1"x82x.170.242.136",1"192.168.1.195")) + ; Quit ($$$IsBeurs)&&($G(%OptieBeurs)=1) + Quit ($$$IsBeurs)&&($$$MatchIP($G(%RemoteIP))) +]]> + + + + +Get default message to use when showing the "Bestelling plaatsen" page (SendMail.csp), specifiek voor KLNr +1 +sDomVERW:%String,KLNr:%String +1 +%String + + + + + +Creëert Piece-Delimited Lists "pdlKleurKeuze", "pdlMData" en "pdlPData" van een WS-object (bepaald door wsID). +Deze worden deze teruggegeven via ...? . +1 +wsID:%String,blnNewFromOrd:%Integer=0 +0 +0) $P(pdlPrices,"\",i)="99.99" + Write "window.document.TagPData = "_$$$QuoteJS(pdlPData)_";" + Write "window.document.TagKleurKeuze = "_$$$QuoteJS(pdlKleurKeuze)_";" + Write "window.document.TagMData = "_$$$QuoteJS(pdlMData)_";" + Write "window.document.TagPrices = "_$$$QuoteJS(pdlPrices)_";" + Quit + +gdsCleanCopyInto() + Set arFullData("KLT","ID")="" + If $G(arFullData("KLT","BonType"))?1(1"BBON",1"INKP") Set arFullData("KLT","BonType")="OFF" + Set arFullData("KLT","TotPrijs")="" + Set arFullData("KLT","Commissie")="" + Set arFullData("KLT","LeverTijd")="" + Set i="" + For Set i=$O(arFullData("LN",i)) Quit:(i="") Do + . Set arFullData("LN",i,"PRIJS")="" + Set pdlPrices="" ; $G(arPData("TotPrijs"))_D1_pdlPrices + Quit +]]> + + + + +Converteert de argumenten "pdlKleurKeuze" en "pdlMData" naar CacheArrays en roept CheckDataWS() op. +Die creëert een WS-object dat de consistenties van MData nagaat. +Als er inconsistenties zijn, worden deze teruggegeven in de vorm van een Piece-Delimited List. +1 +pdlKleurKeuze:%String,pdlMData:%String +0 +%String + + + + + +Creëert een WSOrd-object, dat de consistenties van de array arFullData (als .local doorgeven) nagaat. +Als er inconsistenties zijn, worden deze teruggegeven via de array "arErrs". +Als blnUpdateData=1 dan worden de gegevens van de WSLijnen bijgewerkt (i.e. Propt Diverse berekend/ingevuld) +1 +arFullData:%String,arErrs:%String,blnUpdateData:%Boolean=0,Taal:%String +1 +%String + + + + + +Converteert de argumenten "pdlKleurKeuze", "pdlMData" en "pdlPData" naar CacheArrays en roept CalcDataWS() op. +Die creëert een WS-object dat de prijzen berekent van de producten van MData. +De prijzen worden teruggegeven in de vorm van een Piece-Delimited List. +1 +pdlKleurKeuze:%String,pdlMData:%String,pdlPData:%String +0 +%String + + + + + +Creëert een WS-object van de array arFullData (als .local doorgeven) en berekent de prijzen via WEB-SERVICE +voor de producten van WS.Order Lijnen. Deze prijzen worden teruggegeven via de array "arPrices". +1 +arFullData:%String,arPrices:%String,wsID:%String +0 +%String +0)||($G(%session.Data("UserType"))>$$$utKlantAnon)) + } + + Do cdwSetURLValues + Set SaveOK=WSOrd.%Save() + Set PreCalcID=WSOrd.%Id() + Do cdwBuildFromWS + Do:(WSOrd.mID=PreCalcID) WSOrd.OverwriteOID(PreCalcID) + Do cdwBuildPricesArray ; + calc TotAantal + Set:(blnCalcPrs)&&(WSOrd.BonType="OFFAV") WSOrd.BonType="OFF" ; Status wordt OFFERTE omdat prijzen nu gekend zijn. + Set WSOrd.IngaveTijdStip=$ZDT($H,3) + Set WSOrd.SubmitTS="" ; bij (her)berekening vervalt de (vorige) sumbit-flag. + Set WSOrd.TransferLog="" + + /* */ + // Status voor ShowInHist invullen + Set ClientHostIP=$G(%RemoteIP) + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("cspBasis.GAProdTBox_ForceerBooleanIsExternIP")) + { + // Op de DEMO-versie van TBoxWeb : geen orders verbergen in de historiek, dus niet testen op IP-adres en doen alsof iedere request van extern komt. + Set blnIsExternIP=1 + } + Else + { + Set blnIsExternIP=(ClientHostIP'?1"192.168.1.".E) + } + + ;d WL^vhDBG("Old Hist :"_WSOrd.ShowInHist_" IsExternIP:"_blnIsExternIP) + Set blnVHEPN=$G(blnVHEPN,1) + If WSOrd.ShowInHist="" Do + . Set WSOrd.ShowInHist=$S(blnIsExternIP:$$$shShownForKlant, 'blnVHEPN:$$$shShownForVERW, 1:$$$shShownForVHEPN) + Else If (WSOrd.ShowInHist=$$$shShownForVHEPN)&&(blnIsExternIP) Do + . Set WSOrd.ShowInHist=$$$shShownForKlant + Else Do + . ; Don't change the ShowInHist value + ;d WL^vhDBG("New Hist :"_WSOrd.ShowInHist) + + /* */ + + Set SaveOK=WSOrd.%Save() + Set wsID=WSOrd.%Id() + Do cdwAddToLog + d cdwDEBUG + Set WSOrd="" ; Close + s TmrStop=$PIECE($ZTIMESTAMP,",",2) + d DbgWrite("Totale tijd voor CalcDataWS : "_$J(TmrStop-TmrBegin,0,3)) + Quit:('SaveOK) SaveOK + Quit wsID +cdwSetURLValues + New tmpAr + Set WSOrd.WebDomain=$$$LCase($G(%session.Data("DOMAIN"))) + Set WSOrd.WebURL=$G(%session.Data("URL")) + Merge tmpAr=%session.Data("QSDATA") + Kill tmpAr("CSPToken") + Kill tmpAr("REFMN") + Kill tmpAr("CSPPAGE") + Set WSOrd.WebQSData=##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Quit +cdwBuildFromWS + Set OptiePRS="PRS="_blnCalcPrs_";" ; ||($G(Opties)["PRS=1;"))_";" + d DbgWrite(OptiePRS_" KLNr:"_WSOrd.KLNummer_" UserTp:"_$G(%session.Data("UserType"))) + If $$cdwUseSoapMsg Do + . ;Set SoapErrorMsg="" + . Do cdwBuildViaSoapMsg(OptiePRS) + Else Do + . ; Uitvoeren in huidige namespace: + . If $$$SoapMethod Do + .. Do cdwBuildViaSoapMethod(OptiePRS) + .. ;Set SaveOK=WSOrd.%Save() + .. ;Do cdwAddToLog + . Else Do + .. Do ##class(BL.PR.GA.TandemBox).BuildFromWSNew(WSOrd,OptiePRS) + Quit +cdwBuildViaSoapMethod(Opties) + Set WSOrd=##class(WS.TBX.Calc).BuildWS(WSOrd,.Opties) ; Class Method + Quit +cdwUseSoapMsg() + Quit ##class(TECH.Config.ConfigMgr).Instance().GetBoolean("cspBasis.GAProdTBox_OrderRecalcViaSoapMsg") +cdwBuildViaSoapMsg(Opties) + Do cdwBuildViaSoapMsgSub("WS.TBX.CalcSoap","BuildWS") + Quit +cdwBuildViaSoapMsgSub(SoapClass,method) + New Client,Result,lbLocations,locNdx + Set Client=$System.OBJ.New(SoapClass) + Set Result=Client.PrepareBuildWS(.lbLocations,.locNdx) ; Uses PeekServer and TimeOut=(120-1)sec + ;d WL^vhDBG("PeekServer (PrepareBuildWS) finished ==> locNdx="_$G(locNdx)) + Do:(locNdx<0) cdwSoapAddToLog ; Problem: no location + Quit:('Result) + Do:(locNdx>1) cdwSoapAddToLog ; Not the first location + Set $ZTRAP="cdwSoapErrorCalc" + Set WSOrd=Client.BuildWS(WSOrd,.Opties) + Set $ZTRAP="" + Quit +cdwSoapAddToLog + New lbExtras + Set lbExtras=$$PeekSOAPBuildLog^cspBasis.SOAPlib(SoapClass,method,lbLocations,locNdx) + Do ##class(cspBasis.GAProdTBox).AddToLog("SOAP_BACKUP",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),$G(%session.Data("MODE")),wsID,$G(%session.Data("VERW")),$G(Taal),,lbExtras) + Quit +cdwSoapErrorCalc + New CustomMsg,arOrdKLT + Do + . Quit:($G(%objlasterror,1)) + . // Hyperevent JS error messagebox + . New msg,blnOnServer + . Set blnOnServer=($$$GETERRORCODE(%objlasterror)=$$$SOAPFaultReceived) + . Set msg="'Calculation Failed."_"\n\n"_"SOAP message: '"_"+"_##class(%CSP.Page).QuoteJS($S(blnOnServer:"the SOAP server returned a SOAP fault.", 1:$$ParseStatus^vhLib(%objlasterror))) + . Write "alert("_msg_");" + // Send mail + Merge arOrdKLT=arFullData("KLT") + Set CustomMsg="WSOrd: ID="_wsID + Set CustomMsg=CustomMsg_$$ArrayToText^vhLib("arOrdKLT")_$$$CRLF + Do SOAPErrorMail^cspBasis.SOAPlib("TBX_ERR",,CustomMsg,,Client) + Set $ZE="" + Quit +cdwBuildPricesArray + New i,SomAant + Kill arPrices + Set SomAant=0 + Set i="" + For Set WSLn=WSOrd.Lijnen.GetNext(.i) Quit:(i="") Do + . Set arPrices(i)=$S($G(%session.Data("BeursUser")):99.99, 1:WSLn.KostPrijs) + . Set:(WSLn.KostPrijs'="ERROR") SomAant=SomAant+WSLn.Qty + Set arPrices($O(arPrices(""))-1)=$S($G(%session.Data("BeursUser")):99.99, 1:WSOrd.TotPrijs) + Set WSOrd.TotAantal=SomAant + Quit +cdwAddToLog + New sDomain,lbExtras,sMode,DCM + Set lbExtras="" + Set:($L($G(%Location))) lbExtras=lbExtras_$LB("SoapServer="_%Location) + Set:($L($G(%Action)) ) lbExtras=lbExtras_$LB("SoapAction="_%Action) + Set:($L($G(OptiePRS))) lbExtras=lbExtras_$LB("Opties="_OptiePRS) + Set:($L($G(SoapErrorMsg))) lbExtras=lbExtras_$LB("Msg="_SoapErrorMsg) + Set DCM=$S(wsID>0:##class(WS.TBX.Order).DCMCalc(wsID), 1:"") + Set sMode=$G(%session.Data("MODE"))_$S(DCM'?1(1"S",1""):" - "_DCM,1:"") + Do ##class(cspBasis.GAProdTBox).AddToLog("WIZARD_CALC",$G(%session.Data("DOMAIN")),$G(%session.Data("KLNR")),sMode,wsID,$G(%session.Data("VERW")),,,lbExtras) + ;Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,Domain,KLNr,WizMode,wsID,Verwerker,Taal,VhisieLogin,lbExtras) + Quit +cdwDEBUG + d DbgWrite("DEBUG WSOrd:"_$S('$G(WSOrd):" !!! GEEN WSOrd-Object !!!", 1:"")) + Quit:('$G(WSOrd)) + d DbgWrite("Prijzen"_$$ArrayToText^vhLib("arPrices")) + Quit +DbgWrite(msg) + Do WL^vhDBG(msg) + ;Write msg,! + Quit +]]> + + + + +Converteert het argument "pdlPData" naar een CacheArray en roept UpdateDataWS() op. +Die opent het WS-object en wijzigt de properties van PData. Result="" +1 +pdlPData:%String,wsID:%String +1 +%String + + + + + +Opent het WS-object en wijzigt de properties van PData. Result="" +1 +arFullDataNew:%String,wsID:%String +1 +%String + + + + + +creëert een WS-object van de argumenten en geeft het object terug. +1 +pdlKleurKeuze:%String,pdlMData:%String,pdlPData:%String,wsID:%String,WSOrd:%RegisteredObject +1 +WS.TBX.Order + + + + + +creëert een WS-object van de argumenten en geeft het object terug. +1 +pdlKleurKeuze:%String,pdlMData:%String,pdlPData:%String,wsOrder:%RegisteredObject +1 +WS.TBX.Order + + + + + +Transfer van een WSOrder naar ADMIN via WEB-SERVICE. Creëert daar een Flow.Offerte.Hoofding+Lijnen +Geeft $LB(oHfd.ID,"info...") terug. +1 +wsID:%String,OFFToAdmin:%String +1 +%List + + + + + +Herrekend de prijzen van het WSOrder via WEB-SERVICE. +Geeft $LB(wsID,"info...") terug. +1 +wsID:%String +1 +%List + + + + + +Markeert het order (of in de log) zodat het getoond zal worden in de historiek +Deze method vervalt wanneer de orders in de historiek getoond worden op basis van de property "ShowInHist" en niet meer a.d.h. van de IP-adressen in de Log. +Update okt-2009. +1 +wsID:%String,KLNr:%String,ClientIP:%String,Domain:%String,VhisieLogin:%String +1 + + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| DATA CONVERSION | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +1 + +0 + domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Taal=$$$TaalDfl + Set arConfig("sDomain")=sDomain + Set arConfig("sDomCVT")=sDomCVT + Set arConfig("sDomVERW")=sDomVERW + Set arConfig("sDomKLNr")=sDomKLNr + Set arConfig("Taal")=Taal + Quit +]]> + + + + +Converteert het BonType van "INKP" naar "BBON" in bepaalde situaties +1 +sBonType:%String,VERW:%String="",sMode:%String="" +1 + + + + + +Maakt een link (URL) naar de MainPage van een WSOrder, vertrekkende van de KlantNr en het EDINr (en ev. sMode). +1 +KLNr:%String,EDINr:%String,sMode:%String="COMPLETE",SwitchDomain:%Boolean=0 +1 +%String +" ; "#ALL# voor anonymous + ;Set EDINr="" + ;Set sMode="PROCESS" ; "PROCESS" voor onmiddellijke verwerking + Set WSOrdID=##class(WS.TBX.Order).IDViaEDINr(EDINr,0) + Quit:(WSOrdID="")&&(sMode'="START") "" ; Geen ID gevonden, EDINr ongeldig! + Set VERW="VHEPN" + Set RefEnc=$$CreateHashedRef^cspBasis.TBX.DecodeURL.tmpDev($LB(KLNr,VERW,WSOrdID,sMode)) + Quit UrlBase_"?REF="_$$$EscapeURL(RefEnc) +ltwTranslateDomain(KLNr) + ; Temporary lookup method! + ; Should be replaced by a lookup in Config-Global +#define DomVHEPN $$$TBoxWebDomeinVHEPN +#define DomHEIN $$$TBoxWebDomeinHEIN +#define DomOPTIMA $$$TBoxWebDomeinOPTIMA +#define DomDUPONT $$$TBoxWebDomeinDUPONT +#define DomHELMY $$$TBoxWebDomeinHELMY +#define DomHFLE $$$TBoxWebDomeinHFLE +#define DomSFS $$$TBoxWebDomeinSFS +#define DomMBHO $$$TBoxWebDomeinMBHO +#define DomDEMO $$$TBoxWebDomeinDEMO + Quit $CASE(KLNr, "7833":$$$DomHEIN, "6279":$$$DomOPTIMA, "1736":$$$DomDUPONT, "4598":$$$DomHELMY, "2671":$$$DomHFLE, "12486":$$$DomSFS, $$$TBoxWebKlantNrMBHO:$$$DomMBHO, :"") ; niet naar demo verwijzen ($$$DomDEMO) +]]> + + + + +Converteert de argumenten "pdlKleurKeuze", "pdlMData" en "pdlPData" naar één CacheArray "arFullData" +De parameter "arFullData" moet als .Local doorgegeven worden. +1 +arFullData:%String,pdlPData:%String,pdlKleur:%String,pdlMData:%String +1 + arPData + Do:($D(pdlKleur)) fdtPDLToKleur(.pdlKleur) ; ==> arKlr + Do:($D(pdlMData)) fdtPDLToMData(.pdlMData) ; ==> arMData + Do fdtCompactToFullMData ; ==> arFullData + Quit +fdtPDLToPData(pdlPData,D) + Set D=$G(D,"`") + Kill arPData + Set arPData("KLNaam") =$P(pdlPData,D,1) + Set arPData("KLNummer") =$P(pdlPData,D,2) + ;Set:(arPData("KLNummer")="") arPData("KLNummer")=$G(%session.Data("KLNR"),"") + Set arPData("KLStraatNrBus") =$P(pdlPData,D,3) + Set arPData("KLPostNr") =$P(pdlPData,D,4) + Set arPData("KLWoonPlaats") =$P(pdlPData,D,5) + Set arPData("KLTelefoon") =$P(pdlPData,D,6) + Set arPData("KLFax") =$P(pdlPData,D,7) + Set arPData("Commissie") =$P(pdlPData,D,8) + Set arPData("LeverTijd") =$P(pdlPData,D,9) + Set arPData("BonType") =$P(pdlPData,D,10) + Set arPData("Taal") =$P(pdlPData,D,11) + Set arPData("NietMeeleveren")=$P(pdlPData,D,12) + Set arPData("KLEMail") =$P(pdlPData,D,13) + Set arPData("TotPrijs") =$P(pdlPData,D,14) + Set ID =$P(pdlPData,D,15) Set:(+ID) arPData("ID")=ID + Set arPData("KLPrijsKlasse") =$P(pdlPData,D,16) + Set arPData("TotAantal") =$P(pdlPData,D,17) + Set arPData("SubmitTS") =$P(pdlPData,D,18) + Set arPData("KLKorting") =$P(pdlPData,D,19) + Set arPData("KLBTWNr") =$P(pdlPData,D,20) + Set arPData("ShowInHist") =$P(pdlPData,D,21) + Quit +fdtPDLToKleur(pdlKlr,D) + Set D=$G(D,"`") + Kill arKlr + Set arKlr("KL")=$P(pdlKlr,D,1) + Set arKlr("KB")=$P(pdlKlr,D,2) + Set arKlr("RK")=$P(pdlKlr,D,3) + Set arKlr("KV")=$P(pdlKlr,D,4) ; arKlr("KX") + Set arKlr("DS")=$P(pdlKlr,D,5) + ;Set arKlr("FB")=$P(pdlKlr,D,5) + Quit +fdtPDLToMData(pdlMData,D1,D2) + Set D1=$G(D1,"\") + Set D2=$G(D2,"`") + Kill arMData + For i=1:1:$L(pdlMData,D1) Do + . Set pdlMDRow=$P(pdlMData,D1,i) + . Set LijnNr=$P(pdlMDRow,D2,1) + . Quit:(LijnNr'>0) + . Do ..MDRowFromPDL(.tmpAr, pdlMDRow, .D2, LijnNr) + . Merge arMData("LN",LijnNr)=tmpAr + Quit +fdtCompactToFullMData + ; arData-structuur: zie ##class(WS.TBX.Order).NewFromData() + Kill arFullData + Merge:($D(arPData)) arFullData("KLT")=arPData + ;Merge:($D(arKlr)) arFullData("ALG,"KLR")=arKlr + Do fdtAddKleurToMData + Merge arFullData=arMData + Quit +fdtAddKleurToMData + Quit:('$D(arMData("LN"))) + Quit:('$D(arKlr)) + Set j="" + For Set j=$O(arMData("LN",j)) Quit:(j="") Do + . Merge arMData("LN",j,"KLR")=arKlr + Quit +]]> + + + + +Converteert de CacheArray "arFullData" naar de strings "pdlKleurKeuze", "pdlMData" en "pdlPData" +De parameter "arFullData" moet als .Local doorgegeven worden, de andere ook (bevatten het resultaat!). +1 + +1 + + + + + +Converteert de string pdlMDRow naar de CacheArray arMDRow. Deze moet als .Local doorgegeven worden. +Door LijnNr als parameter door te geven wordt het LijnNr uit pdlMDRow over-ruled. +1 + +1 + + + + + +Converteert de CacheArray arMDRow naar de string pdlMDRow en geeft deze terug. +1 +arMDRow:%String,D2:%String +1 +%String +") + Set $P(pdlMDRow,D2,19)=$G(arMDRow("OLP")) + Set $P(pdlMDRow,D2,20)=$G(arMDRow("ASM")) + Set $P(pdlMDRow,D2,21)=$G(arMDRow("BGRP")) + Set $P(pdlMDRow,D2,22)=$G(arMDRow("FB")) ; arMDRow("DS") + Set $P(pdlMDRow,D2,23)=$G(arMDRow("KLANTREF")) + Set $P(pdlMDRow,D2,24)=$G(arMDRow("FS")) + Set $P(pdlMDRow,D2,25)=$G(arMDRow("DWV")) + Quit pdlMDRow +]]> + + + + +Met GetSet="SET" wordt het ID van het WSOrd met definities van de Standaard-laden voor KLNr opgeslagen in de global. +Met GetSet="GET" (default) geeft de method het ID terug. +1 +KLNr:%String,GetSet:%String="GET",newID:%String +1 +%String + + + + + +Met GetSet="GET" (default) geeft de method het ID terug. +1 +PRNr:%String +%String + + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| LOGGING AND ERROR HANDLING | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +Logging +Oproepen via + ;Do ##class(cspBasis.GAProdTBox).AddToLog(Actie,Domain,KLNr,WizMode,wsID,Verwerker,Taal,VhisieLogin,lbExtras) +Mogelijke waarden voor Actie: + - MAINPAGE : Openen van de Start-pagina. Van hieruit vertrekt de hele navigatie + - WIZARD_NEW : Openen van de Wizard voor een nieuwe ingave + - WIZARD_OPEN : Openen van de Wizard om een ingave te wijzigen + - WIZARD_CALC : Soap-method voor het berekenen van de TBX-Lijnen op Cache01/ADMIN1 of Cache02/JRNL-ADMIN1 + - PRINTPAGE : Bekijken van de afdruk-pagina + - MAIL_SEND : Mail verzonden via MiniMail + - SOAP_BACKUP : SOAP - wanneer PeekServer() naar eerste SoapServer niet gelukt is + - MAIL_DLGERR : Fout bij openen van Dialog window MailSend.csp + - CSP_ERROR : Onvoorziene csp-fout, of TimeOut (by user) + - BUILDREF : Hulppagina voor Administrator (only on Cache02) +1 +Actie:%String,Domain:%String,KLNr:%String,WizMode:%String,wsID:%String,Verwerker:%String,Taal:%String,VhisieLogin:%String,lbExtras:%List +1 + + + + +1 +lbErrTypes:%List +1 + + + + +1 + +0 + + + + + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +| BASIC OPERATIONS | +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +Ophalen van de vertaalde waarde van de interne code en omzetten naar HTML-code. +lbFlags om extra conversies te doen (zoals Uppercase, Lowercase, ...) +1 +Intern:%String,Taal:%String="N",TextType:%String="L",lbFlags:%List="" +1 +%String + + + + +1 + +1 +%Library.Boolean + + + + + +De CSP-query's worden opgeroepen vanuit "wizMaten.csp", maar voor dezelfde query uit een polymorfe klasse geeft dit geen zinvolle resultaten. +Bepaalde variabelen verhinderen de query van zijn rijen af te lopen. Daarom is de query geïsoleerd van de rest. +De Query moet kolommen "ID" en "Omschrijving" bevatten. +DC doorgeven om FilterDC toe te passen (zie ook Prod.GAMeta.BT.TBAbstract) +arItems als .local doorgeven; moet op voorhand leeggemaakt worden. +1 + +1 +%Status + + + + + +QueryData(param1)=value1
    +OF
    +QueryData(param1,i)=value-i , zoals %Request.Data
    +
    +(output: param1=value1¶m2=value2¶m3=value3 )]]>
    +1 + +1 +%String + +
    + + + +Debug method +1 +Msg:%String +1 + + +
    +
    Index: Res/PI/Items.cls.xml =================================================================== diff -u --- Res/PI/Items.cls.xml (revision 0) +++ Res/PI/Items.cls.xml (revision 2) @@ -0,0 +1,175 @@ + + + +persistent +%Library.Persistent,%VHSys.Library + + + +Index voor property ItemID +0 +1 +1 +TabelID,ItemID +0 + + + +%String +0 +0 + +0 +0 +0 +1 +0 +0 + + + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String +0 +0 +array +0 +0 +0 +0 +0 +0 + + + +Res.PI.Definitie +0 +0 + +0 +0 +0 +1 +0 +0 + + + +0 +0 +code +Taal:%Library.String +0 +%Library.String +0 + + + + + +Overschrijft de huidige waarde van de property met de nieuwe +0 +0 +code +PropNaam:%String,Waarde:%String +0 +0 + + + + + +Ophalen van de tabelID en itemID niet gesorteerd +%SQLQuery +TabelID:%Integer +0 +SELECT ID || '||' || ItemID +FROM Res_PI.Items +WHERE (TabelID = :TabelID) + +0 + + + + + + +Ophalen van alle PIItems met TabelID = QRYparam. +%SQLQuery +TabelID:%Integer +0 +SELECT ID, ItemID, Omschrijving, Sort +FROM Res_PI.Items +WHERE (TabelID = :TabelID) +ORDER BY Sort + +0 + + + + + +%Library.CacheStorage +^ResItemsD +ItemsDefaultData +^ResItemsD +^ResItemsI +^Res.PI.ItemsS + +%%CLASSNAME +node +0 + + +listnode + +Omschrijving + + +Sort + + +CStream + + + +TaalOms +subnode +"TO" + + + + Index: _vhisie/TBX/TBoxMain.css =================================================================== diff -u --- _vhisie/TBX/TBoxMain.css (revision 0) +++ _vhisie/TBX/TBoxMain.css (revision 2) @@ -0,0 +1,44 @@ + P { margin:0; } + .BorderNone { border:none; } + .BorderAll { border:solid black 1px; } + .BorderLeft { border-left:solid black 1px; } + .BorderRight { border-right:solid black 1px; } + .BorderTop { border-top:solid black 1px; } + .BorderBottom { border-bottom:solid black 1px; } + .BorderAll2 { border:solid #FF460A 1px; } + .BorderLeft2 { border-left:solid #FF460A 1px; } + .BorderRight2 { border-right:solid #FF460A 1px; } + .BorderTop2 { border-top:solid #FF460A 1px; } + .BorderBottom2 { border-bottom:solid #FF460A 1px; } + .clsHoofding { font-weight:bold; font-size:16px; margin:0; padding:2px; color:#FF460A; background-color:#CCCCCC; + text-align:center; vertical-align:middle; width:400px; line-height:30px; border:solid #FF460A 2px; } + .clsHfdKlant { font-weight:bold; text-align:left; margin:0; padding:0px; padding-left:20px; border:none; } + .clsAangemeldAls { font-size:11px; color:#060606; } + .clsWizardBtn { height:22px; line-height:18px; font-size:13px; font-weight:bold; text-decoration:none; color:white; padding-left:10px; padding-right:10px; + margin:0px; text-align:center; border:solid black 1px; background-color:#FF460A; cursor:pointer; cursor:hand; } + .clsBtnDisabled { color:white; background-color:#AAAAAA; cursor:default; } + .clsTmrSkeleton { position:relative; height:auto; width:100%; color:#FFFFFF; background-color:#AAAAAA; border:none; padding:2px; } + + .clsSectionH { height:20; font-weight:bold; margin:0; color:white; background-color:#AAAAAA; vertical-align:middle; cursor:default; } + .clsOrderDtls { border:solid #AAAAAA 1px; } + .clsOvzHeading1 { font-weight:bold; color:#FF460A; text-decoration:underline; } + .clsOvzDataLbl { height:16px; line-height:14px; padding-right:2px; } + .clsOvzData { height:16px; line-height:14px; font-weight:bold; } + .clsTableOrdList { border:none; } + .clsTableOrdListH { font-weight:bold; text-decoration:underline; font-size:13px; margin:0; padding:5px; color:black; + text-align:center; vertical-align:top; cursor:default; } + .clsTableMatenOvz { border:none; background-color:#DADADA; } + .clsTableMainH { font-weight:bold; font-size:13px; margin:0; padding:5px; color:white; background-color:#AAAAAA; + text-align:center; vertical-align:top; border:solid black 1px; cursor:default; } + .clsMRowOdd { border:none; border-left:solid black 1px; border-right:solid black 1px; } + .clsMRowEven { border:none; border-left:solid black 1px; border-right:solid black 1px; background-color:#EEEEEE; } + .clsMRowLastX { border-bottom:solid black 1px; } + .clsUnitSmall { font-size:10px; } + .clsInputBtns { text-align:left; vertical-align:top; background-color:#E4E4E4; } /* same background-color as body */ + .clsMColQty { border-left:double black 3px; } + .clsOvzTotAant { text-align:center; vertical-align:top; } + .clsOvzPrices { text-align:right; vertical-align:top; padding-right:10px; font-weight:bold; } + .clsOvzPriceErr { text-align:center; text-decoration:underline; color:#FF460A; } + .clsOvzPriceOther { text-align:center; text-decoration:none; } + .clsXtraInfo { margin:10px; margin-right:30px; font-weight:bold; } + .clsScrollDiv TD { color:inherit; } Index: Prod/Product.cls.xml =================================================================== diff -u --- Prod/Product.cls.xml (revision 0) +++ Prod/Product.cls.xml (revision 2) @@ -0,0 +1,1343 @@ + + + +persistent +DataM +%Library.Persistent +0 + + + +Uniekheid index voor property ProductNr +1 +ProductNr +1 + + + + +A = 80% van de meest roterende producten +B = 15% van de tweede meest roterende producten +C = 5% van de minst roterende producten + +De klassificatie wordt opnieuw berekend door MOVE^PRABC +De klassificatie wordt berekend op het (aantal faktuurlijnen/jaar) in ^KSTPR +%Library.String + +0 + + + + +A = 80% van de producten met de meeste waarde +B = 15% van de producten met de tweede meeste waarde +C = 5% van de producten met de minste waarde + +De klassificatie wordt opnieuw berekend door VKP^PRABC +De klassificatie wordt berekend op het (aantal verkocht/jaar * cifppl) in ^KSTPR +%Library.String + +0 + + + + +Toeleveringen opgedeeld in drie velden door "#" +1. Aantal stock ++ KOM +Format: Numeric: 7 + +2. Aantal stock +Format: Numeric: 7 + +3. Aantal KOM +Format: Numeric: 7 +%Library.String + +0 + + + + +Reservatie opgedeeld in drie velden door "#" +1. Aantal Stock + KOM +Format: Numeric: 7 +2. Aantal Stock +Format: Numeric: 7 +3. Aantal KOM +Format: Numeric: 7 +%Library.String + +0 + + + +%Library.String + +0 + + + + +Format: Char: 2 +Waarde: E1,E2,...,H1,H2,... +%Library.String + +0 + + + + + +Format: Char: 2 +Waarde: E1, E2,...,H1,H2,... +%Library.String + +0 + + + + + +Format: Char: 2 +Waarde: E1,E2,...,H1,H2,... +%Library.String + +0 + + + + + +Format: Char: 2 +Waarde: E1,E2,...,H1,H2,... +%Library.String + +0 + + + + + +Format: Numeric: 1 +%Library.String + +0 + + + + +Popup: PRODUKT;PRBARCODE +%Library.String + +0 + + + + +Format: 30 char +%Library.String + +0 + + + + + +Format: Numeric: 7 +%Library.Integer + +0 + + + + +Copy van de fysische stock. Genomen bij het begin van de inventaris om na de inventaris een vergelijking te maken +%Library.Integer + +0 + + + + +1 = Niet bijhouden +"" = Bijhouden +%Library.String + +0 + + + + + +%Library.String + +0 + + + + +Breedte in mm van de grootverpakking +%Library.Integer + +0 + + + + +Format: Numeriek, aantal weken +%Library.Integer + +0 + + + +%Library.Float +1 + +0 + Set {*}=##class(Prod.Product).GetPropViaNr({Id},"CifPPL") + +1 + + + + +Popup PRODUKT;CYCLECOUNT +0 = Nooit +1 = Altijd +2 = Grenswaardeoverschrijding +3 = 2 + 4 +4 = Bij leegworden drager +%Library.Integer + +0 + + + + + +Format: DD.MM.JJ +Sys.cDate + +0 + + + + +Geeft aan wanneer een produkt veranderd is zodanig dat nieuwe goederen niet meer mogen bijgestapeld worden. +Er moet een nieuwe paletplaats voor voorzien worden. +%Library.Date + +0 + + + +Sys.cDate + +0 + + + + +Opgedeeld in Stock en KOM door # +Het gemiddelde wordt berekend door (totaal verkoop over 52 weken) / 48 +1. Stock gem weekverkoop +Format: Numeric: 7 +2. KOM gem weekverkoop +Format: Numeric: 7 +3. Frequentie: hoeveel weken er verkoop is per jaar +%Library.String + +0 + + + +%Library.String +1 + +0 + Set {*}=$P(##class(Prod.Product).GetPropViaNr({Id},"GENTYP"),"\") + +1 + + + + +Bij orderingave wordt deze routine opgeroepen voor kreatie van het afgeleide product +%Library.String + +0 + + + + +Format: Real: 12,3 +%Library.Numeric + +0 + + + + +Gemiddelde weekverkoop waar de recenste weken zwaarder wegen dan de oude weken +( VerkoopWeekx * (Weekx) MOD 4) / Weekx MOD 4 * ISVERLOF(Weekx) +Waar Weekx gaat van 1 (= oudste week) tot 52 (= recenste week) +De functie ISVERLOF geeft voor de verlof weken een 0 terug en voor de ander een 1. +%Library.String + +0 + + + + +Hoogte in mm van de grootverpakking +%Library.Integer + +0 + + + + +Format: String: 11 +%Library.String + +0 + + + + + +Format: Char: 1 +Waarde: Indien empty is geen KATALOOG PRIJS - product +Anders L,S,G dan KATALOOG PRIJS - product +%Library.String + +0 + + + + + +Format: Char: 1 +Waarde: Indien empty is geen KATALOOG PRIJS - product +Anders L,S,G dan KATALOOG PRIJS - product +%Library.String + +0 + + + + + +1 = verschijnt in de KS-prijslijst +%Library.String + +0 + + + +%Library.String + +0 + + + +%Library.String +1 + +0 + Set {*}=##class(Prod.Product).GetPropViaNr({Id},"KindMoeder") + +1 + + + +Prod.ProductKlas + +0 + + + + +Format: String: 25 +%Library.String + +0 + + + + + +Lengte in mm van de grootverpakking +%Library.Integer + +0 + + + +%Library.String + +0 + + + + +K = Kind, H = Halffabr of leeg +Indien "K" dan kan dit product niet alleen verkocht worden, alleen als deel van een moederproduct +Indien "H" dan kan dit product niet alleen verkocht worden, alleen als onderdeeel van een eindproduct +%Library.String + +0 + + + + +Waarde: 1= NON-Aktief, empty = Aktief +%Library.String + +0 + + + + + + +Waarde: WWWOL;WWWEC;DYNALOG +See RES : PRODUKT;NOTAVAILABLETO +%Library.String + + + + +Format: String: 26 +%Library.String + +0 + + + + + +Format: String: 44 +%Library.String + +0 + + + + + +Boekhoudkundig rekeningnummer waarop gefaktureerd wordt. Wordt gebruikt bv. voor verpakking. +%Library.String + +0 + + + + +Popup: PRODUKT;OPSLAGZONE +%Library.String + +0 + + + + +Standaard aantal op een pallet +%Library.Integer + +0 + + + +Prod.ProductPrijs + +0 + + + +%Library.String +1 + +0 + Set {*}=##class(Prod.Product).GetPropViaNr({Id},"ProductGroep") + +1 + + + + +Popup: PRODUKT; STOCKAGEGRP +Geeft aan tot welke productgroep dit product behoort voor opslag van dit product in een bep. opslagzone +%Library.String + +0 + + + +%Library.Integer + +0 + + + + +Aantal dat gereserveerd van de fysische stock tijdens het doorsturen van de OL's naar ht WMS en het feitelijke op uitleveringsbon zetten van de lijnen +%Library.Integer + +0 + + + + +door "#" gescheiden +1. Rotatie +2. Gem. Fys Stock +%Library.String + +0 + + + + +Format: Numeric: 4 +%Library.Integer + +0 + + + + +Format: Char: 1 +Indien leeg = Simulatie +Indien L = LogSteuer (BLUM) +Indien numeriek: Limiet met als limietwaarde de ingevulde waarde +%Library.String + +0 + + + + +Prod.ProductSchaduw + +0 + + + + +"" = Neen, 1 = Ja +%Library.String + +0 + + + + + +%Library.String +1 + +0 + Set D="\",{*}=$$SORTKEY^PRODUKT({ID}) + +1 + + + + +Format: Numeric: 2 +%Library.Integer + +0 + + + + +Waarde: 1 = stock, empty = Niet stock +%Library.String + +0 + + + + + + +N=NietStock, S=Stock of C=Contract +%Library.String +1 + +0 + Set {*}=##class(Prod.Product).StockTypeCalc({Id},{StockNietStock}) + +1 + + + +%Library.String +1 + +0 + Set {*}=$P(##class(Prod.Product).GetPropViaNr({Id},"GENTYP"),"\",2) + +1 + + + +Prod.ProductTekst + +0 + + + + +Is een vermenigvuldigingsfaktor om het aantal verkochte producten correct te herleiden naar bv. hoeveel laden hebben we verkocht +Indien Telbaar = 0 dan is het produkt niet telbaar bv. accessoires +Waarde: 0; 1; 2;...; 0.5; 0.25;... +%Library.Float + +0 + + + + +Popup: PRODUKT;SAMPLETYPE +E = Eenmalig sampelen +B = Altijd hersampelen +N = Niet sampelen +Opmerking: Indien Sample = E en het produkt wordt geteld door de telweegschaal dan +wordt door het WMS 's nachts een feedback gegeven van Sample = "N". Om te melden +dat de sample is genomen. +%Library.String + +0 + + + + + + +Popu: PRODUKT;TELWIJZE +Z = Zonderbijsamplen +B = Bijsamplen +L = aansturing meettoestel niet van toepassing +%Library.String + +0 + + + + + + +Format: Numeric: 7 +%Library.Integer + +0 + + + +%Library.Integer +1 + Set {*}=##class(Prod.Product).DocLink({ID}) +1 +1 + + + + +w ##class(Prod.Product).DocLink(3551) +1 +PRNr,Taal + + + + +1 +code + +%Library.String +M.AB.9 of BQBC1->B.QBC.1 of MAHBC2->M.AH.BC.2 + + Set vGroep="" + Set vDossierNr="" + Set vCtrlNr="" + + ;Input onthouden voor foutmeldigen + New OrigDossier + Set OrigDossier=Dossier + + ;Eventueel reeds geplaatste (foutieve of correcte) punten weghalen + Set Dossier=$TR(Dossier,".","") + + ;Controlecijfer ophalen + New Loop,tmpChar,CtrlNr + Set CtrlNr="" + For Loop=$L(Dossier):-1:1 Set tmpChar=$E(Dossier,Loop) Quit:('$IsValidNum(tmpChar)) Do + . Set CtrlNr=tmpChar_CtrlNr + + Quit:(CtrlNr="") "" + + Write "Controlecijfer: "_CtrlNr,! + + ;Controlecijfer van dossier strippen + New Rest + Set Rest=$ZSTRIP(Dossier,">N") + + Quit:(Rest="") "" + + ;Controledigit checken + Quit:($$CHKDIGIT^HAD(Rest)'=CtrlNr) "" + + ;Groep (Tandembox,banco,...) strippen (1e char) + New Groep,DossierNr + Set Groep=$E(Rest,1) + Set DossierNr=$E(Rest,2,99999) + + Write "Groep: "_Groep,! + + Quit:(DossierNr="") "" + + Write "ProdCode: "_DossierNr,! + + New DottedProdCode,PCLen + Set PCLen=$L(DossierNr) + If PCLen<4 Do + . Set DottedProdCode=DossierNr + Else Do + . Set DottedProdCode=$CASE(PCLen,4:$E(DossierNr,1,2)_"."_$E(DossierNr,3,4),5:$E(DossierNr,1,3)_"."_$E(DossierNr,4,5),6:$E(DossierNr,1,2)_"."_$E(DossierNr,3,4)_"."_$E(DossierNr,5,6),:"") + + Quit:(DottedProdCode="") "" + + Set vGroep=Groep + Set vDossierNr=DossierNr + Set vCtrlNr=CtrlNr + + Quit Groep_"."_DottedProdCode_"."_CtrlNr +]]> + + + +code +%String + + + + +1 +code +ProdNr:%Library.String +%Library.String + + + + +1 +code +Opslagzone:%Library.Integer +%Library.String + + + + +1 +code +Groep:%Library.String,DossierNr:%Library.String +%Library.String + + + + + +Ophalen van een property via het internproductnummer, zonder het product object te opene +1 +code +PRNr:%Library.Integer,PropName:%Library.String +%Library.String + + + + +1 +code +IdentNr:%Library.String +%Library.String + + + + +code +%String + + + + +code +%String + + + + + +Wegschrijven van een property via het internproductnummer, zonder het product object te openen. +Geeft 1 terug als OK anders 0 of foutmelding. +1 +code +PRNr:%Library.Integer,PropName:%Library.String,Val:%Library.String +%Library.String + + + + +code +%Library.String + + + + + +KLNr is optioneel +1 +code +PRNr,StockNietStock,KLNr +%String + + + + +code +%String + + + + +code +%String + + + + + +Geeft $LB(DossierNr) terug. [later uitbreidbaar tot meerdere parameters] +%List + + + + + Flow.Had.OrderHfd). ]]> +%String + + + + + +Opties: + +"PROM" : Omschrijving +"PRLK" : Lijst kindproducten incl. +"PRIK" : Is kindproduct +"PRQTY" : Qty +"PRKR" : incl .KLantreferentie +"ORDSORT" : SortKey voor Order(Lijnen) +code +Input:%Library.String,DevObj:%Library.String,Taal:%Library.String,Opties:%Library.String,XSLURL:%Library.String="" +") + . Do WRITE^XMLWRITE(DevObj,"") + . Do WRITELN^XMLWRITE(DevObj) + + Do ONEPROD(%this.ProductNr,tmpKLNr,tmpQty,Opties) + + Quit + +ONEPROD(PRNr,KLNr,Qty,Opties) + New KortTxt,IDNr,TekRef,Cnt,J,I,Node,Piece,Txt + Set Opties=$G(Opties) + Do BEGINTAG^XMLWRITE(DevObj,$S(Opties["PRIK":"KINDPRODUCT",1:"PRODUCT")) + Do WRITELN^XMLWRITE(DevObj) + Set KortTxt=%this.KortTekst ;$P(^KPR(PRNr,0),D) + + ; Aanpassingen voor GAData.Product: + New GAProdID,GAProd,GENTYP + Set GAProdID=$P(^KPR(PRNr,"G"),D,13) + If $L(GAProdID) Do + . Set GENTYP=$P(##class(Prod.Product).GetPropViaNr(PRNr,"GENTYP"),"\",1) ; Geeft TBX, KAD, BAN, ... terug naargelang het product + . Set:(GENTYP="DIV") GENTYP=$P(##class(Prod.Product).GetPropViaNr(PRNr,"GENTYP"),"\",2) + . If GENTYP?1(1"TBX",1"TLM",1"GRP",1"ASM") Do + .. If (Opties'[";GAO") Do Set Opties=Opties_";GAO" ;XMLWrite van GAData.Product zeker Omschrijving-opties meegeven + .. Set GAProd=##class(Prod.GAData.Product).OpenWithCalc(GAProdID) + .. Set OrderSortKey=GAProd.OrderSortKey() + . Else If GENTYP?1(1"xxx") Do + .. Set GAProd="" + . Else Do + .. If (Opties'[";GAV;GAO") Do Set Opties=Opties_";GAV;GAO" ;XMLWrite van KaderDeur zeker VML & Omschrijving-opties meegeven + .. Set GAProd=##class(Prod.GADef.AfgeleidDef).%OpenId(GAProdID) + . ; Als GAProd bestaat, dan XMLWrite() uitvoeren. + . If $IsObject(GAProd) Do + .. Do GAProd.XMLWrite(DevObj,$G(Taal),$G(Opties),"") + .. ;Set OrderSortKey=GAProd.OrderSortKey() ; voorlopig alleen voor GAData.Product (TBX) + .. Set GAProd="" ; Do GAProd.%Close() + + Set IDNr=$P(^KPR(PRNr,2),D,25) + + Do BEGINTAG^XMLWRITE(DevObj,"BARCODE") + Do TAGWRITE^XMLWRITE(DevObj,"TYPE",%this.BarcodeType) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"WAARDE",%this.BarcodeWaarde) + Do WRITELN^XMLWRITE(DevObj) + Do ENDTAG^XMLWRITE(DevObj,"BARCODE") + + Do TAGWRITE^XMLWRITE(DevObj,"PRNR",PRNr) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"KORTTEKST",KortTxt) + Do WRITELN^XMLWRITE(DevObj) + Do TAGWRITE^XMLWRITE(DevObj,"IDENTNR",IDNr) + Do WRITELN^XMLWRITE(DevObj) + Do:Opties["PRKR" KLANTREF(PRNr,KLNr) ; Klantreferenties + Do:Opties["PRQTY" TAGWRITE^XMLWRITE(DevObj,"QTY",Qty) + Do WRITELN^XMLWRITE(DevObj) + Set Talen=$G(Taal,"NFDE") + If Opties["PROM" For I=1:1:$L(Talen) Do + . Set Taal=$E(Talen,I) + . Set:Taal="N" List="0.2,0.11,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9,6.10" + . Set:Taal="F" List="1.22,3.21,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9,8.10" + . Set:Taal="D" List="2.2,3.23,10.1,10.2,10.3,10.4,10.5,10.6,10.7,10.8,10.9,10.10" + . Set:Taal="E" List="2.1,3.22,12.1,12.2,12.3,12.4,12.5,12.6,12.7,12.8,12.9,12.10" + . Do BEGINTAG^XMLWRITE(DevObj,"OMS",$$PARAMFILL^XMLWRITE("TAAL",Taal)) + . Set Cnt=0 + . For J=1:1:$L(List,",") Do + .. Set Node=$P($P(List,",",J),".",1) + .. Set Piece=$P($P(List,",",J),".",2) + .. Set Txt=$P($G(^KPR(PRNr,Node)),D,Piece) + .. Quit:Txt="" + .. Set Cnt=Cnt+1 + .. Do TAGWRITE^XMLWRITE(DevObj,"LIJN",$$ConvertToHTML^vhRtn1(Txt),$$PARAMFILL^XMLWRITE("VOLGNR",Cnt)) + .. Do WRITELN^XMLWRITE(DevObj) + . Do ENDTAG^XMLWRITE(DevObj,"OMS") + . Do WRITELN^XMLWRITE(DevObj) + Do:Opties["PRLK" KINDPROD(PRNr) + Do ENDTAG^XMLWRITE(DevObj,$S(Opties["PRIK":"KINDPRODUCT",1:"PRODUCT")) + Do WRITELN^XMLWRITE(DevObj) + Do:(Opties["ORDSORT") TAGWRITE^XMLWRITE(DevObj,"SORTKEY",$G(OrderSortKey)) + Quit + +TEKREF(PRNr,Opties) + New TekRef + Set TekRef=$P(^KPR(PRNr,0),D) + Set TekRef=$E(TekRef,4,99) + Set TekRef=$TR($E(TekRef,1,8),".# ","") + Set:($E(TekRef,7,8)=16)!($E(TekRef,7,8)=18)!($E(TekRef,7,8)=19) $E(TekRef,7,8)="xx" + Set:($E(TekRef,7,8)="IN")!($E(TekRef,7,8)="GR")!($E(TekRef,7,8)="WI") $E(TekRef,7,8)="" + Quit $S($L(TekRef):TekRef_".Gif",1:"") + +KINDPROD(PRNr) + New KPRNr,Sort + Set KPRNr="" + For Set KPRNr=$O(^PRLINK("D",PRNr,KPRNr)) Quit:KPRNr="" Do + . Set Sort($$SORTKEY^PRODUKT(KPRNr))=KPRNr_D_$P(^PRLINK("D",PRNr,KPRNr),D) + Set Sort="" + For Set Sort=$O(Sort(Sort)) Quit:Sort="" Do + . Do ONEPROD($P(Sort(Sort),D,1),$P(Sort(Sort),D,2),"QK") ; Recursie + Quit + +KLANTREF(PRNr,KLNr) + ; Dummy + Quit +]]> + + + +%CacheSQLStorage +^Prod.ProductS + +data +^KPR +delimited + +{ProductNr} +0.1 + + s {1D1}={L1} + + +{1D1} + + +'{L1} + + + +"\","#" +0 +8,2 + + +"\","#" +0 +8,1 + + +"\" +0 +17 + + +"\" +2 +9 + + +"\" +3 +20 + + +"\" +1 +14 + + +"\" +1 +10 + + +"\" +1 +15 + + +"\" +1 +16 + + +"\" +0 +5 + + +"\" +2 +13 + + +"\" +2 +14 + + +"\" +0 +12 + + +"\" +1 +9 + + +"\" +0 +15 + + +"\" +3 +1 + + +"\" +1 +5 + + +"\" +1 +17 + + +"\" +1 +2 + + +"\" +0 +13 + + +"\" +1 +8 + + +"\" +0 +16 + + +"\" +1 +23 + + +"\" +0 +3 + + +"\" +1 +13 + + +"\" +1 +21 + + +"\" +1 +4 + + +"\" +2 +25 + + +"\" +1 +18 + + +"\" +1 +19 + + +"\" +3 +3 + + +"\" +3 +2 + + +{1D1} + + +"\" +0 +1 + + +"\" +1 +6 + + +"\" +0 +6 + + +"\" +0 +23 + + +"\" +1 +25 + + +"\" +3 +4 + + +"\" +0 +2 + + +"\" +0 +11 + + +"\" +0 +10 + + +"\" +2 +15 + + +"\" +2 +16 + + +{1D1} + + +"\" +1 +1 + + +"\" +0 +9 + + +"\" +1 +24 + + +"\" +0 +18 + + +"\" +0 +24 + + +{1D1} + + +"\" +2 +16 + + +"\" +2 +8 + + +"\" +1 +20 + + +{1D1} + + +"\" +1 +7 + + +"\" +2 +12 + + +"\" +2 +11 + + +"\" +0 +14 + + + + + Index: Prod/GAMeta/BT/TBAbstract.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBAbstract.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBAbstract.cls.xml (revision 2) @@ -0,0 +1,387 @@ + + + +1 +%VHMacro +%Library.RegisteredObject,Res.PI.Abstract +0 + + + + + + + +Code gebruikt voor externe verwerking, deze lijkt op ItemID, maar ItemCode kan dubbele codes bevatten binnen de tabel, terwijl ItemID uniek is. +Het dubbel gebruik van ItemCode is enkel om correcte beperkingen te leggen in de UI. +Naar de gebruiker toe wordt steeds ItemCode getoond en voor de interne verwerking wordt ItemID gebruikt. +De ItemCode wordt gebruikt in de TBX calculatie, XML opbouw, TB en TBX productkenmerk, ... +%String + + + + +FilterDC plaatst een beperking op de BT-items volgens DesignCode. De ObjectID's (PrimaryKey) zijn ontdubbeld, de ItemCode's kunnen gelijk zijn +%List + + + + +Beperkingen op waarden van andere "Meta"-Kenmerken. +%String +0 +0 +array +0 +0 +0 +0 +0 +0 + + + + +Code voor plaatsing in de korttekst +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +Verwijzing naar de(het) overeenkomstige kenmerk(en) en waarde(n) +van de Producten binnen de MetaGroep "BX". +%String +0 +0 +array +0 +0 +0 +0 +0 +0 + + + + +Invullen van de +NewVal:%String,Delim:%String=";" + + + + + +Ophalen van een taalafhankelijke omschrijving van een bepaalde klasse +1 +Class:%Library.String,ItemID:%Library.String,Taal:%Library.String,Default:%Library.String="N",NoDefOms:%Boolean,DC:%String +1 +%String + + + + + +Ophalen van een taalafhankelijke omschrijving van een bepaalde klasse +0 +1 +code +Class:%String,ItemID:%String,DC:%String +0 +1 +%String +0 + + + + +1 +ItemCode:%String,DC:%String,blnTryAsItemID:%Boolean=1 +1 +%RegisteredObject + + + + +1 +ItemCode:%String,DC:%String="" +1 +%String + 0) ) + Set SqlQuery="SELECT ItemID FROM Prod_GAMeta_BT."_$$$CLASSsqltablename($$$MGINFO,..%ClassName(1))_" WHERE (ItemCode= ? ) "_$S($L(DC):" AND ($ListFind(FilterDC, ? ) > 0)", 1:"") + Set SqlParams=$LB(ItemCode) _ $S($L(DC):$LB(DC),1:"") + Set RS=$$ExecDynQuery^vhQUERYLIB(SqlQuery,SqlParams) + Quit:('RS) "" + + If RS.Next() Do ; Get data from first and only row + . Set ItemID=RS.Data("ItemID") + Quit $G(ItemID) +]]> + + + + +============================================================================================================ +Query ExtentSort . +============================================================================================================ +1 +generator + +1 +%Status + + + + +1 + +1 +%Status + + + + +1 + +ExtentSortExecute +1 +%Status + + + + +1 + +ExtentSortExecute +1 +%Status + + + + + +Ophalen van de gesorteerde lijst van alle Items. +%Query + + + + + + +============================================================================================================ +Query BeperkLijst . +============================================================================================================ +1 +generator + +1 +%Status +FilterDC,"_gClassCompatibleName_"->ItemCode INTO :RowID,:ItemID,:BeperkVal,:BeperkKey,:lbFilterDC,:ItemCode ") + ;$$$GENERATE(" WHERE ((';' || "_gClassCompatibleName_"->FilterDC || ';') LIKE :prmDC) OR (IsNull("_gClassCompatibleName_"->FilterDC,'') in ('','*')) ") + $$$GENERATE(" FROM "_$$$CLASSsqltablename($$$MGINFO,%class)_"_BeperkGUI ") + $$$GENERATE(" ) ") + $$$GENERATE(" ") + $$$GENERATE(" &sql(OPEN crsBT) ") + $$$GENERATE(" Set tmpCnt=0 ") + $$$GENERATE(" For &sql(FETCH crsBT) Quit:(SQLCODE) Do ") + $$$GENERATE(" . Quit:(blnExcludeX)&&($LG(lbFilterDC,1)=""X"") ") + $$$GENERATE(" . Set:(DC="""")||(lbFilterDC="""")||($LF(lbFilterDC,DC)>0) aRow($I(tmpCnt))=$LB(RowID,ItemID,BeperkVal,BeperkKey,lbFilterDC,ItemCode) ; Order of the list is determined by the #define ri... ") + $$$GENERATE(" ") + $$$GENERATE(" // Prefix ri : Row Item = position of the items in the $LB() of aRow ") + $$$GENERATE(" #define riRowID 1 ") + $$$GENERATE(" #define riItemID 2 ") + $$$GENERATE(" #define riBeperkVal 3 ") + $$$GENERATE(" #define riBeperkKey 4 ") + $$$GENERATE(" #define rilbFilterDC 5 ") + $$$GENERATE(" #define riItemCode 6 ") + $$$GENERATE(" ") + $$$GENERATE(" &sql(CLOSE crsBT) ") + $$$GENERATE(" Quit $$$OK ") +]]> + + + +0 +1 + +0 +1 +%Status +0 + + + + +0 +1 + +BeperkLijstExecute +0 +1 +%Status +0 + + + + +0 +1 + +BeperkLijstExecute +0 +1 +%Status +0 + + + + + +Ophalen van de beperkingen (GUI) op de Items. +%Query +DC:%String +0 +0 + + + + + Index: csp/tbx/mainhist.cls.xml =================================================================== diff -u --- csp/tbx/mainhist.cls.xml (revision 0) +++ csp/tbx/mainhist.cls.xml (revision 2) @@ -0,0 +1,204 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "" + Write (..WebTextValue("Historiek",Taal,"L")),! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "" + Write "" + Write "" + Write !,!,$c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9)_"",! + Goto %csp00002 ;} +%csp00003 ;{ + Write !,$c(9) + Do PrepareHistVTL^csp.vhisie.TBX.Main.tmpDev + Write !,$c(9) + If '((KLNr=$$$KLNrListAll)) Goto %csp00004 ;{ + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9)_"

    "_($CASE(sMode, "COMPLETE":"Overzicht VERKOOP", "PROCESS":"Overzicht INKOOP", "VIEW":"Overzicht (alleen lezen)", :"")_..WebTextValue("",Taal,"L"))_"

    ",! + Write $c(9) +%csp00004 ;} + Write !,$c(9)_" " + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + If '(($G(arUrl("ToggleHist"))="")||(sMode="PROCESS")) Goto %csp00005 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00006 ;} +%csp00005 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) +%csp00006 ;} + Write !,$c(9) + Write "" + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
     "_(..WebTextValue("Historiek",Taal,"L"))_" 
    ",! + Write $c(9,9,9,9) + Write "" + Write (..WebTextValue("Historiek",Taal,"L")),! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "" + Write "" + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_(..WebTextValue("HistInfo",Taal,"L")),! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9) + Set TargetOrd=$S((KLNr=$$$KLNrListAll)||(sMode="PROCESS"):"target=""_blank""",1:"") + Set UrlOrdALT=..WebTextValue("IngaveOpenen",Taal,"L") + Set RowCnt=0 + Set lnI="" + Kill tmpArLN + Merge tmpArLN=arHistVTL("LN") + Write !,$c(9,9,9,9) +%csp00008 If '(..LoopArray(.tmpArLN,.lnI)) Goto %csp00007 ;{ + Write !,$c(9,9,9,9,9) + #define LenKLNaam 15 + Set RowCnt=RowCnt+1 + Set i=lnI + Set iKLNr=$G(arHistVTL("LN",i,"KLNr")) + Set blnOrdHidden=($G(arHistVTL("LN",i,"ShowInHist"))<$$$shShownForVHEPN) + Set RowAttrStyle=$S($G(arHistVTL("LN",i,"ShowInHist"))<$$$shShownForKlant:"color:#666666;",1:"color:black;")_$S(blnOrdHidden:" font-style:italic;",1:"") + If CntKL'=1 Do + . Set tmpNaam=$G(arHistVTL("LN",i,"KLNaam")) + . Set arHistVTL("LN",i,"KLNaamDSP")=$S($L(tmpNaam)>$$$LenKLNaam:$E(tmpNaam,1,$$$LenKLNaam-2)_"...", 1:tmpNaam) + . Set arHistVTL("LN",i,"KLNaamALT")="Lijst voor "_$G(arHistVTL("LN",i,"KLNaam"),"klant")_$S($L(arHistVTL("LN",i,"KLNr")):" ("_arHistVTL("LN",i,"KLNr")_")", 1:"") + If arHistVTL("LN",i,"OrderDCM")="I" Do + . Set arHistVTL("LN",i,"OrderDCM_DSP")="intivo" + . Set arHistVTL("LN",i,"OrderDCM_ALT")="Design: intivo" + If arHistVTL("LN",i,"OrderDCM")="A" Do + . Set arHistVTL("LN",i,"OrderDCM_DSP")="antaro" + . Set arHistVTL("LN",i,"OrderDCM_ALT")="Design: antaro" + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) + If '(arHistVTL("LN",i,"BonType")?1(1"BBON",1"OFF",1"OFFAV",1"INKP")) Goto %csp00009 ;{ + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) + Goto %csp00010 ;} +%csp00009 ;{ + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9) +%csp00010 ;} + Write !,$c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write $c(9,9,9,9,9,9)_"",! + Write !,$c(9,9,9,9,9)_"",! + Write $c(9,9,9,9) + Goto %csp00008 +%csp00007 ;} + Write !,$c(9,9,9,9)_"
    "_(..WebTextValue("Nummer_Kort",Taal,"L"))_""_($S(CntKL=1:"",1:"Klant"))_""_(..WebTextValue("HistHKlantRef",Taal,"L"))_""_(..WebTextValue("HistHDatum",Taal,"L"))_""_(..WebTextValue("HistHTotPrijs",Taal,"L"))_"
    " + Write "" + Write (arHistVTL("LN",i,"OrderNr")) + Write "" + Write "" + Write "" + Write ""_(arHistVTL("LN",i,"BonType"))_"" + If '((CntKL>1)&&($L(iKLNr))) Goto %csp00011 ;{ + Write "" + Write ($G(arHistVTL("LN",i,"KLNaamDSP"))) + Write "" + Goto %csp00012 ;} +%csp00011 ;{ +%csp00012 ;} + Write ""_(arHistVTL("LN",i,"Commissie"))_""_($G(arHistVTL("LN",i,"OrderDCM_DSP")))_""_(arHistVTL("LN",i,"TimeCust"))_""_($S(arHistVTL("LN",i,"TotPrs")>0:$J($$PrijsConvert^cspBasis.Library(arHistVTL("LN",i,"MuntCalc"),arHistVTL("LN",i,"TotPrs")),0,2)_" "_arHistVTL("LN",i,"Munt"), 1:" "))_" 
    ",! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9)_"
    ",! +%csp00002 ;} +]]>
    +
    + + +c:\cachesys\csp\vhisie\TBX\MainHist.csp + + + +/vhisie/TBX/MainHist.csp + + + +61789,64787 + +
    +
    Index: _vhisie/TBX/WizMaten.csp =================================================================== diff -u --- _vhisie/TBX/WizMaten.csp (revision 0) +++ _vhisie/TBX/WizMaten.csp (revision 2) @@ -0,0 +1,553 @@ + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     #(IngaveTitle)# :     
    #(arVTL("LBL","LT"))#: + + +
    #(arVTL("LBL","Std"))#: + +
    #(..WebTextValue("Kastbreedte",Taal,"L"))#: +
    + + +
    +
    #(arVTL("LBL","CB"))#: mm#(arVTL("LBL","WD"))#: + mm +  
    + #(arVTL("LBL","OPVL"))#: + + +
    + #(arVTL("LBL","SPZK"))#: + +    + +    +
    #(arVTL("LBL","LD"))#: + + mm + #(arVTL("LBL","DK"))#: + + kg +
    +

    #(arVTL("LBL","BM"))#:

    +

    #(arVTL("LBL","TO"))#:

    + +

    #(arVTL("LBL","SB"))#:

    +
    +
    +

     

    +

     

    +

     

    + +
    +

    #(arVTL("LBL","FB"))#:

    +
    + + + +

    #(arVTL("LBL","ASM"))#:

    +
    + + +

    + + #(arVTL("LBL","BX"))#: + #(arVTL("LBL","BX"))#: + +

    +
    + + + + +

    #(arVTL("LBL","FS"))#:

    +
    + + +
    +

    #(arVTL("LBL","BGRP"))#:

    +
    + + + +

    + #(arVTL("LBL","DWV"))#: +

    +
    + + +
    #(arVTL("LBL","OLP"))#: + + + + + + + + + +
    +

    +

    +
    +

    +

    +
    +

    +

    +
    +

    +

    +
    +

    +

    +
    + +
    +
    #(arVTL("LBL","Aant"))#: #(..WebTextValue("stuk?s",Taal,"L"))##(..WebTextValue("Toevoegen",Taal,"L"))# 
    +
    + + + +
    + + + + + +
    +
    #(..WebTextValue("MOptionsLabel",Taal,"L"))#:
    + +
    +
    + + [SAMPLE TEXT] +
    + +
    +
    + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #(arVTL("TH","LT") )##(arVTL("TH","CB") )##(arVTL("TH","WD") )##(arVTL("TH","LD") )##(arVTL("TH","DK") )##(arVTL("TH","FB") )##(arVTL("TH","BX") )##(arVTL("TH","DIV"))##(arVTL("TH","Aant"))# 
      + [<<]  [<] +  1 - 4  + [>]  [>>] +   #(VanXlijnen)# +  
    +
    Index: _vhisie/TBX/Help/TBoxInfoSelect.js =================================================================== diff -u --- _vhisie/TBX/Help/TBoxInfoSelect.js (revision 0) +++ _vhisie/TBX/Help/TBoxInfoSelect.js (revision 2) @@ -0,0 +1,182 @@ +var blnShowCL = true; + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} +function isUndef (jsVar) { + return (typeof(jsVar)=="undefined"); +} +function DollarGet (Val,Dfl) { + return (isUndef(Val) || (Val==null) ? "" : Val); +} + +function RlBxCodeFromLT (LT) { + if (LT.indexOf("N") > -1) return "ZR"; + if (LT.indexOf("K") > -1) return "ZR"; + if (LT.indexOf("DS") > -1) return "BD"; + if (LT.indexOf("DLS") > -1) return "CAP"; + if (LT.indexOf("DL") > -1) return "COV"; + if (LT.indexOf("CL") > -1) return "COV"; + if (LT.indexOf("CM") > -1) return "ER"; + if (LT.indexOf("C") > -1) return "ER"; + if (LT.indexOf("D") > -1) return "DR"; + if (LT.indexOf("B") > -1) return "ER"; + if (LT.indexOf("M") > -1) return "ZR"; + if (LT=="") return ""; + return ""; +} +function ImageCodeFromLT (LT, BS, iDC, BGRP) { + if (isUndef(BS)) BS=RlBxCodeFromLT(LT); // GetValCbo(BSFieldName); + var LC=LT.replace("/","").replace("\\","").replace("2",""); + if (LC.substring(0,1)=="I") LC=LC.substring(1,99); + // Uitzonderingen + if (LC=="MB") LC=M; + //if (BS=="BG") BS="BD"; // Glazen boxside dan image voor dubbelwandige boxside + + if (iDC=="I") { // intivo + //if (BS=="BK") BS="CAP"; + //if (BS=="COV" || BS=="BC" || BS=="BZ") BS="COV"; + //if (LT=="N") iDC=""; // geen aparte beelden voor N lade + if (isUndef(BGRP)) BGRP=""; // GetValCbo(BGRPFieldName); + if (BGRP=="V") BS=BS + "_FG"; // binnenlade met glas (Verre) + } + else if (iDC=="A") { + // iDC="A"; + } + else { + iDC="" + } + return iDC + LC+(BS !="" ? "_"+BS : ""); +} + +function jsWriteLT(LType) { + if (LType=="") { + document.write('
     
    '); + return; + } + // else : + var s=""; + s += '
    '; + s += '

    '+LType+'

    '; + s += ''; + s += '
    '; + document.write(s); +} +function jsWriteLT2(LType,BS,BGRP,sExtraInfo) { + if (LType=="") { + document.write('
     
    '); + return; + } + // else : + var iDC = (typeof(DC)=="undefined" ? "S" : DC); + var ImageCode=ImageCodeFromLT(LType,BS,iDC,BGRP); + var s=""; + s += ''; + s += '
    '; + s += '
    '; + s += '

    '+LType+'

    '; + s += '
    '; + if (sExtraInfo && sExtraInfo.length) { s += '
    ' + sExtraInfo + '
    '; } + s += '
    '; + s += ''; + document.write(s); +} +/* +function jsWriteLT2_PREV (LType,BS,BGRP,sExtraInfo) { + if (LType=="") { + document.write('
     
    '); + return; + } + // else : + var iDC = (typeof(DC)=="undefined" ? "S" : DC); + var s=""; + s += ''; + s += '
    '; + s += '

    '+LType+'

    '; + s += '
    '; + if (sExtraInfo && sExtraInfo.length) { s += '
    ' + sExtraInfo + '
    '; } + s += ''; + document.write(s); +} + +// Results in HTML-code: +// +//

    N

    +// + +*/ + + +function btnLTClick (obj,LT2,BS,BGRP) { + if (obj.tagName!="TD") { alert ("h"); return; } + var LT=obj.getAttribute('id'); + var ValLT=LT.replace("lt_",""); + ValLT=LT2; + if (!window.opener) window.opener=self; + if (window.opener.document==window.document) { + alert ("Select " + ValLT); + return; + } + // Select item in window.opener + try { + window.opener.SetLadeTypeValue (ValLT); + if (!isUndef(BS)) window.opener.SetBoxsideValue (BS); + if (!isUndef(BGRP)) window.opener.SetBinnenGreepValue (BGRP); + } + catch (exception) { + alert ("Select " + ValLT); + return; + } + if (window.FeedBackFld) { + window.FeedBackFld.focus(); } + else { window.opener.focus(); } + window.close(); +} + +function ToggleButton(OnOff, id) { + ToggleButtonObj(document.getElementById(id), OnOff, "DIVcls", "DIVclsHiLite"); +} +function ToggleButton2(obj, OnOff) { + ToggleButtonObj(obj, OnOff, "clsCellLT", "clsCellLTHiLite"); +} +function ToggleButton2_PREV(obj, OnOff) { + ToggleButtonObj(obj, OnOff, "", "DIVclsHiLite"); +} +function ToggleButtonObj(obj, OnOff, ClassNormal, ClassHiLite) { + if (!obj) return; + if (isIE()) { //microsoft doesn't like ECMA-standards... + obj.className=(OnOff.toUpperCase()=="ON" ? ClassHiLite : ClassNormal); } + else { obj.setAttribute("class",(OnOff.toUpperCase()=="ON" ? ClassHiLite : ClassNormal)); } +} + +function DetectParams() { + if (window.location.href.indexOf(".tandem-box.de") > 0) blnShowCL = false; +// if (window.location.href.indexOf(".sfsunimarket.biz") > 0 || window.location.href.indexOf(".tandem-box.de") > 0) blnShowCL = false; +} + +function InitTableCells() { + return; +} + +function init() { + InitTableCells(); +} + +/* +function GetParamValue (sURL, Param, Default) { + var sURLUpper = sURL.toUpperCase() + "&"; + Param = Param.toUpperCase(); + if (!Default) Default=""; + var Pos = sURLUpper.indexOf (Param + "="); + if (Pos==-1) return Default; + Pos = Pos + Param.length + 1; + return sURL.substring (Pos, sURLUpper.indexOf("&", Pos)); +} +function GetInitButton () { + var QS = document.location.search; + var InitButton = GetParamValue (QS, "Button", DefaultButton); + if (InitButton=="null") return ""; + return InitButton; +} +*/ \ No newline at end of file Index: DocBaseCNTs.inc.rou =================================================================== diff -u --- DocBaseCNTs.inc.rou (revision 0) +++ DocBaseCNTs.inc.rou (revision 2) @@ -0,0 +1,260 @@ + // DocBaseCNTs.INC + // Constanten voor DocBase WebServices + + + // DocBase Client Exception : com.assentis.adb.client.api.ADBClientException + // prefix "dce" +#define dceDbException 2 +#define dceInfoException 2 +#define dceSevereException 0 +#define dceSystemException 0 +#define dceUserException 1 +#define dceWarningException 1 + + + // JMSRequestInfo : com.assentis.adb.client.api.JMSRequestInfo + // prefix "adb" +#define adbFireAndForget "fire-and-forget" +#define adbRequestNotification "request-notification" +#define adbRequestResponse "request-response" + + // DocBase Result status : + // prefix "adb" +#define adbResultCONTINUE "CONTINUE" +#define adbResultFAILEDlong "FAILED" +#define adbResultOK "OK" +#define adbResultFINISHED "FINISHED" + ; "FINISHED" is not an official ADB status. it is created by WimV +#define adbResultWAITING "W" +#define adbResultPROCESSING "P" +#define adbResultCOMPLETED "C" +#define adbResultFAILED "F" +#define adbResultSUSPENDED "S" +#define adbResultREADY "R" + + + + + // DocBase MapKeys : com.assentis.adb.common.resource.ADBMapKeys + // prefix "dmk" +#define dmkAdbapiAdbbaseprops "AdbAPIBaseProps" +#define dmkAdbapiAdbexception "ADBException" +#define dmkAdbapiAdbtaskprops "AdbAPITaskProps" +#define dmkAdbapiEJB "AdbAPIEJB" +#define dmkAdbapiFeedback "AdbFeedback" +#define dmkAdbapiHTTP "AdbAPIHTTP" +#define dmkAdbapiIndata "xml_source" +#define dmkAdbapiJms "AdbAPIJMS" +#define dmkAdbapiJobId "AdbAPIJobID" +#define dmkAdbapiLocal "AdbAPILOCAL" +#define dmkAdbapiPerfTrace "AdbAPIPerfTrace" +#define dmkAdbapiResponse "AdbResponse" +#define dmkAdbapiReturndata "AdbReturnData" +#define dmkAdbapiTraceLevel "AdbAPITraceLevel" +#define dmkAdbapiVersion "AdbAPIVersion" +#define dmkAdbapiWebsvc "AdbAPIWEBSVC" +#define dmkAdbloglevelAll "6" +#define dmkAdbloglevelDebug "2" +#define dmkAdbloglevelError "4" +#define dmkAdbloglevelFatal "5" +#define dmkAdbloglevelInfo "1" +#define dmkAdbloglevelOff "0" +#define dmkAdbloglevelWarning "3" +#define dmkComplexRenderBPI "bpi" +#define dmkComplexRenderSqueeze "squeeze" +#define dmkConBPI "CON_BPI" +#define dmkConSqz "CON_SQZ" +#define dmkCustomMessage "custom_message" +#define dmkDefaultMessage "stardand_message" +#define dmkDfdeploymentroot "DFDeploymentRoot" +#define dmkDfdocumentalias "DFDocumentAlias" +#define dmkDfreposerver "DFRepoServer" +#define dmkDfstage "DFStage" +#define dmkDistributionDistributeDoc "distribution_distribute_doc" +#define dmkDistributionEmail "EMAIL" +#define dmkDistributionEmailAttachmentname "distribution_email_attachmentname" +#define dmkDistributionEmailAuthReq "distribution_email_auth_req" +#define dmkDistributionEmailBccrecipient "distribution_email_bccrecipient" +#define dmkDistributionEmailCcrecipient "distribution_email_ccrecipient" +#define dmkDistributionEmailMessage "distribution_email_message" +#define dmkDistributionEmailPwd "distribution_email_pwd" +#define dmkDistributionEmailRecipient "distribution_email_recipient" +#define dmkDistributionEmailSender "distribution_email_sender" +#define dmkDistributionEmailSmtpHostName "distribution_email_smtp_host_name" +#define dmkDistributionEmailSmtpTrace "distribution_email_smtp_trace" +#define dmkDistributionEmailSubject "distribution_email_subject" +#define dmkDistributionEmailUserid "distribution_email_userid" +#define dmkDistributionFile "FILE" +#define dmkDistributionFileDocname "distribution_file_docname" +#define dmkDistributionFileFolder "distribution_file_folder" +#define dmkDistributionJMS "JMS" +#define dmkDistributionJndiConnFactoryLookupName "distribution_jndi_jms_conn_factory_lookup_name" +#define dmkDistributionJndiFactoryInitial "java.naming.factory.initial" +#define dmkDistributionJndiProviderUrl "java.naming.provider.url" +#define dmkDistributionJndiQueueLookupName "distribution_jndi_jms_queue_lookup_name" +#define dmkDistributionJndiSecurityCredentials "java.naming.security.credentials" +#define dmkDistributionJndiSecurityPrincipal "java.naming.security.principal" +#define dmkDistributionPrinter "PRINTER" +#define dmkDistributionPrinterChromaticity "distribution_printer_chromaticity" + ; values Chromaticity : CHROMATICITY_COLOR/CHROMATICITY_MOMOCHROME +#define dmkDistributionPrinterDirect "distribution_printer_direct" + ; values Direct : true/false +#define dmkDistributionPrinterMediasize "distribution_printer_mediasize" + ; values Mediasize : NA_LEGAL/NA_LETTER/ISO_A0/ISO_A1/ISO_A2/ISO_A3/ISO_A4/ISO_A5/ISO_A6/ISO_A7/ISO_A8/ISO_A9/ISO_A10/ISO_B0/ISO_B1/ISO_B2/ISO_B3/ISO_B4/ISO_B5/ISO_B6/ISO_B7/ISO_B8/ISO_B9/ISO_B10/ISO_C3/ISO_C4/ISO_C5/ISO_C6/ISO_DESIGNATED LONG +#define dmkDistributionPrinterName "distribution_printer_name" +#define dmkDistributionPrinterNumberOfCopies "distribution_printer_number_of_copies" +#define dmkDistributionPrinterOrientation "distribution_printer_orientation" + ; values Orientation : ORIENTATION_PORTRAIT/ORIENTATION_REVERSE_PORTRAIT/ORIENTATION_LANDSCAPE/ORIENTATION_REVERSE_LANDSCAPE +#define dmkDistributionPrinterSides "distribution_printer_sides" + ; values PrinterSides : ONE_SIDED/TWO_SIDED_LONG_EDGE/TWO_SIDED_SHORT_EDGE +#define dmkDistributionType "distribution_type" +#define dmkDocrepoBaseUrl "DOCREPO_BASE_URL" +#define dmkDocrepoConnectiontimeout "DOCREPO_CONNECTIONTIMEOUT" +#define dmkDocrepoFolderid "DOCREPO_FOLDERID" +#define dmkDocrepoMaxretries "DOCREPO_MAXRETRIES" +#define dmkDocrepoPassword "DOCREPO_PASSWORD" +#define dmkDocrepoRetrydelay "DOCREPO_RETRYDELAY" +#define dmkDocrepoSchemaid "DOCREPO_SCHEMAID" +#define dmkDocrepoUrlParmSchema "Schema" +#define dmkDocrepoUrlParmUID "UID" +#define dmkDocrepoUrlParmVersion "Version" +#define dmkDocrepoUrlParmXsltStage "XSLTStageParam" +#define dmkDocrepoUsername "DOCREPO_USERNAME" +#define dmkDocumentsplitterInputasbytearray "document_splitter_inputasbytearray" +#define dmkDocumentsplitterInputdoc "document_splitter_inputdoc" +#define dmkDocumentsplitterOutput "document_splitter_output" +#define dmkDocumentsplitterOutputasbytearray "document_splitter_outputasbytearray" +#define dmkDocumentsplitterOutputdir "document_splitter_outputdir" +#define dmkDocumentName "document_alias" +#define dmkDocumentType "document_type" +#define dmkErrinfo "ERRINFO" +#define dmkFeedbackKey "feedback_key" +#define dmkFeedbackToken "feedback_token" +#define dmkFeedbackValue "feedback_value" +#define dmkFileBaseUrl "FILE_BASE_URL" +#define dmkFileStream "FILE_STREAM" +#define dmkFileType "FILE_TYPE" +#define dmkFO "FO" +#define dmkImageContextUrl "IMAGE_CONTEXT_URL" +#define dmkImpositionA4ToA3 "A4_TO_A3" +#define dmkImpositionA5ToA4 "A5_TO_A6" +#define dmkImpositionA6ToA4RowByRow "A6_TO_A4_ROW_BY_ROW" +#define dmkImpositionA6ToA5 "A6_TO_A5" +#define dmkImpositionInputasbytearray "imposition_inputasbytearray" +#define dmkImpositionInputDir "imposition_input_dir" +#define dmkImpositionInputFile "imposition_input_file" +#define dmkImpositionNoCombine "NO_COMBINE" +#define dmkImpositionOutputasbytearray "imposition_outputasbytearray" +#define dmkImpositionOutputFile "imposition_output_file" +#define dmkImpositionPageFormat "imposition_page_format" +#define dmkInputRIF "rif" +#define dmkInputXEP "xep" +#define dmkInputXMLXSL "xml/xsl" +#define dmkInputXSLFO "xslfo" +#define dmkIsModified "IS_MODIFIED" +#define dmkLoadFileinputurl "load_fileinputurl" +#define dmkLoadFileDocrepo "LOAD_FILE_DOCREPO" +#define dmkLogLevel "LOG_LEVEL" +#define dmkMapperFrom "mapper_from" +#define dmkMapperTo "mapper_to" +#define dmkMapperToken "mapper_token" +#define dmkMultipleRenderToken "multiple_render_token" +#define dmkOutputPDF "pdf" +#define dmkOutputPS "ps" +#define dmkOutputRIF "rif" +#define dmkOutputXEP "xep" +#define dmkPdfmergerAppend "pdfmerger_append" +#define dmkPdfmergerAppendDocument "pdfmerger_append_document" +#define dmkPdfmergerInputasbytearray "pdfmerger_inputasbytearray" +#define dmkPdfmergerInputdocuments "pdfmerger_inputdocuments" +#define dmkPdfmergerOutputasbytearray "pdfmerger_outputasbytearray" +#define dmkPdfmergerOutputfilename "pdfmerger_outputfilename" +#define dmkPdfmergerPrepend "pdfmerger_prepend" +#define dmkPdfmergerPrependDocument "pdfmerger_prepend_document" +#define dmkPdfmergerToken "pdfmerger_token" +#define dmkProcessInputasbytearray "PROCESS_INPUTASBYTEARRAY" +#define dmkProcessName "PROCESS_NAME" +#define dmkPropertiesExentsion ".properties" +#define dmkReadpropsInputasbytearray "readprops_inputasbytearray" +#define dmkReadpropsInputurl "readprops_inputurl" +#define dmkReadpropsOutputdocxpath "readprops_outputdocxpath" +#define dmkReadpropsPropertyPrefix "readprops_property" +#define dmkRenderDocExt "document_ext" +#define dmkRenderDocleanup "render_docleanup" +#define dmkRenderInputType "render_inputtype" +#define dmkRenderInputasbytearray "render_inputasbytearray" +#define dmkRenderJusttransform "render_justtransform" +#define dmkRenderLogfileName "adblog" +#define dmkRenderOutputType "render_outputtype" +#define dmkRenderOutputasbytearray "render_outputasbytearray" +#define dmkRenderPagecounts "render_pagecounts" +#define dmkRenderQuiet "render_quiet" +#define dmkRenderSourcefiles "xml_source" +#define dmkRenderStylesheet "document_alias" +#define dmkRenderTargetdir "render_targetdir" +#define dmkRenderTargetfile "render_targetfile" +#define dmkRenderValidate "render_validate" +#define dmkRenderXsltparams "xslt_param01 ... xslt_param23" +#define dmkReservedXSLT "RESERVED_XSLT" +#define dmkRTF "RTF" +#define dmkSavetorepoElementid "savetorepo_elementid" +#define dmkSavetorepoFolderdbkey "savetorepo_folderdbkey" +#define dmkSavetorepoName "savetorepo_name" +#define dmkSavetorepoNotes "savetorepo_notes" +#define dmkSavetorepoStage "savetorepo_stage" +#define dmkSavetorepoType "savetorepo_type" +#define dmkSaveFileoutputExtension "save_fileoutput_extension" +#define dmkSaveFileoutputFilename "save_fileoutput_filename" +#define dmkSaveFileoutputFolder "save_fileoutput_folder" +#define dmkSplitterDocleanup "splitter_doccleanup" +#define dmkSplitterEncoding "splitter_encoding" +#define dmkSplitterFragments "splitter_fragments" +#define dmkSplitterSourcefiles "splitter_source" +#define dmkSplitterToken "splitter_token" +#define dmkSplitterXMLoutputdir "splitter_output" +#define dmkSplitterXMLparentbegin "splitter_parent_begin" +#define dmkSplitterXMLsplitcontexts "splitter_splitpaths" +#define dmkSrmfOutputformat "srmf_outputType" +#define dmkSrmfPrintfilename "srmf_printfileName" +#define dmkSrmfWorkingdir "srmf_workingDir" +#define dmkStage "adbstage" +#define dmkTempfolderFolder "tempfolder_folder" +#define dmkTempfolderFolderNumberOfSf "tempfolder_folder_number_of_sf" +#define dmkTempfolderFolderSf1 "tempfolder_folder_sf_1" +#define dmkTempfolderFolderSf2 "tempfolder_folder_sf_2" +#define dmkTempfolderFolderSf3 "tempfolder_folder_sf_3" +#define dmkTempfolderFolderSf4 "tempfolder_folder_sf_4" +#define dmkTempfolderFolderSf5 "tempfolder_folder_sf_5" +#define dmkTempfolderFolderSf6 "tempfolder_folder_sf_6" +#define dmkTempfolderFolderSf7 "tempfolder_folder_sf_7" +#define dmkTempfolderFolderSf8 "tempfolder_folder_sf_8" +#define dmkTempfolderFolderSf9 "tempfolder_folder_sf_9" +#define dmkTempfolderParentfolder "tempfolder_parentfolder" +#define dmkTempfolderSessionid "tempfolder_sessionid" +#define dmkThrowException "throwexception" +#define dmkTransformCacheinput "transform_cacheinput" +#define dmkTransformCachexsl "transform_cachexsl" +#define dmkTransformInputasbytearray "transform_inputasbytearray" +#define dmkTransformInputurl "transform_inputurl" +#define dmkTransformParam "transform_param" +#define dmkTransformXslurl "transform_xslurl" +#define dmkUrlAndParmeter "&" +#define dmkUrlEncoder "UTF-8" +#define dmkUrlParmAssigner "=" +#define dmkUserFileExt "." +#define dmkUserPropertiesFileName "USER_PROPERTIES_FILE_NAME" +#define dmkUserPropertiesKey "USER_PROPERTIES_KEY" +#define dmkWML "WML" +#define dmkXep "XEP" +#define dmkXepbaos "XEPBAOS" +#define dmkXepdoc "XEPDOC" +#define dmkXhtml "XHTML" +#define dmkXsltData "xml_files" +#define dmkXsltDocExt "document_ext" +#define dmkXsltForencoding "XSLT_FORENCODING" +#define dmkXsltOutputdir "xslt_outputdir" +#define dmkXsltOutputfilename "xslt_outputfilename" +#define dmkXsltParamsList "xslt_param" +#define dmkXsltPreserve "xslt_preserve" +#define dmkXsltStylesheet "document_alias" +#define dmkXsltXsltparams "xslt_param01 ... xslt_param23" \ No newline at end of file Index: Prod/GAMeta/BT/PlaatMat.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/PlaatMat.cls.xml (revision 0) +++ Prod/GAMeta/BT/PlaatMat.cls.xml (revision 2) @@ -0,0 +1,127 @@ + + + + +PlaatMateriaal geleverd door de klant +persistent +%Library.Persistent,Res.PI.Abstract + + +0 +1 +1 +ItemID +0 + + + +0 +1 +generator + +ExtentSortExecute +0 +%Library.Status +0 + + + + +0 +1 +generator + +0 +%Library.Status +0 + + + + +0 +1 +generator + +ExtentSortExecute +0 +%Library.Status +0 + + + + + +Ophalen van de gesorteerde lijst van alle Items. +%Library.Query +() +0 +0 + + + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;PM") +PlaatMatDefaultData +^Res.PI.Items("PR;GA;PM") +^Res.PI.Items("PR;GA;PMI") +^Prod.GAM.PlaatMatS + +%%CLASSNAME +node +0 + + +listnode + +Omschrijving + + +VolgNr + + + +TaalOms +subnode +"TaalOms" + + + + Index: Kenm/Basis/DataDefinitie.cls.xml =================================================================== diff -u --- Kenm/Basis/DataDefinitie.cls.xml (revision 0) +++ Kenm/Basis/DataDefinitie.cls.xml (revision 2) @@ -0,0 +1,295 @@ + + + + +Vaste leggen van de kenmerken per product. +Er wordt bewust geen link gelegd naar MetaGroep of MetaDefinitie omdat anders bij gebruik van de waarden +swivel inwerking zou treden, dit mag niet om dat bv voor één kenmerk +meerdere waarden kunnen ingegeven worden. Dus bij wijzigen van een kenmerk +moeten voor een bepaald product alle waarden verzameld worden. +0 +0 +persistent +0 +0 +%Library.Persistent +0 + + +Kenm.Basis.MetaDefinitie +0 +0 + +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 + + + + +Waarde kan meerder velden bevatten door ";" gescheiden +%Library.String +0 +0 +list +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 + + + +Sys.cTimeStamp +0 +0 + +0 +0 +0 +0 +0 + + + +0 +1 +1 +UnID,Kenmerk +0 + + + +0 +0 +code +IsNew:%Library.Boolean=1 +0 +%Library.Status +0 + + + + + + +DEZE METHOD WERKTE NIET !!! +DEZE METHOD WERKT MISSCHIEN WEL(na de aanpassing van WimV op 22/01/2004) !!! +]]> +0 +1 +code +Oid:%Library.ObjectIdentity +0 +%Library.Status +0 + + + + + +Geeft lijst terug met Kenmerken en KenmerkWaarden voor het gegeven UnID +0 +1 +code +UnID:%Library.String,Groep:%Library.String +0 +%Library.String +0 + + + + +0 +1 +code +Params:%Library.String +0 +%Library.String +0 + + + + +%Library.SQLQuery +paUnID:%Library.String,paGroep:%Library.String +0 +SELECT Count(ID) AS Aantal +FROM Kenm_Basis.DataDefinitie +WHERE ID Like :paUnID || "||" || :paGroep || "||%" + +0 + + + + + +]]> +%Library.SQLQuery +GroepID:%Library.String,Kenmerk:%Library.String,SuperKenmerk:%Library.String,SuperKMWaarde:%Library.String +0 +SELECT DISTINCT(Waarden) + FROM Kenm_Basis.DataDefinitie + WHERE Kenmerk=(:GroepID || '||' || :Kenmerk) AND + UnID IN + (SELECT UnID + FROM Kenm_Basis.DataDefinitie + WHERE Kenmerk=(:GroepID || '||' || :SuperKenmerk) AND + Waarden LIKE ("%" || :SuperKMWaarde) + ) + +0 + + + + + +%Library.SQLQuery +paUnID:%Library.String +0 +Groep) AS Groep +FROM Kenm_Basis.DataDefinitie +WHERE UnID=:paUnID +]]> +0 + + + + + + +Geeft een lijst van alle kenmerken met waarden voor een gegeven UnID. +%Library.SQLQuery +paUnID:%Library.String +0 +Kenmerk, Waarden, Kenmerk->VolgNr +FROM Kenm_Basis.DataDefinitie +WHERE (UnID = :paUnID) +ORDER BY Kenmerk->VolgNr +]]> +0 + + + + + +%Library.CacheStorage +^Kenm.Basis.DataDefinitieD +DataDefinitieDefaultData +^Kenm.Basis.DataDefinitieD +^Kenm.Basis.DataDefinitieI +^Kenm.Bas.DataDefinitieS + +%%CLASSNAME +node +0 + + +listnode + +Waarden + + +WijzigGebruiker + + +WijzigTijdstip + + + + + Index: WS/EC/WebShopClient/DPSetHoofding.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/DPSetHoofding.cls.xml (revision 0) +++ WS/EC/WebShopClient/DPSetHoofding.cls.xml (revision 2) @@ -0,0 +1,90 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionKey,GoedVoorOrder:%Boolean,Referentie,CommReferentie,LeverDatum,Opmerking +BL.EC.pxStatus +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxStatus + + + + + +%Library.String + + + + +%Library.Boolean + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + Index: WS/SOAPClientAdv.cls.xml =================================================================== diff -u --- WS/SOAPClientAdv.cls.xml (revision 0) +++ WS/SOAPClientAdv.cls.xml (revision 2) @@ -0,0 +1,35 @@ + + + + +The PeekServer() method and the %OnNew() method are code templates and should be copied to each +discovered SOAP class (via WSDL)
    ]]>
    +1 +%RegisteredObject +0 + + +1 +1 +%String +1 +document +literal + + + + +initvalue:%CacheString +1 +%Status + + +
    +
    Index: _vhisie/TBX/WizError.csp =================================================================== diff -u --- _vhisie/TBX/WizError.csp (revision 0) +++ _vhisie/TBX/WizError.csp (revision 2) @@ -0,0 +1,54 @@ + + + + +
    + + + + +
    +

    #(..WebTextValue("ErrWizOnverwachteStatus",Taal,"O"))#

    +
    + + + + +
    +
    +
     
    +
    +

    #(..WebTextValue("ErrWizAutoReload",Taal,"O"))#

    +
    +

    #(..WebTextValue("ErrWizUpdateCacheMan",Taal,"O"))#

    +
    +

    #(..WebTextValue("ErrWizDoReport",Taal,"O"))#. Submit error

    +
    +

    #(..WebTextValue("ErrWizBackToMain",Taal,"O"))#

    + + +
    +
    Index: Res/VertalingAbstract.cls.xml =================================================================== diff -u --- Res/VertalingAbstract.cls.xml (revision 0) +++ Res/VertalingAbstract.cls.xml (revision 2) @@ -0,0 +1,188 @@ + + + +1 +persistent +%Library.Persistent +0 + + +Res.PI.VertalingsGroep + + + + +Interne code van bv. een kenmerk +%Library.String + + + +%Library.String + + + + +Res.PI.Taal + + + +Res.PI.VertalingsType + + + + + +Indien de vertaling een link is: +Subdirectory en naam. +Indien DirSoort leeg is dan wordt hier de ganse URL ingegeven. +Indien Extensie leeg is dan bevat dit veld ook de extensie. +De naam wordt uitgebreid met Soort en/of met de taal. +Deze codes worden gescheiden door _ (underscore van de naam) +%Library.String + + + + +1 +1 +Groep,Intern,Type,Taal +1 + + + +1 +Groep:%Library.String,InternFrom:%Library.String,InternTo:%Library.String + + + + +1 +Groep:%Library.String,Intern:%Library.String,Type:%Library.String +%Library.String + + + + +1 +Languages:%Library.String,Count:%Library.Integer=0 +%Library.String + "F" + //Languages="NNNFFFDD" & Count=3 =RESULTAAT=> "NF" + //Languages kunnen opgehaald worden via GetLanguages + + New BuildLang,FirstLanguage,LangStr + Set LangStr=Languages + Set BuildLang="" + + For Quit:($L(LangStr)=0) Do + . Set FirstLanguage=$E(LangStr,1) + . If ($L(LangStr,FirstLanguage)-1)'= + . Set LangStr=$TR(LangStr,FirstLanguage,"") + + Quit BuildLang +]]> + + + + +U geeft een interne waarde op: + +2 types, bijv: + +1. Breedte, dit geeft 0 terug +2.{%CM}, dit geeft 1 terug, want de % wijst op een universele vertaling +1 +Intern:%Library.String +%Library.Integer +3 Do //We zoeken naar zaken van het type '{%Intern}', min. 4 chars: '{', '%', '}' en Intern + . If ($E(Intern,1)="{") && ($E(Intern,InternLength)="}") Do //Is Intern een sleutel? + .. If $E(Intern,2)="%" Set InternIsUniversal=1 + + Quit InternIsUniversal +]]> + + + +%Library.SQLQuery +paGroep:%String +SELECT ID,Vertaling +FROM Res.VertalingAbstract +WHERE Groep=:paGroep + + + + + + +Ook lege vertalingen zijn toegelaten +%Library.SQLQuery +paGroep:%Library.String,paIntern:%Library.String,paType:%Library.String +SELECT Taal,Vertaling +FROM Res.VertalingAbstract +WHERE (Groep = :paGroep) AND (Intern = :paIntern) AND (Type = :paType) +ORDER BY Taal + + + + + +%Library.SQLQuery +paGroep:%Library.String,paIntern:%Library.String,paType:%Library.String +SELECT Taal,Vertaling +FROM Res.VertalingAbstract +WHERE (Groep = :paGroep) AND (Intern = :paIntern) AND (Type = :paType) AND (Vertaling IS NOT NULL) +ORDER BY Taal + + + + + +%Library.CacheStorage +^Res.VertalingAbstractD +VertalingAbstractDefaultData +^Res.VertalingAbstractD +^Res.VertalingAbstractI +^Res.VertalingAbstractS + +%%CLASSNAME +node +0 + + + +RandInfo + + +Vertaling + + + + + Index: TGrid.inc.rou =================================================================== diff -u --- TGrid.inc.rou (revision 0) +++ TGrid.inc.rou (revision 2) @@ -0,0 +1,3 @@ + ;Nodes + #Define cnNormal 1 + #Define cnSelected 2 \ No newline at end of file Index: vhLib/Logger.cls.xml =================================================================== diff -u --- vhLib/Logger.cls.xml (revision 0) +++ vhLib/Logger.cls.xml (revision 2) @@ -0,0 +1,96 @@ + + + +1 +%RegisteredObject +0 + + +%String + + + +%New method to +provide notification that a new instance of an object is being created. + +

    If this method returns an error then the object will not be created.]]> +Groep:%String +1 +1 +%Status + + + + +Niveau:%String,Actie:%String,Detail:%String,blnSendMail:%Boolean=0 +Logging + + + + +Actie:%String,Detail:%String,blnSendMail:%Boolean=0 +Logging + + + + +Actie:%String,Detail:%String +Logging + + + + +Actie:%String,Detail:%String,blnSendMail:%Boolean=0 +Logging + + + + +Actie:%String,Detail:%String,blnSendMail:%Boolean=0 +Logging + + + + +Actie:%String,Detail:%String,blnSendMail:%Boolean=0 +Logging + + + + +Actie:%String,Detail:%String,blnSendMail:%Boolean=0 +Logging + + + + +Actie:%String,Detail:%String,blnSendMail:%Boolean=0 +Logging + + + + + +" + Set lbTo=$LB("ICT_SysOp@vanhoecke.be") + Quit $$$OK +]]> + + + Index: Prod/ProductCMeth.cls.xml =================================================================== diff -u --- Prod/ProductCMeth.cls.xml (revision 0) +++ Prod/ProductCMeth.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + + +Bevat enkel Class Methods voor de Factory +%Library.RegisteredObject + + + +Ophalen van een property via het internproductnummer, zonder het product object te opene +0 +1 +code +PRNr:%Library.Integer,PropName:%Library.String +0 +%Library.String +0 + + + + +0 +1 +code +IdentNr:%Library.String +0 +%Library.String +0 + + + + + +Wegschrijven van een property via het internproductnummer, zonder het product object te openen. +Geeft 1 terug als OK anders 0 of foutmelding. +0 +1 +code +PRNr:%Library.Integer,PropName:%Library.String,Val:%Library.String +0 +%Library.String +0 + + + + Index: WS/TBX/Calc.cls.xml =================================================================== diff -u --- WS/TBX/Calc.cls.xml (revision 0) +++ WS/TBX/Calc.cls.xml (revision 2) @@ -0,0 +1,73 @@ + + + + +WS.TBX.Calc +1 +%SOAP.WebService +0 + + + +Name of the WebService. +TBX.Calc + + + + +URL for invoking the WebService. +http://cache02/csp/admin1 + + + + +TODO: change this to actual SOAP namespace. +SOAP Namespace for the WebService +http://tempuri.org + + + + +BuildWS calculates the prices +1 +WSOrd:WS.TBX.Order,Opties:%String +WS.TBX.Order +1 + + + + + +WSOrder To Admin +1 +WSOrd:WS.TBX.Order,Opties:%String,ClientAddress:%String +%List +1 + + + + + +PeekServer +1 +%String +1 + + + + Index: csp/testwvhadev.cls.xml =================================================================== diff -u --- csp/testwvhadev.cls.xml (revision 0) +++ csp/testwvhadev.cls.xml (revision 2) @@ -0,0 +1,105 @@ + + + +User +cache +%CSP.Page + + +1 +code +lbErrTypes +cache + +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("csp.errorvh","OnPageMinimum") + #Else + Set %cspEHandler($$$etPageLoadError,"ACTIONS")=$LB("ErrPage") + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") + #EndIf + + Quit + +]]> + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,!,$c(9,9) + Write "" + Write !,$c(9,9)_"My page body on hadev "_((Test)_$ZDT($h)),! + Write "" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,!,"" + Write !,""_$c(9)_"Cache Server Page ",! + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,$c(9) + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +c:\cachesys\csp\hadev\testWVhadev.csp + + + +/csp/hadev/testWVhadev.csp + + + +61594,40531 + + + Index: WS/EC/WebShopProxy/Confirm.cls.xml =================================================================== diff -u --- WS/EC/WebShopProxy/Confirm.cls.xml (revision 0) +++ WS/EC/WebShopProxy/Confirm.cls.xml (revision 2) @@ -0,0 +1,53 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.MsgDescriptor +WS.EC.WebShopProxy + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +BL.EC.pxDynaPlug + + + + Index: csp/queryvh.cls.xml =================================================================== diff -u --- csp/queryvh.cls.xml (revision 0) +++ csp/queryvh.cls.xml (revision 2) @@ -0,0 +1,526 @@ + + + + +CSP page for viewing the TBX log via SQL +User +%VHMacro +cache +%CSP.Page + + +1 +code +query +cache +%String + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write ! + ; SQL-statement for TBX HTTPLog + /* + SELECT ID, ClientHost, ( '' || LogTime || '' ) LogTime, Operation Oper, ServiceStatus Status, (SUBSTR(Target, $FIND(Target,'/VHISIE/TBX/'))) Target, Parameters + FROM DW_WWW.HTTPLogTBX + WHERE (ID > 4000000) AND (LogTime %STARTSWITH '2009-03-26') AND (ClientHost = '?') + */ + Kill:($G(%request.Data("QUERY",1))="") %request.Data("QUERY") + Set name="" + For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) + ; SQL-statement for TBX SysLog of TODAY + /* + Set sqlTBX="SELECT ID, Actie, WizardMode Mode, WSBonType TYPE, TO_CHAR(WSOrderID) OrdID, WSTotals, KlantNr KLNr, Verwerker VERW, LogTime, Taal, " + Set sqlTBX=sqlTBX_$C(13,10)_" DECODE(Domein, '"_$$$DomVHEPN_"','vh', '"_$$$DomHEIN_"','hein', '"_$$$DomOPTIMA_"','optima', '"_$$$DomDUPONT_"','dupont', '"_$$$DomHELMY_"','destil', '"_$$$DomHFLE_"','hafele', '"_$$$DomSFS_"','sfs', Domein) Domein, ClientHost" + Set sqlTBX=sqlTBX_$C(13,10)_" FROM DW_WWW.SysLogTBX WHERE LogTime %STARTSWITH '"_$ZD($H,3)_"' " + */ + ;Set StartFromID=" (ID > 900000) AND" + Set StartFromID="" + Set sqlTBX="SELECT ID, Actie, WizardMode Mode, WSBonType TYPE, TO_CHAR(WSOrderID) OrdID, WSTotals, KlantNr KLNr, Verwerker VERW, LogTime, Taal, DomeinKort Domein, ClientHost" + Set sqlTBX=sqlTBX_$C(13,10)_" FROM DW_WWW.SysLogTBX WHERE"_StartFromID_" LogTime %STARTSWITH '"_$ZD($H,3)_"' " + ; SQL-statement for TBX WSOrder via ID + Set sqlOrd="SELECT ID, BonType, Commissie, IngaveTijdStip, SubmitTS, ('Off.:' || $LIST($LIST(TransferLog,1),2)) AS TransferLogID, LeverTijd, TotAantal, TotPrijs, NietMeeleveren AS NietMee, ActieCodesList ActieCodes, ShowInHist ShwHist, WebDomain, WebURL, WebQSData, LeverTijdID, ('#imports:' || ($LISTLENGTH(TransferLog)-0) || ' --- ' || TransferLog) AS TransferLog, mID" + Set sqlOrd=sqlOrd_$C(13,10)_" FROM WS_TBX.WebOrder WHERE ID=429" + Set sqlOrd=sqlOrd_$C(13,10)_"SELECT ID, KLNaam, KLNummer KLNr, KLStraatNrBus Straat, KLPostNr PostNr, KLWoonPlaats Woonplaats, KLTelefoon Tel, KLFax Fax, KLEMail EMail, KLBTWNr BTWNr , KLPrijsKlasse PKlas, KLKorting Korting, Taal" + Set sqlOrd=sqlOrd_$C(13,10)_" FROM WS_TBX.WebOrder WHERE ID=429" + Set sqlOrd=sqlOrd_$C(13,10)_"SELECT ID, Lijnen_GAMeta GAMeta, Lijnen_Qty Qty, ROUND(Lijnen_KostPrijs,3) KPrijs, ROUND(Lijnen_AKPrijs,3) APrijs, Lijnen_ItemLT LT, Lijnen_ItemCB CB, Lijnen_ItemWD WD, Lijnen_ItemLD LD, Lijnen_ItemDK DK, Lijnen_ItemBX BX, Lijnen_ItemBM BM, Lijnen_ItemSB SB, Lijnen_ItemOPVL OPVL, Lijnen_ItemVPK VPK, Lijnen_ItemSPZK SPZK, Lijnen_ItemASM ASM, Lijnen_ItemBGRP BGRP, Lijnen_ItemFS FS, Lijnen_ItemDWV DWV, Lijnen_ItemOLP OLP, Lijnen_ItemSTDL STDL, Lijnen_ItemFB FB, Lijnen_ItemDS DS, (Lijnen_ItemKL ||'-'|| Lijnen_ItemKB ||'-'|| isnull (Lijnen_ItemRK,' ') ||'-'|| Lijnen_ItemKX) Ld_Bd_Rl_Bx, Lijnen_ItemKV KVul, Lijnen_ActieKorting ActieKorting, Lijnen_ActieItems ActieItems, Lijnen_Exclude Exclude, Lijnen_LijnNr LijnNr , Lijnen_AddPrs AddPrs" + Set sqlOrd=sqlOrd_$C(13,10)_" FROM WS_TBX.WebOrder_Lijnen WHERE WebOrder=429" + Set sqlOrd=sqlOrd_$C(13,10)_"SELECT OrdHfd.*,OrdLn.* FROM WS_TBX.WebOrder OrdHfd, WS_TBX.WebOrder_Lijnen OrdLn " + Set sqlOrd=sqlOrd_$C(13,10)_" WHERE OrdHfd.ID=429 AND OrdLn.WebOrder=429" + ; SQL-statement last three IDs + Set sqlTOP3="SELECT top 3 ID FROM DW_WWW.SysLogTBX ORDER BY ID Desc" + ; Defaulting via QueryString + Set ShowOrd=$G(%request.Data("WSORD",1)) + If ShowOrd>0 Do + . Set ShowOrd=+ShowOrd ; + . Set sqlActive=$G(%request.Data("QUERY",1)) + . Set blnSQED=$S($L(sqlActive):1, 1:$G(%request.Data("SQED",1),0)) ; boolean Show Query Editor + . Set sqlOrd01="SELECT ID, KLNaam, KLNummer KLNr, KLStraatNrBus Straat, KLPostNr PostNr, KLWoonPlaats Woonplaats, KLTelefoon Tel, KLFax Fax, KLEMail EMail, KLBTWNr BTWNr FROM WS_TBX.WebOrder WHERE ID="_ShowOrd + . Set sqlOrd02="SELECT ID, BonType, Commissie, IngaveTijdStip, SubmitTS, ('Off.:' || $LIST($LIST(TransferLog,1),2)) AS TransferLogID, ISNULL(LeverTijd, '(ID: ' || LeverTijdID || ')') LeverTijd, TotAantal, TotPrijs, NietMeeleveren AS NietMee, ActieCodesList ActieCodes, ShowInHist ShwHist, WebDomain, WebURL FROM WS_TBX.WebOrder WHERE ID="_ShowOrd + . Set sqlOrdLn="SELECT ID, Lijnen_GAMeta GAMeta, Lijnen_Qty Qty, ROUND(Lijnen_KostPrijs,3) KPrijs, ROUND(Lijnen_AKPrijs,3) APrijs, Lijnen_ItemLT LT, Lijnen_ItemCB CB, Lijnen_ItemWD WD, Lijnen_ItemLD LD, Lijnen_ItemDK DK, Lijnen_ItemBX BX, Lijnen_ItemBM BM, Lijnen_ItemSB SB, Lijnen_ItemOPVL OPVL, Lijnen_ItemVPK VPK, Lijnen_ItemSPZK SPZK, Lijnen_ItemASM ASM, Lijnen_ItemBGRP BGRP, Lijnen_ItemFS FS, Lijnen_ItemDWV DWV, Lijnen_ItemOLP OLP, Lijnen_ItemSTDL STDL, Lijnen_ItemFB FB, Lijnen_ItemDS DS, (Lijnen_ItemKL ||'-'|| Lijnen_ItemKB ||'-'|| isnull (Lijnen_ItemRK,' ') ||'-'|| Lijnen_ItemKX) Ld_Bd_Rl_Bx, Lijnen_ItemKV KVul, Lijnen_ActieKorting ActieKorting, Lijnen_ActieItems ActieItems, Lijnen_Exclude Exclude, Lijnen_LijnNr LijnNr FROM WS_TBX.WebOrder_Lijnen WHERE WebOrder="_ShowOrd + . Merge tmpAr=tmpRq + . Kill tmpAr("SQED") + . Set tmpAr("SQED")=('blnSQED) + . Set arUrl("ToggleQED")="?"_##class(cspBasis.GAProdTBox).CQueryString(.tmpAr) + Else Do + . New sqlDFL + . Set sqlDFL=$S($G(%request.Data("TBXNOW",1))=1:sqlTBX, 1:sqlTOP3) + . Set sqlActive=$G(%request.Data("QUERY",1),sqlDFL) + . Set ShowOrd=0 + . Set blnSQED=1 + ; Check if SQL-statement does not alter the tables data !!! + Set lbAvoidSQL=$LB("CREATE TABLE","ALTER TABLE","DROP TABLE","CREATE QUERY","DROP QUERY","INSERT","UPDATE","DELETE") + Write !,! + If '((blnSQED)) Goto %csp00001 ;{ + Write !,$c(9) + #define CvtNOBR(%v) "('<NOBR>'||"_%v_"||'</NOBR>') "_%v + Write !,$c(9)_"

    "_($S(ShowOrd>0:sqlOrd, 1:$$REPLACE^vhRtn1(sqlTBX,"LogTime,",$$$CvtNOBR("LogTime")_",")))_"
    ",! + Write $c(9) + Write "
    " + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9,9,9)_"SQL Query:",! + Write $c(9,9,9,9,9)_"
    " + Write "" + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9)_"WS Order ID:
    " + Write "" + Write !,$c(9,9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9) + Write "" + Write "Query Editor visible",! + Write $c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9)_" ",! + Write $c(9,9) + Write "" + Write " ",! + Write $c(9,9) + Write "" + Write !,$c(9) + Write ..InsertHiddenFields(""),! + Write "
    " + Write ! + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9) + Write "" + Write "Show Query Editor" + Write "" + Write ! +%csp00002 ;} + Write !,"
    ",! + Write ! + If '(($L(sqlActive))) Goto %csp00003 ;{ + Write !,$c(9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryA = ##class(%ResultSet).%New() + Set queryA.RuntimeMode=2 + Set sqlStatement=$zstrip($tr((sqlActive),$C(9,13,10)," "),"<>W") + If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { + Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,134)) + Quit + } + // translate tab/cr/nl to spaces + Set %sc = queryA.Prepare(sqlStatement,0,"RUNTIME") + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Set %sc = queryA.Execute(($G(%request.Data("P1",1),"A"))) + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9) + Set qryAColCount=queryA.GetColumnCount() + Write !,$c(9)_"",! + Write $c(9,9)_""_$c(9,9),! + Write $c(9,9,9)_""_$c(9,9,9),! + Write $c(9,9,9) + Set col=0 +%csp00005 If '((col"_$c(9,9,9),! + Write $c(9,9,9) + Goto %csp00005 +%csp00004 ;} + Write !,$c(9,9)_""_$c(9,9),! + Write $c(9,9) + Kill arColSpecial + Set blnAddLink=0 + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00007 If '((col"_(ColumnName)_"",! + Write $c(9,9,9) + Goto %csp00007 +%csp00006 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Set row=0 +%csp00009 If '(queryA.Next()) Goto %csp00008 ;{ + Set row=row+1 + Write " " + Write !,$c(9,9)_"",! + Write $c(9,9,9) + Set blnAddLink=(queryA.GetDataByName("Actie")?1(1"MAINPAGE",1"WIZARD_CALC")) + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00011 If '((col"_tmpVal_"" + ; ClientHost Hein : "195.143.6.116" + ; ClientHost Optima : "213.244.20.173" + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Goto %csp00011 +%csp00010 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Goto %csp00009 +%csp00008 ;} + Write !,$c(9)_"
     
    "_($S(blnAddLink:">", 1:" "))_""_($S($L(tmpVal):tmpVal,1:" "))_"
    ",! + Write $c(9)_"
    ",! +%csp00003 ;} + Write !,! + If '((ShowOrd>0)) Goto %csp00012 ;{ + Write !,$c(9)_"",! + Write $c(9) + Write "" + Write "WEB ORDER" + Write "" + Write "",! + Write $c(9)_""_$c(9),! + Write $c(9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryOrd01 = ##class(%ResultSet).%New() + Set queryOrd01.RuntimeMode=2 + Set sqlStatement=$zstrip($tr((sqlOrd01),$C(9,13,10)," "),"<>W") + If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { + Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,184)) + Quit + } + // translate tab/cr/nl to spaces + Set %sc = queryOrd01.Prepare(sqlStatement,0,"RUNTIME") + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Set %sc = queryOrd01.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00014 If '((col"_(queryOrd01.GetColumnName(col))_"",! + Write $c(9,9,9) + Goto %csp00014 +%csp00013 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Set row=0 +%csp00016 If '(queryOrd01.Next()) Goto %csp00015 ;{ + Set row=row+1 + Write !,$c(9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00018 If '((col"_($S($L(queryOrd01.GetData(col)):queryOrd01.GetData(col), 1:" "))_"",! + Write $c(9,9,9) + Goto %csp00018 +%csp00017 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Goto %csp00016 +%csp00015 ;} + Write !,$c(9)_"
    ",! + Write $c(9)_"
    ",! + Write $c(9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryOrd02 = ##class(%ResultSet).%New() + Set queryOrd02.RuntimeMode=2 + Set sqlStatement=$zstrip($tr((sqlOrd02),$C(9,13,10)," "),"<>W") + If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { + Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,200)) + Quit + } + // translate tab/cr/nl to spaces + Set %sc = queryOrd02.Prepare(sqlStatement,0,"RUNTIME") + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Set %sc = queryOrd02.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00020 If '((col"_(queryOrd02.GetColumnName(col))_"",! + Write $c(9,9,9) + Goto %csp00020 +%csp00019 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Set row=0 +%csp00022 If '(queryOrd02.Next()) Goto %csp00021 ;{ + Set row=row+1 + Write !,$c(9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00024 If '((col"_($S($L(queryOrd02.GetData(col)):queryOrd02.GetData(col), 1:" "))_"",! + Write $c(9,9,9) + Goto %csp00024 +%csp00023 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Goto %csp00022 +%csp00021 ;} + Write !,$c(9)_"
    ",! + Write $c(9)_"
    ",! + Write $c(9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryOrdLn = ##class(%ResultSet).%New() + Set queryOrdLn.RuntimeMode=2 + Set sqlStatement=$zstrip($tr((sqlOrdLn),$C(9,13,10)," "),"<>W") + If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { + Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,216)) + Quit + } + // translate tab/cr/nl to spaces + Set %sc = queryOrdLn.Prepare(sqlStatement,0,"RUNTIME") + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Set %sc = queryOrdLn.Execute() + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00026 If '((col"_(queryOrdLn.GetColumnName(col))_"",! + Write $c(9,9,9) + Goto %csp00026 +%csp00025 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Set row=0 +%csp00028 If '(queryOrdLn.Next()) Goto %csp00027 ;{ + Set row=row+1 + Write !,$c(9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00030 If '((col"_($S($L(queryOrdLn.GetData(col)):queryOrdLn.GetData(col), 1:" "))_"",! + Write $c(9,9,9) + Goto %csp00030 +%csp00029 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Goto %csp00028 +%csp00027 ;} + Write !,$c(9)_"
    ",! +%csp00012 ;} + Write !,!,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write ! + Set BodyBgColor=##class(TECH.Config.ConfigMgr).Instance().GetString("WebpaginaAchtergrondKleur") + Set OnServer = "  ["_$$$NSpace_"]" + Write !,$c(9)_"Query VH"_($G(OnServer))_"",! + Write $c(9) + Write "" + Write $c(9),! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +c:\cachesys\csp\httplog\queryVH.csp + + + +/csp/httplog/queryVH.csp + + + +62235,48211 + +
    +
    Index: WS/WSServerFault.cls.xml =================================================================== diff -u --- WS/WSServerFault.cls.xml (revision 0) +++ WS/WSServerFault.cls.xml (revision 2) @@ -0,0 +1,26 @@ + + + +1 +%SOAP.Fault +0 + + +faultstr:%String,service:%String,detail:%String +1 +1 +%Status + + + + Index: BH/GB/Rekening.cls.xml =================================================================== diff -u --- BH/GB/Rekening.cls.xml (revision 0) +++ BH/GB/Rekening.cls.xml (revision 2) @@ -0,0 +1,238 @@ + + + + +GrootBoek Rekeningen (basis data) +persistent +VHOpslag +%Library.Persistent + + +0 +1 +1 +RekeningID +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.SQLQuery + +0 +SELECT ID, Cat, CatVolgNr, HfdCat, HfdCatVolgNr, Omschrijving, RekeningID, RekeningNr +FROM BH_GB.Rekening +ORDER BY RekeningID + +0 + + + + + +%Library.SQLQuery + +0 +SELECT ID, Cat +FROM BH_GB.Rekening +WHERE NOT Cat IS NULL +ORDER BY Cat + +0 + + + + + +%Library.SQLQuery + +0 +SELECT ID, HfdCat +FROM BH_GB.Rekening +WHERE NOT HfdCat IS NULL +ORDER BY HfdCat + +0 + + + + + +%Library.SQLQuery + +0 +SELECT DISTINCT Cat +FROM BH_GB.Rekening +WHERE NOT Cat IS NULL +ORDER BY CatVolgNr + +0 + + + + + +%Library.SQLQuery + +0 +SELECT DISTINCT HfdCat +FROM BH_GB.Rekening +WHERE NOT HfdCat IS NULL +ORDER BY HfdCatVolgNr + + +0 + + + + + +%Library.SQLQuery + +0 +SELECT ID, Cat, CatVolgNr, HfdCat, HfdCatVolgNr, Omschrijving, RekeningID, RekeningNr +FROM BH_GB.Rekening +WHERE ((RekeningNr LIKE '2____0') OR (RekeningNr LIKE '2____1')) AND NOT (RekeningNr LIKE '28____') +ORDER BY HfdCatVolgNr, CatVolgNr + +0 + + + + + +%Library.CacheSQLStorage +^BH.GB.RekeningS + +data +^KAR +delimited + +{RekeningID} + + +0 + + +"\" +39 + + +"\" +38 + + +"\" +37 + + +"\" +36 + + +"\" +2 + + +"\" +1 + + + + + Index: csp/tbx/fixoptima.cls.xml =================================================================== diff -u --- csp/tbx/fixoptima.cls.xml (revision 0) +++ csp/tbx/fixoptima.cls.xml (revision 2) @@ -0,0 +1,406 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +lbErrTypes +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Do ..Include("Header.csp") + Write !,$c(9,9,9)_"
    " + Write "" + Write "
    ",! + Write ! + If '($G(blnNoAccess)) Goto %csp00001 ;{ + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9)_" "_(..WebTextValue("MainBadCode",Taal,"O")),! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
    ",! + Goto %csp00002 ;} +%csp00001 ;{ + Write !,!," " + If '(($G(blnEditData)&&('blnEditFind))) Goto %csp00003 ;{ + Write !,$c(9) + Write "
    " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    " + Write "" + Write "Input value:" + Write "" + Write " Entrez le numéro de client ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"
     
    Client Number: " + Write "" + Write "   "_($G(msgVerifyKLNr))_"
     
     " + Write "" + Write "
     
     "_($G(msgDataOptEdit))_"
    ",! + Write $c(9) + Write ..InsertHiddenFields("FixOPTIMA.csp"),! + Write "
    " + Write !,$c(9)_"
    "_$c(9,9,9),! + Write !," " + Goto %csp00004 ;} +%csp00003 ;{ + Write !,!,$c(9) + Write "
    " + Write !,$c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_" ",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write !,$c(9) + If '(($G(blnEditData)&&(blnEditFind))) Goto %csp00007 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) + Goto %csp00008 ;} +%csp00007 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9) +%csp00008 ;} + Write !,!,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9) + If '(($G(blnEditData)&&(blnEditFind))) Goto %csp00005 ;{ + Write !,$c(9,9,9,9) + Write "" + Write "Data values:" + Write "" + Write " Read-only: inutile de modifier ces valeurs !",! + Write $c(9,9,9,9) + Goto %csp00006 ;} +%csp00005 ;{ + Write !,$c(9,9,9,9) + Write "" + Write "Input values:" + Write "" + Write " Entrez les données de client",! + Write $c(9,9,9,9) +%csp00006 ;} + Write !,$c(9,9,9)_" " + Write "" + Write "
     
    "_(..WebTextValue("Taal",Taal,"L"))_": " + Write "" + Write "
    Client Number: " + Write "" + Write "   "_($G(msgVerifyKLNr))_"
    Client Name: " + Write "" + Write "
    E-mail: " + Write "" + Write "
    Reduction: " + Write "" + Write " %
     
    " + Write "" + Write " " + Write "" + Write "
    DATAOPT: ",! + Write $c(9,9,9,9) + Write "" + Write " (original from ""Connexion"")",! + Write $c(9,9,9,9) + Write "" + Write " (simple text)
    ",! + Write $c(9,9,9,9) + Write "" + Write " (correct encryption)
    ",! + Write $c(9,9,9)_"
     
     " + Write "" + Write "
     
     "_($G(msgDataOptToGlobal))_"
    ",! + Write $c(9) + Write ..InsertHiddenFields("FixOPTIMA.csp"),! + Write "
    " + Write !,$c(9)_"
    "_$c(9,9,9),! + Write " " +%csp00004 ;} + Write $c(9,9,9,9),! +%csp00002 ;} + Write $c(9,9,9,9),! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write !,"
    ",! + Write " ",! + Write "
    ",! + Write !,"" + Write !,$c(9,9,9)_"
    ",! + Write !,$c(9) + Set %response.TraceDump=($G(%request.Data("DBG",1))'="" && $G(%request.Data("DBG",1))'="0") + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"Fix Optima Data",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,!,$c(9) + Write "" + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,! + Do ..Include("PRGACNTs.INC") + Write !,!,!,!,!,! + Set %session.AppTimeout = 905 + // Session Data is set in the OnPreHTTP-method + Set WSOrd=$S($G(wsID)="":0, 1:##class(WS.TBX.Order).%OpenId(wsID)) + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code + +cache +%Boolean + + + + +c:\cachesys\csp\vhisie\TBX\FixOPTIMA.csp + + + +/vhisie/TBX/FixOPTIMA.csp + + + +0 + + + +61649,48748 + + + +0 + +
    +
    Index: _vhisie/TBX/TBoxSelectSPZK.js =================================================================== diff -u --- _vhisie/TBX/TBoxSelectSPZK.js (revision 0) +++ _vhisie/TBX/TBoxSelectSPZK.js (revision 2) @@ -0,0 +1,289 @@ + +// General variabels: + +function isIE() { + if(navigator.appName.indexOf('Microsoft') > -1) return true; + return false; +} + +function jsVTL(Intern,Taal,TextType) { + // !!! jsArVTL must be a GLOBAL array variable !!! + TextType = TextType || "O"; + Taal = Taal || ActiveTaal; + var Val = jsArVTL[Intern+"#"+Taal+"-"+TextType]; + if (Val=="~") return ""; + return ( (Val=="" || isUndef(Val)) ? Intern+" ("+TextType+"-"+Taal+")" : Val); +} +// jsVTL(""); // + +function btnUpdateSPZKClick () { + if ( blnError ) + { alert(jsVTL("jsDVerplichtGegevenBis",ActiveTaal,"L")); + return ; } + if (blnIsSpoelbak ) { SPZK = ActiveRadioBtn() + ";" + ControlGetValueAsFloat("edtLinks") + ";" + ControlGetValueAsFloat("edtRechts") + ";" } + else { SPZK = ActiveRadioBtn() + ";" + ControlGetValueAsFloat("edtLinks") + ";" + ControlGetValueAsFloat("edtRechts") + ";" + ControlGetValueAsFloat("edtMidden") } + if (!window.opener) window.opener=self; + if (window.opener.document==window.document) { + alert ("Selected " + SPZK); + return; } + // Select item in window.opener + try { window.opener.UpdateSPZK (SPZK); } + catch (exception) { + alert ("Error updating SPZK: " + SPZK); + return; } + if (window.FeedBackFld) + { window.FeedBackFld.focus(); } + else + { window.opener.focus(); } + window.close(); +} + +function edtFieldChanged(Sender){ + if ( !isUndef(Sender) ) { //&& ( Sender.id.indexOf("edt") != -1) ) + var Value = ControlGetValueAsFloat(Sender.id) + ControlSetValue(Sender.id,Value); + if ( blnIsSpoelbak ) { SymSpoelbakOnChange(Sender) } + else { SymSifonOnChange(Sender) } + RecalcTotal() ; + EnableDisableFields(ActiveRadioBtn()); + } +} + +function SymSpoelbakOnChange(Sender) { + if ( IsSymmectric() ) + { var Value + if ( ( Sender.id == "edtLinks" ) || ( Sender.id == "edtRechts" ) ) { Value = ControlGetValueAsFloat(Sender.id) } + if ( Sender.id == "edtOpen1" ) { Value = reqTotal - ControlGetValueAsFloat(Sender.id); + Value = Value / 2 ; } + ControlSetValue("edtLinks", Value); + ControlSetValue("edtRechts", Value); + ControlSetValue("edtOpen1", reqTotal - 2*Value) } +} + +function SymSifonOnChange(Sender) { + var Value + if ( IsSymmectric() ) { + Value = reqTotal - ControlGetValueAsFloat("edtOpen1"); + Value = Value / 2 ; + ControlSetValue("edtLinks", Value); + ControlSetValue("edtRechts", Value); + } + else { + Value = reqTotal - ControlGetValueAsFloat(Sender.id) - ControlGetValueAsFloat("edtOpen1"); + if ( Sender.id == "edtLinks" ) { ControlSetValue("edtRechts",Value) } + if ( Sender.id == "edtRechts" ) { ControlSetValue("edtLinks",Value) } + } +} + +function RecalcTotal() +{ calcTotal = 0 + calcTotal = calcTotal + ControlGetValueAsFloat("edtLinks"); + calcTotal = calcTotal + ControlGetValueAsFloat("edtOpen1"); + calcTotal = calcTotal + ControlGetValueAsFloat("edtMidden"); + calcTotal = calcTotal + ControlGetValueAsFloat("edtOpen2"); + calcTotal = calcTotal + ControlGetValueAsFloat("edtRechts"); + + ControlSetValue("edtTotaal",calcTotal); + UpdateErrorMsg() ; + UpdateImage(); } + +function UpdateImage(){ + var hoekjes = 5 ; + document.getElementById("tblFull").style.width = ( reqTotal * tblFactor ) + ( hoekjes * 25 ) ; + document.getElementById("tblFull").style.height = ( LD * tblFactor ) + ( hoekjes * 25 ); + + document.getElementById("tblLinks").style.width = ControlGetValueAsFloat("edtLinks") * tblFactor ; + SetInnerHTML("tblLinksCell", ControlGetValueAsFloat("edtLinks")); + document.getElementById("tblOpen1").style.width = ControlGetValueAsFloat("edtOpen1") * tblFactor ; + SetInnerHTML("tblOpen1Cell", ControlGetValueAsFloat("edtOpen1")); + + if (! blnIsSpoelbak ) { + if ( document.getElementById("rdbtnSY186").checked == true ) { + document.getElementById("tblOpen1Cell").style.height = 18.6 * 2; + } else { + document.getElementById("tblOpen1Cell").style.height = 25 * 2; + } + } + + document.getElementById("tblRechts").style.width = ControlGetValueAsFloat("edtRechts") * tblFactor ; + + SetInnerHTML("tblRechtsCell", ControlGetValueAsFloat("edtRechts")); + if (document.getElementById("tblOpen2")) + { document.getElementById("tblOpen2").style.width = ControlGetValueAsFloat("edtOpen2") * tblFactor ; + SetInnerHTML("tblOpen2Cell", ControlGetValueAsFloat("edtOpen2")); } + if (document.getElementById("tblMidden")) + { document.getElementById("tblMidden").style.width = ControlGetValueAsFloat("edtMidden") * tblFactor ; + SetInnerHTML("tblMiddenCell", ControlGetValueAsFloat("edtMidden")); } +} + +function UpdateErrorMsg() { + blnError = false ; + var Control ; + var WarningField ; + for (Control in minValues) + { WarningField = Control.replace("edt","warn") + SetInnerHTML(WarningField,""); + if ( minValues[Control] > 0 ) + { if ( ControlGetValueAsFloat(Control) < minValues[Control] ) + { SetInnerHTML(WarningField,GetInnerHTML(WarningField)+ 'min. ' + minValues[Control] ); + blnError = true ; } + } + } + if ( calcTotal != reqTotal ) + { SetInnerHTML("warnTotaal", "<> " + reqTotal + ' mm.' ) + blnError = true ; } + else { SetInnerHTML("warnTotaal",""); } +} + +function IsSymmectric() { + var result + result = document.getElementById("chkbxSymmetric").checked + return result + } + +function ActivateRadioBtn(SPZK){ + var arrSPZK = cPiecesToArray(SPZK,";") ; + if ( blnIsSpoelbak ) { + document.getElementById("rdbtnSPZKSpec").checked = true ; + if (arrSPZK[0] == "S2") document.getElementById("rdbtnSPZKSmall").checked = true; + if (arrSPZK[0] == "B2") document.getElementById("rdbtnSPZKLarge").checked = true; + } + else { + if (arrSPZK[0] == "SI03") { + document.getElementById("rdbtnSY250").checked = true; + } else { + document.getElementById("rdbtnSY186").checked = true ; + } + } +} + +function ActiveRadioBtn() { + if ( blnIsSpoelbak ) { + if ( document.getElementById("rdbtnSPZKSpec").checked ) { return "M" ; } + if ( document.getElementById("rdbtnSPZKSmall").checked ) { return "S2"; } + if ( document.getElementById("rdbtnSPZKLarge").checked ) { return "B2" ; } + } else { + if ( document.getElementById("rdbtnSY186").checked ) { return "SI01" ; } + if ( document.getElementById("rdbtnSY250").checked ) { return "SI03" ; } + } +} + +function rdbtnClicked(Sender){ + EnableDisableFields(ActiveRadioBtn()); + EditableFieldsSetDefaults(ActiveRadioBtn()); + RecalcTotal(); +} + +function EditableFieldsSetValues(SPZK) { + if (blnIsSpoelbak) { EditableFieldsSetValuesSP(SPZK) } + else { EditableFieldsSetValuesSI(SPZK) } + EnableDisableFields(ActiveRadioBtn()); +} + +function EditableFieldsSetValuesSI(SPZK) { + var Value + var arrSIF = cPiecesToArray(SPZK,";") ; + if ( arrSIF[0] == "") arrSIF[0] = "SI01" ; + if ( ( arrSIF[0] == "SI01" ) || ( arrSIF[0] == "SI03" ) ) // indien enkele sifon of niet opgegeven + { Value = ( reqTotal - BreedteSifon ) / 2 ; + ControlSetValue("edtLinks", (arrSIF[1] > 0 ? arrSIF[1] : Value ) ) ; + ControlSetValue("edtRechts", (arrSIF[2] > 0 ? arrSIF[2] : Value ) ) ; + ControlSetValue("edtOpen1",BreedteSifon) ; } + if ( ( arrSIF[0] == "SI01.x2" ) || ( arrSIF[0] == "SI03.x2" ) ) + { Value = reqTotal - (2*BreedteSifon) ; + ControlSetValue("edtLinks", (arrSIF[1] > 0 ? arrSIF[1] : Value ) ) ; + ControlSetValue("edtRechts", (arrSIF[2] > 0 ? arrSIF[2] : Value ) ) ; + ControlSetValue("edtOpen1",BreedteSifon); + ControlSetValue("edtOpen2",BreedteSifon); + Value = reqTotal - ( 2*Value ) - (2*BreedteSifon) ; + ControlSetValue("edtMidden", (arrSIF[3] > 0 ? arrSIF[3] : Value ) ) ; } + document.getElementById("chkbxSymmetric").checked = ( ControlGetValueAsFloat("edtLinks") == ControlGetValueAsFloat("edtRechts") ) ; +} + +function EditableFieldsSetValuesSP(SPZK) { + var Value + var arrSPZK = cPiecesToArray(SPZK,";") ; + if ( arrSPZK[0] == "") { document.getElementById("rdbtnSPZKSmall").checked = true ; } + if ( arrSPZK[0]== "M" ) // indien spoelbak op maat ; + { ControlSetValue("edtLinks", ( arrSPZK[1] > 0 ? arrSPZK[1] : minValues["edtLinks"] ) ) ; + ControlSetValue("edtRechts", ( arrSPZK[2] > 0 ? arrSPZK[2] : minValues["edtRechts"] ) ) ; } + else + { if ( document.getElementById("rdbtnSPZKLarge").checked ) Value = 197 ; + if ( document.getElementById("rdbtnSPZKSmall").checked ) Value = 147 ; + ControlSetValue("edtLinks",Value); ControlSetValue("edtRechts",Value); } + + ControlSetValue("edtOpen1",reqTotal - ControlGetValueAsFloat("edtLinks") - ControlGetValueAsFloat("edtRechts") ) ; + + document.getElementById("chkbxSymmetric").checked = ( ControlGetValueAsFloat("edtLinks") == ControlGetValueAsFloat("edtRechts") ) ; +} + + +function EditableFieldsSetDefaults(SPZK) { + if (blnIsSpoelbak) { EditableFieldsSetDefaultsSP(SPZK) } + else { EditableFieldsSetDefaultsSI(SPZK) } +} + +function EditableFieldsSetDefaultsSP(SPZK) { + var Value + var arrSPZK = cPiecesToArray(SPZK,";") ; + if ( arrSPZK[0] == "") { document.getElementById("rdbtnSPZKSmall").checked = true ; } + if ( arrSPZK[0] == "M" ) // indien spoelbak op maat ; + { ControlSetValue("edtLinks", minValues["edtLinks"] ) ; + ControlSetValue("edtRechts", minValues["edtRechts"] ) ; } + else + { if ( document.getElementById("rdbtnSPZKLarge").checked ) Value = 197 ; + if ( document.getElementById("rdbtnSPZKSmall").checked ) Value = 147 ; + ControlSetValue("edtLinks",Value); ControlSetValue("edtRechts",Value); } + + ControlSetValue("edtOpen1",reqTotal - ControlGetValueAsFloat("edtLinks") - ControlGetValueAsFloat("edtRechts") ) ; + + document.getElementById("chkbxSymmetric").checked = ( ControlGetValueAsFloat("edtLinks") == ControlGetValueAsFloat("edtRechts") ) ; +} + +function EditableFieldsSetDefaultsSI() { + var Value + var arrSIF = cPiecesToArray(SPZK,";") ; + if ( arrSIF[0] == "") arrSIF[0] = "SI01" ; + if ( ( arrSIF[0] == "SI01" ) || ( arrSIF[0] == "SI03" ) ) // indien enkele sifon; + { if ( IsSymmectric() ) { + Value = ( reqTotal - BreedteSifon ) / 2 ; + ControlSetValue("edtLinks", Value ) ; + ControlSetValue("edtRechts", Value ) ; + ControlSetValue("edtOpen1",BreedteSifon) ; } + } + if ( ( arrSIF[0] == "SI01.x2" ) || ( arrSIF[0] == "SI03.x2" ) ) + { Value = reqTotal - (2*BreedteSifon) ; + ControlSetValue("edtLinks", Value ) ; + ControlSetValue("edtRechts", Value ) ; + ControlSetValue("edtOpen1",BreedteSifon); + ControlSetValue("edtOpen2",BreedteSifon); + Value = reqTotal - ( 2*Value ) - (2*BreedteSifon) ; + ControlSetValue("edtMidden",Value ) ; } +} + +function EnableDisableFields(SPZK) { + var Control + for (Control in minValues) { ControlEnabledDisabled(Control,false) ; } + if (blnIsSpoelbak) // indien spoelbak + { if ( ! document.getElementById("rdbtnSPZKSpec").checked ) return ; + ControlEnabledDisabled("edtLinks",true); + ControlEnabledDisabled("edtOpen1",true); + ControlEnabledDisabled("edtMidden",false); + ControlEnabledDisabled("edtOpen2",false); + ControlEnabledDisabled("edtRechts",true); } + else // indien sifon + { if ( document.getElementById("chkbxSymmetric").checked ) return ; + ControlEnabledDisabled("edtLinks",true); + ControlEnabledDisabled("edtOpen1",false); + ControlEnabledDisabled("edtMidden",true); + ControlEnabledDisabled("edtOpen2",false); + ControlEnabledDisabled("edtRechts",true); } +} + +function ShowHideFields() { + var Control + for (Control in minValues) + { if ( minValues[Control] > 0 ) { RowSetVisible(Control.replace("edt","row"),true) ; } + else { RowSetVisible(Control.replace("edt","row"),false) } + } +} Index: BGJOBs.inc.rou =================================================================== diff -u --- BGJOBs.inc.rou (revision 0) +++ BGJOBs.inc.rou (revision 2) @@ -0,0 +1,3 @@ +PageAlive + Do CheckPages^BL.WEB.PageAlive.Main.1() + Quit \ No newline at end of file Index: _vhisie/TBX/TBoxResItems4A.js =================================================================== diff -u --- _vhisie/TBX/TBoxResItems4A.js (revision 0) +++ _vhisie/TBX/TBoxResItems4A.js (revision 2) @@ -0,0 +1,343 @@ +// Javascript created by Cach� Server Page /VHISIE/TBX/ResItems.csp on 2011-04-07 17:16:57 +// + +var cItemLT=0; +var cItemLD=1; +var cItemDK=2; + +var arBPM=Array(); +arBPM['GA']=Array( + Array('CM',270,'20;30'), + Array('CM',300,'20;30'), + Array('CM',350,'30'), + Array('CM',400,'30;50'), + Array('CM',450,'30;50;65'), + Array('CM',500,'30;50;65'), + Array('CM',550,'30;50;65'), + Array('CM',600,'50;65'), + Array('CM',650,'50;65'), + Array('CM/Z',270,'20;30'), + Array('CM/Z',300,'20;30'), + Array('CM/Z',350,'30'), + Array('CM/Z',400,'30;50'), + Array('CM/Z',450,'30;50;65'), + Array('CM/Z',500,'30;50;65'), + Array('CM/Z',550,'30;50;65'), + Array('CM/Z',600,'50;65'), + Array('CM/Z',650,'50;65'), + Array('CMS2',400,'30;50'), + Array('CMS2',450,'30;50;65'), + Array('CMS2',500,'30;50;65'), + Array('CMY',270,'20;30'), + Array('CMY',300,'20;30'), + Array('CMY',350,'30'), + Array('CMY',400,'30;50'), + Array('CMY',450,'30;50;65'), + Array('CMY',500,'30;50;65'), + Array('CMY',550,'30;50;65'), + Array('CMY',600,'50;65'), + Array('CMY',650,'50;65'), + Array('CMY/Z',270,'20;30'), + Array('CMY/Z',300,'20;30'), + Array('CMY/Z',350,'30'), + Array('CMY/Z',400,'30;50'), + Array('CMY/Z',450,'30;50;65'), + Array('CMY/Z',500,'30;50;65'), + Array('CMY/Z',550,'30;50;65'), + Array('CMY/Z',600,'50;65'), + Array('CMY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',500,'30;50;65') +); +arBPM['WA']=Array( + Array('CM',270,'20;30'), + Array('CM',300,'20;30'), + Array('CM',350,'30'), + Array('CM',400,'30;50'), + Array('CM',450,'30;50;65'), + Array('CM',500,'30;50;65'), + Array('CM',550,'30;50;65'), + Array('CM',600,'50;65'), + Array('CM',650,'50;65'), + Array('CM/Z',270,'20;30'), + Array('CM/Z',300,'20;30'), + Array('CM/Z',350,'30'), + Array('CM/Z',400,'30;50'), + Array('CM/Z',450,'30;50;65'), + Array('CM/Z',500,'30;50;65'), + Array('CM/Z',550,'30;50;65'), + Array('CM/Z',600,'50;65'), + Array('CM/Z',650,'50;65'), + Array('CMS2',400,'30;50'), + Array('CMS2',450,'30;50;65'), + Array('CMS2',500,'30;50;65'), + Array('CMY',270,'20;30'), + Array('CMY',300,'20;30'), + Array('CMY',350,'30'), + Array('CMY',400,'30;50'), + Array('CMY',450,'30;50;65'), + Array('CMY',500,'30;50;65'), + Array('CMY',550,'30;50;65'), + Array('CMY',600,'50;65'), + Array('CMY',650,'50;65'), + Array('CMY/Z',270,'20;30'), + Array('CMY/Z',300,'20;30'), + Array('CMY/Z',350,'30'), + Array('CMY/Z',400,'30;50'), + Array('CMY/Z',450,'30;50;65'), + Array('CMY/Z',500,'30;50;65'), + Array('CMY/Z',550,'30;50;65'), + Array('CMY/Z',600,'50;65'), + Array('CMY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',400,'30;50'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); +arBPM['ZA']=Array( + Array('CM',270,'20;30'), + Array('CM',300,'20;30'), + Array('CM',350,'30'), + Array('CM',400,'30;50'), + Array('CM',450,'30;50;65'), + Array('CM',500,'30;50;65'), + Array('CM',550,'30;50;65'), + Array('CM',600,'50;65'), + Array('CM',650,'50;65'), + Array('CM/Z',270,'20;30'), + Array('CM/Z',300,'20;30'), + Array('CM/Z',350,'30'), + Array('CM/Z',400,'30;50'), + Array('CM/Z',450,'30;50;65'), + Array('CM/Z',500,'30;50;65'), + Array('CM/Z',550,'30;50;65'), + Array('CM/Z',600,'50;65'), + Array('CM/Z',650,'50;65'), + Array('CMS2',450,'30;50;65'), + Array('CMS2',500,'30;50;65'), + Array('CMY',270,'20;30'), + Array('CMY',300,'20;30'), + Array('CMY',350,'30'), + Array('CMY',400,'30;50'), + Array('CMY',450,'30;50;65'), + Array('CMY',500,'30;50;65'), + Array('CMY',550,'30;50;65'), + Array('CMY',600,'50;65'), + Array('CMY',650,'50;65'), + Array('CMY/Z',270,'20;30'), + Array('CMY/Z',300,'20;30'), + Array('CMY/Z',350,'30'), + Array('CMY/Z',400,'30;50'), + Array('CMY/Z',450,'30;50;65'), + Array('CMY/Z',500,'30;50;65'), + Array('CMY/Z',550,'30;50;65'), + Array('CMY/Z',600,'50;65'), + Array('CMY/Z',650,'50;65'), + Array('M',270,'20;30'), + Array('M',300,'20;30'), + Array('M',350,'30'), + Array('M',400,'30;50'), + Array('M',450,'30;50;65'), + Array('M',500,'30;50;65'), + Array('M',550,'30;50;65'), + Array('M',600,'50;65'), + Array('M',650,'50;65'), + Array('M/Z',270,'20;30'), + Array('M/Z',300,'20;30'), + Array('M/Z',350,'30'), + Array('M/Z',400,'30;50'), + Array('M/Z',450,'30;50;65'), + Array('M/Z',500,'30;50;65'), + Array('M/Z',550,'30;50;65'), + Array('M/Z',600,'50;65'), + Array('M/Z',650,'50;65'), + Array('MS2',450,'30;50;65'), + Array('MS2',500,'30;50;65'), + Array('MY',270,'20;30'), + Array('MY',300,'20;30'), + Array('MY',350,'30'), + Array('MY',400,'30;50'), + Array('MY',450,'30;50;65'), + Array('MY',500,'30;50;65'), + Array('MY',550,'30;50;65'), + Array('MY',600,'50;65'), + Array('MY',650,'50;65'), + Array('MY/Z',270,'20;30'), + Array('MY/Z',300,'20;30'), + Array('MY/Z',350,'30'), + Array('MY/Z',400,'30;50'), + Array('MY/Z',450,'30;50;65'), + Array('MY/Z',500,'30;50;65'), + Array('MY/Z',550,'30;50;65'), + Array('MY/Z',600,'50;65'), + Array('MY/Z',650,'50;65'), + Array('N',400,'30;50;65'), + Array('N',450,'30;50;65'), + Array('N',500,'30;50;65'), + Array('N',550,'30;50;65') +); + +var arDC_DS=Array(); +arDC_DS['A']=Array('GA', 'WA', 'ZA'); + +var arDC_LC=Array(); +arDC_LC['A']=Array('CM', 'CM/Z', 'CMS2', 'CMY', 'CMY/Z', 'M', 'M/Z', 'MS2', 'MY', 'MY/Z', 'N'); + +var arDC_KV=Array(); + +var arDC_BX=Array(); +arDC_BX['A']=Array('ER', 'ZR'); + +var arDS_BX=Array(); +arDS_BX['GA_CM']=Array('ER'); +arDS_BX['GA_CM/Z']=Array('ER'); +arDS_BX['GA_CMS2']=Array('ER'); +arDS_BX['GA_CMY']=Array('ER'); +arDS_BX['GA_CMY/Z']=Array('ER'); +arDS_BX['GA_M']=Array('ZR'); +arDS_BX['GA_M/Z']=Array('ZR'); +arDS_BX['GA_MS2']=Array('ZR'); +arDS_BX['GA_MY']=Array('ZR'); +arDS_BX['GA_MY/Z']=Array('ZR'); +arDS_BX['GA_N']=Array('ZR'); +arDS_BX['WA_CM']=Array('ER'); +arDS_BX['WA_CM/Z']=Array('ER'); +arDS_BX['WA_CMS2']=Array('ER'); +arDS_BX['WA_CMY']=Array('ER'); +arDS_BX['WA_CMY/Z']=Array('ER'); +arDS_BX['WA_M']=Array('ZR'); +arDS_BX['WA_M/Z']=Array('ZR'); +arDS_BX['WA_MS2']=Array('ZR'); +arDS_BX['WA_MY']=Array('ZR'); +arDS_BX['WA_MY/Z']=Array('ZR'); +arDS_BX['WA_N']=Array('ZR'); +arDS_BX['ZA_CM']=Array('ER'); +arDS_BX['ZA_CM/Z']=Array('ER'); +arDS_BX['ZA_CMS2']=Array('ER'); +arDS_BX['ZA_CMY']=Array('ER'); +arDS_BX['ZA_CMY/Z']=Array('ER'); +arDS_BX['ZA_M']=Array('ZR'); +arDS_BX['ZA_M/Z']=Array('ZR'); +arDS_BX['ZA_MS2']=Array('ZR'); +arDS_BX['ZA_MY']=Array('ZR'); +arDS_BX['ZA_MY/Z']=Array('ZR'); +arDS_BX['ZA_N']=Array('ZR'); + +var arDC_SPZK=Array(); +arDC_SPZK['A_CMS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['A_CMY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['A_CMY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['A_MS2']=Array('S2', 'B2', 'M'); +arDC_SPZK['A_MY']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); +arDC_SPZK['A_MY/Z']=Array('SI01', 'SI03', 'SI01.x2', 'SI03.x2'); + +var arDCLC_FS=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_FS['XX_CM']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CM/Z']=Array('A'); +arDCLC_FS['XX_CMS2']=Array('A', 'HS'); +arDCLC_FS['XX_CMY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_CMY/Z']=Array('A'); +arDCLC_FS['XX_M']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_M/Z']=Array('A'); +arDCLC_FS['XX_MS2']=Array('A', 'HS'); +arDCLC_FS['XX_MY']=Array('A', 'HS', '1', '2', '3'); +arDCLC_FS['XX_MY/Z']=Array('A'); +arDCLC_FS['XX_N']=Array('A', 'HS', '1', '2', '3'); + +var arDCLC_DWV=Array(); // DC replaced by "XX", same items for every DC. +arDCLC_DWV['XX_CM']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_CM/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_CMS2']=Array('0', '4_sp'); +arDCLC_DWV['XX_CMY']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_CMY/Z']=Array('0', '1', '2', '3', '4'); +arDCLC_DWV['XX_M']=Array('0'); +arDCLC_DWV['XX_M/Z']=Array('0'); +arDCLC_DWV['XX_MS2']=Array('0'); +arDCLC_DWV['XX_MY']=Array('0'); +arDCLC_DWV['XX_MY/Z']=Array('0'); +arDCLC_DWV['XX_N']=Array('0'); + +var arDS_KLR=Array(); +arDS_KLR['RK_GA']=Array('MG'); +arDS_KLR['RK_WA']=Array('SW'); +arDS_KLR['RK_ZA']=Array('BZ'); +arDS_KLR['KX_GA']=Array('MG'); +arDS_KLR['KX_WA']=Array('SW'); +arDS_KLR['KX_ZA']=Array('BZ'); Index: Prod/GAMeta/BT/TBBoxsideKleur.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBBoxsideKleur.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBBoxsideKleur.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBKXD") +TBBoxsideKleurDefaultData +^Res.PI.Items("PR;GA;TBKXD") +^Res.PI.Items("index","PR;GA;TBKX") +^Res.PI.Items("stream","PR;GA;TBKX") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: UglyPickingCNTs.inc.rou =================================================================== diff -u --- UglyPickingCNTs.inc.rou (revision 0) +++ UglyPickingCNTs.inc.rou (revision 2) @@ -0,0 +1,199 @@ + //------------------------------------------------------------------- + // Class Methods + //------------------------------------------------------------------- + + #Define cmRoot BL.MB.UGLYPicking + #Define cmGeneral ##class($$$cmRoot.General) + #Define cmOpslag ##class($$$cmRoot.Opslag) + #Define cmReceptie ##class($$$cmRoot.Receptie) + #Define cmReceptieProductie ##class($$$cmRoot.ReceptieProductie) + #Define cmReservatie ##class($$$cmRoot.OrderReservatie) + #Define cmOrderSel ##class($$$cmRoot.OrderSel) + #Define cmPalletPick ##class($$$cmRoot.PalletPick) + #Define cmOrderFeedback ##class($$$cmRoot.OrderFeedback) + + //------------------------------------------------------------------- + // Order Selectie + //------------------------------------------------------------------- + + ;Listview, bepaling rangschikking Items & SubItems + ;Item (-1) + #Define lvoKlant -1 + ;SubItems(0..X) + #Define lvoAantalLijnen 0 + #Define lvoTijd 1 + #Define lvoShortMagazijn 2 + #Define lvoConsNr 3 + #Define lvoMagazijn 4 + #Define lvoDueOut 5 + #Define lvoVerzendWijze 6 + + ;Types Magazijn controls + #Define mcButton 1 + #Define mcAantal 2 + #Define mcInfo 3 + ;Dingen te onthouden van magazijnorders + #Define moOldestDueOut 1 + #Define moOldestBOPicking 2 + #Define moUrgentie 3 + #Define moAfhaling 4 + #Define moConsNr 5 + #Define moAantal 6 + #Define moMultipleMagazijn 7 + + //------------------------------------------------------------------- + // Order Reservatie + //------------------------------------------------------------------- + + ;Listview, bepaling rangschikking Items & SubItems + ;Item (-1) + #Define lvpLocStr -1 + ;SubItems(0..X) + #Define lvpPalletIDEx 0 + #Define lvpProduct 1 + #Define lvpAantalTePicken 2 + #Define lvpLocatie 3 + #Define lvpPalletID 4 + #Define lvpLocM 5 + #Define lvpPalletResID 6 + #Define lvpInventoryID 7 + #Define lvpNeedAll 8 + #Define lvpIsFull 9 + + //------------------------------------------------------------------- + // Pallet Pick + //------------------------------------------------------------------- + ;Listview, bepaling rangschikking Items & SubItems + ;Item (-1) + #Define lvfProdKortTekst -1 + ;SubItems(0..X) + #Define lvfQty 0 + #Define lvfPalletResID 1 + + //------------------------------------------------------------------- + // Cycle Count: Product Selection + //------------------------------------------------------------------- + ;Listview, bepaling rangschikking Items & SubItems + ;Item (-1) + #Define lvcProdKortTekst -1 + ;SubItems(0..X) + #Define lvcQty 0 + #Define lvcInventoryID 1 + + //------------------------------------------------------------------- + // Opslag: Pallet Selectie + //------------------------------------------------------------------- + ;Listview1: Products on Pallet + ;Item (-1) + #Define lvo1ProdKortTekst -1 + ;SubItems(0..X) + #Define lvo1QtyPcs 0 + #Define lvo1PalletID 1 + #Define lvo1Product 2 + + ;Listview2: Pallets with Product + ;Item (-1) + #Define lvo2LocStr -1 + ;SubItems(0..X) + #Define lvo2LocID 0 + #Define lvo2QtyPcs 1 + #Define lvo2SectieCnt 2 + + ;Verschillende interface-modes + #Define imNone -1 + ;Opstartfase, nog niks ingescand ed + #Define imStartUp 0 + ;Reeds gevalideerde source (location+palletid) ingegeven + #Define imValidSource 1 + ;Product geselecteerd er wordt dus maw voor bijladen gekozen + #Define imBijladen 2 + ;Na SourceValidatie wordt opnieuw gescand, verplaatsen of wijzigen PalID zijn de mogelijkheden + #Define imVerplaatsen 3 + ;Indien SRC Location = DEST Location maar verschillend PalletID -> Wijzig Pallet ID + #Define imWijzigPalletID 4 + ;Indien SRC Location <> DEST Location met gelijk PalletID -> Veranderen van pallet zijn locatie + #Define imVerplaatsPallet 5 + + //------------------------------------------------------------------- + // Receptie + //------------------------------------------------------------------- + ;Item (-1) + #Define lvrDossier -1 + ;SubItems(0..X) + #Define lvrMyQtyDone 0 + #Define lvrTotalQty 1 + #Define lvrLocatie 2 + #Define lvrProduct 3 + #Define lvrLijnNr 4 + + ;Buffer node constants (^UPRCP("B",BufferNaam,VolgNr)) + #Define bnTime 1 + #Define bnIsClosed 2 + #Define bnUserID 3 + ;Buffer node constants INTERFACE (^UPRCP("I",BufferNaam,VolgNr)) + #Define bniDefaultLocatie 1 + #Define bniDefaultPallet 2 + #Define bniLocatieVast 3 + #Define bniPalletVast 4 + #Define bniAutoAantal 5 + ;Buffer sub node constants (^UPRCP("B",BufferNaam,VolgNr,LijnNr)) + #Define bsnProductNr 1 + #Define bsnDossier 2 + #Define bsnPalletID 3 + #Define bsnLocatie 4 + #Define bsnMyQtyDone 5 + #Define bsnScanTime 6 + #Define bsnUserID 7 + + //------------------------------------------------------------------- + // ReceptieProductie + //------------------------------------------------------------------- + ;Koppeling tussen buffer en toelevering + #Define kbtBufferKey 1 + #Define kbtBKVolgNr 2 + #Define kbtProductNr 3 + #Define kbtPalletID 4 + #Define kbtQtyRequest 5 + #Define kbtKlantID 6 + #Define kbtToeleveringsNr 7 + #Define kbtUniekLijnNr 8 + #Define kbtBackorder 9 + #Define kbtQtyReserved 10 + #Define kbtLocatieID 11 + ;Toelevering + #Define toeQtyRequest 1 + #Define toeQtyReserved 2 + #Define toeKlantID 3 + #Define toeLeveringsWeek 4 + #Define toeBackorder 5 + + ;ListView BUFFER + ;Item (-1) + #Define lvbProduct -1 + ;SubItems(0..X) + #Define lvbPalletID 0 + #Define lvbLocatie 1 + #Define lvbQtyRes 2 + #Define lvbQty 3 + #Define lvbStatusToelev 4 + #Define lvbStatusQty 5 + #Define lvbKlant 6 + #Define lvbToeleveringsNr 7 + #Define lvbProductNr 8 + #Define lvbKlantID 9 + #Define lvbBufferKey 10 + #Define lvbBackorder 11 + + ;ListView ONGEKOPPELD + ;Item (-1) + #Define lvonKlantID -1 + ;SubItems(0..X) + #Define lvonToelevering 0 + #Define lvonQtyRes 1 + #Define lvonQtyReq 2 + #Define lvonQty 3 + #Define lvonLeveringsWeek 4 + #Define lvonBackorder 5 + #Define lvonTLNr 6 + #Define lvonTLUNr 7 + #Define lvonProductNr 8 \ No newline at end of file Index: _vhisie/TBX/InspectJVM.js =================================================================== diff -u --- _vhisie/TBX/InspectJVM.js (revision 0) +++ _vhisie/TBX/InspectJVM.js (revision 2) @@ -0,0 +1,81 @@ +function CheckJVM(AppletName, Mode, arMsgs) { + Mode=Mode || "DISPLAY"; // Default value + if (Mode=="DONTCHECK") return ""; + if (!AppletName) return ""; + if (!arMsgs) arMsgs=Array(); + var AppletObj=document.applets[AppletName]; + var Result = DetectJVM (AppletObj); + var msg=BuildJVMMessage(Result, Mode, arMsgs) + Result.msg=msg; + if (msg.length) alert (msg); + return Result; +} + +function GetJVMDefaultMsgs(arMsgs) { + function DollarGet (Val) { + return ((typeof(Val)=="undefined") ? "" : Val); + } + if (!arMsgs) arMsgs=Array(); + if (DollarGet(arMsgs["ACTIVE"])=="") arMsgs["ACTIVE"] = "a Java VM is active: version $$$JVM_VERSION$$$ from $$$JVM_VENDOR$$$"; + if (DollarGet(arMsgs["UNKNOWN"])=="") arMsgs["UNKNOWN"] = "a Java VM is active (unknown software): version $$$JVM_VERSION$$$ from $$$JVM_VENDOR$$$"; + if (DollarGet(arMsgs["NO_JVM"])=="") arMsgs["NO_JVM"] = "There is no Java VM active on this computer !"; + if (DollarGet(arMsgs["NO_APPLET"])=="") arMsgs["NO_APPLET"] = "Problem! The applet to detect the JVM software, is not available on this page."; +} + +function BuildJVMMessage(Result, Mode, arMsgs) { + switch (Mode) { + case "DISPLAY" : + GetJVMDefaultMsgs(arMsgs); + msg=arMsgs[Result.rsl]; + if (Result.bln) { + msg=msg.replace("$$$JVM_VERSION$$$",Result.vrs).replace("$$$JVM_VENDOR$$$",Result.vnd); + } + break; + case "ONERROR" : + if (Result.bln) { + msg=""; + } else { + GetJVMDefaultMsgs(arMsgs); + msg=arMsgs[Result.rsl]; +// msg="Java VM not installed!"; // + Result.rsl; + } + break; + case "ONAVAIL" : + if (Result.bln) { + GetJVMDefaultMsgs(arMsgs); + msg=arMsgs[Result.rsl]; + msg=msg.replace("$$$JVM_VERSION$$$",Result.vrs).replace("$$$JVM_VENDOR$$$",Result.vnd); +// msg="Java VM detected: version " + Result.vrs + " from " + Result.vnd; + } else { + msg=""; + } + break; + case "SILENT" : msg=""; break; + case "DONTCHECK" : msg=""; break; + default : msg=""; break; + } + return msg; +} + +function DetectJVM(AppletObj) { + if ((!AppletObj) || (AppletObj.tagName != "APPLET")) return {bln:0, rsl:"NO_APPLET", vnd:"", vrs:""}; + var version,vendor; + try { + version = AppletObj.getVersion(); + vendor = AppletObj.getVendor(); + } + catch (exception) { + return {bln:0, rsl:"NO_JVM", vrs:"", vnd:""}; + } + if ((!version) || (version=="") || (!vendor) || (vendor=="")) return {bln:1, rsl:"UNKNOWN", vrs:version, vnd:vendor}; + return {bln:1, rsl:"ACTIVE", vrs:version, vnd:vendor}; + +/* // Possible results: + return {bln:1, rsl:"ACTIVE", vrs:"1.4.0_2", vnd:"Sun"} + return {bln:1, rsl:"ACTIVE", vrs:"1.1.4", vnd:"Microsoft"} + return {bln:1, rsl:"UNKNOWN", vrs:"", vnd:""} + return {bln:0, rsl:"NO_JVM", vrs:"", vnd:""} + return {bln:0, rsl:"NO_APPLET", vrs:"", vnd:""} +*/ +} + Index: Prod/Kenmerk/Utils.cls.xml =================================================================== diff -u --- Prod/Kenmerk/Utils.cls.xml (revision 0) +++ Prod/Kenmerk/Utils.cls.xml (revision 2) @@ -0,0 +1,121 @@ + + + + +Gebruikstools voor de klassen van Kenmerk +%Library.RegisteredObject + + + +KenmerkArray als .Local doorgeven.]]> +1 + + + + + + +Groepeert de array van productnummers op Kenmerken, d.w.z.dat producten met gelijke sleutel, gelijke +vereisten en andere gelijke kenmerken (behalve Kleur en WandDikte) gefilterd worden, i.e. herleid worden +tot één basis(product). + +1 + + + + + + +Bouwt de array @Ref op met alle producten die voldoen aan de opgegeven criteria (voor de kenmerken of PRNrs). +1 + + + + + + +Idem als ..PRLijstViaCriteria() , maar met extra functionaliteit: +Bouwt de array @Ref op met alle producten die voldoen aan de opgegeven criteria (voor de kenmerken of PRNrs). +Maakt een tussenstap: het Kenmerk "BeperkLastKM" wordt eerst afgesplitst, andere mogelijke waarden ervoor worden +gedetecteerd en teruggeven via de array "arLastKMVal" (pass by reference) +1 + + + + + + +Bij IncludeUndefs=1 worden producten waarbij een kenmerk niet gedefinieerd is (lees: niet van toepassing is), +toch opgenomen in de lijst.]]> +1 + + + + + + +Bouwt de array @Ref op met alle bestaande producten in CriteriaArray("PRNr"). +1 + + + + + + +De volgorde van de sleutels wordt bepaald door LBSortKenm. Voorbeeld:
    + LBSortKenm = $LB("KenmC","KenmA","KenmD","KenmB")

    + +levert volgende lijst: [Waarde van KenmC]\[Waarde van KenmA]\[Waarde van KenmD]\[Waarde van KenmB] + + +]]>
    +1 +PRNr:%Library.String,LBSortKenm:%Library.String,Delimiter:%Library.String="\" +%Library.String + +
    +
    +
    Index: WS/TBX/DataIOWWW/GetWSOrdFromWWW.cls.xml =================================================================== diff -u --- WS/TBX/DataIOWWW/GetWSOrdFromWWW.cls.xml (revision 0) +++ WS/TBX/DataIOWWW/GetWSOrdFromWWW.cls.xml (revision 2) @@ -0,0 +1,53 @@ + + + +WS.TBX +%occInclude,%soap +%SOAP.MsgDescriptor +WS.TBX.DataIOWWW + + +http://tempuri.org + + + +http://tempuri.org + + + +document + + + +literal + + + +http://tempuri.org + + + +complete + + + +%Result + + + +WS.TBX.Order + + + + + +%Library.String + + + + +%Library.String + + + + Index: TECH/Config/ConfigItem.cls.xml =================================================================== diff -u --- TECH/Config/ConfigItem.cls.xml (revision 0) +++ TECH/Config/ConfigItem.cls.xml (revision 2) @@ -0,0 +1,83 @@ + + + + +Een configuratie key-value item. +Naast een algemeen-geldende waarde, kunnen er applicatie-specifieke waarden +gedefinieerd zijn. Die laatste hebben voorrang op de algemeen-geldende. +persistent +1 +%Persistent +0 + + +%String +1 + + + +%String +1 + + + + +%String + + + + +%String +array +1 + + + + +1 +Omgeving,Sleutel + + + + +Remark: Parameter "Applicatie" is optioneel. +%String + + + + +Waarde:%String,Applicatie:%String + + + + +%Library.CacheStorage +^TECH.Config.ConfigItemD +ConfigItemDefaultData +^TECH.Config.ConfigItemD +^TECH.Config.ConfigItemI +^TECH.Config.ConfigItemS + +AppSpecifiekeWaarden +subnode +"AppSpecifiekeWaarden" + + + +%%CLASSNAME + + +Waarde + + + + + Index: Res/PI/Teksten.mac.rou =================================================================== diff -u --- Res/PI/Teksten.mac.rou (revision 0) +++ Res/PI/Teksten.mac.rou (revision 2) @@ -0,0 +1,28 @@ +TNEDERLANDS ;Nederlands;N�erlandais;Dutch; +TFRANS ;Frans;Fran�ais;French;Fransozisch +TENGELS ;Engels;Anglais;English;English +TDUITS ;Duits;Allemand;German;Deutsch +TGEEN ;Geen;Sans;None;Ohne + +TCODE ;(N);(F);(E);(D) +TTAAL ;Taal;Langue;Language;Sprache +TPROFIEL ;Profiel;Profil;Profile;Profiel +TVULLING ;Vulling;Remplissage;Filling; F�llung +TGEHARD ;Gehard;Tremp�;Toughened;Geh�rtet +THOOGTE ;Hoogte;Hauteur;Height;H�he +TBREEDTE ;Breedte;Largeur;Width;Breite +TBESLAG ;Beslag;Quincaillerie;Fitting;Beschlag +TAANTAL ;Aantal;Quantit�;Quantity;Menge +TRUGBORING ;Rugboring;Per�age c�t� dos;Drilling backside;Bohrung R�ckseite +TDOORBORING ;Doorboring;Transper�age;Transfixion;Durchbohrung +TFREZING ;Frezing;Fraisage;Milling;Fr�zung +TINTZIJBORING ;Int. zijboring;Per�age lat�rale int.;Int. lateral drilling;Int. Seitenbohrung +TINTERNEZIJBORING ;Interne zijboring;Per�age lat�rale interne;Internal lateral drilling;Interne Seitenbohrung +TBORING ;Boring;Per�age;Drilling;Bohrung +TPRIJS ;Prijs;Prix;Price;Preis +TSCHARNLINKS ;scharnieren op linkse profiel;charni�res sur profil gauche;hinges on left profile;Beschlag auf linkse Profiel + + +VERTAAL(KeyW,Taal) + Set Txt=$T(@("T"_$ZCVT(KeyW,"U"))) + Quit $ZCVT($P(Txt,";",$F("NFED",Taal)),"O","JS") \ No newline at end of file Index: cspBasis/cspAbstract.cls.xml =================================================================== diff -u --- cspBasis/cspAbstract.cls.xml (revision 0) +++ cspBasis/cspAbstract.cls.xml (revision 2) @@ -0,0 +1,93 @@ + + + +1 +%Library.RegisteredObject + + +1 +InText:%Library.String +%Library.String + + + + + +QueryData(param1)=value1
    +OF
    +QueryData(param1,i)=value-i , zoals %Request.Data
    +
    +(output: param1=value1¶m2=value2¶m3=value3 )]]>
    +1 + +%Library.String + +
    + + + +Geeft het SessionID terug +1 +%Library.String + + + + +1 +Param:%Library.String +%Library.String + + + + +1 + +%Library.Boolean + + + + +1 +Param:%Library.String,Value:%Library.String + + +
    +
    Index: _vhisie/TBX/DecodeURL.csp =================================================================== diff -u --- _vhisie/TBX/DecodeURL.csp (revision 0) +++ _vhisie/TBX/DecodeURL.csp (revision 2) @@ -0,0 +1,143 @@ + + + + + + + + + + + + TBox Decode URL + + + + +
    + ShowCookie.csp +
    + + + +
    +	URL IN       : #($G(UrlIn))#
    +	REF          : #($G(decRef))#
    +	URL Out      : #($G(UrlOut))#
    +	URL Out Enc  : #($G(UrlOutEnc))#
    +	URL Out Dec  : #($G(UrlOutDec))#
    +
    +	encPSW (TBX-PSW) : #($G(encPSW))#
    +	PSW Dec          : #($G(DPSW))#
    +	cookPSW (TBX-PSW): #($G(cookPSW))#
    +
    +	URL Redir    : #($G(msgRedir))#
    +	LoginState   : #($G(LoginState))#
    +	
    +	Domain       : #($G(sDomain))#
    +	DomainCVTed  : #($G(sDomCVT))#
    +	DomLU        : #($$LCVT^vhLib($G(lbDomLU)))#
    +
    +	UserType     : #($G(UserType)_" - "_$G(UserTypeTxt))#
    +		
    + + +
    +
    + + + + + + + + + + + + +
    +
    Login
    +
    + #(msgLogin)#:
    + +
    + +   + +
    +
    + +
    + + +
    +	CSP:IF CONDITION='(LoginState="NO") || (LoginState="OK")' 
    +		Deze URL wordt verwerkt ... 
    +	CSP:ELSEIF CONDITION='($E(LoginState,1,3)="ASK")'
    +		$$$ Show Login Form $$$
    +	CSP:ELSEIF CONDITION='(LoginState="TRY_LATER")'
    +		Unable to login. Try again later. You are not allowed to access this data. Contact administrator.
    +	CSP:ELSE
    +		Unknown status to log in. It may be possible that the URL is invalid.
    +	/CSP:IF
    +		
    + +

    + +

    + + + This is not a valid URL. +
    + + + + + Index: csr/csp/Timer.cls.xml =================================================================== diff -u --- csr/csp/Timer.cls.xml (revision 0) +++ csr/csp/Timer.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +User +cache +%CSP.Rule + + +code +%Status +",1) + Do ..WriteCSPText(" ",1) + Do ..WriteCSPText("
    ",1) + Do ..WriteCSPText("",0) + Quit $$$OK +]]> + + + +code +%Status + + + + +c:/CacheSys/CSP/MyRules/Timer.csr + + + Index: Prod/Klas/HoofdGroep.cls.xml =================================================================== diff -u --- Prod/Klas/HoofdGroep.cls.xml (revision 0) +++ Prod/Klas/HoofdGroep.cls.xml (revision 2) @@ -0,0 +1,64 @@ + + + +persistent +1 +VHOpslag +%Persistent + + +1 +1 +SortSleutel +1 + + + +Prod.Klas.Klas + +0 + + + +%String + +0 + + + +%String + +0 + + + +%String + +0 + + + +%CacheSQLStorage +^WS.EC.ContractOrdersS + +data +^KPHG1 + +{SortSleutel} + + +"\" +6 + + +"\" +2 + + +"\" +1 + + + + + Index: BL/EC/sub/pxTBXDesignOptionItem.cls.xml =================================================================== diff -u --- BL/EC/sub/pxTBXDesignOptionItem.cls.xml (revision 0) +++ BL/EC/sub/pxTBXDesignOptionItem.cls.xml (revision 2) @@ -0,0 +1,35 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + + + + + +%String + + + + +%String + + + + +%Boolean + + + + +%String + + + + Index: WS/EC/WebShopClient/Transfer.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/Transfer.cls.xml (revision 0) +++ WS/EC/WebShopClient/Transfer.cls.xml (revision 2) @@ -0,0 +1,112 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,GebruikersNaam:%String,WachtWoordEncrypt:%String,Type:%String,Optie:%String,Data:%GlobalCharacterStream,Taal:%String,DynaplugVersion:%String,DynalogVersion:%String,ClientIP:%String,Domein:%String +BL.EC.pxDynaPlug +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.Stream +characterstream + + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + +%Library.String + + + + Index: zJCTEST.mac.rou =================================================================== diff -u --- zJCTEST.mac.rou (revision 0) +++ zJCTEST.mac.rou (revision 2) @@ -0,0 +1,20 @@ +#Include %VHMacro +#Include DOM.HR.Common + + +TEST + + + S Werknemer = 49 + Set Periode = "2009.10" + S Code = "O_" D + . Set ListRegistraties = $$ListIDsExecDynQuery^vhQUERYLIB("SELECT ID FROM DOM_HR.UurRegistratiePost WHERE Code %STARTSWITH ?",$LB(Code)) + . For cntRegistraties = 1 : 1 : $LL(ListRegistraties) Do + . . Set Registratie = $LG(ListRegistraties,cntRegistraties) + . . Set Totaal = ##class(DOM.HR.UurRegistratie).AantalUren(Werknemer,Periode,Registratie) + . . If Totaal>0 Do + . . . Set $LI(%Cache(cntWerknemer,Rij),Kolom) = $$$ExcelNum(Totaal) + . . . Set oPost = ##class(DOM.HR.UurRegistratiePost).%OpenId(Registratie) + . . . If $IsObject(oPost) Set $LI(%Cache(cntWerknemer,Rij),Kolom+1) = "uren "_oPost.LoonOpgave.Omschrijving + . . . Set oPost="" + . . . Set Rij=Rij+1 \ No newline at end of file Index: VHSys/Library/VMLLib.mac.rou =================================================================== diff -u --- VHSys/Library/VMLLib.mac.rou (revision 0) +++ VHSys/Library/VMLLib.mac.rou (revision 2) @@ -0,0 +1,389 @@ + + ; Geeft de VML-code voor Boringen en Frezingen + ; !!! Opties moet als .LOCAL doorgegeven worden !!! + ; Mogelijke waarden voor Opties: + ; + (algemeen) + ; Node "AT" : Attribute Title; dit is de ToolTipText + ; + (alleen bij $$CrossHVLeftTop, $$CrossDiagLeftTop) + ; - "LW=S" : LineWeight=Small (1px i.p.v. 1.5px) + ; + (alleen bij $$LosProfiel + ; - "R=I" : voor inverse plaatsing + ; - "D=..." : toont waarde (...) als text. OPGELET: EERSTE EN ENIGE OPTIE bij het tonen van Dossier + + +#define VMLTitle $G(Opties("AT"),"") + +VMLShape(VmlID,MidX,MidY,intSize,Rotation,strColor,Opties) + Quit:(VmlID="KAD") $$KADFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="KADFER") $$KADFERFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="KAD120") $$KAD120FREES(MidX,MidY,Rotation,strColor,.Opties) + ;Quit:(VmlID="KAD120Z") $$KAD120ZFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:($E(VmlID,1,4)="SD30") $$SD30FREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:($E(VmlID,1,4)="SD35") $$SD35FREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:($E(VmlID,1,5)="STRIM") $$STRIMxFREES(MidX,MidY,intSize,Rotation,strColor,.Opties) + Quit:(VmlID="UPPER") $$UPPERFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="UPPERZ") $$UPPERZFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="NOVAB") $$NOVABFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="NOVABZ") $$NOVABZFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="NOVAL") $$NOVAxLRxFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="NOVAR") $$NOVAxLRxFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="NOVALZ") $$NOVAxLRZxFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit:(VmlID="NOVARZ") $$NOVAxLRZxFREES(MidX,MidY,Rotation,strColor,.Opties) + Quit "" + +KADFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Kaderscharnier BLUM + New FreesL,FreesB + Set FreesB=16 + Set FreesL=14 + Quit $$KadFreesRect("-") +KADFERFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Kaderscharnier FERRARI + New FreesL,FreesB + Set FreesB=16 + Set FreesL=22 + Quit $$KadFreesRect("-") +KAD120FREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Kaderscharnier Blum 120� + New FreesL,FreesB,VML + Set FreesB=2 + Set FreesL=46 + Set VML=$$KadFreesRect("-") + Set FreesB=16 + Set FreesL=22 + Set VML=VML_$$KadFreesRect("-") + Quit VML + Quit "Complexe Frees VML" ; (2 rechthoeken) + /* +KAD120ZFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Kaderscharnier Blum 120� + New FreesL,FreesB + Set FreesB=8 + Set FreesL=46 + Quit $$KadFreesRect("-") + */ +KadFreesRect(Type) + ; (MidX,MidY) is het nulpunt van de frezing en ligt op de zijkant van de rechthoek (in de helft van de lange zijde) + New tmpRotation + Set FreesL=FreesL\2*2 + Set tmpRotation=Rotation + Set:($G(Type)="-") tmpRotation=(tmpRotation+180)#360 ; Spiegeling over Lengte-as simuleren door rotatie van 180� + ;d WL^vhDBG("Rotation: orig="_Rotation_" Type="_$G(Type)_" tmpRot="_tmpRotation) + Quit:(tmpRotation= 0) $$RectangleLeftTop(MidX,MidY-(FreesL\2), FreesB,FreesL, FillColor,FillColor,1,1,.Opties) + Quit:(tmpRotation= 90) $$RectangleLeftTop(MidX-(FreesL\2),MidY, FreesL,FreesB, FillColor,FillColor,1,1,.Opties) + Quit:(tmpRotation=180) $$RectangleLeftTop(MidX-FreesB,MidY-(FreesL\2), FreesB,FreesL, FillColor,FillColor,1,1,.Opties) + Quit:(tmpRotation=270) $$RectangleLeftTop(MidX-(FreesL\2),MidY-FreesB, FreesL,FreesB, FillColor,FillColor,1,1,.Opties) + Quit "" + +SD30FREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag + New Diam,MidOffs,Offs,OffsOppos,P1,P2 + Set Diam=30 + Set MidOffs=2.9 + Set Offs=(Diam/2)-MidOffs + Set OffsOppos=(Diam/2)+MidOffs + Set P1=0.28 ; calculated sqrt + Set P2=29.72 ; opposite of arcP1 + Quit:(Rotation= 0) $$SD3xShape(MidX-Offs,MidY-(Diam\2), Diam, FillColor,,Offs,P2,Offs,P1,.Opties) + Quit:(Rotation= 90) $$SD3xShape(MidX-(Diam\2),MidY-Offs, Diam, FillColor,,P1,Offs,P2,Offs,.Opties) + Quit:(Rotation=180) $$SD3xShape(MidX-OffsOppos,MidY-(Diam\2), Diam, FillColor,,OffsOppos,P1,OffsOppos,P2,.Opties) + Quit:(Rotation=270) $$SD3xShape(MidX-(Diam\2),MidY-OffsOppos, Diam, FillColor,,P2,OffsOppos,P1,OffsOppos,.Opties) + Quit "" + +SD35FREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag + New Diam,MidOffs,Offs,OffsOppos,P1,P2 + Set Diam=35 + Set MidOffs=7.5 + Set Offs=(Diam/2)-MidOffs + Set OffsOppos=(Diam/2)+MidOffs + Set P1=1.69 ; calculated sqrt + Set P2=33.31 ; opposite of arcP1 + Quit:(Rotation= 0) $$SD3xShape(MidX-Offs,MidY-(Diam\2), Diam, FillColor,,Offs,P2,Offs,P1,.Opties) + Quit:(Rotation= 90) $$SD3xShape(MidX-(Diam\2),MidY-Offs, Diam, FillColor,,P1,Offs,P2,Offs,.Opties) + Quit:(Rotation=180) $$SD3xShape(MidX-OffsOppos,MidY-(Diam\2), Diam, FillColor,,OffsOppos,P1,OffsOppos,P2,.Opties) + Quit:(Rotation=270) $$SD3xShape(MidX-(Diam\2),MidY-OffsOppos, Diam, FillColor,,P2,OffsOppos,P1,OffsOppos,.Opties) + Quit "" + +SD3xShape(Left,Top,Diam,FillColor,BorderColor,arcX1,arcY1,arcX2,arcY2,Opties) + ; Special shape used for SD (SchuifDeur)-beslag. Draw arc + New VML,scl,DiamScl + Set scl=100 + Set DiamScl=(Diam*scl)\1 + Set VML="" + Set VML=VML_"" + Quit VML + +STRIMxFREES(MidX,MidY,intSize,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag "STRIMM" + New FreesL,FreesB + Set FreesL=intSize\2*2 + Set FreesB=16 + Quit:(Rotation#180= 0) $$RectangleLeftTop(MidX-(FreesB\2),MidY-(FreesL\2), FreesB,FreesL, FillColor,FillColor,1,1,.Opties) + Quit:(Rotation#180=90) $$RectangleLeftTop(MidX-(FreesL\2),MidY-(FreesB\2), FreesL,FreesB, FillColor,FillColor,1,1,.Opties) + Quit "" + +UPPERFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag "UPPER" + New FreesL,FreesB + Set FreesB=16 + Set FreesL=80 + Quit $$KadFreesRect("+") + +UPPERZFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag "UPPER" + New FreesL,FreesB + Set FreesB=12 + Set FreesL=54 + Quit $$KadFreesRect($S($G(Opties)["MirrorL=1;":"-", 1:"+")) ; UPPERZ steeds op ProfKant "EX" ==> steeds "-" + +NOVABFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag "NOVA" + New FreesL,FreesB + Set FreesB=11 + Set FreesL=6 + Quit $$KadFreesRect("+") + +NOVABZFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag "NOVA" + New VML,FreesL,FreesB + Set VML="" + Set FreesB=2 + Set FreesL=6 + s:('$D(ClientIP)) ClientIP="192.168.1.97" + ;d WL^vhDBG("Nova BZ: x="_MidX_" y="_MidY_" rot="_Rotation) + ;d WL^vhDBG("opties:"_$G(Opties)) + + Set VML=VML_$$KadFreesRect($S($G(Opties)["MirrorL=1;":"-", 1:"+")) ; NOVABZ steeds op ProfKant "EX" ==> steeds "+" + Set MidY=MidY-2 + Set FreesB=8 + Set FreesL=58 + ;d WL^vhDBG("Nova BZ2: x="_MidX_" y="_MidY_" rot="_Rotation) + Set VML=VML_$$KadFreesRect($S($G(Opties)["MirrorL=1;":"-", 1:"+")) ; NOVABZ steeds op ProfKant "EX" ==> steeds "+" + Quit VML + +NOVAxLRxFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES in Schuifdeurbeslag "NOVA" + New FreesL,FreesB + Set FreesB=17 + Set FreesL=26 + Quit $$KadFreesRect("+") + +NOVAxLRZxFREES(MidX,MidY,Rotation,FillColor,Opties) ; FREES (deel 2) in Schuifdeurbeslag "NOVA" + New FreesL,FreesB + Set FreesB=13 + Set FreesL=55 + Set MidY=MidY-2 + Quit $$KadFreesRect($S($G(Opties)["MirrorL=1;":"-", 1:"+")) ; NOVAxLRZ steeds op ProfKant "EX" ==> steeds "+" + + +Oval(MidX,MidY,Width,Height,FillColor,BorderColor,Opties) + Quit $$OvalLeftTop(MidX-(Width\2),MidY-(Height\2), Width\2*2,Height\2*2, FillColor,$G(BorderColor,FillColor),.Opties) + +Circle(MidX,MidY,Diam,FillColor,BorderColor,Opties) + Quit $$OvalLeftTop(MidX-(Diam\2),MidY-(Diam\2), Diam\2*2,, FillColor,$G(BorderColor,FillColor),.Opties) + +Rectangle(MidX,MidY,Width,Height,FillColor,BorderColor,blnFill,Opties) + Quit $$RectangleLeftTop(MidX-(Width\2),MidY-(Height\2), Width\2*2,Height\2*2, FillColor,$G(BorderColor,FillColor),.blnFill,"1.0",.Opties) + /* + Quit "" + */ + +CrossDiag(MidX,MidY,Width,Height,LineColor,Opties) + Quit $$CrossDiagLeftTop(MidX-(Width\2),MidY-(Height\2), Width\2*2,Height\2*2, LineColor,.Opties) + +CrossHV(MidX,MidY,Width,Height,LineColor,Opties) + Quit $$CrossHVLeftTop(MidX-(Width\2),MidY-(Height\2), Width\2*2,Height\2*2, LineColor,.Opties) + +TCross(MidX,MidY,Width,Height,LineColor,Rotation,Opties) + ; Draws a T-Crossing. + ; (MidX,MidY) is the position of the crosspoint, Rotation=90 corresponds to the " T " symbol. Rotate clockwise + ; Used for KaderDeur.Zijboring: Rotation=0 corresponds to a zijboring PL(left), EX(externe zijkant) + Set Rotation=$G(Rotation,0) + New VML,W,H + Set W=Width + Set H=Height + Set VML="" + If Rotation=0 Do + . Set VML=VML_"" + . Set VML=VML_"" + . ; =$$TCrossLeftTop(MidX,MidY-(H\2), W,H\2*2, + Else If Rotation=90 Do + . Set VML=VML_"" + . Set VML=VML_"" + . ; =$$TCrossLeftTop(MidX-(W\2),MidY, W\2*2,H, + Else If Rotation=180 Do + . Set VML=VML_"" + . Set VML=VML_"" + . ; =$$TCrossLeftTop(MidX-W,MidY-(H\2), W,H\2*2, + Else If Rotation=270 Do + . Set VML=VML_"" + . Set VML=VML_"" + . ; =$$TCrossLeftTop(MidX-(W\2),MidY-H, W\2*2,H, + Else Quit "" + Quit VML + + +OvalLeftTop(Left,Top,Width,Height,FillColor,BorderColor,Opties) + ; Draws an ellips with specified measurements in VML. [Height] is optional, default=Width + Set:($G(Height)'="0") Height=+$G(Height,Width) + Quit "" + +RectangleLeftTop(Left,Top,Width,Height,FillColor,BorderColor,FillOpacity,BorderOpacity,Opties) + ; Draws a rectangle; default is a solid line(border) and not filled ([FillOpacity=0]). + ; To fill the rectangle: set [FillOpacity=1]. + New VML + Set VML="" + Quit VML_">" + +CrossDiagLeftTop(Left,Top,Width,Height,LineColor,Opties) + ; Draws the diagonal lines (cross) of the surrounding rectangle + ; Opties: "LW=S" : LineWeight=Small (1px i.p.v. 1.5px) + New VML,MaxX,MaxY,LW + Set Left=Left\1 + Set Top=Top\1 + Set MaxX=Left+(Width\1) ; \2*2) + Set MaxY=Top+(Height\1) ; \2*2) + Set LW=$S($G(Opties)["LW=S":"1px", 1:"1.5px") + Set VML="" + Set VML=VML_"" + Set VML=VML_"" + Quit VML + +CrossHVLeftTop(Left,Top,Width,Height,LineColor,Opties) + ; Draws the Horizontal-Vertical Cross ("+" sign) of the surrounding rectangle + ; Opties: "LW=S" : LineWeight=Small (1px i.p.v. 1.5px) + New VML,MidX,MidY,LW + Set Left=Left\1 + Set Top=Top\1 + Set MidX=Left+(Width\2) + Set MidY=Top+(Height\2) + Set LW=$S($G(Opties)["LW=S":"1px", 1:"1.5px") + Set VML="" + Set VML=VML_"" + Set VML=VML_"" + Quit VML + +TCrossLeftTop(Left,Top,Width,Height,LineColor,Rotation,Opties) + New VML,MidX,MidY,MaxX,MaxY + Set Left=Left\1 + Set Top=Top\1 + Set MidX=Left+(Width\2) + Set MidY=Top+(Height\2) + Set MaxX=Left+(Width\2*2) + Set MaxY=Top+(Height\2*2) + Set VML="" + If Rotation=0 Do + . Set VML=VML_"" + . Set VML=VML_"" + Else If Rotation=90 Do + . Set VML=VML_"" + . Set VML=VML_"" + Else If Rotation=180 Do + . Set VML=VML_"" + . Set VML=VML_"" + Else If Rotation=270 Do + . Set VML=VML_"" + . Set VML=VML_"" + Else Quit "" + Quit VML + + +LosProfGroepHeight(Breedte,Dikte,TypeZicht) + New Hght + Quit:(TypeZicht="ON") $G(Breedte,1000) + Quit:(TypeZicht="IN") $G(Dikte,1000) + Quit:(TypeZicht="BO") $G(Breedte,1000) + Quit:(TypeZicht="EX") $G(Dikte,1000) + ; Else ; Standard Rectangle + Set Hght=$G(Breedte,1000) + Quit Hght + +LosProfiel(Lengte,Breedte,Dikte,TypeZicht,Opties) + ; TypeZicht : ProfZijkant dat het bovenaanzicht zal tonen + ; Opties: "R=I" voor inverse plaatsing + ; "D=..." toont waarde (...) als text. OPGELET: dit moet de LAATSTE OPTIE zijn bij het tonen van Dossier + New VML,sPath,InrLine,blnInrLine,DosNr + Set Lengte=$G(Lengte,1000)\1 + Set Breedte=$G(Breedte,80)\1 + Set Dikte=$G(Dikte,30)\1 + Set DosNr=$S(";"_$G(Opties)[";D=":""_$P($P(Opties,";D=",1),";",2,99)_"", 1:"") ; _$P(Opties,";",1)_ + If TypeZicht="ON" Do + . Set sPath="m0,0 l "_Lengte_",0, "_(Lengte-Breedte)_","_Breedte_", "_Breedte_","_Breedte_"xe" + . Set VML=""_DosNr_"" + Else If TypeZicht="IN" Do + . Set InrLine=6 + . Set sPath="m0,0 l "_Lengte_",0, "_Lengte_","_Dikte_", 0,"_Dikte_"x m"_Breedte_",0 l "_Breedte_","_Dikte + . Set sPath=sPath_" m"_(Lengte-Breedte)_",0 l "_(Lengte-Breedte)_","_Dikte_" m0,"_InrLine_" l "_InrLine_","_InrLine + . Set sPath=sPath_" m"_(Breedte-InrLine)_","_InrLine_" l "_Breedte_","_InrLine + . Set sPath=sPath_" m"_(Lengte-Breedte)_","_InrLine_" l "_(Lengte-Breedte+InrLine)_","_InrLine + . Set sPath=sPath_" m"_(Lengte-InrLine)_","_InrLine_" l "_(Lengte)_","_InrLine_" e" + . Set VML=""_DosNr_"" + Else If TypeZicht="EX" Do + . Set InrLine=6 + . Set sPath="m0,0 l "_Lengte_",0, "_Lengte_","_Dikte_", 0,"_Dikte_"xe" + . Set VML=""_DosNr_"" + . Set blnInrLine='($G(Opties)["INRLINE=0") ; Voor Extern Profiel: Inner Lines tekenen (dashed); default=TRUE + . If blnInrLine Do + .. Set sPath="m"_Breedte_",0 l "_Breedte_","_Dikte_" m"_(Lengte-Breedte)_",0 l "_(Lengte-Breedte)_","_Dikte + .. Set sPath=sPath_" m0,"_(Dikte-InrLine)_" l "_InrLine_","_(Dikte-InrLine) + .. Set sPath=sPath_" m"_(Breedte-InrLine)_","_(Dikte-InrLine)_" l "_Breedte_","_(Dikte-InrLine) + .. Set sPath=sPath_" m"_(Lengte-Breedte)_","_(Dikte-InrLine)_" l "_(Lengte-Breedte+InrLine)_","_(Dikte-InrLine) + .. Set sPath=sPath_" m"_(Lengte-InrLine)_","_(Dikte-InrLine)_" l "_(Lengte)_","_(Dikte-InrLine)_" e" + .. Set VML=VML_""_""_"" + . If 1 Do ; Zichtkant aanduiden met stippellijn + .. Set sPath="m0,0 l "_Lengte_",0 e" + .. Set VML=VML_""_""_"" + . ; End of Profiel Extern + Else Do ; Draw Standard Rectangle + . Set sPath="m0,0 l "_Lengte_",0, "_Lengte_","_Breedte_", 0,"_Breedte_"xe" + . Set VML=""_DosNr_"" + Quit VML + +LosProfONCorner + ; VML voor Los Profiel OP Kaderdeur getekend + ; ZIE ProfONCorner() + Quit +ProfONCorner(CornerX,CornerY,ProfLengte,ProfBreedte,ProfPlaats,FillColor,BorderColor,FillOpacity,BorderOpacity,Opties) + ; VML-vorm van een Profiel (ONder/boven-aanzicht), getekend vanuit de hoek van de KaderDeur + ; In plaats van ...LeftTop() wordt hier gebruik gemaakt van ...Corner() omwille van de nauwkeurigheid (afrondingen!). + ; Aanduiden van de Corners-(X,Y): + ; - ProfPlaats="PL" ==> hoek: Links Boven + ; - ProfPlaats="PB" ==> hoek: Links Boven + ; - ProfPlaats="PR" ==> hoek: Rechts Boven + ; - ProfPlaats="PO" ==> hoek: Links Onder + ; + ; Default is a solid line(border) and not filled ([FillOpacity=0]). + ; To fill the rectangle: use [FillOpacity=1]. + New VML,sPath,Lengte,Breedte,CXRechts,CYOnder + Set CXRechts=(CornerX-ProfBreedte)\1 + Set CYOnder=(CornerY-ProfBreedte)\1 + Set CornerX=CornerX\1 + Set CornerY=CornerY\1 + Set Lengte=ProfLengte\1 + Set Breedte=ProfBreedte\1 + + If ProfPlaats="PL" Do + . Set sPath="m0,0 l 0,"_Lengte_", "_Breedte_","_(Lengte-Breedte)_", "_Breedte_","_Breedte_"xe" + . Set VML="" + Quit VML_" "_$G(Opties,"")_">" \ No newline at end of file Index: vhDTyp.mac.rou =================================================================== diff -u --- vhDTyp.mac.rou (revision 0) +++ vhDTyp.mac.rou (revision 2) @@ -0,0 +1,488 @@ +vhDTyp ;DataTypes [ 09/05/2002 8:09 AM ] + ; +TN1 ;Jan;Feb;Maa;Apr;Mei;Jun;Jul;Aug;Sep;Okt;Nov;Dec; +TF1 ;Jan;F�v;Mar;Avr;Mai;Jun;Jul;Ao�;Sep;Oct;Nov;D�c; +TD1 ;J�n;Feb;M�r;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez; +TE1 ;Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec; +TN2 ;Donderdag;Vrijdag;Zaterdag;Zondag;Maandag;Dinsdag;Woensdag; +TF2 ;Jeudi;Vendredi;Samedi;Dimanche;Lundi;Mardi;Mercredi; +TD2 ;Donnerstag;Freitag;Samstag;Sonntag;Montag;Dienstag;Mittwoch; +TE2 ;Thursday;Friday;Saturday;Sunday;Monday;Tuesday;Wednesday; +TN3 ;u;m;s +TF3 ;h;m;s +TD3 ;s;m;s +TE3 ;h;m;s +T3 ; J; F; M; A; M; J; J; A; S; O; N; D; +T4 ; JA; FE; MA; AP; ME; JU; JU; AU; SE; OK; NO; DE; +T5 ;JAN;FEB;MAA;APR;MEI;JUN;JUL;AUG;SEP;OKT;NOV;DEC; +T6 ;31;28;31;30;31;30;31;31;30;31;30;31 + ; + S:'$D(sLand) sLand="B" + S:'$D(sTaal) sTaal="N" + Set SCR="DTYPE-10 1" d ^Cysr + Quit +PUTNUM(Fld,Val,L,F,D) + New %EXT + S opi(1)="PS;"_Fld_";Val" + Set %EXT=$$EXTNUM(Val,L,F,D) + S opi(2)="PDP;"_Fld_";%EXT" + S opi=2 x op + Quit +EXTNUM(Val,L,F,D) + ;Format paramter 'F' + ; + -> Force sign + ; Z -> Force blank as Zero + ; 0 -> Force zero as blank + ; T -> Trailing negative sign + ; - -> No negative sign (pos number) + ; . -> No thousand separator + ; % -> Percent getal * 100 + Quit:Val=""&(F'["Z") "" + Quit:+Val=0&(F["0") "" + Quit $J($TR($FN(Val*$S(F["%":100,1:1),$TR(F,".0%Z",","),D),",.",".,"),L) +INTNUM(Val,F) + Quit $S(Val["-":-1,1:1)*$TR(Val,",. -",".")/$S(F["%":100,1:1) +EDITNUM(Val) + Set opi="I;;Fld" x op Set opi="FS;"_Fld_";%INT" x op + Set %OLD=%INT + If %INT="" Set %EXT="" Quit "" + Set %EXT=$TR($S(Val["-":-1,1:1)*$TR(Val,",. -","."),".",",") + Quit %EXT +CALC Set %TC=0,er="Fout in ingave" Do WARN^vhRtn1 + Quit +VALNUM(Val,L,F,D,Min,Max) + Set %TC=Val'=%EXT+1 + If Val="",F'["Z" Set (%INT,%EXT)="" Quit + If Val=%EXT Set X=%INT + Else Do + .If $E(Val,$L(Val))="-" Set Val="-"_$E(Val,1,$L(Val)-1) + .Set $ZT="CALC",Y="Set Val="_$TR(Val,",",".") X:X'="" Y + .Set %INT=$TR($J($S(Val["-":-1,1:1)*$TR(Val," -",""),L,D)," ","")/$S(F["%":100,1:1) + If $D(Min),%INTMax Set %TC=0,er="Ingave groter dan bovengrens "_Max Quit + S %EXT=$S(+%INT=0&(F["0"):"",1:$J($TR($FN(%INT*$S(F["%":100,1:1),$TR(F,".0%Z+",","),D),",.",".,"),L)) + Quit +VALTEL(Val) + New Z + Set Z=Val + If $E(Val,1,2)="00" Set (%EXT,%INT)=$TR(Z,"-,;:.","/ ") Set %TC=1 Quit + If $E(Z,1,2)="03",$H<58074 Set Z=$E(Z,3,99) + If $E(Z,1)'="0" Do FTEL("1;3; \4;5; \6;7;") Set %TC=1 Quit + If $E(Z,1,2)="02" Do FTEL("1;2;/\3;5; \6;7; \8;9;") Set %TC=1 Quit + Else Do FTEL("1;3;/\4;5; \6;7; \8;9;") Set %TC=1 Quit + +FTEL(P) New X,K,L,PC + Set X="" + For K=1:1:$L(P,"\") Do + .Set PC=$P(P,"\",K),T=0 + .For L=$P(PC,";",1):1:$P(PC,";",2) Do + ..Quit:$E(Z,1)="" + ..For Quit:$E(Z,1)=""!(",.:;/- "'[$E(Z,1)) Set Z=$E(Z,2,99) + ..S:Z?1N.E X=X_$E(Z,1),Z=$E(Z,2,99),T=1 + .S:T X=X_$P(PC,";",3) + For Quit:$E(Z,1)=""!(",.:;/- "'[$E(Z,1)) Set Z=$E(Z,2,99) + S:$L(X) X=X_" " + If Z?1N.E Set X=X_"("_Z Set:$E(X,$L(X))'=")" X=X_")" + Else Set X=X_Z + S (%INT,%EXT)=$E(X,1,30) + Quit +VALBTW(Val) + New Y,M + Set (%EXT,%INT)=Val + Goto VALREG1:sLand="NL" + If sLand'="B" Set %TC=1 Quit + S Y=$$UPTRIMA^vhRtn1(Val) + If $L(Y),$E("ONBEKEND",1,$L(Y))=Y Set (%INT,%EXT)="000.000.000" Set %TC=1 Quit + If $L(Y),$E("GEEN",1,$L(Y))=Y Set (%INT,%EXT)="Geen" Set %TC=1 Quit + Set Y=$$TRIMN^vhRtn1(Val) + Set M=$E(Y,8,9) + If $L(M)'=2!(+M'=(97-($E(Y,1,7)#97))) Set %TC=0 Quit + Set (%INT,%EXT)=$TR($FN($E(Y,1,9),",-"),",",".") + Set %TC=1 Quit +VALREG() +VALREG1 Set %TC=1 Quit +FMTBTW(Val) + New K,U3,SWBTW + Set K=Val + Do S1^cA248 + Quit $G(U3) +VALBANK(Val) + New Y,M + Set (%EXT,%INT)=Val + If sLand'="B" Set %TC=1 Quit + S Y=$$UPTRIMA^vhRtn1(Val) + If $L(Y),$E("ONBEKEND",1,$L(Y))=Y Set (%INT,%EXT)="000-0000000-00" Set %TC=1 Quit + If $L(Y),$E("GEEN",1,$L(Y))=Y Set (%INT,%EXT)="Geen" Set %TC=1 Quit + Set Y=$$TRIMN^vhRtn1(Val) + Set M=$E(Y,11,12) + If $L(M)'=2!($E(Y,1,10)#97-M'=0&($E(Y,1,10)#97-M'=-97)) Set %TC=0 Quit + Set (%INT,%EXT)=$E(Y,1,3)_"-"_$E(Y,4,10)_"-"_$E(Y,11,12) + Set %TC=1 Quit + ; Berekenen tijd (extern naar $H formaat) +INTTIME(%TS) + New I,%TN,%ER + Set %TS=$TR(%TS,".uUmMsS ",":::::") + For I=1:1:3 Set $P(%TS,":",I)=$TR($J($P(%TS,":",I),2)," ",0) + If $P(%TS,":",3)?2N,$P(%TS,":",3)'<0,$P(%TS,":",3)<60 Do + .If $ZV["MSM" Do ^%TI + .If $ZV'["MSM" Do INT^%TI + Else Set %ER=1 + Quit $S($D(%ER):"",%TN=-1:"",1:%TN) + ; Berekenen tijd ($H naar extern formaat) +EXTTIME(%TN,Typ,Taal) + New I,%TS,TypSec,TypNum,Types + Set:$G(Typ)="" Typ="TK" Set:$G(Taal)="" Taal="N" + Set:'$D(%TN) %TN=$H + Set TypSec=$E(Typ,3),TypNum=$E(Typ,4),Typ=$E(Typ,1,2) + If Typ="TK" Do + .If TypSec="N",TypNum="S" Set TypSec="S",TypNum="N" + .Set:TypSec="N" TypNum=TypSec,TypSec="" + Else Set TypNum="" + Quit:"S"'[TypSec "" + Set Types="TK\TL\TP" + If Typ="?" Do + .Write !,"Type - Resultaat",!,"-----------------" + .For I=1:1:$L(Types,"\") Do + ..Write !,$P(Types,"\",I),?5,"- ",$$EXTTIME(%TN,$P(Types,"\",I),Taal) + ..Write !,$P(Types,"\",I),"S",?5,"- ",$$EXTTIME(%TN,$P(Types,"\",I)_"S",Taal) + ..Do:$P(Types,"\",I)="TK" + ...Write !,$P(Types,"\",I),"N",?5,"- ",$$EXTTIME(%TN,$P(Types,"\",I)_"N",Taal) + ...Write !,$P(Types,"\",I),"NS",?5,"- ",$$EXTTIME(%TN,$P(Types,"\",I)_"NS",Taal) + ..If '(I#10),I'=$L(Types,"\") Read !!,"[] = vervolg",R + .Write ! + If ("\"_Types_"\")'[("\"_Typ_"\") Quit "" + Set %TS="" + Set %TN=$TR(%TN,"n","N") + If %TN="N" Set %TN=$H + If %TN["," Set %TN=$P(%TN,",",2) + If %TN,%TN'<0,%TN'>86399 Do + .If $ZV["MSM" Do @($S(Typ="TP":"100",1:"")_"^%TO") Quit + .Xecute "Set %TS=$ZT(%TN,$S(Typ=""TP"":4,1:2))" + .Quit:Typ'="TP" + .Set:%TS["AM" %TS=$P(%TS,"AM")_" AM" Set:%TS["PM" %TS=$P(%TS,"PM")_" PM" + If $L(%TS) Do + .Set %TS=$TR($J($P(%TS,":"),2)," ",0)_":"_$P(%TS,":",2) + .Set:TypSec="S" $P(%TS," ")=$P(%TS," ")_":"_$TR($J(%TN#60,2)," ",0) + .If Typ="TL" Do + ..Set $P(%TS,":")=$P(%TS,":")_$P($T(@("T"_Taal_3)),";",2) + ..Set $P(%TS,":",2)=$P(%TS,":",2)_$P($T(@("T"_Taal_3)),";",3) + ..Set:$L($P(%TS,":",3)) $P(%TS,":",3)=$P(%TS,":",3)_$P($T(@("T"_Taal_3)),";",4) + ..Set %TS=$TR(%TS,":"," ") + Set:TypNum="N" %TS=$TR(%TS,":","") + Quit %TS + ; Inputkontrole voor tijdsingave +VALTIME(Val) + Set %EXT="",%TC=0 + Set %INT=$$INTTIME(Val) + If %INT Set %EXT=$$EXTTIME(%INT),%TC=1 + Quit + ; Berekenen datum (extern naar $H formaat) +INTDATE(%DS,Typ,Taal) + New I,R,%DN,Types + Set Typ=$G(Typ) Set:$G(Taal)="" Taal="N" + If Typ="",$D(%DS) Set Typ=$$DATETYP(%DS) + Set:Typ="" Typ="DK" + Set:'$D(%DS) %DS=$S(Typ="?":$$EXTDATE^vhDTyp(),1:"") + Set Types="DS\DS2\DSN\DSN2\DK\DK4\DKP\DL\DM\DMC\DM4\DW\DW4\J\J4\W" + If %DS="" Quit "" + If Typ'="?",("\"_Types_"\")'[("\"_Typ_"\") Set Typ=$$DATETYP(%DS) + Set:Typ="" Typ="DK" + If Typ="?" Do + .New Typ + .Set Typ=$$DATETYP(%DS),%DS=$$INTDATE^vhDTyp(%DS,Typ) + .Quit:%DS="" + .Write !,"Type - Int date - Ext date",!,"--------------------------" + .For I=1:1:$L(Types,"\") Do + ..Write !,$P(Types,"\",I),?5,"- ",$$INTDATE($$EXTDATE(%DS,$S($P(Types,"\",I)="W":"DW",1:$P(Types,"\",I))),$P(Types,"\",I)) + ..Write ?16,"- ",$$EXTDATE(%DS,$P(Types,"\",I)) + ..Write:"\DK\DKP\DM\DW\"[("\"_$P(Types,"\",I)_"\") ?30,"(inputkontrole)" + ..If '(I#20),I'=$L(Types,"\") Read !!,"[] = vervolg",R + .Write ! + If ("\"_Types_"\")'[("\"_Typ_"\") Quit "" + If Typ="DMC" Set %DS=$$JAAR4($P(%DS,"'",2))_"."_$TR($J($F($P($T(@("T"_Taal_1)),";",2,99),$P(%DS,"'"))/4,2)," ",0),Typ="DM4" + Set %DS=$TR(%DS,"n","N") + If '(%DS=0!(%DS?1"N")!(%DS?1"N+".N)!(%DS?1"N-".N)!(%DS?1"+".N)!(%DS?1"-".N)) Goto @("I"_Typ) + If %DS["N" Set %DS=$P(%DS,"N",2) + If "0+-"[%DS Set %DS="+0" ; min of plus X +MPD If "\DK\DL\"'[("\"_Typ_"\") Goto MPW + Xecute "Set %DN=$H"_%DS Quit %DN +MPW If "\DW\"'[("\"_Typ_"\") Goto MPM + Quit $$CALCDATE($H,"W","MD",%DS) +MPM If "\DM\"'[("\"_Typ_"\") Goto MPJ + Quit $$CALCDATE($H,"M","MD",%DS) +MPJ Quit $$CALCDATE($H,"J","MD",%DS) +IDSN2 ; jjmmdd +IDSN Set %DS=$TR($J(%DS,6)," ",0) ; jjjjmmdd + Set $E(%DS,$L(%DS)-3)=("."_$E(%DS,$L(%DS)-3)),$E(%DS,$L(%DS)-1)=("."_$E(%DS,$L(%DS)-1)) +IDS2 ; jj\mm\dd +IDS Set (R,%DS)=$TR(%DS,".- \","////"),$P(%DS,"/")=$P(R,"/",3),$P(%DS,"/",3)=$P(R,"/") ; jjjj\mm\dd +IDK ; dd of dd-mm of dd-mm-jj +IDK4 ; dd of dd-mm of dd-mm-jjj +IDKP ; dd of dd.mm of dd.mm.jj +IDL Set R=$TR(%DS,".- \","////") ; dd of dd-mmm of dd-mmm-jj + If $L($P(R,"/",2)),'$P(R,"/",2) Set R=$$UPCASE^vhRtn1(R) + Set %DS=$$EDATE($H) Set:$L($P(R,"/")) $P(%DS,"/")=$P(R,"/") + Set:$L($P(R,"/",2)) $P(%DS,"/",2)=$P(R,"/",2) Set:$L($P(R,"/",3)) $P(%DS,"/",3)=$P(R,"/",3) + If '$P(%DS,"/",2) Set $P(%DS,"/",2)=$F($T(@("T"_(2+$L($P(%DS,"/",2))))),";"_$J($P(%DS,"/",2),3)_";")-5/4 + If $D(Typ),'$P(%DS,"/",2) Quit "" + If %DS?.N1"/".N1"/".N Set %DN=$$IDATE(%DS) If %DN!$D(Typ) Quit %DN + Set $P(%DS,"/")=15 Goto IDM1 +IDM Set R=$TR(%DS,".- ","///") ; mm of mmm of jj-mm of jj-mmm of jjjj-mm of jjjj-mmm + If $L($P(R,"/",2)) Set R=$P(R,"/",2)_"/"_$P(R,"/") + If $L($P(R,"/")),'$P(R,"/") Set R=$$UPCASE^vhRtn1(R) + Set %DS=$$EDATE($H),$P(%DS,"/")=15 + Set:$L($P(R,"/")) $P(%DS,"/",2)=$P(R,"/") Set:$L($P(R,"/",2)) $P(%DS,"/",3)=$P(R,"/",2) + If '$P(%DS,"/",2) Set $P(%DS,"/",2)=$F($T(@("T"_(2+$L($P(%DS,"/",2))))),";"_$J($P(%DS,"/",2),3)_";")-5/4 +IDM1 If $D(Typ),'$P(%DS,"/",2) Quit "" + If %DS?.N1"/".N1"/".N Set %DN=$$IDATE(%DS) If %DN!$D(Typ) Quit %DN + Set %DS=$P(%DS,"/",2,3) Goto IJ ;IDW1 +IDM4 Quit $$INTDATE(%DS,"DM") +IW +IDW Set R=$TR(%DS,".- ","///") ; ww of jj/ww of jjjj/ww + If $P(R,"/")?4N Set $P(R,"/")=$E($P(R,"/"),3,4) + If $P(R,"/",2) Set R=$P(R,"/",2)_"/"_$P(R,"/") + Set %DS=$P($$EDATE($H),"/",2,3) + Set:$L($P(R,"/")) $P(%DS,"/")=$P(R,"/") Set:$L($P(R,"/",2)) $P(%DS,"/",2)=$P(R,"/",2) +IDW1 If +$P(%DS,"/")>+$$MAXWEEK($P(%DS,"/",2)) Quit "" + If %DS?.N1"/".N Quit $$INTWEEK($P(%DS,"/",2),$P(%DS,"/")) +IDW4 If $TR(%DS,".- ","///")?4N1"/".N Quit $$INTDATE(%DS,"DW") +IJ Set %DS="01/07/"_%DS ; jj + If %DS?.N1"/".N1"/".N Quit $$IDATE(%DS) +IJ4 If %DS?4N Goto IJ + Quit "" + ; Berekening datum (dd/mm/jj naar $H) +IDATE(%DS) + New %DN,%ER + Set %DS=$P(%DS,"/",2)_"/"_$P(%DS,"/")_"/"_$P(%DS,"/",3) + If $P(%DS,"/",3)<100 Set $P(%DS,"/",3)=$S($P(%DS,"/",3)<50:2000,1:1900)+$P(%DS,"/",3) + If $ZV["MSM" Do ^%DI If $D(%ER) Quit "" + If $ZV'["MSM" Do INT^%DI If %DN=-1 Quit "" + Quit %DN + ; Berekenen datum ($H naar extern formaat) +EXTDATE(%DN,Typ,Taal) + New I,R,Types + Set:$G(Typ)="" Typ="DK" Set:$G(Taal)="" Taal="N" + Set:'$D(%DN) %DN=$H + Set %DN=+%DN If '%DN Quit "" + Set Types="DS\DS2\DSN\DSN2\DK\DK4\DKN\DKN4\DKP\DL\DM\DMC\DM4\DW\DW4\J\J4\DC\W\MN\MC\DWN\DMN\DJN" + If Typ="?" Do + .New Typ + .Write !,"Type - Ext date - Int date - Formaat",!,"-----------------------------------------" + .For I=1:1:$L(Types,"\") Do + ..;Write !,$P(Types,"\",I),?5,"- ",$$EXTDATE(%DN,$P(Types,"\",I),Taal),?18,"- ",%DN,?28,$P($T(@($P(Types,"\",I))),";",2) + ..Write !,$P(Types,"\",I),?5,"- ",$$EXTDATE(%DN,$P(Types,"\",I),Taal),?18,"- ",%DN + ..Write ?29,"-",$P($T(@("E"_$P(Types,"\",I))),";",$L($T(@("E"_$P(Types,"\",I))),";")) + ..Write:"\DK\DKP\DM\DW\"[("\"_$P(Types,"\",I)_"\") ?48,"(inputkontrole)" + ..If '(I#20),I'=$L(Types,"\") Read !!,"[] = vervolg",R + .Write ! + If ("\"_Types_"\")'[("\"_Typ_"\") Quit "" + Goto @("E"_Typ) +EDSN2 ; jjmmdd +EDSN ; jjjjmmdd +EDS2 ; jj\mm\dd +EDS Set %DN=$ZD(%DN) Set:$P(%DN,"/",3)<100 $P(%DN,"/",3)=$S($P(%DN,"/",3)<50:20,1:19)_$P(%DN,"/",3) ; jjjj\mm\dd + Set:$E(Typ,$L(Typ))=2 $P(%DN,"/",3)=$E($P(%DN,"/",3),3,4),Typ=$P(Typ,2) + Set %DN=$P(%DN,"/",3)_"/"_$P(%DN,"/",1,2) Quit $TR(%DN,"/",$S(Typ="DS":"\",1:"")) +EDK Quit $TR($$EDATE(%DN),"/","-") ; dd-mm-jj +EDK4 Set %DN=$$EDATE(%DN) Quit $P(%DN,"/")_"-"_$P(%DN,"/",2)_"-"_$$JAAR4($P(%DN,"/",3)) ; dd-mm-jjjj +EDKN Quit $TR($$EXTDATE(%DN,"DK"),"-","") ; ddmmjj +EDKN4 Quit $TR($$EXTDATE(%DN,"DK4"),"-","") ; ddmmjjjj +EDKP Quit $TR($$EDATE(%DN),"/",".") ; dd.mm.jj +EDL Set %DN=$$EDATE(%DN),$P(%DN,"/",2)=$P($T(@("T"_Taal_1)),";",$P(%DN,"/",2)+1) Quit $TR(%DN,"/","-") ; dd-mmm-jj +EDM set %DN=$$EDATE(%DN) Quit $P(%DN,"/",3)_"-"_$P(%DN,"/",2) ; jj-mm +EDMC set %DN=$$EDATE(%DN) Quit $P($T(@("T"_Taal_1)),";",$P(%DN,"/",2)+1)_"'"_$P(%DN,"/",3) ; mmm'jj +EDM4 set %DN=$$EDATE(%DN) Quit $$JAAR4($P(%DN,"/",3))_"."_$P(%DN,"/",2) ; jjjj.mm +EDW Quit $$EXTWEEK(%DN,$$EDATE(%DN)) ; jj/ww +EDW4 S %DN=$$EXTWEEK(%DN,$$EDATE(%DN)) Quit $$JAAR4($P(%DN,"/",1))_"/"_$P(%DN,"/",2) ; jjjj/ww +EJ Quit $P($$EDATE(%DN),"/",3) ; jj +EJ4 Quit $$JAAR4($P($$EDATE(%DN),"/",3)) ; jjjj +EDC Quit $P($T(@("T"_Taal_2)),";",%DN#7+2) ; ddddddddd +EW Quit $P($$EXTWEEK(%DN,$$EDATE(%DN)),"/",2) ; ww +EMN Quit $P($$EDATE(%DN),"/",2) ; mm +EMC Quit $P($T(@("T"_Taal_1)),";",$P($$EDATE(%DN),"/",2)+1) ; mmm +EDWN Quit %DN-4#7+1 ; d +EDMN Quit +$$EDATE(%DN) ; dd +EDJN Quit %DN-$$INTDATE("01.01."_$P($$EDATE(%DN),"/",3),"DK")+1 ; ddd +EDATE(%DN) + New %DS + Set %DS=$ZD(%DN,$S($ZV["MSM":3,1:4)) + If $L(%DS)=10 Set $P(%DS,"/",3)=$E(%DS,9,10) + Quit %DS +JAAR4(Jaar2) + Quit $S(Jaar2<50:2000,1:1900)+Jaar2 + ; Inputkontrole voor datumingave +VALDATE(Val,Typ,Min,Max) + If Val="" Set (%INT,%EXT)="",%TC=1 Quit + If '$D(Typ) Set Typ="" + Set %EXT="",%TC=0 + Set %INT=$$INTDATE(Val,Typ) + If $D(Min),%INT+$S(Typ["M":30,Typ["W":30,1:7)Max Set %TC=0,er="Groter dan de bovengrens "_$$EXTDATE(Max,Typ) Quit + If '%INT Set er="Foutieve datum ingave" + If %INT Set %EXT=$$EXTDATE(%INT,Typ),%TC=1 + Quit + ; Berekenen weeknummer ($H naar extern formaat) +EXTWEEK(%DW,%DS) + New %DJ,%DN,%DJ + Set %DJ=$E(%DS,7,8),%DJ=$S(%DJ>50:19,1:20)_$E(%DJ+100,2,3) +EXTW2 Set %DN=%DJ-1841*365+(%DJ-1841\4)-(%DJ-1801\100)+(%DJ-1601\400) + Set %DW=%DW-%DN+6+(%DN+4#7)\7-$S(%DN+4#7>3:1,1:0) + If %DW=0 Set %DW=%DN,%DJ=%DJ-1 Goto EXTW2 + Set:%DW=53&(%DN+365+(%DJ\4)-(%DJ\100)+(%DJ\400)+4#7<4) %DW=1,%DJ=%DJ+1 + Set %DJ=$E(%DJ,3,4) + Quit %DJ_"/"_$E(100+%DW,2,3) + ; Berekenen weeknummer (extern naar $H formaat) +INTWEEK(%DJ,%DW) + New %DN,%D,%DWT,%DNP + Set %DJ=$S(%DJ>50:19,1:20)_$E(%DJ+100,2,3) +INTW2 Set %DNP=%DJ-1841*365+(%DJ-1841\4)-(%DJ-1801\100)+(%DJ-1601\400) + Set %DN=%DNP+10 + Set %DWT=%DN-%DNP+6+(%DNP+4#7)\7-$S(%DNP+4#7>3:1,1:0) + If %DWT=0 Set %DN=%DNP,%DJ=%DJ-1 Goto INTW2 + Set:%DWT=53&(%DNP+365+(%DJ\4)-(%DJ\100)+(%DJ\400)+4#7<4) %DWT=1 + Set %D=%DN-4#7 + Set %DN=%DN-(7*(%DWT-2))-%D+1 + Quit %DN+1+(7*(%DW-2)) + ; Berekenen maximum weeknummer van een jaar +MAXWEEK(%DJ) + New %DN,%DW,%DS + Set %DS="31/12/"_%DJ + Set %DJ=$S(%DJ>50:19,1:20)_$E(%DJ+100,2,3) + Set %DN=%DJ-1840*365+(%DJ-1840\4)-(%DJ-1800\100)+(%DJ-1600\400) + Set %DW=0 + For %DN=%DN:-1 Quit:+%DW>1 Set %DW=$P($$EXTWEEK(%DN,%DS),"/",2) + Quit %DW + ; Herberekenen datum (extern naar ander extern formaat) +CONVDATE(%DN,FromTyp,ToTyp,Taal) + Set:$G(ToTyp)="" ToTyp="DK" Set:$G(Taal)="" Taal="N" + Quit $$EXTDATE($$INTDATE(%DN,$G(FromTyp)),ToTyp,Taal) + ;Aantal dagen tussen 2 datums +DIFFDATE(D1,D2,Type) + New Diff,Neg + If $G(Type)="A" Do Quit Diff*Neg + .Set Neg=1 + .Set:D27 Diff=Diff*5/7\1 + .For Diff=Diff:-1:0 Quit:$$CALCDATE(D1,"A",Diff)'>D2 + Else Do + .If $L(D1) Set D1=$$INTDATE(D1) + .If $L(D2) Set D2=$$INTDATE(D2) + Quit D2-D1 + ; Berekenen $H voor begin, midden of einde van jaar, maand of week + ; Typ : A = Arbeidsdag, W = Week, M = Maand, J = Jaar +CALCDATE(Val,Typ,P1,P2) + New R + If $G(Val)="" Set Val=$H + Goto:Typ="A" CA + If '$D(P1) Set P1="MD" + If '$D(P2),"\FD\MD\LD\\"[("\"_P1_"\") Set P2=0 + If '$D(P2) Set P2="" + If "\FD\MD\LD\\"[("\"_P2_"\") Set P2=P2_"\"_P1,P1=$P(P2,"\"),P2=$P(P2,"\",2,99) + If "\FD\MD\LD\\"'[("\"_P1_"\") Quit "" + If "\A\W\M\J\BJ\"'[("\"_Typ_"\") Quit "" + Goto @("C"_Typ) +CA For P2=1:1:$S(P1>0:P1,+P1=0:1,P1<0:-P1) Do + .For Set Val=Val+$S(+P1=0:0,P1>0:1,1:-1) Do Quit:'Found + ..; Eerste werkdag + ..Set:+P1=0 P1=$S(P1["-":-1,1:1) + ..Set Found=0 + ..Set:$$EXTDATE^vhDTyp(Val,"DWN")>5 Found=1 + ..Set:$D(^KBA("VP",Val)) Found=1 + Quit Val +CJ Set Val=$$EXTDATE(Val,"DK4") ; jaar + Set $P(Val,"-",3)=$P(Val,"-",3)+P2 + If "\FD\MD\LD\"[("\"_P1_"\") Set Val=$P("01-01-\01-07-\31-12-","\",$F("FML",$E(P1))-1)_$P(Val,"-",3) + Quit $$INTDATE(Val,"DK") +CBJ Set Val=$$EXTDATE(Val,"DK4") ; jaar + Set $P(Val,"-",3)=$P(Val,"-",3)+P2 + If "\FD\MD\LD\"[("\"_P1_"\") Do + .Set $P(Val,"-",3)=$P(Val,"-",3)+(+$P(Val,"-",2)>6)-(P1="FD") + .Set Val=$P("01-07-\01-01-\30-06-","\",$F("FML",$E(P1))-1)_$P(Val,"-",3) + Quit $$INTDATE(Val,"DK") +CM Set Val=$TR($$EXTDATE(Val,"DK"),"-",".") ; maand + Xecute "Set $P(Val,""."",2)=$P(Val,""."",2)+"_P2 + If $P(Val,".",2)>12 Set $P(Val,".",3)=$P(Val,".",3)+($P(Val,".",2)\12),$P(Val,".",2)=$P(Val,".",2)#12 + If $P(Val,".",3)>99 Set $P(Val,".",3)=$E($P(Val,".",3),2,3) + If $P(Val,".",2)<1 Set $P(Val,".",3)=$P(Val,".",3)-(12-$P(Val,".",2)\12),$P(Val,".",2)=12-(-$P(Val,".",2)#12) + If $P(Val,".",3)<0 Set $P(Val,".",3)=100+$P(Val,".",3) + If P1="" Goto CM1 + If "\FD\MD\"[("\"_P1_"\") Set Val=$P("01.\15.","\",$F("FM",$E(P1))-1)_$P(Val,".",2,3) Goto CM1 + Set Val=$P($T(T6),";",$P(Val,".",2)+1)_"."_$P(Val,".",2,3) + If +$P(Val,".",2)=2,'($P(Val,".",3)#4) Set Val=29_$E(Val,3,999) ; schrikkeljaar +CM1 Set R=$$INTDATE(Val,"DK") If R="" Set $P(Val,".")=1,R=$$CALCDATE($$INTDATE(Val,"DK"),"M","LD") + Quit R +CW Xecute "Set Val=Val+(7*+"_P2_")" ; week + If P1="" Quit Val-2+($H+3#7) + If "\FD\MD\LD\"[("\"_P1_"\") Xecute "Set Val=Val+$S(Val#7<4:-(Val#7),1:7-(Val#7))"_$P("-3\-1\+3","\",$F("FML",$E(P1))-1) + Quit Val + ; Vergelijken van twee datums +COMPDATE(Val,Typ,Op,Ref) + If "\=\'=\<\'<\>\'>\]\']\"'[("\"_Op_"\") Quit 0 + Set Val=$$CALCDATE(Val,Typ,"MD") + Set Ref=$$CALCDATE(Ref,Typ,"MD") + If @(Val_Op_Ref) Quit 1 + Quit 0 + ; Herberekenen tijd (extern naar ander extern formaat) +CONVTIME(%TN,ToTyp,Taal) + Set:$G(ToTyp)="" ToTyp="TK" Set:$G(Taal)="" Taal="N" + Quit $$EXTTIME($$INTTIME(%TN),ToTyp,Taal) + ;Aantal seconden tussen 2 tijdstippen +DIFFTIME(T1,T2) + Set T1=$P(T1,",")*(24*60*60)+$P(T1,",",2) + Set T2=$P(T2,",")*(24*60*60)+$P(T2,",",2) + Quit T2-T1 +CALCTIME(Val,P1,P2) + New R,Sec + If $G(Val)="" Set Val=$H + If '$D(P1) Set P1="S" + If '$D(P2),"\D\H\M\S\\"[("\"_P1_"\") Set P2=0 + If '$D(P2) Set P2="" + If "\D\H\M\S\\"[("\"_P2_"\") Set P2=P2_"\"_P1,P1=$P(P2,"\"),P2=$P(P2,"\",2,99) + If "\D\H\M\S\\"'[("\"_P1_"\") Quit "" + Set Sec=$S(P1="S":1,P1="M":60,P1="H":3600,1:86400)*P2 + If Sec<0,-Sec>$P(Val,",",2) Set Sec=Sec-86400 + Set Sec=Sec+$P(Val,",",2) + Set $P(Val,",")=$P(Val,",")+(Sec\86400),$P(Val,",",2)=$TR($J(Sec#86400,5)," ",0) + Quit Val +FMTDT(%DT,Typ,Taal) + New R + Set %DT=$G(%DT,$H),Typ=$G(Typ),Taal=$G(Taal) + Set R=$$EXTDATE(%DT,Typ,Taal) + If $P(%DT,",",2) Set:$L(R) R=R_" " Set R=R_$$EXTTIME(%DT) + Quit R + ; +DATETYP(%DS) + New Typ,Trans + Set Trans=%DS[".",%DS=$TR(%DS,".- \'","/////") + If $L(%DS,"/")=3 Do + .If $P(%DS,"/")?4N Set $P(%DS,"/",2)=$J($P(%DS,"/",2),2),$P(%DS,"/",3)=$J($P(%DS,"/",3),2) + .Else If $P(%DS,"/",3)?4N Set $P(%DS,"/")=$J($P(%DS,"/"),2),$P(%DS,"/",2)=$J($P(%DS,"/",2),2) + .Else Set $P(%DS,"/")=$J($P(%DS,"/"),2),$P(%DS,"/",2)=$J($P(%DS,"/",2),2),$P(%DS,"/",2)=$J($P(%DS,"/",2),2) + .Set %DS=$TR(%DS," ",0) + .If %DS?4N1"/"2N1"/"2N Set Typ="DS" + .Else If %DS?2N1"/"2N1"/"2N Set Typ=$S(Trans:"DKP",1:"DK") + .Else If %DS?2N1"/"2N1"/"4N Set Typ="DK4" + .Else If %DS?2N1"/".E1"/"2N,";"_$$UPCASE^vhRtn1($P($T(TN1),";",2,99))_";"[(";"_$$UPCASE^vhRtn1($P(%DS,"/",2))_";") Set Typ="DL" + If $L(%DS,"/")=2 Do + .If %DS?2N1"/"2N Set Typ="DM" + .If %DS?4N1"/"2N Set Typ="DM4" + .Else If %DS?.E1"/"2N,";"_$$UPCASE^vhRtn1($P($T(TN1),";",2,99))_";"[(";"_$$UPCASE^vhRtn1($P(%DS,"/"))_";") Set Typ="DMC" + Else If %DS?2N Set Typ="J" + Else If %DS?4N Set Typ="J4" + Else If %DS?6N Set Typ="DSN" + Else If %DS?8N Set Typ="DSN" + Else If %DS'?.N Do + .If ";"_$$UPCASE^vhRtn1($P($T(TN2),";",2,99))_";"[(";"_$$UPCASE^vhRtn1(%DS)_";") Set Typ="DC" + .Else If ";"_$$UPCASE^vhRtn1($P($T(TN1),";",2,99))_";"[(";"_$$UPCASE^vhRtn1(%DS)_";") Set Typ="MC" + Quit $G(Typ) + ; +HELP + New + Do INIT^vhTERMINA + Do STORE^vhTERMINA() + Do DISPLAY^vhScherm("DTYPED") + Do REFRESH^vhTERMINA() + Quit + ; \ No newline at end of file Index: ErrorVHCNTs.inc.rou =================================================================== diff -u --- ErrorVHCNTs.inc.rou (revision 0) +++ ErrorVHCNTs.inc.rou (revision 2) @@ -0,0 +1,10 @@ + + // From Method keywords +#define fmOnPreHTTP "OnPreHTTP" +#define fmHyperEventError "HyperEventError" + + // Error Type keywords (main categories to be distinguish when a CSP error occured) +#define etPageLoadError "PageLoadError" +#define etPreHTTPTimeOut "PreHTTPTimeOut" +#define etHyperEventError "HyperEventError" +#define etHyperEventTimeOut "HyperEventTimeOut" \ No newline at end of file Index: DW/WWW/StaticHPD.cls.xml =================================================================== diff -u --- DW/WWW/StaticHPD.cls.xml (revision 0) +++ DW/WWW/StaticHPD.cls.xml (revision 2) @@ -0,0 +1,56 @@ + + + + +Statische gegevens voor website statistieken te tonen in webpagina (Hits Per Domein) +persistent +1 +%Persistent +0 + + +%String + + + + +%Integer + + + +%Integer + + + +%String + + + +%Library.CacheStorage +^DW.WWW.StaticHPDD +StaticHPDDefaultData +^DW.WWW.StaticHPDD +^DW.WWW.StaticHPDI +^DW.WWW.StaticHPDS + +listnode + + +%%CLASSNAME + + +Domein + + +Hits + + +Sessies + + +Site + + + + + Index: TECH/ListIterator.cls.xml =================================================================== diff -u --- TECH/ListIterator.cls.xml (revision 0) +++ TECH/ListIterator.cls.xml (revision 2) @@ -0,0 +1,79 @@ + + + +1 +Iterator,%RegisteredObject +0 + + +%AbstractList +1 + + + +%String +1 + + + +%String +1 + + + +%CacheString +1 + + + + +Returns true if the iteration has more elements. +%Boolean + + + + +List:%AbstractList +1 +1 +%Status + + + + + +Returns the next element in the iteration. +Only returns a valid element if HasNext() returns true +Causes an error if HasNext() returns false +%CacheString + + + + + + + + +%String + + + + Index: BL/PR/GA/TB/tmpDev2.mac.rou =================================================================== diff -u --- BL/PR/GA/TB/tmpDev2.mac.rou (revision 0) +++ BL/PR/GA/TB/tmpDev2.mac.rou (revision 2) @@ -0,0 +1,510 @@ +#include PRGACNTs + /* + // +-+-+-+-+-+-+-+-+-+-+-+-+ + // + TBX - TandemBox + + // +-+-+-+-+-+-+-+-+-+-+-+-+ + // + // [ DEEL 2 ] + */ + +WSTB ; This is a test method + New WS,WSLn + Set WS=##class(WS.TBX.Order).%New() + Set WSLn=##class(WS.TBX.EM.OrderLijn).%New() + Set WSLn.ItemKL="MG" ;"IN" ; + Set WSLn.ItemLT="D" + Do WS.Lijnen.SetAt(WSLn,1) + Do WS.CalcPricesWeb() + Set WS="" ; Close + Quit + + +BuildFromWS ; Parameters: WS,Opties + Quit:('WS) + Quit:(WS.Lijnen.Count()="") + d TTraceW("WS: Begin BuildFromWS - ID="_WS.mID) + ;d TTraceW("WS: Opties:"_$G(Opties)_" condition No Prices calc:"_($G(Opties)'["PRS=1;")) + new sDbg Set sDbg="" + + New dsID,Result,Templ,arKDtl,lbDomLU,sDomVERW,sDomKLNr + New arValidWS + Set lbDomLU=WS.DomainLookUp(WS.WebDomain,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set Result=$$bfwTemplateViaLadeKL(..GetKlantBeperkDesign(WS.KLNummer,sDomVERW)) ; (.Templ) + If '$G(Templ) Do Quit + . Do bfwMarkAllError + . d TTraceW(Result_" "_sDbg) + ; Else : + d DbgAdd("Templ",Templ) + ;d DbgAdd("Templ.ProdID",Templ.ProductGetObjectId()) + ;d TTrace("WSOrd= "_$C(13,10)_$$ExportXMLGAProd^WV(Templ.Product,"No Product")) + Do bfwCalcWSLijnen + d TTraceW("Result=OK: "_sDbg) + ;d WL^vhDBG("Tijd einde BldFrWS : "_$$RestartTimer^vhLib) + Quit +bfwTemplateViaLadeKL(BeperkDesignCode) ; (Templ) + New klID,lbTPs,TPCode,TemplateID,blnCheckDesign ; "dsID" is declared at a higher level + Set klID=WS.Lijnen.GetNext("").ItemKL + Set:(klID="BE") klID="BA" + d DbgAdd("KL",klID) + Set dsID=WS.Lijnen.GetNext("").ItemDS ; Get design from first line - it shoud be the same for all other + If dsID="" Do + . Set blnCheckDesign=(BeperkDesignCode="") + . Set dsID=..DesignFromLadeKleur(klID,BeperkDesignCode) + Else If $L(BeperkDesignCode) Do ; !!! TEMPORARY PATCH for F-Design !!! (added by WimV on 13/03/2009) + . Set blnCheckDesign=0 + . Set dsID=..DesignFromLadeKleur(klID,BeperkDesignCode) + Else Do + . Set blnCheckDesign=0 + Quit:(dsID="") "Geen Design gevonden" + d DbgAdd("DS",dsID) + ; Alleen "Standaard Design" toegelaten. + Quit:(blnCheckDesign)&&($LG(..BTDep("TBDesign","TBDesignCode",dsID),1)'?1(1"S",1"B")) "Geen Standaard Design" + Set lbTPs=..TPCodesFromDesign(dsID) + Set TPCode=$LG(lbTPs,1) + Quit:(TPCode="") "TemplateCode niet gevonden" + d DbgAdd("TPCode",TPCode) + Set TemplateID=$LG(##class(Prod.GAData.Template).IDsViaCode(TPCode),1) + Quit:(TemplateID="") "TemplateID niet gevonden" + d DbgAdd("TemplateID",TemplateID) + Set Templ=##class(Prod.GAData.Template).%OpenId(TemplateID) + Quit "" +bfwMarkAllError + New i + Set i="" + For Set WSLn=WS.Lijnen.GetNext(.i) Quit:(i="") Do + . Set WSLn.KostPrijs="ERROR" + Quit +bfwCalcWSLijnen + New Prod,i,arValidPR,Som,SomAant,WSLn,OrdStdL,arWSStdL,KLReductie,KLKorting,KLNrProd + ;n arORefs + Do bfwCalcProductsInit + Set i="" + For Set WSLn=WS.Lijnen.GetNext(.i) Quit:(i="") Do + . ;do ChronoReset^vhLib() + . Set Prod=$$bfwProductFromWSLijn(WSLn,i,WS.NietMeeleveren) + . Quit:(Prod="") + . Do bfwCalcProduct(Prod,i) + . ;d WL^vhDBG("Tijd voor CalcProduct "_i_$C(9)_" : "_$$ChronoStepFMT^vhLib) + . Set Prod="" ; Close Prod anyway + Do bfwCalcProductsAfter + Set Templ="" ; Close + Quit + + /* + ONDERSTAAND GEDEELTE VAN DE CODE (in deze method) MOET SYNCHROON BLIJVEN MET DE CODE OP VOLGENDE SERVERS + - CACHE01 : klasse BL.Flow.Offerte.ProductGAData --> voor import into Admin + calc vanuit Excel + - CACHE02 : klasse BL.Prod.GAData.TBXLadeConvert --> voor import into (Dev-)Admin + calc vanuit Excel + - routine BL.PR.GA.TB.tmpDev2.MAC --> voor berekening WSOrder + */ + +bfwProductFromWSLijn(WSLn,i,pdlNietMee) ; Returns Prod (kan zowel ORef als string value zijn) + ; Maakt een GAData.Product object voor WSLn + If (WSLn.Exclude=1) Do Quit "" + Else If WSLn.ItemSTDL=$$$tbxCodeStdLade Do Quit $$$tbxCodeStdLade + Set ..Qty=WSLn.Qty + Set WSLn.ItemDS=dsID + Set WSLn.GAMeta="TBX" + Do ..ResetTB() + Do bfwBTItemsFromWSLijn + ; Data van blTBox naar GAData.Product + New Prod + Set Prod=##class(Prod.GAData.Product).BuildFromTemplate(Templ.%Id()) + Do Prod.TemplateTmpInit() + Do Prod.AutosFromTemplate(,"FILL") + Do:(KLNrProd) Prod.KlantSetObjectId(KLNrProd) + Do ..BTValues.SetAt(Prod.TemplateCode,"TemplateCode") + Do bfwSetNietMeeItems(pdlNietMee) + Do bfwFBevestNML + Do bfwResetNMItemsBinnenlade ; Reling/boxside worden sowieso gemonteerd op een binnenlade + Do ..BTValuesToProduct(Prod) + Do ..BWValuesToProduct(Prod) + Do ..KMValuesToProduct(Prod,"TBR") + Quit Prod + +bfwBTItemsFromWSLijn + New lbDSCodes,DSCode,KFront,KRug,KBxs + ;d WLIP^vhDBG(97,"*"_$L(WSLn.ItemRK)_"*"_" - "_WSLn.ItemRK) + Set DSCode=$S($L(WSLn.ItemDS):$LG(..BTDep("TBDesign","TBDesignCode",WSLn.ItemDS),1), 1:"") + Set KFront=$S($L(WSLn.ItemRK):$LG(..BTDep("TBRelingKleur","TBFrontKleur",WSLn.ItemRK),1), 1:"") + Set KRug =$S($L(WSLn.ItemDS):$LG(..BTDep("TBDesign","TBRugKleur",dsID),1), 1:"") + If WSLn.ItemKX="" Do + . Set KBxs=$S($L(WSLn.ItemDS):$LG(..BTDep("TBDesign","TBBoxsideKleur",dsID),1), 1:"") + . Set WSLn.ItemKX=KBxs ; Set to WSLijn + Else Do + . Set KBxs=WSLn.ItemKX + Do ..BTValues.SetAt(WSLn.ItemDS ,"TBDesign") + Do ..BTValues.SetAt(DSCode ,"TBDesignCode") + Do ..BTValues.SetAt(WSLn.ItemLT ,"LadeCode") + Do bfwBTItemsLadeCode(WSLn.ItemLT) + Do ..BTValues.SetAt($S(..BTValues.GetAt("TBLadeType")="B":"Z", 1:WSLn.ItemFB) ,"TBFBevestiging") + Do ..BTValues.SetAt(WSLn.ItemCB ,"TBCBreedte") + Do ..BTValues.SetAt(WSLn.ItemWD ,"TBWandDikte") + Do ..BTValues.SetAt($S(WSLn.ItemOPVL["L":25, 1:0) ,"OpvullijstLi") + Do ..BTValues.SetAt($S(WSLn.ItemOPVL["R":25, 1:0) ,"OpvullijstRe") + Do ..BTValues.SetAt(..DFLMinTolerantie(WSLn.ItemWD) ,"MinTolerantie") ; $S(+WSLn.ItemWD=0:0, 1:1) + Do ..BTValues.SetAt(WSLn.ItemLD ,"TBLadeDiepte") + Do ..BTValues.SetAt(WSLn.ItemDK ,"TBDraagKracht") + Do ..BTValues.SetAt(WSLn.ItemKB ,"TBBodemKleur") + Do ..BTValues.SetAt(WSLn.ItemRK ,"TBRelingKleur") + Do ..BTValues.SetAt(KFront ,"TBFrontKleur") + Do ..BTValues.SetAt($S(WSLn.ItemKL="BE":"BA", 1:WSLn.ItemKL) ,"TBLadeKleur") + Do ..BTValues.SetAt(KRug ,"TBRugKleur") + Do ..BTValues.SetAt(WSLn.ItemBM ,"TBBlumotion") + + /* + ; Temporary work-around for GlazenBoxside, until the web-wizard also uses ItemKV (switched off by WimV on 30/03/2009) + If 1 && (WSLn.ItemBX?1(1"BZ",1"BF",1"BC")) Do + . New KVul + . Set KVul=$Case(WSLn.ItemBX, "BZ":"FZ", "BF":"FG", "BC":"FC", :ERROR) + . Do ..BTValues.SetAt("BG" ,"TBBoxSide") + . Do ..BTValues.SetAt(KBxs ,"TBBoxsideKleur") + . Do ..BTValues.SetAt(KVul ,"TBVulstukKleur") + Else Do + . Do ..BTValues.SetAt(WSLn.ItemBX ,"TBBoxSide") + . Do ..BTValues.SetAt(WSLn.ItemKX ,"TBBoxsideKleur") + . Do ..BTValues.SetAt(WSLn.ItemKV ,"TBVulstukKleur") + */ + Do ..BTValues.SetAt(WSLn.ItemBX ,"TBBoxSide") + Do ..BTValues.SetAt(KBxs ,"TBBoxsideKleur") ; WSLn.ItemKX + Do ..BTValues.SetAt(WSLn.ItemKV ,"TBVulstukKleur") + + Do ..BTValues.SetAt(WSLn.ItemSB ,"TBStabilisator") + Do ..BTValues.SetAt("Z" ,"TBStalenRug") + Do ..BTValues.SetAt($P(WSLn.ItemSPZK,";",1) ,"TBSPZijkant") + + #define SPZkOpMaat(%v) (%v?1(1"M".E,1"SI".E)) + + If $$$SPZkOpMaat($P(WSLn.ItemSPZK,";",1)) Do ; Spoelbak zijkant op maat + . Do ..BTValues.SetAt($P(WSLn.ItemSPZK,";",2) ,"SpoelbakZkLi") + . Do ..BTValues.SetAt($P(WSLn.ItemSPZK,";",3) ,"SpoelbakZkRe") + . Do ..BTValues.SetAt($P(WSLn.ItemSPZK,";",4) ,"SpoelbakZkMi") + . ; SpoelbakBreedte (SPBR) wordt berekend in Prod.BWValuesToProduct() + + ;d WLIP^vhDBG(97,WSLn.ItemSPZK_" SPZK LI: "_..BTValues.GetAt("SpoelbakZkLi")_" SPZK RE: "_..BTValues.GetAt("SpoelbakZkRe")) + + If ($L(WSLn.ItemVPK)) Do + . Do ..BTValues.SetAt(WSLn.ItemVPK ,"Verpakking") + . Do:(WSLn.ItemVPK?1(1"C",1"P",1"Z",1"A")) bfwUpdateNMItemsBulk + + Do:($L(WSLn.ItemBGRP) ) ..BTValues.SetAt(WSLn.ItemBGRP ,"TBBinnenGreep") + Do:('$L(WSLn.ItemBGRP)) ..BTValues.SetAt($S(WSLn.ItemLT?1(1"D/Z",1"C/Z"):"H",1:""),"TBBinnenGreep") + + Do ..BTValues.SetAt($S(WSLn.ItemFS="":"A", 1:WSLn.ItemFS) ,"TBFrontSteun") + Do ..BTValues.SetAt($S(WSLn.ItemASM="":"0", 1:WSLn.ItemASM) ,"TBMat") + Do ..BTValues.SetAt(WSLn.ItemDWV ,"TBDwarsVerdeling") + Do ..BTValues.SetAt(WSLn.ItemOLP ,"OrgaluxProduct") + Do bfwExtrasFromGlobal(DSCode) + Quit +bfwBTItemsLadeCode(LCodeID) + ; Uit LadeCode volgen deze vijf properties: + ; TBKlasse - TBGlijderType - TBLadeType - TBZijwand - TBRugHoogte + New LCode,Key,TBVal + Set LCode=##class(Prod.GAMeta.BT.LadeCode).%OpenId(LCodeID) + Quit:('LCode) + Set Key="" + For Set TBVal=LCode.TBKenm.GetNext(.Key) Quit:(Key="") Do + . Do ..BTValues.SetAt(TBVal,Key) + Set LCode="" ; Close + Quit +bfwSetNietMeeItems(pdlNietMee) ; Niet Meeleveren is gedefinieerd op Hoofding-niveau en niet op Lijn-niveau + Quit:(pdlNietMee="") + New lbNietMee,i + Set lbNietMee="" + Set:(pdlNietMee["NMCP" ) lbNietMee=lbNietMee_$LB("NMCorpusProfiel") + Set:(pdlNietMee["NMRL" ) lbNietMee=lbNietMee_$LB("NMZijReling") + Set:(pdlNietMee["NMAK" ) lbNietMee=lbNietMee_$LB("NMAfdekkap") + Set:(pdlNietMee["NMBDS" ) lbNietMee=lbNietMee_$LB("NMBodemsteun") + Set:(pdlNietMee["NMBMM" ) lbNietMee=lbNietMee_$LB("NMBlumoMeenemer") + Set:(pdlNietMee["NMBMB" ) lbNietMee=lbNietMee_$LB("NMBlumoBehuizing") + Set:(pdlNietMee["NMFB" ) lbNietMee=lbNietMee_$LB("NMFBevestiging") + Set:(pdlNietMee["NMBS" ) lbNietMee=lbNietMee_$LB("NMBoxSide") + Set:(pdlNietMee["NMOVL" ) lbNietMee=lbNietMee_$LB("NMOpvullijst") + Set:(pdlNietMee["NMSPDL") lbNietMee=lbNietMee_$LB("NMSPDwarsLatjes") + Set:(pdlNietMee["NMASM" ) lbNietMee=lbNietMee_$LB("NMAntislipmat") + For i=1:1:$LL(lbNietMee) Do:(1) ..BTValues.SetAt(1,$LI(lbNietMee,i)) + + ; WEL Meeleveren ("WM...") + Set lbWelMee="" + Set:(pdlNietMee["WMCP" ) lbWelMee=lbWelMee_$LB("NMCorpusProfiel") + Set:(pdlNietMee["WMRL" ) lbWelMee=lbWelMee_$LB("NMZijReling") + Set:(pdlNietMee["WMAK" ) lbWelMee=lbWelMee_$LB("NMAfdekkap") + Set:(pdlNietMee["WMBDS" ) lbWelMee=lbWelMee_$LB("NMBodemsteun") + Set:(pdlNietMee["WMBMM" ) lbWelMee=lbWelMee_$LB("NMBlumoMeenemer") + Set:(pdlNietMee["WMBMB" ) lbWelMee=lbWelMee_$LB("NMBlumoBehuizing") + Set:(pdlNietMee["WMFB" ) lbWelMee=lbWelMee_$LB("NMFBevestiging") + Set:(pdlNietMee["WMBS" ) lbWelMee=lbWelMee_$LB("NMBoxSide") + Set:(pdlNietMee["WMOVL" ) lbWelMee=lbWelMee_$LB("NMOpvullijst") + Set:(pdlNietMee["WMSPDL") lbWelMee=lbWelMee_$LB("NMSPDwarsLatjes") + Set:(pdlNietMee["WMASM" ) lbWelMee=lbWelMee_$LB("NMAntislipmat") + For i=1:1:$LL(lbWelMee) Do:(1) ..BTValues.SetAt(0,$LI(lbWelMee,i)) + Quit +bfwFBevestNML ; FrontBevestiging Niet Meeleveren bij Lade ZONDER FB (excl. Binnenlade) ! + If (..BTValues.GetAt("TBFBevestiging")="NM") || ((..BTValues.GetAt("TBFBevestiging")="Z")&&(..BTValues.GetAt("TBLadeType")'="B")) Do + . Do ..BTValues.SetAt("S","TBFBevestiging") + . Do ..BTValues.SetAt(1,"NMFBevestiging") + Quit +bfwUpdateNMItemsBulk + New Key,dummy + Set Key="NM" + For Set Key=$O(..LookUp(Key)) Quit:(Key'?1"NM".E) Do + . Quit:(Key?1(1"NMBlumoBehuizing",1"NMAntislipmat")) + . Do:('..BTValues.IsDefined(Key)) ..BTValues.SetAt(1,Key) + ;Do bfwResetNMItemsBinnenlade // de oproep is nu verhuisd naar bfwProductFromWSLijn + Quit +bfwResetNMItemsBinnenlade + ; Binnenlade kan NIET gemonteerd worden zonder Reling, dus NMZijReling terug op 0 zetten + If (..BTValues.GetAt("TBLadeType")="B")&&(..BTValues.GetAt("TBBoxSide")'="ZR") Do ; binnenlade met reling/boxside + . Do ..BTValues.SetAt(0,"NMZijReling") + . Do ..BTValues.SetAt(0,"NMBoxSide") + Quit +bfwExtrasFromGlobal(DSCode) + #define KLDataExtra(%v) $$$GlobalKLData(0,sDomVERW,KLNrProd,%v) + #define DelimByDC(%v) $P(%v,";",$S(DSCode="I":2,1:1)) + Quit:(sDomVERW'="VHEPN") ; Only for safety + Do:($$$DelimByDC($G($$$KLDataExtra("NMAK")))=1) ..BTValues.SetAt(1,"NMAfdekkap") ; KLNrProd <--> WS.KLNummer + Do:($G($$$GlobalKLData(0,sDomVERW,KLNrProd,"SR"))?1"V") ..BTValues.SetAt($$$GlobalKLData(0,sDomVERW,KLNrProd,"SR"),"TBStalenRug") + Set:($G($$$GlobalKLData(0,sDomVERW,KLNrProd,"MATKL1239"))="HA")&&($G(arKenm("TBBodemKleur"))="LGS")&&($G(arKenm("TBLadeDiepte"))?1(1"500")) arKenm("PlaatMat")="HA" ; Bodems Keller gebruiken : "Halux Afgewerkt" i.p.v. "Halux Stroken" // Copied from class BL.Flow.Offerte.ProductGAData for calc. via Excel + Quit + +bfwCalcProductsInit + New i + Set OrdStdL="LoadMeNow" + Set KLNrProd=+$S(sDomVERW'="VHEPN":sDomKLNr, 1:WS.KLNummer) + Set KLKorting=WS.KLKorting ; (waarde in % uitgedrukt) + Set KLReductie=$S(+KLKorting'=0:$J(1-(KLKorting/100),0,4), 1:1) + + // Actieve Acties ophalen. Deze worden lijn per lijn gecontroleerd. Achteraf zal de unie van de ActieCode (op lijnniveau) bewaard worden op het WSOrd (hoofding) niveau. + // (Added by WimV on 17/12/2010) + Set RefDatum=$H + Set Shop=sDomVERW + Set Klant=WS.KLNummer ; Klant-object kan enkel voor VHEPN; bij SFS of andere handels andere implementatie van het klant-object gebruiken (TBD) + + // ActieCodes wissen op WSOrd en WSLijn-niveau + Do:($IsObject(WS.ActieCodesList)) WS.ActieCodesList.Clear() + Set i="" + For Set WSLn=WS.Lijnen.GetNext(.i) Quit:(i="") Do + . ;Do WSLn.ActieCodesList.Clear() ; Vorige implementatie (MAG WEG) + . Do WSLn.WisAlleActieGegevens() + . Set WSLn.ActieKorting="" + + Set ActieveActiesList=##class(APPS.TBXWeb.Actie).GeefActieveActies(RefDatum,Shop,Klant) + Set GeldigeActiesVoorOrder=ActieveActiesList.%New() + + d WL^vhDBG("Check geldige acties : ") + Set itActieveActies=##class(TECH.ListIterator).%New(ActieveActiesList) + While itActieveActies.HasNext() { + Set Actie=itActieveActies.Next() + If Actie.IsGeldigOrder(WS) { + d WL^vhDBG("Geldige actie : "_Actie.ActieCode) + Do GeldigeActiesVoorOrder.Insert(Actie) + ;Do WS.VoegToeActieCode(Actie.ActieCode) + } + } + + Set (Som,SomAant)=0 + Quit +bfwCalcProduct(Prod,i) + Kill arValidPR + If Prod=$$$tbxCodeStdLade Do + . Do bfwCalcProdStdL ; all params are globally known + Else If $IsObject(Prod) Do + . Do bfwCalcProdViaItems + Else Do + . ; Nothing + Set:(WSLn.KostPrijs'="ERROR") SomAant=SomAant+WSLn.Qty + Merge arValidWS(i)=arValidPR(0) + Quit +bfwCalcProductsAfter + Set WS.TotAantal=$S(SomAant>0:SomAant, 1:"") + Set WS.TotPrijs=$S(Som>0:+$J(Som,0,2), 1:"") + Do WS.VerzamelActieCodesVanLijnen() + d TTrace("ValidWS(): "_$$ArrayToText^vhLib("arValidWS")) + Set Prod="" + Set OrdStdL="" + Quit + +bfwCalcProdViaItems + // Binnen de BENELUX wordt met LijstPrijs gewerkt. Buiten de BENELUX bepaalt de verwerker zelf zijn Marge op AKPrijs +#define GenPRNrTBX 89322 +#define PcLijstPrs 4 +#define MargeHEIN 2.95 +#define MargeLMC 2.33 + // MargeDUPO=1 , berekening via LijstPrijs --> geen +#define MargeDUPO 1 + // MargeHELMY=1, berekening via LijstPrijs --> geen +#define MargeHELMY 1 + // MargeHFLE=1 , berekening via LijstPrijs --> geen +#define MargeHFLE 1 + // MargeMBHO=1 , berekening via LijstPrijs --> geen +#define MargeMBHO 1 + // MargeSFS= ? , berekening via ??? +#define MargeSFS 2.8 + New KPrijsVH,LPrs,VKPrs,VerwMarge,KLNrPrs,PrPiece,GenPRNr,IsBeursUser,IsAnonymousUser + New D,Q,U + Set Q="K",D="\",U=";" + Do Prod.CalcAll() + Kill arValidPR + + Set IsBeursUser=($G(Opties)["PRS=B;") + Set IsAnonymousUser=0 ; ($G(Opties)'["PRS=1;") + + If Prod.ValidatePR(.arValidPR) Do + . Set GenPRNr=Prod.GenerischPRNr() + . Set WSLn.Exclude=0 + . + . // Speciale users --> geen prijsberekening + . If $G(Opties)["PRS=B;" Do Quit ; IsBeursUser + . . Set KLNrPrs=sDomKLNr + . . Set (AKPrs,VKPrs)="99.99" + . Else If $G(Opties)'["PRS=1;" Do Quit ; IsAnonymousUser + . . Set IsAnonymousUser=1 + . . Set (AKPrs,VKPrs)="" + . + . // Else : gewone user --> standaard prijsberekening (zowel AKPrijs als VKPrijs bijhouden) + . Set KPrijsVH=$G(Prod.Cumuls("KPrijs")) + . Set KLNrPrs=$S(sDomVERW'="VHEPN":sDomKLNr, (WS.KLNummer?1.N)&&(WS.KLNummer>0):WS.KLNummer, 1:4645) + . Set AKPrs=$P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",1) + . Set VKPrs=$$bfwCalcVKPrijsKlant(KPrijsVH,AKPrs) + Else Do + . Set VKPrs="ERROR" + . Set WSLn.Exclude=1 + + ; Fill in WSLn-properties + If (VKPrs>0)||(IsAnonymousUser) Do + . Set WSLn.AKPrijs=AKPrs + . Set WSLn.KostPrijs=VKPrs + . Do:('IsAnonymousUser) bfwZoekGeldigeActiesVoorWSLijn(WSLn,Prod,KLNrPrs,GenPRNr,GeldigeActiesVoorOrder,VKPrs) + . Set Som=Som+(WSLn.Qty*WSLn.KostPrijs) + Else Do + . Set WSLn.AKPrijs="ERROR" + . Set WSLn.KostPrijs="ERROR" + . ;d TTrace("WSOrd ln("_i_"): "_$C(13,10)_$$ExportXMLGAProd^WV(Prod,"No Product")) + . d bfwTranslateErr + Quit + +bfwZoekGeldigeActiesVoorWSLijn(WSLn,Prod,KLNrPrs,GenPRNr,GeldigeActiesVoorOrder,VKPrsNormaal) + Set itActies=##class(TECH.ListIterator).%New(GeldigeActiesVoorOrder) + While itActies.HasNext() { + Set Actie=itActies.Next() + If Actie.IsGeldigProduct(WSLn,Prod) { + + // Bereken ActieKorting + + // Deze code moet verplaatst worden naar ActieSFSCorpusProfielen.BererkenKorting() of zoiets + + ;d WL^vhDBG("Show Cumuls") + ;d WL^vhDBG($$ArrayToText^vhLib("Cumuls(""KPrijs"")",Prod,"Cumuls")) + Set PrijsCP=$G(Prod.Cumuls("KPrijs",2,1,5))+$G(Prod.Cumuls("KPrijs",2,1,6)) ; CP links + CP rechts + Set AKPrsCP=$P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(PrijsCP,0,2)),"\",1) + Set VKPrijsCP=$$bfwCalcVKPrijsKlant(PrijsCP,AKPrsCP) + If VKPrijsCP>0 { + d WL^vhDBG("KPrijs CP : "_VKPrijsCP_" (is berekend via Cumuls)") + Do WSLn.VoegToeActieGegevens(Actie.ActieCode,VKPrijsCP) + } + Else { + // Problemen bij de berekening van de KortingPrijs + Set VKPrijsCP=0 + Do WSLn.VerwijderActieItem(Actie.ActieCode) + } + } + + Set WSLn.ActieKorting=WSLn.BerekenKorting() + Set WSLn.KostPrijs=VKPrsNormaal-WSLn.ActieKorting + } + Quit + +bfwCalcVKPrijsKlant(KPrijsVH,AKPrs) + Quit:(sDomVERW="VHEPN") AKPrs + Quit:(sDomVERW="DUPO" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) + Quit:(sDomVERW="HFLE" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) + Quit:(sDomVERW="HELMY") $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) + Quit:(sDomVERW="MBHO" ) $P($$KLANTPR^KPRIJS(KLNrPrs,GenPRNr,,$J(KPrijsVH,0,2)),"\",$$$PcLijstPrs) + New VKPrs + Set VerwMarge=$CASE(sDomVERW, "HEIN":$$$MargeHEIN, "LMC":$$$MargeLMC, "HELMY":$$$MargeHELMY, "SFS":$$$MargeSFS, "MBHO":$$$MargeMBHO, :1) ; , "DUPO":$$$MargeDUPO, "HFLE":$$$MargeHFLE + If sDomVERW="LMC" Do + . If ($G(KLReductie)<(1/$$$MargeLMC)) Set KLReductie=1 ; ( 1 / $$$MargeLMC = 0.4292 ) m.a.w. KLKorting mag niet groter zijn dan de MargeLMC + . Set VKPrs=$J(AKPrs*VerwMarge*KLReductie,0,2) + Else If sDomVERW="SFS" Do + . If ($G(KLReductie)<(1/$$$MargeSFS)) Set KLReductie=1 ; ( 1 / $$$MargeSFS = 0.3571 ) + . Set VKPrs=$J(AKPrs*VerwMarge*KLReductie,0,2) + Else Do + . Set VKPrs=$S((VerwMarge=1):AKPrs, 1:$J(AKPrs*VerwMarge+0.004999,0,2)) ; Opnieuw afronden na VerwMarge-calculatie + Quit VKPrs +bfwTrapCalcPrs + Set VKPrs="" + Quit +bfwTranslateErr + New msg + Set msg=Prod.ValidPRArrayToText(.arValidPR,1) ; blnAddInfoNode=1 + Quit + /* + New Key + Set Key="" + For Set Key=$O(arValidPR(0,Key)) Quit:(Key="") Do + . Set DItem=Prod.DataItems.GetAt(Key) + . Set arValidPR(0,Key,"I")=DItem.Get("Oms")_" ("_DItem.Code_") : PRNr="""_DItem.Get("PRNr")_"""" ; _" Kenm="_$$$LCVT(DItem.Get("Kenm")) + Quit + */ +bfwCalcProdStdL + New VKPrs + If OrdStdL="LoadMeNow" Do ; Execute only once + . Set OrdStdL=$$bfwGetStdLadeOrder(sDomKLNr) ; ($S(sDomVERW="HEIN":sDomKLNr, 1:"")) + . Do:(OrdStdL) OrdStdL.DataArrayFromWS(.arWSStdL) + Set VKPrs="" + Set:(OrdStdL) VKPrs=$$bfwGetPrijsFromMatchLn(WSLn, .arWSStdL) + If 'VKPrs Do + . Set WSLn.KostPrijs="ERROR" + . Set WSLn.Exclude=1 + . Set arValidPR(0,"STDL")=$S(VKPrs["N/A":"StdLade "_VKPrs ,1:"StdL niet gevonden.") + . Set VKPrs="" + Else Do + . Set VKPrs=VKPrs*$G(KLReductie,1) + . Set WSLn.KostPrijs=VKPrs + . Set Som=Som+(WSLn.Qty*VKPrs) + . ;d TTrace("WSOrd ln("_i_"): "_$C(13,10)_"Std Lade") + d WL^vhDBG("Tijd voor StdLade matchLn : "_$$RestartTimer^vhLib) + Quit +bfwGetStdLadeOrder(KLNr) + New wsID + Set wsID=##class(cspBasis.GAProdTBox).WSOrderIDStdLadeViaKLNr(KLNr) + Quit:($L(wsID)) ##class(WS.TBX.Order).%OpenId(wsID) + Quit "" +bfwGetPrijsFromMatchLn(WSLn,arWSStdL) + New i,Prijs,FBVal,AddPrsVal + Set i=$$bfwGetMatchLijnNr + Quit:(i="") "" + Set FBVal=WSLn.ItemFB + Set AddPrsVal=$S(FBVal="":"", 1:OrdStdL.Lijnen.GetAt(i).AddPrs.GetAt("FB_"_FBVal)) + If (AddPrsVal="N/A") Do + . Set Prijs="N/A: FB="_FBVal + . d WL^vhDBG("StdLade N/A: FB="_FBVal) + Else Do + . Set Prijs=$G(arWSStdL("LN",i,"PRIJS")) + . Set:(+Prijs) Prijs=Prijs+AddPrsVal + Quit Prijs +bfwGetMatchLijnNr() + New arWSLn,arMDRow,MatchResult + Do WSLn.DataArrayFromWSLn(.arWSLn) + ;d TTrace("ArWSLn:"_$$ArrayToText^vhLib("arWSLn")) + Set i="" + For Set i=$O(arWSStdL("LN",i)) Quit:(i="") Do Quit:(MatchResult=1) ; (Prijs'="") + . Quit:($G(arWSStdL("LN",i,"LIJNNR"))="") + . Kill arMDRow + . Merge arMDRow=arWSStdL("LN",i) + . Set MatchResult=$$CompareFull^cspBasis.GAProdTBox.tmpDev(.arMDRow,.arWSLn) + . d:(MatchResult=1) TTrace("Match found with line: "_i) ; _$$ArrayToText^vhLib("arMDRow")) + Quit i + +DbgAdd(s,v) + Set sDbg=sDbg_s_"="_v_" ** " + Quit +TTrace(msg) + s:('$D(ClientIP)) ClientIP="192.168.1.97" + d WL^vhDBG("TBox:"_msg) + Quit +TTraceW(msg) + d TTrace(.msg) + ;w msg,! + Quit \ No newline at end of file Index: csp/tbx/wizovz.cls.xml =================================================================== diff -u --- csp/tbx/wizovz.cls.xml (revision 0) +++ csp/tbx/wizovz.cls.xml (revision 2) @@ -0,0 +1,325 @@ + + + +User +cache +%CSP.Page,cspBasis.GAProdTBox + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"" + Write "
    " + Write (..WebTextValue("Algemene gegevens",Taal,"L")) + Write "
    " + Write "",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"" + Write "
    " + Write (..WebTextValue("KLNaam",Taal,"L"))_" :" + Write "
    " + Write "",! + Write $c(9,9,9)_"" + Write "
    " + Write " " + Write "
    " + Write "",! + Write $c(9,9,9)_"" + Write "
    " + Write " " + Write "
    " + Write "",! + Write $c(9,9,9)_" ",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"" + Write "
    " + Write (..WebTextValue("Commissie",Taal,"L"))_" :" + Write "
    " + Write "",! + Write $c(9,9,9)_"" + Write "
    " + Write " " + Write "
    " + Write "",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"" + Write "
    " + Write (..WebTextValue("Kleurkeuze",Taal,"L")) + Write "
    " + Write "",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write (..WebTextValue("Design",Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write (..WebTextValue("Kleur",Taal,"L")_" "_..WebTextValue("Ladezijden",Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write " " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write " " + Write "
    " + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write ($TR(..WebTextValue("Bodem&Rug",Taal,"L")," ",""))_" :" + Write "
    " + Write !,$c(9,9,9)_" "_$c(9) + If '((DCM'="I")) Goto %csp00001 ;{ + Write !,$c(9,9,9,9)_" " + Write "
    " + Write ($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue("Relingen",Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9,9,9) +%csp00001 ;} + Write !,$c(9,9,9)_" "_$c(9) + If '((DCM'="A")) Goto %csp00002 ;{ + Write !,$c(9,9,9)_" "_$c(9)_" " + Write "
    " + Write ($S(0:..WebTextValue("Kleur",Taal,"L")_" ", 1:"")_..WebTextValue($S(0:"VerhoogdeZijwand",1:"VullingGlas_"_DCM),Taal,"L"))_" :" + Write "
    " + Write !,$c(9,9,9)_" " +%csp00002 ;} + Write " "_$c(9),! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9) + Write "
    " + Write " " + Write "
    " + Write !,$c(9,9,9,9) + If '((DCM'="I")) Goto %csp00003 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write " " + Write "
    " + Write !,$c(9,9,9,9) +%csp00003 ;} + Write !,$c(9,9,9,9) + If '((DCM'="A")) Goto %csp00004 ;{ + Write !,$c(9,9,9,9) + Write "
    " + Write " " + Write "
    " + Write !,$c(9,9,9,9) +%csp00004 ;} + Write !,$c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"" + Write "
    " + Write (..WebTextValue("Maten",Taal,"L")) + Write "
    " + Write "",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_" ",! + Write $c(9,9,9,9) + Write "" + Write !,$c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"",! + Write !,!,!,"" + Write !,$c(9)_"

    ",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write !,$c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9) + Write "" + Write !,"" + Write !,$c(9,9) + Write "" + Write !,$c(9,9)_"",! + If '($G(blnCalcPrices)||$G(blnPriceAvail)) Goto %csp00005 ;{ + Write !,$c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! +%csp00005 ;} + Write !,$c(9)_"
    "_(arVTL("TH","LT") )_""_(arVTL("TH","CB") )_""_(arVTL("TH","WD") )_""_(arVTL("TH","LD") )_""_(arVTL("TH","DK") )_""_(arVTL("TH","FB") )_""_(arVTL("TH","BX") )_""_(arVTL("TH","DIV"))_""_(arVTL("TH","Aant"))_" "_(..WebTextValue($S($G(blnCalcPrices)||$G(blnPriceAvail):"PrijsPerStukTH", 1:"InfoTH"),Taal,"L"))_"
    ",! + Write $c(9,9,9,9) + Write "
    " + Write "" + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write "

    "_(..WebTextValue("NietMeeleveren",Taal,"L"))_": " + Write "" + Write "" + Write "

    " + Write "
    " + Write !,$c(9,9,9)_"
     "_(..WebTextValue("PrijsTotaal",Taal,"L"))_":   
    ",! + Write $c(9)_"

    ",! + ;Set blnShowXMLButton=((KLNr=4682)||(KLNr=7833)||(UserType'<$$$utVerwSub)) + ;Set blnShowSubmitButton=((sMode="A")||((blnHEIN)&&(sMode="W"))) + Set UrlHowTo="Help/HowTo.csp?Taal="_Taal + Write !,$c(9) + Write "
    " + Write !,$c(9)_"

    ",! + Write $c(9,9) + Write "" + Write "" + Write "" + Write (..WebTextValue("WSErrorsInfo",Taal,"O")),! + Write $c(9,9) + Write "" + Write (..WebTextValue("MeerInfo",Taal,"L")) + Write "" + Write " ...",! + Write $c(9)_"

    ",! + Write $c(9) + Write "
    " + Write ! + If '(blnHEIN) Goto %csp00006 ;{ + Write !,$c(9)_"

    ",! + Write $c(9,9)_"Die Bruttopreise verstehen sich ab Werk, zuzüglich der gesetzlichen Mehrwertsteuer.",! + Write $c(9)_"

    ",! +%csp00006 ;} + Write ! + If '((KLNr="")&&(blnVHEPN)) Goto %csp00007 ;{ + Write !,$c(9)_"

    ",! + Write $c(9,9)_(..WebTextValue("NotRegUserInfo",Taal,"O")),! + Write $c(9)_"

    ",! +%csp00007 ;} + Write !,$c(9)_"
    ",! + Write $c(9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    " + Write "" + Write (..WebTextValue("ActiesWizard",Taal,"L"))_":" + Write "" + Write "
    ",! + Write $c(9,9,9,9)_(..WebTextValue("ActiesWizardInfo2",Taal,"O"))_" " + Write "" + Write (..WebTextValue("MeerInfo",Taal,"L")) + Write "" + Write ".",! + Write $c(9,9,9)_"
    " + Write "" + Write (..WebTextValue("FinishWizard",Taal,"L",$LB("U"))) + Write "" + Write "" + Write "" + Write (..WebTextValue("FinishWizard",Taal,"O"))_" " + Write "" + Write "
    " +]]>
    +
    + + +c:\cachesys\csp\vhisie\TBX\WizOvz.csp + + + +/vhisie/TBX/WizOvz.csp + + + +61947,41902 + +
    +
    Index: Prod/Kenmerk/MetaDefinitie.cls.xml =================================================================== diff -u --- Prod/Kenmerk/MetaDefinitie.cls.xml (revision 0) +++ Prod/Kenmerk/MetaDefinitie.cls.xml (revision 2) @@ -0,0 +1,411 @@ + + + +persistent +%Library.Persistent +0 + + +1 +1 +Kenmerk + + + + +Aantal decimalen bij Float +%Library.Integer + + + + +Execute die nagaat of een veld afhankelijk van de rand informatie enabled of disabled moet zijn +%Library.String + + + + +Eenhedi van de numerieke ingaven (st, m, lm, m2, ...) +%Library.String + + + + +P=Popup is een beperkte lijst op voorhand vastgelegd +L=Lijst is een onbeperkte lijst, bepaald on runtime en kan door de gebruiker aangevuld worden. +%Library.String + + + + + +Prod.Kenmerk.MetaGroep +parent +MetaDefinities +1 + + + + +Kenmerk alleen voor interngebruik, om bv. vertalingen aan te duiden +%Library.Boolean + + + +%Library.String + + + + +Transformatie die de ingegeven kenmerkt moet ondergaan vooralleer bij de langtekst te worden gevoegd. +%Library.String + + + + +Vanuit de kenmerken kan de langtekst automatisch worden gegenereerd, de volgorde van de generatie. +%Library.Integer + + + +%Library.Integer + + + + + + +Maximale waarde bij Integer en Float +%Library.Float + + + + +Minimale waarde bij Integer en Float +%Library.Float + + + + +Er kunnen meerdere waarden ingegeven worden , het max. aantal waarden wordt hier ingevuld + +Bij lijst en popup is dit via een speciale dialogbox, bij getallen kan dit door ";" gescheiden ingave +%Library.Integer + + + + + + +Indien Multiple hoeveel velden moeten er dan getoond worden +%Library.Integer + + + + + +%Library.String + + + + +Optioneel om de kenmerken onder te verdelen in SubGroep +%Library.String + + + +%Library.String + + + + + + +Verplichte ingave dit veld mag niet leeg zijn +%Library.Boolean + + + +Prod.Kenmerk.VertaalTransAbstract +children +Kenmerk +1 + + + +%Library.Integer + + + +%Library.String +list + + + +%Library.String + + + +Sys.cTimeStamp + + + + +Geeft aan of dit kenmerk getoond moet worden op de E-Commerce site +%Boolean + + + +IsNew:%Library.Boolean=1 +%Library.Status + + + + + +De waarden voor de MetaDefinitie-objecten zitten in de routine "Kenm.Basis.MetaDefinitie.LoadObjects.MAC"]]> +1 +Groep:%Library.String + + + + + +Geeft de oref terug van het VertaalTransform-object dat het gegeven TextType bevat in VertalingsTypes. +(geeft leeg indien niet gevonden) +TextType:%Library.String +Prod.Kenmerk.VertaalTransAbstract + + + + + +Levert de parameter VertalingsGroep terug +%Library.String + + + + + +Hierarchie: + +- MetaDefinitie: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef +Dit omtrent alle VertalingsTypes dus (zijnde o.a. 'L','O','K',...) + +- emVertaalTrans: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef.emVertaalTrans obj. +Dit omtrent één VertalingsType + +FunctieResult: +$LB($LB(VertalingsType1,Sleutel1),$LB(VertalingsType2,Sleutel2),...) +%Library.String + + + + +%Library.String + + + + +1 +ID:%Library.String +%Library.String + + + + + +Mogelijke waarden voor ListItems: bvb.: "*" , "1" , "1;2" , "1;2;5;7"
    +Als ListSep niet leeg is, worden de vertaalde items geconcateneerd (met ListSep as separator) tot één +element van de $LB().]]>
    +LBX:%Library.String,ListSep:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +%Library.String + +
    + + +X:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L",ClearEmptyChar:%Library.Boolean=0 +%Library.String + + + + +%Library.SQLQuery +paGroep:%Library.String +SELECT ID,Groep,Decimalen,DisableWhen,Eenheid,Format, + Intern,Kenmerk,LangtekstTransform,LangtekstVolgNr, + Lengte,MaxValue,MinValue,Multiple,MultipleDisplay, + Omschrijving,Verplicht,VolgNr,WaardenSortering,ToelatenEC,SubGroep,SortType +FROM Prod_Kenmerk.MetaDefinitie +WHERE (Groep=:paGroep) +ORDER BY VolgNr + + + + + + +Lijst van de Kenmerken per groep, gesorteerd op VolgNr +%Library.SQLQuery +MGroep:%Library.String +SELECT ID, Kenmerk,WaardenSortering +FROM Prod_Kenmerk.MetaDefinitie +WHERE (Groep = :MGroep) +ORDER BY VolgNr + + + + + +%Library.CacheStorage +{%%PARENT}("MD") +MetaDefinitieDefaultData +{%%PARENT}("MD") +^Prod.Ken.MetaDefinitieI +^Prod.Ken.MetaDefinitieS + +%%CLASSNAME +node +0 + + + +Decimalen + + +DisableWhen + + +Eenheid + + +Format + + +Intern + + +LangtekstTransform + + +LangtekstVolgNr + + +Lengte + + +MaxValue + + +MinValue + + +Multiple + + +MultipleDisplay + + +Omschrijving + + +Verplicht + + +VolgNr + + +WaardenSortering + + +WijzigGebruiker + + +WijzigTijdstip + + +SortType + + +SubGroep + + +ToelatenEC + + + +
    +
    Index: vhLib/Mail.mac.rou =================================================================== diff -u --- vhLib/Mail.mac.rou (revision 0) +++ vhLib/Mail.mac.rou (revision 2) @@ -0,0 +1,105 @@ +#include vhLib.Macro + + + + // ========================================================================================================================================== + // Name : SendMiniMail + // Author : Tom Rombaut + // Function: Stuurt een minimail + // ========================================================================================================================================== +SendMiniMail(From,To,Subject,Body,BodyIsStream,IsHTML,AuthUser,AuthPwd,lbAttachments,ReplyTo,ccTo,BccTo) + #Include %occOptions + #Include %occStatus + + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("MiniMail_VoegServerPrefixToe")) + { + Set:($$$UCase(Subject)'[($$$Server)) Subject = "["_$$$Server_"]"_" "_Subject + } + + New SMTP,MM,auth,blnClearUser + Set BodyIsStream=$G(BodyIsStream,0) + Set SMTP=##class(%Net.SMTP).%New() + + Set SMTPServerNameOrIP=##class(TECH.Config.ConfigMgr).Instance().GetString("MiniMail_SMTPServerNameOrIP") + Set SMTP.smtpserver=SMTPServerNameOrIP + /* + If (##class(TECH.Config.ConfigMgr).Instance().GetBoolean("MiniMail_ ... ")) ; "..._UseSMTPServerAuthentication" + { + Set SMTP.smtpserver=SMTPServerNameOrIP ; "192.168.100.1" + If '$D(AuthUser) { ; Set default authentication + Set AuthUser="SMTPuser" + Set AuthPwd="���""&��" ; OPGELET: pwd bevat " ; uitgeschreven: ���"&�� (8 chars.) (==> 27031969) + Set blnClearUser=1 + } + } + */ + If $L($G(AuthUser)) Do + . Set auth=##class(%Net.Authenticator).%New() ; use default authentication list + . Set auth.UserName=AuthUser + . Set auth.Password=$G(AuthPwd) + . Set SMTP.authenticator=auth + . Set:($G(blnClearUser)) (AuthUser,AuthPwd)="" + Set MM=##class(%Net.MailMessage).%New() + Set MM.From=From + New Loop + For Loop=1:1:$LL(To) Do + . Do MM.To.Insert($LI(To,Loop)) + If $D(ccTo) Do + . For Loop=1:1:$LL(ccTo) Do + .. Do MM.Cc.Insert($LI(ccTo,Loop)) + If $D(BccTo) Do + . For Loop=1:1:$LL(BccTo) Do + .. Do MM.Bcc.Insert($LI(BccTo,Loop)) + Set MM.ReplyTo=$G(ReplyTo) + Set MM.Subject=Subject + If BodyIsStream Do + . Do MM.TextData.CopyFrom(Body) + Else Do + . Do MM.TextData.Write(Body) + Set:($D(IsHTML)) MM.IsHTML=IsHTML + ;Attachments + New Status,Loop,Attachment,DirAndFileName,LastSlashPos,Dir,FileName,Binary + Set Status=$$$OK + For Loop=1:1:$LL(lbAttachments) Do Quit:($$$ISERR(Status)) + . Set Attachment=$LI(lbAttachments,Loop) + . Set DirAndFileName=$LI(Attachment,1) + . Set Binary=$LG(Attachment,2,1) ; Default binary + . Set LastSlashPos=$L(DirAndFileName,"\")-1 + . Set Dir=$P(DirAndFileName,"\",1,LastSlashPos)_"\" + . Set FileName=$P(DirAndFileName,"\",LastSlashPos+1) + . Set Status=MM.AttachFile(Dir,FileName,Binary) + + Quit:($$$ISERR(Status)) Status + + Set Status=SMTP.Send(MM) + do MM.%Close() + do SMTP.%Close() + Quit Status + + + // SendMiniMail eXtended : + // Replace the domain "vanhoecke.be" in if also contains "vanhoecke.be" domain(s) +SendMiniMailXtd(From,lbTo,Subject,Body,BodyIsStream,Args6,Args7,Args8,lbAttachments,Args10) ; ,Args11,Args12) + #define MailsViaNotes01 1 + Do:('$$$MailsViaNotes01) smxSenderFakeDomain(.From,lbTo,,) + Quit $$SendMiniMail(.From,.lbTo,.Subject,.Body,.BodyIsStream,.Args6,.Args7,.Args8,.lbAttachments,.Args10) ; ,.Args11,.Args12) + Quit "" +smxSenderFakeDomain(From,lbTo,DomainOrig,DomainRepl) ; From als .local doorgeven + // Replace the domain "vanhoecke.be" in if also contains "vanhoecke.be" domain(s) + #define VHDomainReal "vanhoecke.be" + #define VHDomainFake "vhmail.be" + Quit:($G(lbTo)="") + Set DomainOrig=$$smxAddAt($G(DomainOrig,$$$VHDomainReal)) + Quit:($G(From)'[DomainOrig) + New i,blnReplace + Set blnReplace=0 + For i=1:1:$LL(lbTo) Set:($LG(lbTo,i)[DomainOrig) blnReplace=1 Quit:(blnReplace) + If blnReplace Do + . Set DomainRepl=$$smxAddAt($G(DomainRepl,$$$VHDomainFake)) + . Set From=$$$Replace(From,DomainOrig,DomainRepl) + Quit +smxAddAt(DomName) + Quit:($G(DomName)="") "" + Quit $S($E(DomName,1)="@":DomName, DomName["@":"@"_$P(DomName,"@",2), 1:"@"_DomName) + Quit DomName + \ No newline at end of file Index: WS/EC/WebShopClient/Confirm.cls.xml =================================================================== diff -u --- WS/EC/WebShopClient/Confirm.cls.xml (revision 0) +++ WS/EC/WebShopClient/Confirm.cls.xml (revision 2) @@ -0,0 +1,70 @@ + + + +WS.EC +%occInclude,%soap +%SOAP.ProxyDescriptor +WS.EC.WebShopClient + + +%Client,%Action,SessionID:%String,pxDynaPlug:BL.EC.pxDynaPlug +BL.EC.pxDynaPlug +1 + + + + +1 + + + + +http://vhisie.vanhoecke.be + + + +http://vhisie.vanhoecke.be + + + +document + + + +literal + + + +http://vhisie.vanhoecke.be + + + +complete + + + +%Result + + + +BL.EC.pxDynaPlug + + + + + +%Library.String + + + + +BL.EC.pxDynaPlug + + + + Index: Prod/GAMeta/BT/TBDraagKracht.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBDraagKracht.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBDraagKracht.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBDKD") +TBDraagKrachtDefaultData +^Res.PI.Items("PR;GA;TBDKD") +^Res.PI.Items("index","PR;GA;TBDK") +^Res.PI.Items("stream","PR;GA;TBDK") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Res/PI/OphangPlaats.cls.xml =================================================================== diff -u --- Res/PI/OphangPlaats.cls.xml (revision 0) +++ Res/PI/OphangPlaats.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + + Links of Rechts]]> +persistent +Res.PI.Items + + +%Library.String + + + + +Res.PI.Toepas +list + + + + +Ophalen van de items met beperking volgens Toepassing +%Library.SQLQuery +(ToepasID:%Library.String) +SELECT ID, ItemID, Omschrijving, Sort +FROM Res_PI.OphangPlaats +WHERE (Toepas LIKE ("%" || :ToepasID || "%")) +ORDER BY Sort + + + + + + +%Library.CacheStorage +OphangPlaatsDefaultData + +"OHP" + +KortTekst + + +Toepas + + + + + Index: Flow/OrderWMS/Sub.cls.xml =================================================================== diff -u --- Flow/OrderWMS/Sub.cls.xml (revision 0) +++ Flow/OrderWMS/Sub.cls.xml (revision 2) @@ -0,0 +1,187 @@ + + + +persistent +VHOpslag +%Library.Persistent + + +1 +1 +SUBOLNr + + + +%Library.Integer + +0 + + + +%Library.Integer + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +Flow.OrderWMS.Lijn +parent + +Subs +1 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + +Prod.Product + +0 + + + +%Library.Integer + +0 + + + +%Library.String + +0 + + + +%Library.String + +0 + + + + +Sys.cTimeStamp + +0 + + + +%Library.String + +0 + + + +%String + +0 + + + +%Library.String + +0 + + + +%Library.CacheSQLStorage +^Flow.Ord.SubS + +data +^ORDW +delimited + +"D" + + +{Hoofding.ConsolidatieNr} + + +"D" + + +{Lijn.ORDNr} + + +{Lijn.OLUNr} + + +{SUBOLNr} + + +"\" +4 + + +"\" +3 + + +"\" +9 + + +"\" +8 + + +"\" +5 + + +"\" +10 + + +"\" +1 + + +"\" +11 + + +"\" +2 + + +"\" +6 + + +"\" +12 + + +"\" +13 + + +"\" +7 + + + + + Index: BL/Lib/BaseObj.cls.xml =================================================================== diff -u --- BL/Lib/BaseObj.cls.xml (revision 0) +++ BL/Lib/BaseObj.cls.xml (revision 2) @@ -0,0 +1,72 @@ + + + + +Alle bussinessobjecten worden hiervan afgeleid. Kan generieke +methods bevatten. + +1 +serial +%Const +Default +%Library.RegisteredObject + + +%Library.String + + + +%Library.Boolean + + + +%Library.String + + + +ErrorMsg:%Library.String +cache +0 +document +literal + + + + +%Library.CacheSerialState +BaseObjState +^BL.Lib.BaseObjS + +"BL.Lib.BaseObj" + +ErrorLevel + + +ErrorOccured + + +EventQueue + + +LastErrorMsg + + +UseEvents + + +eqID + + + + + Index: BL/Prod/GAData/TBXLadeXML/pxEDIOrderLijn.cls.xml =================================================================== diff -u --- BL/Prod/GAData/TBXLadeXML/pxEDIOrderLijn.cls.xml (revision 0) +++ BL/Prod/GAData/TBXLadeXML/pxEDIOrderLijn.cls.xml (revision 2) @@ -0,0 +1,224 @@ + + + +1 +%RegisteredObject,%XML.Adaptor +0 + + + +Algemene data per lijn +%String + + + + +%String + + + + +%String +1 + + + + +pxAttribMunt + + + + +pxAttribMunt + + + + + +KleurKeuze: +%String + + + + +%String + + + + +%String +1 + + + + +%String + + + + +%String + + + + +%String + + + + +%String +1 + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Maten e.a. specifieke input data: +%String +1 + + + + +%String +1 + + + + +%String +1 + + + + +%String +1 + + + + +%String +1 + + + + +%String +1 + + + + + +Xml-tag was vroeger "ALG_FBEVEST", nu is FB per lijn en niet meer algemeen in het order. +%String +1 + + + + +%String +1 + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + + +Standaard Lade. Waarde: $$$tbxCodeStdLade = "Std" is gedefinieerd in %VHMacro.INC +%String + + + + + +ORGALUX Product (PRNr) +%String + + + + + +Info Diverse, is een array van ListItem objecten, wordt berekend in blTBox. +Geeft een opsomming van verschillende properties (XML:te tonen in één kolom) +WS.TBX.EM.ListItem +list + + + + + + +Property GAMeta As %String(XMLNAME = "GAMETA"); + +%String + + + + Index: csp/hpm.cls.xml =================================================================== diff -u --- csp/hpm.cls.xml (revision 0) +++ csp/hpm.cls.xml (revision 2) @@ -0,0 +1,155 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "" + Write "Hits per maand" + Write "" + Write "" + Write "
    " + Write " ",! + Write " ",! + Write " ",! + Write " " + Write "" + Write "Maand" + Write "" + Write "",! + Write " " + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Sessie" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Hits/Sessie" + Write "" + Write "
    " + Write "",! + Write "  ",! + Write " ",! + Write " " +%csp00002 If '(queryHPM.Next()) Goto %csp00001 ;{ + Write !," ",! + Write " " + Write "" + Write (queryHPM.Get("Maand")) + Write "" + Write "",! + Write " " + Write "
    " + Write "" + Write (queryHPM.Get("Hits")) + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write (queryHPM.Get("Sessies")) + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write ($J(queryHPM.Get("Hits")/queryHPM.Get("Sessies"),0,2)) + Write "" + Write "
    " + Write "",! + Write " " + Write "" + Write "" + Write " "_($J(queryHPM.Get("Hits")*100/TotHits,0,0))_"% " + Write "" + Write "",! + Write " ",! + Write " " + Goto %csp00002 +%csp00001 ;} + Write !," ",! + Write " " + Write "" + Write "Totaal" + Write "" + Write "",! + Write " " + Write "
    " + Write (TotHits) + Write "
    " + Write "",! + Write " " + Write "
    " + Write ""_(TotSessies)_"" + Write "
    " + Write "",! + Write " " + Write "
    " + Write ""_($J(TotHits/TotSessies,0,2))_"" + Write "
    " + Write "",! + Write "  ",! + Write " ",! + Write "",! + Write "
    " +]]>
    +
    + + +c:\cachesys\csp\httplog\hpm.csp + + + +/csp/httplog/hpm.csp + + + +59912,61206 + +
    +
    Index: WS/TBX/Order.cls.xml =================================================================== diff -u --- WS/TBX/Order.cls.xml (revision 0) +++ WS/TBX/Order.cls.xml (revision 2) @@ -0,0 +1,1122 @@ + + + +persistent +PRGACNTs,APPS.TBXWeb,TECH.Error +1 +WebOrder +%Persistent,%XML.Adaptor +0 + + +1 +1 +mID +1 + + + +KLNummer + + + +WebDomain + + + +ShowInHist + + + + +ID van het object +%Integer +0 + + + + + +Taal van de aanvrager +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%TimeStamp + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +WS.TBX.EM.OrderLijn +array + + + + + +%String + + + + +14 $LI(^WS.TBX.OrderD(i),14,14)=$LI(^WS.TBX.OrderD(i),14,14)_$LB("")]]> +%String + + + + +%String + + + + +%String + + + + + +%String + + + + + +%String +1 + + + + +%String +1 + + + + +%String + + + + +%String + + + + + +Logt de WSOrdToAdmin() acties: +Format: $LB($LB($H,OffID,info),$LB(prev $H, prev OffID,...), ...) +Bij een nieuwe transfer wordt de log steeds vooraan toegevoegd. Gebruik hiervoor de method AddToTransferLog() +%List + + + + + +Logt de SubmitToVHEPN acties: +Format: $LB($LB($H,info),$LB(prev $H, ...), ...) +Bij een nieuwe SubmitToVHEPN wordt de log steeds vooraan toegevoegd. Gebruik hiervoor de method AddToSubmitToVHLog() +%List + + + + +%String + + + + + + + +De optie Niet Meeleveren wordt toegepast op alle lijnen van het order. Vandaar als propt. van de hoofding i.p.v. de lijnen +Bevat ";"-gescheiden waarden : bvb. "NMCP;NMAK" +Uitzondering voor NMFB : Frontbevestiging niet meeleveren wordt per lijn gekozen : oLijn.ItemFB="NM" +%String + + + + + + +Berekende properties voor Proxy-klasse. +%String +1 + + + + + + +Waarde wordt on-the-flight berekend en ingevuld (proxy) +%String +1 + + + + + +%Integer + + + + +%String +list + + + + +IsNew:%Library.Boolean=1 +0 +%Library.Status +$G($$$StorageIndexNode)) $$$StorageIndexNode=id + Set:(id'=..mID) ..mID=id + Quit $$$OK +]]> + + + + +Verwijdert het object met (OID=ID) en vervangt het door het huidige object (door hetzelfde ID in the nemen). +Deze manier maakt het mogelijk vorige ID's te hergebruiken. +ID:%String +0 +%Status + + + + +%String + + + + +OffID:%String,SOAPDest:%String,Info:%String +1 +%Status + + + + +Status:%String,Info:%String +1 +%Status + + + + + +Geeft 1 (true) terug als : + - SubmitTS ingevuld is; m.a.w. offerte als BBON doorgestuurd + - of indien IsTransferredToAdmin() +1 +%Boolean +0)||(..IsTransferredToAdmin()) 1 +]]> + + + + +Gaat na of het Order reeds naar Admin ge-transferred is: + indien minstens 1 OffID in TransferLog gevonden wordt; m.a.w. WSOrdToAdmin() heeft een ID van Flow.Offerte.Hoofding opgeleverd +1 +%Boolean +0) blnOK=1 + Quit blnOK +]]> + + + + +Set the new TransfStatus. It is saved immedately. +1 +wsID:%String,NewStatus:%String +1 +%Status + + + + + +Set the new TransfStatus. It is saved immedately. +Oproepen via : + Set blnBusy=##class(WS.TBX.Order).TransfStatusCheckBusy(wsID) +1 +wsID:%String +1 +%Status + + + + + +Alle lijnen van een order omzetten naar een andere verpakking. +Meestal van S(tuk) naar bulk-verpakt C(ommissie zonder onderdelen) of commissie met O(nderdelen) +Kan toegepast worden net voor het importeren van een order via Tandembox-web in mode=PROCESS , verw=VHEPN . +NewValue:%String +1 +%String + + + + + +Geeft een $LB() terug met de DesignCodes voor iedere lijn van het order. +geeft dus meestal $LB("S","S",...,"S") of $LB("I", ...) terug omdat het hele WebOrder hetzelfde design bevat. +1 +%List + + + + + +Geeft DCM (= DesignCode Mode) terug voor het gegeven wsID. +1 +wsID:%String +1 +%String + + + + + +Creëert een WS-object en vul de data in. +Input arData-structuur: + arData(...) + arData("KLT",...) + arData("ALG","KLR",...) + arData("LN",i,...) + arData("LN",i,"KLR",...) +1 +arData:%String,NewID:%String +0 +WS.TBX.Order + + + + + +Vult de data (array) in het WS-object in. +Input arData-structuur: + arData(...) + arData("KLT",...) + arData("ALG","KLR",...) + arData("LN",i,...) + arData("LN",i,"KLR",...) +arData:%String +0 + + + + + +Creëert een arData Array van het huidige WSOrd-object (arData als .local doorgeven) +Output arData-structuur: + arData(...) + arData("KLT",...) + arData("ALG","KLR",...) + arData("LN",i,...) + arData("LN",i,"KLR",...) +arData:%String,blnIncludeLN:%Boolean=1 +0 + + + + + +Gaat de consistenties van WSOrd.Lijnen na. +Als er inconsistenties zijn, worden deze teruggegeven via de array "arErrs". +arErrs:%String,Taal:%String +1 +%Boolean + + + + +0 +%String + + + + +RefDatum:%String=$H,AantalDagenGeldig:%Integer=30 +%String + + + + + +Geeft datum/tijdstip in $H-formaat terug van de laatste submit (to VH). +OPGELET : submit to VH betekent voor de handels niet de submit van de klant, maar de submit van de handel naar VanHoecke +%String + + + + + +Optionele parameter RefDatum in $H-formaat meegeven. +Indien niet opgegeven, dan wordt $H als waarde genomen. Dit is in de meeste gevallen de juiste waarde om IsVervallen te testen. + +%String +0) + If (IsVervallen) + { + Set VervalReden = ##class(APPS.TBXWeb.enu.RedenOfferteVervallen).DuurOfferteVerstreken() + } + Else + { + If (..ActieCodesList.Count() > 0) Set IsVervallen = IsVervallen || ('..ZijnActiesNogGeldig(RefDatum)) + If (IsVervallen) + { + Set VervalReden = ##class(APPS.TBXWeb.enu.RedenOfferteVervallen).ActieVervallen() + } + } + } + + Quit IsVervallen +]]> + + + +RefDatum:%String=$H +%Boolean + + + + +%String + + + + +RefDatum:%String=$H +%String + + + + + +Maakt de unie van de ActieCodes (op lijnniveau) en vult die in in de ActieCodesList van het WSOrd (hoofding). + + + + +ActieCode:%String + + + + +Rol:%String +%Boolean + + + + + +Het WSOrder van BBON herzetten naar OFF. +Geeft het WSOrder-object terug voor eventuele verdere verwerking. +Method handmatig oproepen via : + s WSOrd=##class(WS.TBX.Order).ResetToOFF(314) w WSOrd_$S('WSOrd:"",1:" BonType:"_WSOrd.BonType),! +1 +wsID:%String,blnResetLevT:%Boolean,blnSaveObj:%Boolean=1 +WS.TBX.Order + + + + + +Het WSOrder van INKP herzetten naar BBON. +Geeft het WSOrder-object terug voor eventuele verdere verwerking. +Method handmatig oproepen via : + s WSOrd=##class(WS.TBX.Order).ResetToBBON(314) w WSOrd_$S('WSOrd:"",1:" BonType:"_WSOrd.BonType),! +1 +wsID:%String,blnSaveObj:%Boolean=1 +WS.TBX.Order + + + + + +De status ShowInHist van het WSOrder wijzigen, zodat het order al dan niet zichtbaar wordt in de Historiek. +Geeft het WSOrder-object terug voor eventuele verdere verwerking. +Method handmatig oproepen via : + s WSOrd=##class(WS.TBX.Order).UpdateShowInHist(314,80,,) w WSOrd_$S('WSOrd:"",1:" ShowInHist:"_WSOrd.ShowInHist),! +1 +wsID:%String,NewStatusH:%String,ClientHostIP:%String="",blnSaveObj:%Boolean=1 +WS.TBX.Order +$$$shShownForAll) "" + If $G(NewStatusH)="" Do Quit:(ClientHostIP="") "" + . Set blnIsExternIP=(ClientHostIP'?1"192.168.1.".E) + . Set NewStatusH=$S(blnIsExternIP:$$$shShownForKlant, 1:$$$shShownForVHEPN) + Set WSOrd.ShowInHist=NewStatusH + If blnSaveObj Do + . Set scSave=WSOrd.%Save() + . w:$$$ISERR($G(scSave)) "SaveObj status"_$$ParseStatus^vhLib(scSave),! + Do:(1) ushUpdateTBXLog() + Quit WSOrd + +ushUpdateTBXLog() + Set:(ClientHostIP'?1.3N3(1"."1.3N)) ClientHostIP=$S(NewStatusH'<$$$shShownForKlant:"192.999.1.999", 1:"192.168.1.999") ; ATTENTION: if an ExternIP already present in the log, the order remains visible in Hist. + Do ##class(cspBasis.GAProdTBox).SetOrderShowInHist(WSOrd.%Id(), WSOrd.KLNummer, ClientHostIP, WSOrd.WebDomain, $G(VhisieLogin)) + Quit +]]> + + + + +Aan het WSOrder een Klant toewijzen en tevens van OFFAV omzetten naar OFF +Geeft het WSOrder-object terug +Method handmatig oproepen via : + s WSOrd=##class(WS.TBX.Order).AssignKlantToOFFAV(314,1000) w WSOrd_$S('WSOrd:"",1:" BonType:"_WSOrd.BonType),! +1 +wsID:%String,KLNr:%Boolean,blnSaveObj:%Boolean=1 +WS.TBX.Order +', KLNummer = 1000, KLStraatNrBus ='', KLPostNr = , KLWoonPlaats = '', KLTelefoon ='', KLFax = '', KLEMail = '' +WHERE ID=xxxxx + + */ +]]> + + + + +Wijzigen van de property Exclude van een WSLijn. +Bij Exclude=1 wordt deze TBX-lijn niet geïmporteerd into Admin (wordt bij herberekenen ook geskipped). + +Oproepen via : + s sc=##class(WS.TBX.Order).WSLijnWijzigExclude(wsID,LijnNr,blnNewValue) w sc,! +1 +wsID:%String,LijnNr:%Boolean,NewValue:%Boolean +%Status + + + + +CommReferentie:%String,LeverDatum:%String,Opmerking:%String +%Boolean + + + + +0 +%String + + + + +1 +Nr:%String +0 +%String + + + + +1 +EDINr:%String,blnCheckID:%Boolean=1 +%String +1000000):(EDINr-1000000), 1:EDINr) + Quit $S('$G(blnCheckID,1):ID, ..%ExistsId(ID):ID, 1:"") +]]> + + + +1 +Domain:%String,lbFieldName:%List +0 +%List + + + + +%Boolean + + + + +VERW:%String="",Taal:%String="" +%String + + + + +%Library.CacheStorage +^WS.TBX.OrderD +OrderDefaultData +^WS.TBX.OrderD +^WS.TBX.OrderI +^WS.TBX.OrderS + +Lijnen +subnode +"LN" + + + +%%CLASSNAME + + +BonType + + +Commissie + + +IngaveTijdStip + + +KLFax + + +KLNaam + + +KLNummer + + +KLPostNr + + +KLStraatNrBus + + +KLTelefoon + + +KLWoonPlaats + + +LeverTijd + + +Taal + + +TotPrijs + + +TotAantal + + +KLEMail + + +StdLade + + +WebDomain + + +WebURL + + +WebQSData + + +KLPrijsKlasse + + +SubmitTS + + +KLKorting + + +KLBTWNr + + +TransferLog + + +SubmitToVHLog + + +LeverTijdID + + +Opmerking1 + + +NietMeeleveren + + +ShowInHist + + +TransfStatus + + +ActieCodesList + + + + + Index: TECH/Enumeration.cls.xml =================================================================== diff -u --- TECH/Enumeration.cls.xml (revision 0) +++ TECH/Enumeration.cls.xml (revision 2) @@ -0,0 +1,33 @@ + + + +datatype +1 +%String +0 + + +1 +%ListOfDataTypes + + + + +1 +TECH.ListIterator + + + + Index: cspBasis/ProductMenu/tmpDev.mac.rou =================================================================== diff -u --- cspBasis/ProductMenu/tmpDev.mac.rou (revision 0) +++ cspBasis/ProductMenu/tmpDev.mac.rou (revision 2) @@ -0,0 +1,170 @@ + +InitializeCSP + // Set time out to 15 minutes = 900 seconds + Set %session.AppTimeout=900 + + Set GroepID="OL" + Set ComputerName=$ZUTIL(110) + Set NameSpace=$ZUTIL(67,6,$J) + Set Taal=$ZCVT($G(%request.Data("taal",1)), "U") + Set:(Taal="")!("N;F;D;E"'[Taal) Taal="N" ; VH's Default + Set MenuArray="" + Do ##class(cspBasis.ProductMenu).PrepareMenus("MenuArray",GroepID) + Do ##class(cspBasis.ProductMenu).StripEmptyMenus("MenuArray") + Do ##class(cspBasis.ProductMenu).VertaalMenus("MenuArray","MenuVTL",Taal,GroepID) + ; "MenuVTL" loopt gelijk met "MenuArray". Deze laatste bevat de interne waarden + Quit + +PrepareMenus ; Parameters: Ref,GroepID +#define TRIM(%v) $ZSTRIP(%v,"<>W") + New rsMain,MetaMain,SortMain,MainVal + New rsSub, MetaSub, SortSub, SubVal, LBSub + New i,j, ii,jj, I + + ;Do DEBUG^%Serenji("labelDebug+1^"_$zn,"192.168.1.97") + ;labelDebug + Kill @Ref + Set @Ref="" + Set (SortMain,SortSub)="" + Set MetaMain=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||ProductType") + Set MetaSub=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||SubType") + Set:(MetaMain) SortMain=$$pmnObjectListToLB(MetaMain.WaardenSortering) + Set:(MetaSub) SortSub=$$pmnObjectListToLB(MetaSub.WaardenSortering) + Do:(MetaMain) MetaMain.%Close() + Do:(MetaSub) MetaSub.%Close() + + Set rsMain=##class(%ResultSet).%New("Prod.Kenmerk.DataDefinitie:LijstBeperkteKenmerkWaarden") + Do rsMain.Execute(GroepID,"ProductType","ProductType","%") + For Quit:'rsMain.Next() Do + . Set MainVal=$$$TRIM($LG(rsMain.GetData(1),1)) + . Quit:('$L(MainVal)) + . Set i=$$pmnGetLBIndex(SortMain,MainVal) ; sorteer-positie + . ;Set i=$$pmnGetSortIndex($LF(SortMain,MainVal),$Na(@Ref)) ; sorteer-positie + . Set @Ref@(i)=MainVal + . Set rsSub=##class(%ResultSet).%New("Prod.Kenmerk.DataDefinitie:LijstBeperkteKenmerkWaarden") + . Do rsSub.Execute(GroepID,"SubType","ProductType","%"_MainVal_"%") + . For Quit:'rsSub.Next() Do + .. Set SubVal=$$$TRIM($LG(rsSub.GetData(1),1)) + .. Quit:('$L(SubVal)) + .. Set jj=$$pmnGetLBIndex(SortSub,SubVal) + .. ;Set jj=$$pmnGetSortIndex($LF(SortSub,SubVal),$Na(@Ref@(i))) ; sorteer-positie + .. Set @Ref@(i,jj)=SubVal + . Do rsSub.%Close() + Do rsMain.%Close() + Quit +pmnObjectListToLB(objList) + New Key,Val,LB + Set LB="" + Set Key="" + For Set Val=objList.GetNext(.Key) Quit:(Key="") Set LB=LB_$LB($$$TRIM(Val)) + Quit LB +pmnGetLBIndex(SortLB,Val) + ; Geeft positie van Val in SortLB terug. Als Val niet voorkomt, wordt deze achteraan toegevoegd. + Set I=$LF(SortLB,Val) + If I=0 Do + . Set SortLB=SortLB_$LB(Val) + . Set I=$LL(SortLB) + Quit I +pmnGetSortIndex(I,SortRef) + ; Vorige methode om de SortIndex te bepalen. + If (I=0)&&(+$O(@SortRef@(""))'>0) Set I=$O(@SortRef@(""))-1 ; Negatief opbouwen + Quit I + + +StripEmptyMenus ; Parameters: Ref + ; Maakt de volgnummers (nodes, subnodes) van @Ref aaneensluitend (1-2-3-4-5 ipv. 1-2-6-8-9). + Quit:($G(Ref)="") + Quit:('$D(@Ref)) + New i,j,ii,tmpRef + Set i="" + For Set i=$O(@Ref@(i)) Quit:(i="") Do + . Set ii=$O(tmpRef(""),-1)+1 + . Set tmpRef(ii)=@Ref@(i) + . Set j="" + . For Set j=$O(@Ref@(i,j)) Quit:(j="") Do + .. Merge tmpRef(ii,$O(tmpRef(ii,""),-1)+1)=@Ref@(i,j) + Kill @Ref + Merge @Ref=tmpRef + Quit + +VertaalMenus ; Parameters: InRef,OutRef,Taal,GroepID +#define TextType "K" + Quit:($G(InRef)="") + Set:($G(OutRef)="") OutRef=InRef ; als OutRef="" (leeg), dan vertaal en vervang @InRef. OPGELET: als OutRef niet gegeven ($D <--> $G), dan Default + If '$D(@InRef) Do Quit + . Kill @OutRef + . Set @OutRef="" + ; Objecten van MetaDefinitie zijn noodzakelijk voor de vertalingen + New MetaMain,MetaSub,i,j,ii,tmpRef + Set MetaMain=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||ProductType") + Set MetaSub=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||SubType") + If ('MetaMain)!('MetaSub) Do Quit + . ; Als Metadefinitie niet bestaat kan geen vertaling uitgevoerd worden. + . ; @InRef kopi�ren naar @OutRef + . If $Na(OutRef)'=$Na(InRef) Do + .. Kill @OutRef + .. Merge @OutRef=@InRef + . Do:(MetaMain) MetaMain.%Close() + . Do:(MetaSub) MetaSub.%Close() + ; Else: vertaling maken in tmpRef + Set i="" + For Set i=$O(@InRef@(i)) Quit:(i="") Do + . Set tmpRef(i)=MetaMain.VertaalItem(@InRef@(i),Taal,$$$TextType) + . Set j="" + . For Set j=$O(@InRef@(i,j)) Quit:(j="") Do + .. Set tmpRef(i,j)=MetaSub.VertaalItem(@InRef@(i,j),Taal,$$$TextType) + Do MetaMain.%Close() + Do MetaSub.%Close() + ; Copy tmpRef into @OutRef + Kill @OutRef + Merge @OutRef=tmpRef + Quit + + +CreateJSArrays() ; Parameters: RefCode,RefVTL,Taal +#define CrLf $C(13,10) +#define sErr i_","_j +#define CommaWhenNext $S($O(@RefCode@(i,j))="":"", 1:",") + ; Genereert JavaScript arrays voor ieder ProductType. + ; Code is zoals in volgend voorbeeld: + ; var SubURL1="ProductType=Bestekindeling&SubType="; + ; arMNU_GR1 = new Array ( + ; "Houten bestekinzetten", BaseURL+SubURL1+"Houten bestekinzetten", 0, + ; "Kunststof bestekinzetten", BaseURL+SubURL1+"Kunststof bestekinzetten", 0, + ; "Indelingssysteem ORGA-LINE", BaseURL+SubURL1+"Indelingssysteem ORGA-LINE", 0 + ; ); + + Quit:($G(RefCode)="") + Quit:($G(RefVTL)="") + New sAll,sNew,i,j + //Set sAll="var BaseURL=""ProductList.csp?taal="_Taal_"&"";"_$$$CrLf + Set sAll="" + Set i="" + For Set i=$O(@RefCode@(i)) Quit:(i="") Do + . If @RefCode@(i)="Nieuwigheden" Do Quit + .. Set sAll=sAll_$$csjNieuwigheden(i) + . Set sNew=""_$$$CrLf + . Set sNew=sNew_"var SubURL"_i_"=""ProductType="_@RefCode@(i)_"&SubType="";"_$$$CrLf + . Set sNew=sNew_"arMNU_GR"_i_" = new Array ("_$$$CrLf + . Set j="" + . For Set j=$O(@RefCode@(i,j)) Quit:(j="") Do + .. Set sNew=sNew_""""_$G(@RefVTL@(i,j),$$$sErr)_""", BaseURL+SubURL"_i_"+"""_@RefCode@(i,j)_""", 0"_$$$CommaWhenNext_$$$CrLf + . Set sNew=sNew_")"_$$$CrLf + . Set sAll=sAll_sNew + Quit sAll +csjNieuwigheden(Num) + New UrlNew + Set UrlNew=##class(Res.VertalingLink).GetLinkVertaling("PK",@RefCode@(Num,1),"LI",Taal,,"WWW") + Set sNew=""_$$$CrLf + Set sNew=sNew_"arMNU_GR"_(Num)_" = new Array ("_$$$CrLf + Set sNew=sNew_""""_$G(@RefVTL@(Num,1),$$$sErr)_""", """_UrlNew_""", 0"_$$$CrLf + ;Set sNew=sNew_""""_$G(@RefVTL@(Num,1),$$$sErr)_""", ""http://testorga/nl_brochure.htm"", 0"_$$$CrLf + Set sNew=sNew_")"_$$$CrLf + Quit sNew + +WebTextValue() ; Parameters: Intern,Taal,TextType +#define WEBTYPE "OLW" + Quit:($G(Intern)="") "" + New Val + Set Val=##class(Res.Vertaling).GetVertaling($$$WEBTYPE,Intern,TextType,Taal) + Quit $S(Val="":Intern_" ("_TextType_"-"_Taal_")", 1:Val) \ No newline at end of file Index: Prod/GAMeta/BT/TBBoxSide.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBBoxSide.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBBoxSide.cls.xml (revision 2) @@ -0,0 +1,68 @@ + + + +persistent +%Library.Persistent,Prod.GAMeta.BT.TBAbstract + + +0 +1 +1 +ItemID +1 + + + + +SELECT %ID,ItemID,KortTekstCode,Omschrijving,VolgNr FROM TBBoxSide +%SQLQuery +SELECT ID,ItemID,Omschrijving,VolgNr FROM Prod_GAMeta_BT.TBBoxSide ORDER BY VolgNr + + + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBBSD") +TBBoxSideDefaultData +^Res.PI.Items("PR;GA;TBBSD") +^Res.PI.Items("index","PR;GA;TBBS") +^Res.PI.Items("stream","PR;GA;TBBS") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Prod/Klas/Klas.cls.xml =================================================================== diff -u --- Prod/Klas/Klas.cls.xml (revision 0) +++ Prod/Klas/Klas.cls.xml (revision 2) @@ -0,0 +1,191 @@ + + + +persistent +1 +VHOpslag +%Persistent + + +1 +1 +KKey +1 + + + +%String + +0 + + + + +%String + +0 + + + + +%String + +0 + + + + + +Default dekkingsbijdrage voor een subgroep +%Float + +0 + + + + +Aanduiding of de structuur moet getoond worden in e-commerce +{0,1,2} waar +0 = Niet tonen; +1 = Geen Subgroep; +2 = Tonen en heeft subgroep (kan alleen bij groep} +%Integer + +0 + + + +%Integer + +0 + + + +%String + +0 + + + + +%String + +0 + + + + +%Integer + +0 + + + +%Integer + +0 + + + +%Integer + +0 +1 + + + +%String + +0 + + + +%Integer + +0 + + + +%Integer + +0 + + + +%Integer + +0 + + + +%CacheSQLStorage +^WS.EC.ContractOrdersS + +data +^KLAS + +"K" + + +{KKey} + + +"\" +6 + + +"\" +5 + + +"\" +7 + + +"\" +11 + + +"\" +12 + + +"\" +9 + + +"\" +14 + + +"\" +15 + + +"\" +8 + + +"\" +13 + + +"\" +10 + + +"\" +3 + + +"\" +2 + + +"\" +4 + + + + + Index: _vhisie/TBX/SelectSPZK.css =================================================================== diff -u --- _vhisie/TBX/SelectSPZK.css (revision 0) +++ _vhisie/TBX/SelectSPZK.css (revision 2) @@ -0,0 +1,49 @@ +@charset "utf-8"; +/* CSS Document */ + +.tblMain { + text-align: left; + float: left; +} +.rdbtn { + color: #666; +} +.Caption { + font-size: 12px; + font-style: normal; + line-height: normal; + text-transform: none; + font-family: Verdana, Geneva, sans-serif; + left: 15px; +} +.edtFields { + font-size: 12px; + font-style: normal; + line-height: normal; + text-transform: none; + font-family: Verdana, Geneva, sans-serif; + left: 15px; + width: 75px; + text-align: right; +} + +.clsTableHeader { + font-size: 14px; + font-style: normal; + line-height: normal; + text-transform: none; + font-family: Verdana, Geneva, sans-serif; + left: 15px; + width: 75px; + color: #F60; + font-variant: small-caps; + font-weight: bolder; +} + +.clsWarning { + font-size: 12px; + line-height: normal; + font-family: Verdana, Geneva, sans-serif; + color: #F00; + font-weight: bolder; +} Index: Res/PI/VertalingsGroep.cls.xml =================================================================== diff -u --- Res/PI/VertalingsGroep.cls.xml (revision 0) +++ Res/PI/VertalingsGroep.cls.xml (revision 2) @@ -0,0 +1,54 @@ + + + + +Vertalingsgroep lijst +persistent +Res.PI.Abstract,%Library.Persistent + + +1 +1 +ItemID +1 + + + +%Library.SQLQuery +() +SELECT ItemID, Omschrijving, VolgNr +FROM Res_PI.VertalingsGroep +ORDER BY VolgNr + + + + + + +%Library.CacheStorage +^Res.PI.Items("VTGD") +TypeDefaultData +^Res.PI.Items("VTGD") +^Res.PI.Items("VTGI") +^Res.PI.VertalingsGroepS + + +Omschrijving + + +VolgNr + + + +TaalOms +subnode +"TO" + + +%%CLASSNAME +node +0 + + + + Index: EWMS/SQLGCWrapper.cls.xml =================================================================== diff -u --- EWMS/SQLGCWrapper.cls.xml (revision 0) +++ EWMS/SQLGCWrapper.cls.xml (revision 2) @@ -0,0 +1,730 @@ + + + + +SQL Gateway Connection Wrapper + +Alloc statement +Connect +CloseCursor +Disconnect +%Const +%Library.RegisteredObject + + +0 +0 + + + +0 + + + +0 +EWMS_STAT + + + +0 + + + +0 +sa + + + +0 +\\cache01\c$\vhlogs\ + + + +0 +txt + + + +0 +SQLGCLog + + + +%Library.Boolean +0 +0 + +1 +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +$$$NULLOREF +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Library.List +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 +0 + + + +%Library.Boolean +0 +0 + +0 +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +$$$NULLOREF +0 +0 +0 +0 +0 +0 + + + +0 +0 +code + +0 +%Library.Status +0 + + + + +0 +0 +code + +0 +%Library.Status +0 + + + + +0 +0 +code +Line:%Library.String +0 +0 + + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + +0 +0 +code +ManualCommit:%Library.Boolean=0 +0 +%Library.Boolean +0 +Off +]]> + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + +0 +0 +code +SQLGCWrapper:%Library.String,SQL:%Library.String +0 +%Library.Boolean +0 + + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + +0 +0 +code +Value:%Library.String +0 +%Library.Status +0 +0) Do + .. Set i%LastErrorMsg=Value_$C(13,10,13,10)_"SQL Gateway Errorlist:"_$C(13,10)_$$LCVT^vhLib(ErrorList) + + Do ..AddToLog(..LastErrorMsg) + + ;If ..FLogFile'=$$$NULLOREF Do + ;. Do ..FLogFile.Flush() + ;. Do ##class(%File).CopyFile(..#logFileName,$P(..#logFileName,".",1)_" "_$zdt($h,2,2)_" Job "_$J_"."_$P(..#logFileName,".",2)) + + If ..AutoShowErrorMsg Do + . If $D(MApplication) Do + .. Do MApplication.MessageBox(..LastErrorMsg,"SQL Gateway",$$$MBICONERROR) + . Else If $$IsTerminal^vhLib() Do + .. Write ..LastErrorMsg,! + + Quit $$$OK +]]> + + + +0 +0 +code +SQL:%Library.String +0 +%Library.Boolean +0 + + + + +0 +0 +code +Option:%Library.String,Value:%Library.String +0 +%Library.Boolean +0 + + + + +0 +0 +code +Number:%Library.Integer,Value:%Library.String +0 +%Library.Boolean +0 + + + + +0 +0 +code +Type:%Library.String +0 +%Library.Boolean +0 + + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + Index: Prod/GAData/Product.cls.xml =================================================================== diff -u --- Prod/GAData/Product.cls.xml (revision 0) +++ Prod/GAData/Product.cls.xml (revision 2) @@ -0,0 +1,1000 @@ + + + +0 +0 +persistent +0 +PRGACNTs +0 +%Library.Persistent,%XML.Adaptor +0 +0 + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 + + + +Derde.Klant.Klant +0 +0 + +0 +0 +0 +0 +0 + + + + +Prod.GAData.Item +0 +0 +children + +Product +0 +0 +1 +0 +0 +0 + + + +Prod.GAData.KostPrijs +0 +0 +children + +Product +0 +0 +1 +0 +0 +0 + + + +Prod.GAMeta.Struct +0 +0 + +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 + + + +Prod.Product +0 +0 + +0 +0 +0 +0 +0 + + + + +Prod.GAData.Template +0 +0 + +0 +0 +0 +0 +0 + + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 + + + +%String + + + + +Bij een product dat afgeleid is van een Template, wordt de bovenstaande +propt. "Template" niet bewaard. Daarvoor is deze "TemplateTmp", +welke ingevuld wordt door het oproepen van de method ..TemplateTmpInit() . +Prod.GAData.Template +0 +0 + +0 +0 +0 +0 +1 + + + + + +Voor de structuur: zie method ..BuildLookUp(lbNodes) +%Library.String +0 +0 + +1 +0 +0 +0 +1 + + + +%Library.String +0 +0 + +1 +0 +0 +0 +1 + + + + +bevat de gecumuleerde waarden op subgroep-, groep- en +hoofdgroep-niveau van de data-items (enkel van params die moeten +gecumuleerd worden) +%Library.String +0 +0 + +1 +0 +0 +0 +1 + + + +0 +0 +code +IsNew:%Library.Boolean=1 +0 +%Library.Status +0 + + + + + +SaveClean verwijdert een aantal DataItem.Parameter objecten, die niet moeten opgeslagen worden. +Het is NIET mogelijk deze opkuis te integreren in the %OnBeforeSave() method, want "Save deleted objects" geeft conflicten! +Daarom deze custom %Save() routine, die de CleanUpMem() vooraf oproept. +%Library.Status + + + + + + + + + +Mogelijke waarden voor Action zijn: "FILL", "CLEAR". +De parameter Templ is optioneel; als deze niet meegegeven is, wordt de template via TemplateCode geopend. + +0 +0 +code +Templ:Prod.GAData.Template,Action:%Library.String="FILL" +0 +0 + + + + + +Maakt een nieuw product, vertrekkende van een bestaand product (gegeven door ProductID), +en kopieert alle properties, DataItems (en KostPrijzen). +0 +1 +code +ProductID:%Library.String +0 +Prod.GAData.Product +0 + + + + + +Maakt een nieuw product, vertrekkende van het tempate-product (gegeven door TemplateID), +en kopieert alle DataItems. +0 +1 +code +TemplateID:%Library.String +0 +Prod.GAData.Product +0 + + + + + +Maakt een array met de hierarchische structuur van Struct op basis van Code/ID en gesorteerd volgens Nr: + Struct - Groep - SubGroep - Item + +0 +0 +code +Ref:%Library.String="arStruct" +0 +0 + + + + +
    + +"SG":
    + ..LookUp("SG",SubGroepCode) =$LB(Oref SubGroep)
    +"PL":
    + ..LookUp("PL",ProgLabel)=ParamVal
    +"ICode"
    + ..LookUp("IC",Item.Code,"PL",ProgLabel)=""
    + ..LookUp("PLItem","IC")=Item.Code
    + ..LookUp("PLItem","IOref")=Oref Item
    +"ISort"
    + ..LookUp("ISort",SubGroepCode,"Code",Item.Code)=""
    + ..LookUp("ISort",SubGroepCode,"VNr",Item.VolgNr)="" +]]>
    +0 +0 +code +lbNodes:%Library.List +0 +0 + +
    + + +0 +0 +code +Ref:%Library.String="arTree",blnShowPrijs:%Library.Boolean=0 +0 +0 + + + + +0 +0 +code +Ref:%Library.String="arTree" +0 +0 + + + + +0 +0 +code + +0 +0 + + + + +0 +0 +code +Aantal:%Library.Integer +0 +%Library.Float +0 + + + + + +Vertaalt de CheckArray naar beter begrijpbare teksten. +Als blnAsText=1, dan wordt alles in één geheel (gescheiden door CRLFs) aan de hoofdnode +van CheckArrayOut toegekend. Anders is de structuur van CheckArrayOut als volgt: + +CheckArrayOut(1)="Melding1" +CheckArrayOut(2)="Melding2" +... + +0 +1 +code + +0 +0 + + + + +0 +0 +code +ClearMode:%Library.String +0 +0 + + + + +0 +0 +code + +0 +%Library.Integer +0 + + + + + +Kopieert alle DataItems van het gegeven product (Prod) naar het huidige product. +Ook de parent/child relatie wordt gelegd tussen elk gekopieerde DataItem en het huidige product. +0 +0 +code +Prod:Prod.GAData.Product,ItemsCopyMode:%Library.String="NotProd" +0 +0 + + + + + +Copy maken van GAData.Product in een nieuw object. +Verschillende CopyModes: "FullCopy" (=Default), "Empty" +0 +0 +code +CopyMode:%Library.String="FullCopy" +0 +0 + CopyObj + + Quit CopyObj +]]> + + + + +Gebruik voor opbouw van de Items in een nieuwe Template (product). +0 +0 +code + +0 +0 + + + + + +Returns the Child-object with the given ChildID (without ParentID), or "" if not found. +Parameter Key is passed by Reference and gets the value of the position in the collection of Childs. +0 +0 +code + +0 +Prod.GAData.Item +0 + + + + + +Ophalen van het dossiernr indien het nog niet bestaat dan invullen +0 +0 +code +GenPRNr:%Library.String +0 +0 + + + + + +Parameter Key is passed by Reference and gets the value of the position in the collection of Childs. +]]> +0 +0 +code + +0 +%RegisteredObject +0 + + + + + +%RegisteredObject + + + + + +Geeft het gewicht volgens het gevraagde type +"N" : Netto +"T" : Tarra +"B" : Brutto +Gewicht in gram met twee cijfers na de komma +0 +0 +code +Type:%Library.String="N" +0 +%Library.Float +0 + + + + + +GenPRNr is een verplichte parameter.]]> +0 +0 +code +GenPRNr:%Library.Integer,QtyStaffel:%Library.String=1 +0 +0 + + + + + +Deze method kan slechts opgeroepen worden (TBX) als het Product berekend is + + + + +0 +0 +code + +0 +%Library.String +0 + + + + + +Returns the Child-object with the given ChildID (without ParentID), or "" if not found. +Parameter Key is passed by Reference and gets the value of the position in the collection of Childs. +0 +0 +code + +0 +Prod.GAData.KostPrijs +0 + + + + + +Formateer de langtekst van een product in de geselecteerde taal +0 +0 +code + +0 +0 + + + + + +Gebruik voor opbouw van de Items in een nieuwe Template (product). +0 +0 +code +MetaItem:Prod.GAMeta.Item,SGCode:%Library.String,Code:%Library.String,VolgNr:%Library.Integer +0 +Prod.GAData.Item +0 + + + + +0 +1 +code +Template:Prod.GAData.Template +0 +0 + + + + + +Opent het GAData.Product en berekent alle gegevens die niet bewaard worden. +0 +1 +code +ProdID:%Library.String +0 +Prod.GAData.Product +0 + + + + +1 +ProdID:%String +%Integer + + + + +0 +0 +code + +0 +%String +0 + + + + +0 +0 +code + +0 +Prod.GAData.Template +0 + + + + +0 +0 +code + +0 +Prod.GAData.Template +0 + + + + +0 +0 +code +Msg:%Library.String +0 +0 + + + + + +bvb. voor het updaten van een ProgLabel in de LookUp. +0 +0 +code +Node:%Library.String,lbItems:%Library.List +0 +0 + + + + + +bvb. voor het updaten van een ProgLabel in de LookUp. +0 +0 +code +Node:%Library.String,lbItems:%Library.List +0 +0 + + + + + +Geeft de waarde van een proglabel +0 +0 +code +ProgLabel:%Library.String +0 +%Library.String +0 + + + + + +Vult de waarde van een Item in. Het Item is bepaald door ProgLabel +ProgLabel:%Library.String,ItemVal:%Library.String +%Library.Status + + + + + +Valideert de producten van alle DataItems en geeft aan of alle producten OK zijn (geeft 0 of 1 terug). + +0 +0 +code + +0 +%Library.Integer +0 + + + + + +%Library.String + + + + + + +Opties :
  • +GAF : Full XML-beschrijving; i.e. met tag < PRODUCTEN >
  • +GAV : VML-code toevoegen
  • +GA0 : met Omschrijving van de data in de XML-tags
  • +VMLH,VMLC : Opties voor VML-gedeelte: zie KaderDeur.XMLVectorWrite
  • +. + +

    +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 +^Prod.GAData.ProductD +ProductDefaultData +^Prod.GAData.ProductD +^Prod.GAData.ProductI +^Prod.GAD.ProductS + +%%CLASSNAME +node +0 + + +listnode + +MetaStruct + + +Omschrijving + + +PRNr + + +TemplateCode + + +Template + + +Dossier + + +Product + + +TemplateTmp + + +Klant + + +TemplateVersion + + + + + Index: _vhisie/TBX/Help/HowTo.csp =================================================================== diff -u --- _vhisie/TBX/Help/HowTo.csp (revision 0) +++ _vhisie/TBX/Help/HowTo.csp (revision 2) @@ -0,0 +1,412 @@ + + + + + + + + #(..WebTextValue("TBoxInfo",Taal,"L"))# + + + + + +
    + + + + +
    + + + + + + + + + + + + + +
    #(..WebTextValue("Help",Taal,"L",$LB("U")))#
     
     
    + + + INDEX:
    + + + → TANDEM-BOX +
    +
    +
    +
    + + + + + + +
    + + + + + + + + + + +
    + #(..WebTextValue("ContactInfo",Taal,"L",$LB("U")))#: +
    +
    + + Hein: Sie erreichen uns zu den �blichen B�rozeiten unter:
    + +
    + + SFS unimarket: Sie erreichen uns zu den �blichen B�rozeiten unter:
    + +
    + + Meubelbeslag Holland: U kan ons bereiken tijdens onze kantooruren via:
    + +
    +

    ↑ Top
    +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + #(..WebTextValue("MainInfoTipsKlik",Taal,"L",$LB("U")))#: +
    +
    +
    + + #(..WebTextValue("IHT_DefaultsKLR",Taal,"L"))#:
    + #(..WebTextValue("IHT_DefaultsKLR",Taal,"O"))# +
    +
    + + #(..WebTextValue("Spoelbaklade",Taal,"L"))#:
    + #(..WebTextValue("IHT_SPZK",Taal,"O"))# + +
    +
    + + #(..WebTextValue("HistoriekTonen",Taal,"L"))#:#($S(sDomVERW="VHEPN":"  ("_..WebTextValue("IHT_LoginVerplicht_VH",Taal,"L")_")",1:""))#
    + #(..WebTextValue("IHT_HistoriekTonen",Taal,"O"))# + +
    +
    + + #(..WebTextValue("IHT_OrderDtlActies",Taal,"L"))#:
    + #(..WebTextValue("IHT_OrderDtlActies",Taal,"O"))# + +
    +
    + + #(..WebTextValue("BtnModifyOrder",Taal,"L"))#:
    + #(..WebTextValue("IHT_ModifyOrder",Taal,"O"))# + +
    +
    + + #(..WebTextValue("IHT_LadeBeperkingen",Taal,"L"))#: (#(..WebTextValue("IHT_FoutOplossen",Taal,"O"))#)
    + + #(OmsLadeBeperkingen)#
    + → #(OmsContactUs)# #(""_OmsContactInfo_"")#. + +
    +
    + + #(..WebTextValue("IHT_ControlesIngave",Taal,"L"))#:  #(..WebTextValue("IHT_ControlesIngave2",Taal,"L"))#
    + #( $$$Replace(..WebTextValue("IHT_ControlesIngave",Taal,"O"),"(*)","(*)") )#
    +
    +    (*) #(..WebTextValue("IHT_ControlesIngaveRef",Taal,"O"))# + +
    +
    + + #(..WebTextValue("IHT_TekstLabelInfo",Taal,"L"))#:
    + #(..WebTextValue("IHT_TekstLabelInfo",Taal,"O"))# + +
    +
    + + #(..WebTextValue("IHT_ScrollLijstMaten",Taal,"L"))#:
    + #(..WebTextValue("IHT_ScrollLijstMaten",Taal,"O"))# + +
    +
    + + + + +
    + + + + + + + + + + +
    ↑ Top

    #(..WebTextValue("Sluiten",Taal,"L"))#
     
    +
    + + + + +
     
    + + + + + + + Index: _vhisie/TBX/TBox WebOrder LMC_F.xsl =================================================================== diff -u --- _vhisie/TBX/TBox WebOrder LMC_F.xsl (revision 0) +++ _vhisie/TBX/TBox WebOrder LMC_F.xsl (revision 2) @@ -0,0 +1,496 @@ + + + + + + +EUR + + + + OPTIMA - TandemBOX - Web Order + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + EDI No.:  +
    NOM:
     
    ID:
     
    E-MAIL:
     
    DÉLAI DE LIVRAISON:
     
    RÉFÉRENCE:
     
         
    + + + + + +
    + + + + +
    + + DEMANDE D'OFFRE + OFFRE + BON DE COMMANDE + ORDRE D'ACHAT + Unknown: [] + +
    +
    +   +
    Fax à n° 03.20.81.95.96
    +
    + + + + + + + + + + +
    + + + + + + +
    +
    + + + + + +
    Tiroir standard (de stock):
    + + + + + +
    +
    + + + + + + + + + + + + + + + + +
    Ne pas livrer:

     

    Totale:

    +

     

    +
    +

      

    +
    +
    + + + + + +
    + Cette offre est valable pour 30 jours, jusqu'a +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + + + + +
    + + + +
    +
    +
    + + +
    + + + + + + + + + + + +
    DESIGN : Côtés tiroirCOULEURS : Composants
    + + clsDesignDCintivo + clsDesignDCantaro + clsDesignDCplus + + +
    +

    +

    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    FOND+DOS:

    TUBES:

    BOXSIDE:

    REMPLIS. / VERRE:

    +
    +
    + + + + + clsMRowEven + clsMRowOdd + clsMRowLastX + + + +

    + + +

    + + + +

    mm

    + + + +

    +

    mm

    + + + +

    mm

    + + + +

    kg

    + + + + +

    + + S + +

    + + + +

    + + + +

    + + + clsMColQty +

    + + + + clsOvzPrices + + + + +
    +
    + + + +

     

    +

    # ERREUR #

    + +

     

    +
    +
    + + + + + ... + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

     

    +

    Code

    +

    Largeur

    +

    EP

    +

    Profon

    +

    Pds

    +

    AF *

    +

    Box

    +

    Divers

    +

    Qté

    + +

    Ink. Prijs/stPrix/pce Info

    + +
    + + +

    * AF : Attache de façade (Légende)

    +

    + + + + + + +
    +

    +
    + + + + : + à visser + INSERTA + EXPANDO + pour cadre alu & Trespa + drevel + sans + (Code ) + + + + + + + + + +

    * Box : Côtés augmentés (Légende)

    +

    + + + + + + + + + +
    +

    +
    + + + + + + + + + + + : + + + + + + + + == + --- +   + + + + + + + + Galérie double + Galérie simple + Sans galérie/côtés augmentés + BOXSIDE à double paroi + BOXSIDE en verre + BOXCAP + BOXCOVER avec ... + BOXCOVER sans verre + (Code ) + + + +
    Index: Kenm/Vertaal/VertaalTransAbstract.cls.xml =================================================================== diff -u --- Kenm/Vertaal/VertaalTransAbstract.cls.xml (revision 0) +++ Kenm/Vertaal/VertaalTransAbstract.cls.xml (revision 2) @@ -0,0 +1,262 @@ + + + +0 +1 +persistent +0 +0 +%Library.Persistent +0 + + +0 +Res.VertalingAbstract + + + +0 +1 +1 +VertalingsTypes +0 + + + +Kenm.Vertaal.MetaDefinitie +0 +0 +parent + +VertaalTransforms +0 +0 +1 +0 +0 +0 + + + + +Indien meerdere substituties mogelijk zijn, afhankelijk van de waarde, dan moet de juiste gekozen worden door een expressie. +Bv. getal in mm maar moet gedisplayed worden in cm, dan moet X gedeeld worden door 10 +Bv. prijs per 100 dan moet de eenheidsprijs vermenigvuldigd worden met 100 +Bv. om een getal te formateren + +De gebruikte formule kan als volgt omschreven worden +Set Sleutel = f(X) +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + +Leeg : Geen execute +T : letterlijk +@ : expressie +X : eXecute +D: Label^Routine +F : Functie Label^Routine +R : Routine Label^Routine(paramlist) +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + + + + +';' gescheiden, bijv. 'L;K' +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +0 +code +Waarde:%Library.String +0 +%Library.Status +0 + + + + +0 +0 +code + +0 +%Library.String +0 + + + + + +Geeft leeg terug wanneer geen sleutels gevonden zijn. Maw het +gaat dan om specifieke vertalingen. + +De parameter ExcludeContainer: zie Method Code + +Hierarchie: + +- MetaDefinitie: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef +Dit omtrent alle VertalingsTypes dus (zijnde o.a. 'L','O','K',...) + +- VertaalTrans: GetVertalingSleutels geeft alle sleutels aanwezig in een MetaDef.VertaalTrans obj. +Dit omtrent één VertalingsType + +FunctieResult: +$LB($LB(VertalingsType1,Sleutel1),$LB(VertalingsType2,Sleutel2),...) +0 +0 +code +VertalingsTypes:%Library.String,ExcludeContainer:%Library.String="" +0 +%Library.String +0 + + + + +0 +0 +code + +0 +%Library.Boolean +0 + + + + +%Library.SQLQuery +paKenmerk:%Library.String +0 +SELECT ID, SleutelSelectExec, SleutelSelectExecType, VertalingsTypes +FROM Kenm_Vertaal.VertaalTransAbstract +WHERE (Kenmerk = :paKenmerk) +ORDER BY VertalingsTypes + +0 + + + + + +%Library.CacheStorage +{%%PARENT}("VT") +VertaalTransAbstractDefaultData +{%%PARENT}("VT") +^Kenm.Basis.VertaalTransAbstractI +^Kenm.Ver.VertaalTransAbstractS + +%%CLASSNAME +node +0 + + +listnode + +SleutelSelectExec + + +SleutelSelectExecType + + + + + Index: csp/vhisie/TBX/SelectDlgs/tmpDev.mac.rou =================================================================== diff -u --- csp/vhisie/TBX/SelectDlgs/tmpDev.mac.rou (revision 0) +++ csp/vhisie/TBX/SelectDlgs/tmpDev.mac.rou (revision 2) @@ -0,0 +1,109 @@ +#include PRGACNTs + +OnPreHTTPxOLProd() +#define CSPPage ##class(%CSP.Page) +#define TaalDfl $S(blnHEIN:"D", blnLMC:"F", blnSFS:"D", 1:"N") + s:('$D(ClientIP)) ClientIP="192.168.1.97" + ;d WL^vhDBG($C(13,10)) + New Ref,RefNew,RefArray,tmpRq + Do ophInitLookups^cspBasis.TBX.DecodeURL.tmpDev + // URL --> domain / sDomVERW / sDomKLNr + Set sDomain=$$GetURLDomain^cspBasis.Library + Set sDomCVT=$$TBXDomainCVT^cspBasis.Library(sDomain) + Set lbDomLU=##class(WS.TBX.Order).DomainLookUp(sDomCVT,$LB("VERW","KLNR")) ; $$TBXDomainLU^cspBasis.Library(sDomCVT,$LB("VERW","KLNR")) + Set sDomVERW=$LG(lbDomLU,1) + Set sDomKLNr=$LG(lbDomLU,2) + Set blnVHEPN=(sDomVERW="VHEPN") + Set blnHEIN=(sDomVERW="HEIN") + Set blnLMC=(sDomVERW="LMC") + Set blnDUPO=(sDomVERW="DUPO") + Set blnHELMY=(sDomVERW="HELMY") + Set blnHFLE=(sDomVERW="HFLE") + Set blnSFS=(sDomVERW="SFS") + Set blnMBHO=(sDomVERW="MBHO") + Set Taal=$$SesDataFromRq^cspBasis.Library("Taal",,$$$TaalDfl) + Set:(Taal'?1(1"N",1"F")) Taal="N" + + ; Convert QueryString to Array: tmpRq(name)=value + Set name="" + For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) + Kill tmpRq("CSPToken") + + ;New SPZK,IB,CB,WD,MTIB,OPVLLI,OPVLRE,SPBR,blTBox + ;Set blTBox=##class(BL.PR.GA.TandemBox).%New() + ;Set SPBR=blTBox.CalcBreedteSpoelbak(SPZK,IB,,DC) ; ,AftrekLP) + + + New arInits,arStdL,arMData,arMDRow + Set MData=$G(%request.Data("data",1)) + Set DynSpace=$G(%request.Data("DynSpace",1)) + Do ##class(cspBasis.GAProdTBox).FullDataFromPDLs(.arMData,,,MData) + Merge arMDRow=arMData("LN",1) + If $L($G(arMDRow("LD"))) Do + . Set tmpRqData("Diepte")=(arMDRow("LD")/10) + If $L($G(arMDRow("WD"))) Do + . Set tmpRqData("WandDikte")=arMDRow("WD") + . Set:($L($G(arMDRow("CB")))) tmpRqData("Breedte")=(arMDRow("CB")/10) + If $L($G(arMDRow("LT"))) Do + . Set tmpRqData("LadeType")=$TR(arMDRow("LT"),"/","")_"_"_$G(arMDRow("BX")) + . Set:($E(tmpRqData("LadeType"))="I") $E(tmpRqData("LadeType"))="" + If $L(DynSpace) Do + . Set tmpRqData("DynSpace")=DynSpace + Set tmpRqData("IncludeUndefs",1)=1 + + ;d WL^vhDBG("DynSpace:"_DynSpace_" mdata:"_MData) + ;d WL^vhDBG($$$ArrayTT("tmpRqData")) + Do InitializeCSP + Quit 1 + +InitializeCSP +#define LabelType "L" +#define GroepKM "OL" + s:('$D(%ClientIP)) ClientIP="192.168.1.97" + Set GroepID=$$$GroepKM + Set UseWildCards=1 + Set ComputerName=$ZUTIL(110) + Set NameSpace=$ZUTIL(67,6,$J) + //Set Taal=$ZCVT($G(tmpRqData("taal",1)), "U") + //Set:(Taal="")||("N;F;D;E"'[Taal) Taal="N" ; VH's Default + Set LandCode=$ZCVT($G(tmpRqData("LandCode",1)),"U") + Set:(LandCode="")||("BE;NL"'[LandCode) LandCode="BE" + ;w "Session ID="_%session.SessionId_" - "_$S(%session.NewSession:"first", 1:"subsequent")_" request - EventClass="_%session.EventClass + Do iniPreloadMetaObjs + Do ##class(Prod.Kenmerk.Utils).PRLijstViaCriteria(GroepID,"ArPR",.tmpRqData) + Do iniFilterBadProducts(.ArPR) + ;d WL^vhDBG($$ArrayToText^vhLib("ArPR",.ArPR)) + Do iniVertaalMetaLabels + Quit +iniPreloadMetaObjs + New rs + Set rs=##class(%ResultSet).%New("Prod.Kenmerk.MetaDefinitie:LijstPerGroep") + Do rs.Execute(GroepID) + For Quit:('rs.Next()) Set MetaArray(rs.GetData(2))=##class(Prod.Kenmerk.MetaDefinitie).%OpenId(GroepID_"||"_rs.GetData(2)) + Do rs.%Close() + Quit ; De objecten moeten in het geheugen blijven; ze worden pas aan het einde van de CSP-Body gesloten. + ; + ; Close MetaObjects + ;New k,tmpOref + ;Set k="" + ;For Set k=$O(MetaArray(k)) Quit:(k="") Set tmpOref=MetaArray(k) Do tmpOref.%Close() Kill MetaArray(k) + ;Quit +iniVertaalMetaLabels + New k,tmpOref + Set k="" + For Set k=$O(MetaArray(k)) Quit:(k="") Do + . Set tmpOref=MetaArray(k) + . Set MetaArray(k,"VTL")=tmpOref.VertaalItem("�",Taal,$$$LabelType) ; Vertaling van de MetaDefinie zelf + Quit + +iniFilterBadProducts(ArPR) ; ArPR als .local doorgeven + Quit:('$D(ArPR)) + ;d WL^vhDBG($$ArrayToText^vhLib("ArPR",.ArPR)) + New i,PRNr + Set i="" + For Set i=$O(ArPR(i)) Quit:(i="") Do + . Set PRNr=$G(ArPR(i,1)) + . Set ProdType=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("OL",PRNr,"ProductType"),1) + . ;d WL^vhDBG($J(i,2)_". Product : "_PRNr_" "_$$LCVT^vhLib(##class(Prod.Kenmerk.DataDefinitie).Get("OL",PRNr,"Sleutel"))_" "_ProdType) + . Kill:($$$LCase(ProdType)?1(1"",1"antislipmatten",1"boxside",1"nuttige producten")) ArPR(i) + Quit \ No newline at end of file Index: Flow/Abstract/Hoofding.cls.xml =================================================================== diff -u --- Flow/Abstract/Hoofding.cls.xml (revision 0) +++ Flow/Abstract/Hoofding.cls.xml (revision 2) @@ -0,0 +1,89 @@ + + + +%Library.RegisteredObject + + + +Format: Datum: DD.MM.JJ +%Library.Date +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Derde.Abstract.Derde +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Res.Munt +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Flow.Abstract.Lijn +0 +0 +array +0 +0 +0 +0 +0 +1 + + + + +Format: Char: 25 +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + Index: DW/WWW/StaticHPM.cls.xml =================================================================== diff -u --- DW/WWW/StaticHPM.cls.xml (revision 0) +++ DW/WWW/StaticHPM.cls.xml (revision 2) @@ -0,0 +1,58 @@ + + + + +Statische gegevens voor website statistieken te tonen in webpagina (Hits Per Maand) +persistent +1 +%Persistent +0 + + +%Integer + + + +%String + + + +%Integer + + + +%String + + + +%Library.CacheStorage +^DW.WWW.StaticHPMD +StaticHPMDefaultData +^DW.WWW.StaticHPMD +^DW.WWW.StaticHPMI +^DW.WWW.StaticHPMS + +listnode + + +%%CLASSNAME + + +Hits + + +Maand + + +Sessies + + +Website + + +Site + + + + + Index: VHStringsCNTs.inc.rou =================================================================== diff -u --- VHStringsCNTs.inc.rou (revision 0) +++ VHStringsCNTs.inc.rou (revision 2) @@ -0,0 +1 @@ \ No newline at end of file Index: BL/EC/Common.inc.rou =================================================================== diff -u --- BL/EC/Common.inc.rou (revision 0) +++ BL/EC/Common.inc.rou (revision 2) @@ -0,0 +1,219 @@ + #include %VHMacro + + #define PageSize 100 + #define PageWindowPlus 10 + #define PageWindowMin -10 + + ; Domein ^RES("Derde.EC","PI","DOMEIN") + #define domVanHoecke "VH" + #define domOrgalux "OL" + #define domHein "HEIN" + #define domOptima "OPTIMA" + + ;Toegang zie global ^RES("Derde.EC","PI","TOEGANG") + #define tgMenu "MN" + #define tgWebShop "MN:WS" + #define tgOfferte "MN:OF" + #define tgOrder "MN:OD" + #define tgDirectOrder "MN:DO" + #define tgContractOrder "MN:CO" + #define tgFactuur "MN:FA" + #define tgUitlevering "MN:UL" + #define tgHistoriek "MN:HS" + #define tgFavorites "MN:FV" + #define tgKlantProdRef "MN:KPR" + #define tgIntraStat "MN:IS" + + #define tgIntMenu "IM" + #define tgAgenda "IM:AG" + #define tgOmzet "IM:OMZ" + #define tgRecentVkp "IM:RV" + + #define tgKlantSelect "KS" + + #define tgProductTree "PT" + #define tgProductTxt "PS" + #define tgProductKortTekst "PS:KT" + #define tgProductIdentNr "PS:ID" + #define tgProductKlantRef "PS:KR" + #define tgProductLangTekst "PS:LT" + + #define tgWizard "WZ" + #define tgWizardTBX "WZ:TBX" + #define tgWizardGRP "WZ:GRP" + #define tgWizardTLM "WZ:TLM" + #define tgWizardHK "WZ:HK" + + ; Intersect : Opties met "I" betekend dat de opties pas geldig is als alle nivo (domein, klant en gebruiker) ze definieert (zoald menuitem) + ; Union : Opties met "U" betekend dat de opties geldig zijn als het in 1 nivo gedefinieerd is + + #define opOptions "OP" + #define opIsKS "OP:KS:U" + #define opAllowAllProd "OP:AAP:U" + #define opIsHandel "OP:HAN:U" + #define opNoPrice "OP:NP:U" + #define opHasProdRef "OP:PR:U" + #define opShowProdRef "OP:SPR" + #define opShowProdGrp "OP:SPG" + #define opShowUitgebreid "OP:SUG:U" + #define opOldTandemBox "OP:OLDTBX" + + #define NoPrice 99.99 + + #define tgGrp(%Dom,%Grp) ^RES("DERDE.EC","PI",%Dom,"D",%Grp,"TG") + #define opGrp(%Dom,%Grp) ^RES("DERDE.EC","PI",%Dom,"D",%Grp,"OP") + #define tgDefault(%Dom) $$$tgGrp(%Dom,"STD") + #define opDefault(%Dom) $$$opGrp(%Dom,"STD") + #define tgMax(%Dom) $$$tgGrp(%Dom,"MAX") + #define opMax(%Dom) $$$opGrp(%Dom,"MAX") + + ;ControlType + #define ctRadio "Radio" + #define ctCheckBox "CheckB" + #define ctCombo "Combo" + #define ctEdit "Edit" + #define ctGroepVertical "GrpVert" + + ; Product groep + #define pgBeslag 3410 + #define pgBeslagBlum 3411 + #define pgBeslagAndere 3412 + #define pgMaatWerk 3420 + #define pgMaatWerkALU 3421 + #define pgMaatWerkTBX 3422 + #define pgMaatWerkAndere 3423 + #define pgOrgalux 3430 + + #define pgProductGroepenList $LB($LB($$$pgBeslag,$$$pgBeslagBlum,$$$pgBeslagAndere),$LB($$$pgMaatWerk,$$$pgMaatWerkALU,$$$pgMaatWerkTBX,$$$pgMaatWerkAndere),$$$pgOrgalux) + + ; Login encryptie + #define liPlain 0 + #define liMD5 1 + #define liBase64 10 + #define liHex 20 + #define SessieEncrypt "SessieGeheimeSleutel" + + ;Vertalingsgroep + #define VertalingsGroep "EC" + #define DynaPlugVertalingsGroep "DP" + + ;Status Error Codes + + ; Status Error codes -> 10XX = warning Sessie/toegang + #define errWrongLogin 1000 + + ; Status Error codes -> 15XX = severe Sessie/toegang + #define errSessionNoSave 1500 + #define errSessionWrongKey 1501 + #define errTransfer 1502 + #define errToegangIDNotExist 1503 + #define errOudWachtWoordFoutief 1504 + #define errWachtWoordTeKort 1505 + #define errWachtWoordTeLang 1506 + #define errToegangNoSave 1507 + #define errToegangNotAllowed 1508 + + ; Status Error codes -> 19XX = ProductAfgeleid (GAData + GAKader) + ; "GAData Product not created" + #define errGADataNoProd 1901 + ; "Error in GAData Product Build" + #define errGADataBuild 1902 + ; "GAData Product: Invalid products" + #define errGADataValidPR 1903 + ; "KPR Product not created" + #define errGADataNoKPRProd 1904 + ; "Geen Design gevonden" + #define errGADataNotFoundDS 1910 + ; "Geen Standaard Design" + #define errGADataNoStdDesign 1911 + ; "TemplateCode niet gevonden" + #define errGADataNotFoundTPCode 1912 + ; "TemplateID niet gevonden" + #define errGADataNotFoundTPID 1913 + + ; Diverse + #define Translate(%Key) ##class(Res.Vertaling).GetVertalingPlus($$$VertalingsGroep,%Key,"O",$S($L($G(%Taal)):%Taal,1:%ECSession.Taal),,1) + #define DynaPlugTranslate(%Key) ##class(Res.Vertaling).GetVertalingPlus($$$DynaPlugVertalingsGroep,%Key,"O",$S($L($G(%Taal)):%Taal,1:%ECSession.Taal),,1) + #define Link(%Key) ##class(Res.VertalingLink).GetLinkVertaling($$$VertalingsGroep,%Key,"LB",$S($L($G(%Taal)):%Taal,1:%ECSession.Taal),,"WWW") + #define errCreate(%Key) ##class(BL.EC.pxStatus).Create(%Key,$$$Translate(%Key)) + #define errCreateWithText(%Key,%Text) ##class(BL.EC.pxStatus).Create(%Key,$$$Translate(%Key)_%Text) + #define ListRemove(%List,%Pos) Set:%Pos %List=$LI(%List,1,%Pos-1)_$LI(%List,%Pos+1,$LL(%List)) + #define StripC0(%Local) $S($C(0)[$G(%Local):"",1:%Local) + + ;Dynaplug + #define dpStatusOK(%Key) ##class(BL.EC.pxDynaPlug).Create($$$OK,$$$DynaPlugTranslate(%Key)) + #define dpStatusERR(%Key) ##class(BL.EC.pxDynaPlug).Create(%Key,$$$DynaPlugTranslate(%Key)) + + #define WSInternalSecureKey "kuz5JafRew6ESPUD9a3aqAcA2a" + + ;BL.EC.Toegang - Logging + ;GetStatistics TimeInterval constanten + #define tiDaily 1 + #define tiHourly 2 + + ;Statistic Array nodes + #Define userKl 1 + #Define userVTW 2 + #Define userInt 3 + + #Define statReq 1 + #Define statSes 2 + #Define statUser 3 + #Define statGVO 4 + + + ;Session + #define ReInstateSession(%SK) Set Status=##class(BL.EC.Session).ReInstateSession(.%SK) Quit:$isObject(Status) Status + #define ControleToegang(%Toegang,%Actie,%Detail) Set Status=%blSession.ControleToegang(%Toegang,%Actie,%Detail) Quit:$isObject(Status) Status + #define SaveSession Set Ok=%ECSession.%Save() + + ;AddToLog + #define logGrpToegang "REQ" + #define logGrpError "ERR" + #define logGrpSessie "SES" + + #define AddToLog(%n,%g,%a,%m) Do AddToLog^BL.EC.Common(%n,%g,%a,%m) + #define AddErrorToLog(%g,%a,%e) Do AddErrorToLog^BL.EC.Common(%g,%a,%e) + #define WebServiceTrap New $ESTACK,$ETRAP Set $ETRAP="Do WebServiceTrap^BL.EC.Common()" + #define MailTrap New $ESTACK,$ETRAP Set $ETRAP="Do MailTrap^BL.EC.Common()" + #define WP(%Val) D WLIP^vhDBG(15,%Val) + + #define InitOldLocals New D,U,Q Set D="\",U=";",Q="K" + + ; Webshop - offerte + #define OffStatHas(%oLijn,%Code) $LF(%oLijn.Status,%Code) + + #define OffStatMoederProduct "MP" + #define OffStatFoutievePrijs "VP" + + #define OffStatGeenProduct "GP" + #define OffStatGeenKindProduct "GPK" + #define OffStatLevertermijn "LT" + #define OffStatLevertermijnKind "LTK" + #define OffStatAantal "AA" + #define OffStatAantalKind "AAK" + #define OffStatAfgeleidProd "GA" + #define OffStatAfgeleidProdKind "GAK" + + #define OfferteOpen Do ..OpenOfferte() + #define OfferteSave Set Status=..SaveOfferte() + #define OfferteResetVerstuurd Set %blFlowOfferte.oOfferte.OverzichtVerstuurd="" + ; business logic + #define blTestExist(%blObj,%class) Set:'$D(%blObj) %blObj=$$NewClass^vhLib(%class) + + #define blGeneral ;$$$blTestExist(%blGeneral,"BL.EC.General") + #define blSession $$$blTestExist(%blSession,"BL.EC.Session") + #define blToegang $$$blTestExist(%blToegang,"BL.EC.Toegang") + #define blData $$$blTestExist(%blData,"BL.EC.Data") + #define blEDI $$$blTestExist(%blEDI,"BL.EC.EDI") + #define blProduct $$$blTestExist(%blProduct,"BL.EC.Product") + #define blWebShop $$$blTestExist(%blWebShop,"BL.EC.WebShop") + #define blWizard $$$blTestExist(%blWizard,"BL.EC.Wizard") + #define blFlowOfferte $$$blTestExist(%blFlowOfferte,"BL.Flow.Offerte.Build") + #define blFlowOffProdGAData $$$blTestExist(%blFlowOffProdGAData,"BL.Flow.Offerte.ProductGAData") + #define blFlowOffProdGAKader $$$blTestExist(%blFlowOffProdGAKader,"BL.Flow.Offerte.ProductGAKader") + #define blFlowOffProd $$$blTestExist(%blFlowOffProd,"BL.Flow.Offerte.Product") + #define blFlowOffOrder $$$blTestExist(%blFlowOffOrder,"BL.Flow.Offerte.Convert2Order") + + ;ClassMethods + #Define cmLogging ##class(BL.EC.Logging) \ No newline at end of file Index: cspBasis/ProductSearchCommon.cls.xml =================================================================== diff -u --- cspBasis/ProductSearchCommon.cls.xml (revision 0) +++ cspBasis/ProductSearchCommon.cls.xml (revision 2) @@ -0,0 +1,74 @@ + + + + +Gemeenschappelijke fucnties voor ProductSearch en ProductMenu +(search is embedded in menu) +1 +cspBasis.cspAbstract + + + +Converteert LBText naar een Caché Array (@Ref). +1 +LBText:%Library.String,Ref:%Library.String + + + + + +Bouwt de array @Ref op met alle producten die voldoen aan de opgegeven criteria voor de kenmerken. +Deze array is niet gegroepeerd op gemeenschappelijke kenmerken. +1 +GroepID:%Library.String,Ref:%Library.String="Local",CriteriaArray:%Library.String + + + + + +Geeft het aantal producten die voldoen aan de opgegeven criteria voor de kenmerken. +1 +GroepID:%Library.String,LBText:%Library.String +%Library.String + + + + + +KMValues(1,"I")=interne waarde1
    +KMValues(1,"V")=vertaalde waarde1
    +KMValues(2,"I")=interne waarde2
    +KMValues(2,"V")=vertaalde waarde2 ]]>
    +1 + + +
    + + + +Ophalen van de vertaalde waarde van de interne code. +1 +Intern:%Library.String,Taal:%Library.String="N",TextType:%Library.String="L" +%Library.String + + +
    +
    Index: csp/vhliblogging.cls.xml =================================================================== diff -u --- csp/vhliblogging.cls.xml (revision 0) +++ csp/vhliblogging.cls.xml (revision 2) @@ -0,0 +1,488 @@ + + + + +CSP page for viewing the FOP Queue items via SQL +User +vhLib.Macro,vhLib.cspError +cache +%CSP.Page + + +1 +code +lbErrTypes +cache + +",$LB($$$EmailTo),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("csp.vhLibError","OnPageMinimum") + } + Else { + Set %cspEHandler($$$etPageLoadError,"ACTIONS")=$LB("ErrPage") + Set %cspEHandler($$$etPageLoadError,"ACTIONS","ErrPage")=$LB("%CSP.Error","OnPage") + } + + Quit + +]]> + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,$c(9)_"

    "_($$$UCase($G(CspPageTitle, ..%ClassName(0)))_$G(OnServer))_"

    ",! + Write ! + If '((blnSQED)) Goto %csp00001 ;{ + Write !,$c(9)_"
    ",! + Write $c(9)_"
    "_(sqlLOGAllFields)_"
    ",! + Write $c(9) + Write "
    " + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"
    ",! + Write $c(9,9,9,9,9)_"

    SQL Query:

    ",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9)_"

     

    ",! + Write $c(9,9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9,9) + Write "" + Write !,$c(9,9,9,9)_"
    ",! + Write $c(9,9)_" ",! + Write $c(9,9) + Write "" + Write " ",! + Write $c(9) + Write ..InsertHiddenFields(""),! + Write "
    " + Write ! + Goto %csp00002 ;} +%csp00001 ;{ + Write !,$c(9)_"
    ",! + Write $c(9) + Write "" + Write "Show Query Editor" + Write "" + Write ! +%csp00002 ;} + Write !,$c(9)_"
    ",! + Write $c(9)_"
    ",! + Write "
    ",! + If '(($L(sqlActive))) Goto %csp00003 ;{ + Write !,$c(9) + // Open instance of ResultSet for runtime mode of DISPLAY. + Set queryA = ##class(%ResultSet).%New() + Set queryA.RuntimeMode=2 + Set sqlStatement=$zstrip($tr((sqlActive),$C(9,13,10)," "),"<>W") + If $zcvt($extract(sqlStatement,1,6),"U")'="SELECT" { + Do ..ShowError($$$ERROR($$$CSPSQLOnlySelect,175)) + Quit + } + // translate tab/cr/nl to spaces + Set %sc = queryA.Prepare(sqlStatement,0,"RUNTIME") + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Set %sc = queryA.Execute(($G(%request.Data("P1",1),"A"))) + If (+%sc=0) { + Do ..ShowError(%sc) + QUIT + } + Write !,$c(9) + Set qryAColCount=queryA.GetColumnCount() + Write !,$c(9) + Write "
    " + Write !,$c(9)_"",! + Write $c(9,9)_""_$c(9,9),! + Write $c(9,9,9)_""_$c(9,9,9),! + Write $c(9,9,9) + Set col=0 +%csp00005 If '((col"_$c(9,9,9),! + Write $c(9,9,9) + Goto %csp00005 +%csp00004 ;} + Write !,$c(9,9)_""_$c(9,9),! + Write $c(9,9) + Kill arColSpecial + Set blnAddLink=0 + Write !,$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00007 If '((col"_(ColumnName)_"",! + Write $c(9,9,9) + Goto %csp00007 +%csp00006 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Set row=0 +%csp00009 If '(queryA.Next()) Goto %csp00008 ;{ + Set row=row+1 + Write " " + Write !,$c(9,9)_"",! + Write $c(9,9,9) + ;Set blnAddLink=(queryA.GetDataByName("ID")?1(1"MAINPAGE",1"WIZARD_CALC")) + Write !,$c(9,9,9)_"",! + Write $c(9,9,9) + Set col=0 +%csp00011 If '((col" + Write "
    " + Write ($S($L(tmpVal):tmpVal,1:" ")) + Write "
    " + Write "",! + Write $c(9,9) + Goto %csp00013 ;} +%csp00012 If '((UseCollapsedSection)) Goto %csp00014 ;{ + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9) + Goto %csp00013 ;} +%csp00014 ;{ + Write !,$c(9,9,9)_"",! + Write $c(9,9) +%csp00013 ;} + Write !,$c(9,9,9) + Goto %csp00011 +%csp00010 ;} + Write !,$c(9,9)_"",! + Write $c(9,9) + Goto %csp00009 +%csp00008 ;} + Write !,$c(9)_"
     
    "_($S(blnAddLink:">", 1:" "))_"",! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9,9) + Write "" + Write "Summary:" + Write "" + Write !,$c(9,9,9,9,9,9) + Write "" + Write ($S($L(tmpDataSummary):tmpDataSummary, 1:" ")) + Write "" + Write !,$c(9,9,9,9,9)_"

    ",! + Write $c(9,9,9,9,9) + Write "
    " + Write "
    "_($S($L(tmpVal):tmpVal,1:" "))_"
    " + Write "
    " + Write !,$c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9,9,9)_"
    ",!
    +                 Write ($E(tmpVal,1,32000)),!
    +                 Write $c(9,9,9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write "
    " + Write !,$c(9,9,9)_"
    ",! + Write $c(9) + Write ..InsertHiddenFields("vhLogging.csp"),! + Write "
    " + Write !,$c(9)_"
    ",! +%csp00003 ;} + Write !,!,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,! + Set BodyBgColor=##class(TECH.Config.ConfigMgr).Instance().GetString("WebpaginaAchtergrondKleur") + Set OnServer = "  ["_$$$Server_" - "_$$$NSpace_"]" + Write !,!,"" + Write $c(9),! + Write !,$c(9)_""_($G(CspPageTitle, ..%ClassName(0))_$G(OnServer))_"",! + Write $c(9),! + Write $c(9) + Write "" + Write !,"" + Write " ",! + Write "" + Write !,!,!,$c(9) + Write "" + Write !,!,"" +]]> + + + +1 +code +%Boolean +" + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code +%Boolean + + + + +1 +code +%Boolean + + + + +1 +code + +cache +%Boolean +'||"_%v_"||'') "_%v + #define CvtNOBRhtml(%v) "('<NOBR>'||"_%v_"||'</NOBR>') "_%v + + /*** INPUT PARAMETERS ***/ + /*** ================ ***/ + ; Request Parameters + Kill:($G(%request.Data("QUERY",1))="") %request.Data("QUERY") + Set name="" + For Set name=$O(%request.Data(name)) Quit:(name="") Merge tmpRq(name)=%request.Data(name,1) + + Set blnSQED=$G(%request.Data("SQED",1),0) + Set sqlAll="" + + + /*** SQL STATEMENTS ***/ + /*** ============== ***/ + ; SQL-statement for FOP Queue + Set sqlLOGAllFields="SELECT Top 100 Datum, Tijd, Groep, Niveau, Actie, JobID, DetailTrunc As Detail, ID , LessDetail, MainIndex , Namespace , RemoteIP , Server , ProgLabel , SubID " + Set sqlLOG ="SELECT Top 100 Datum, Tijd, Groep, Niveau, Actie, JobID, DetailTrunc As Detail" + + Set sqlLOG=sqlLOG_$C(13,10)_" FROM vhLib.Logging WHERE Niveau = 'E' OR Niveau = 'W' " + Set sqlLOG=sqlLOG_$C(13,10)_" ORDER BY Datum DESC, Tijd DESC, SubID DESC" + + ; SQLs to be displayed + Set sqlDFL=$S(1:sqlLOG) + Set sqlActive=$G(%request.Data("QUERY",1),sqlDFL) + ; URL for ToggleQueryEditor + Merge tmpAr=tmpRq + Kill tmpAr("SQED") + Set tmpAr("SQED")=('blnSQED) + Set arUrl("ToggleQED")="?"_##class(vhLib.cspBasis).CQueryString(.tmpAr) + + ; Check if SQL-statement does not alter the tables data !!! + Set lbAvoidSQL=$LB("CREATE TABLE","ALTER TABLE","DROP TABLE","CREATE QUERY","DROP QUERY","INSERT","UPDATE","DELETE") + + Set CspPageTitle="VH LOGGING" + Quit 1 + +]]> + + + +c:\cachesys\csp\hadev\vhLibLogging.csp + + + +/csp/hadev/vhLibLogging.csp + + + +62157,39419 + +
    +
    Index: Prod/GAMeta/EM/Param.cls.xml =================================================================== diff -u --- Prod/GAMeta/EM/Param.cls.xml (revision 0) +++ Prod/GAMeta/EM/Param.cls.xml (revision 2) @@ -0,0 +1,236 @@ + + + + +Dit opject bevat de variabele uitbreidbare date van een Item. + +Een param kan een getal representeren, +of een koppeling zijn met een product, +of een + +serial +%Library.SerialObject,%XML.Adaptor + + + +Formule om een default waarde te geven aan deze param. +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +%Integer + +0 + + + + +Wordt gebruikt als hoofding van een kolom +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Integer + +0 + + + +%Integer + +0 + + + +%Integer + +0 + + + +S : Show +
  • F - Fixed : (niet editeerbaar) +
  • V - Value : door gebruiker ingegeven waarde; wordt in DATA-param bewaard +
  • C - Calculated : berekende waarde, wordt TIJDELIJK bijgehouden in DATA-param (en gewist VOOR het bewaren); + de waarde wordt verkregen door het uitvoeren van een Exec-object. + het default Exec-object wordt gedefinieerd in de parameters van het MetaItem, maar kan door het DataItem overruled worden (zie Auto array van het DataItem) +
  • M - Memory : berekende waarde, idem als C, maar wordt WEL bewaard in de DATA-param +
  • ? - ? : berekende waarde, idem als C, maar wordt NIET bewaard, noch bijgehouden in de DATA-param; wordt dus telkens herrekend +
  • L - Label : Bestaat uit een proglabelSLEUTEL en een berekende waarde via MetaExec; de sleutel wordt in DATA-param bewaard indien NIET leeg; + defaulting voor de sleutel kan via Template-Data of Template-Autos; het resultaat van de berekende waarde (MetaExec) wordt in de proglabel LookUptabel bijgehouden; +
  • E - Evaluatie : van de param-waarde (als deze een "`" bevat, dan evaluatie, anders letterlijke constante); wordt bewaard indien niet leeg; + defaulting kan via Template-Data of Template-Autos. Kan zichzelf niet evalueren, kan alleen door een andere parameter uitgevoerd worden +
  • KST - Kost-element: afhankelijk van Kostplaats (T/M) toegevoegd aan KostTijd of KostMat array +]]> +%Library.String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%String + +0 + + + + +String;Label;Formula;... + +Indien type = "Label" dan bevat de indirectie hoe de waarde moet berekend worden voor die label. + +%String +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Boolean + +0 + + + + +Na ingave van een waarde, controleren of de waarde correct is +Prod.GAMeta.EM.Exec +0 +0 + +0 +0 +0 +0 +0 +0 + + + + +de single quote (') in het tweede vorm wordt automatisch weggeknipt. +]]> +0 +0 +code +sExec:%Library.String +0 +0 + + + + +%Library.CacheSerialState +ParamState +^Prod.GAM.ParamS + +list + +Auto + + +Decimalen + + +HelpTekst + + +KolomNr + + +Lengte + + +MaxValue + + +MinValue + + +Mode + + +PopupLijst + + +Type + + +UserEditable + + +Validate + + + + + Index: csp/hph.cls.xml =================================================================== diff -u --- csp/hph.cls.xml (revision 0) +++ csp/hph.cls.xml (revision 2) @@ -0,0 +1,121 @@ + + + +User +cache +%CSP.Page + + +1 +code +%Status + + + + +1 +code +%Boolean +",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "" + Write "Hits per hoofdgroep " + Write "" + Write "" + Write "
    " + Write "",! + Write " ",! + Write " ",! + Write " " + Write "
    " + Write "" + Write "Hoofdgroepen" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write "" + Write "Hits" + Write "" + Write "
    " + Write "",! + Write " " + Write "
    " + Write " " + Write "
    " + Write "",! + Write " ",! + Write " " +%csp00002 If '(queryHPH.Next()) Goto %csp00001 ;{ + Write !," ",! + Write " " + Write "" + Write (queryHPH.Get("Categorie")) + Write "" + Write "",! + Write " " + Write "
    " + Write "" + Write (queryHPH.Get("Aantal")) + Write "" + Write "
    " + Write "",! + Write " " + Write "" + Write "" + Write " "_($J(queryHPH.Get("Aantal")*100/TotHits,0,0))_"% " + Write "" + Write "",! + Write " ",! + Write " " + Goto %csp00002 +%csp00001 ;} + Write !," ",! + Write " " + Write "" + Write "Totaal" + Write "" + Write "",! + Write " " + Write "
    " + Write (TotHits) + Write "
    " + Write "",! + Write "  ",! + Write " ",! + Write "",! + Write "
    " +]]>
    +
    + + +c:\cachesys\csp\httplog\hph.csp + + + +/csp/httplog/hph.csp + + + +59912,59511 + +
    +
    Index: Prod/GAMeta/BT/Verpakking.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/Verpakking.cls.xml (revision 0) +++ Prod/GAMeta/BT/Verpakking.cls.xml (revision 2) @@ -0,0 +1,48 @@ + + + + +Verpakking soorten voor een Tandembox +persistent +%Library.Persistent,Res.PI.Abstract + + +0 +1 +1 +ItemID +0 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;VPK") +VerpakkingDefaultData +^Res.PI.Items("PR;GA;VPK") +^Res.PI.Items("PR;GA;VPKI") +^Prod.GAM.VerpakkingS + +TaalOms +subnode +"TaalOms" + + +%%CLASSNAME +node +0 + + +listnode + +ItemID + + +Omschrijving + + +VolgNr + + + + + Index: TECH/Config/ConfiguredFactory.cls.xml =================================================================== diff -u --- TECH/Config/ConfiguredFactory.cls.xml (revision 0) +++ TECH/Config/ConfiguredFactory.cls.xml (revision 2) @@ -0,0 +1,26 @@ + + + +TECH.Error +%RegisteredObject +0 + + +1 +ImplKlasseConfigSleutel:%String +%RegisteredObject + + + + Index: csp/tbx/test4errors.cls.xml =================================================================== diff -u --- csp/tbx/test4errors.cls.xml (revision 0) +++ csp/tbx/test4errors.cls.xml (revision 2) @@ -0,0 +1,252 @@ + + + +User +cache +%CSP.Page + + +1 +code +lbErrTypes +cache + +",$LB("wv@vanhoecke.be"),"CSP - Error - "_$ZDT($H,4),"§DFL_HTML§",,1) + Set %cspEHandler("PageLoadError","ACTIONS","ErrPage")=$LB("","OnPageMinimum") + ;Set %cspEHandler("PageLoadError","ACTIONS")=$LB("Redir") + ;Set %cspEHandler("PageLoadError","ACTIONS","Redir")=$LB("http://www.google.be") + Set %cspEHandler("PreHTTPTimeOut","ACTIONS")=$LB("LogDB","xEmail","ErrPage") + Set %cspEHandler("PreHTTPTimeOut","ACTIONS","LogDB")=$LB("DFL","TEST Err CSP",$LB("CustomLogError",,1)) + Set %cspEHandler("HyperEventError","ERRORS",0)=$LB("*") + Set %cspEHandler("HyperEventError","ERRORS",0,"ACTIONS")=$LB("LogDB","JSAlert","xRedir") + Set %cspEHandler("HyperEventError","ERRORS",0,"ACTIONS","LogDB")=$LB("DFL","TEST Err CSP",$LB("CustomLogError",,1)) + Set %cspEHandler("HyperEventError","ERRORS",0,"ACTIONS","JSAlert")=$LB("Error! "_$C(13,10)_"You will be redirected to another page.") + Set %cspEHandler("HyperEventError","ERRORS",0,"ACTIONS","Redir")=$LB("http://192.168.1.67/VHISIE/TBX/Main.csp") + Quit + +]]> + + + +1 +code +arErrInfo +cache + + + + + +1 +code +%Status + + + + +1 +code +%Boolean +" + Write !,(..HyperEventBody()) + Write !,$c(9) + Write "
    " + Write !,$c(9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write " "_$c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9)_"",! + Write $c(9,9,9)_"",! + Write $c(9,9)_"",! + Write $c(9)_"
    ",! + Write $c(9,9,9,9)_"

    Test page

    ",! + Write $c(9,9,9,9)_"

     

    ",! + Write $c(9,9,9,9)_"

    ",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9)_" ",! + Write $c(9,9,9)_"
    ",! + Write $c(9,9,9,9) + Write "Renew Session"" timeoutcode='OnAppTimeOut();' document=""winLogout=window.open(); winLogout.location.href"" location=""about:blank"" style=""clsTmrSkeleton"">" + Write !,"
    ",! + Write " ",! + Write "
    ",! + Write "" + Write !,$c(9,9,9)_"
    ",! + Write $c(9) + Write ..InsertHiddenFields(""),! + Write "
    " + Write !,"" +]]>
    +
    + + +1 +code +%Boolean + + + + +1 +code +%Boolean +" + Write !,$c(9)_"Test for Errors",! + Write $c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,$c(9) + Write "" + Write !,(..HyperEventHead()) + Write !,"" +]]> + + + +1 +code +%Boolean +" + Write !,!,!,! + Set %session.AppTimeout = 905 + // Set %session.BrokerImplementation=1 ; 1: JavaVM - 2: XmlHttp + ;Set TestVar=UnknownVar + Write !,! + Do ..OnPageHEAD() + Write !,! + Do ..OnPageBODY() + Write !,"" +]]> + + + +1 +code +TestData +cache +%String + + + + +c:\cachesys\csp\vhisie\TBX\Test4Errors.csp + + + +/vhisie/TBX/Test4Errors.csp + + + +0 + + + +59941,49506 + + + +0 + +
    +
    Index: cspBasis/KadQuotation.cls.xml =================================================================== diff -u --- cspBasis/KadQuotation.cls.xml (revision 0) +++ cspBasis/KadQuotation.cls.xml (revision 2) @@ -0,0 +1,295 @@ + + + + +Basis klasse voor de csp-klasse +serial +%VHMacro +%Library.RegisteredObject,cspBasis.cspAbstract +0 + + + +Deze parameter SOAPServer... is pseudo: + De werkelijke target voor de WebService wordt bepaald door PeekSOAPServer() routine. + Parameter alleen om te testen of de bewerking WEL OF NIET via WebService moet uitgevoerd worden : + If $ZU(110)'=..#SOAPServerComputer Do call via WS Else direct call to method +CACHE0x2 + + + + +Deze parameter SOAPServer... is pseudo: + zie: Parameter SOAPServerComputer +DEV-ADMIN1 + + + + +Vult de berekende prijs van de kaderdeur via JavaScript in het HTML-veld "ObjectName" in. +Berekening: zie method CalcPrijsNew() +1 +ObjectName:%Library.String,Aantal:%Library.Integer=1,MuntCode:%Library.String="EUR",ProfType:%Library.String,Hoogte:%Library.Float,Breedte:%Library.Float,Beslag:%Library.String,QtyBeslag:%Library.Integer=0,QtyGlasBoor:%Library.Integer=0,QtyProf1:%Library.String,QtyProf2:%Library.String,QtyProf3:%Library.String,QtyProf4:%Library.String,Vulling:%Library.String,VullingExtra:%Library.String,KlantID:%Library.String +0 +%String + + &JS<#(ObjectName)#=#($J(Prijs,0,2))#;> + Quit $J(Prijs,0,2) +]]> + + + + +Creëert een object via parameters (FillObjectViaParam) en berekent de Prijs ervan. +De parameters kunnen afkomstig zijn van een JavaScript oproep en kunnen mogelijk anders geformatteerd zijn (decimale komma). +Het kaderdeur-object wordt opgeslagen + een log-entry aangemaakt +1 +Aantal:%Library.Integer,MuntCode:%Library.String="EUR",ProfType:%Library.String,Hoogte:%Library.Float,Breedte:%Library.Float,Beslag:%Library.String,QtyBeslag:%Library.Integer=0,QtyGlasBoor:%Library.Integer=0,QtyProf1:%Library.String,QtyProf2:%Library.String,QtyProf3:%Library.String,QtyProf4:%Library.String,Vulling:%Library.String,VullingExtra:%Library.String,KlantID:%Library.String +1 +%Float +0:%sVal, 1:0) +#define SoapMethod 0 + + Quit:($G(Hoogte)="") "" + Quit:($G(Breedte)="") "" + Quit:($G(KlantID)="") "" + + d WLIP^vhDBG(97,"CalcPrijs") + ;New KadObj,Prijs,objMunt,sData,Korting,LogDate,LogTime + Set sData=$G(^KLDATA(KlantID),"") + Set Korting=+$P(sData, "\", 5) + Set Hoogte=$$$CDec(Hoogte) + Set Breedte=$$$CDec(Breedte) + Set Aantal=$$$CPosNum(Aantal)\1 + Set:(+Aantal=0) Aantal=1 + Set QtyBeslag=$$$CPosNum(QtyBeslag)\1 + Set QtyGlasBoor=$$$CPosNum(QtyGlasBoor)\1 + Set KadObj=..BuildKadObj(.ProfType,.Hoogte,.Breedte,.Beslag,.QtyBeslag,.QtyGlasBoor,.QtyProf1,.QtyProf2,.QtyProf3,.QtyProf4,.Vulling,.VullingExtra) + Set OK=KadObj.%Save() + Set Prijs=$$cprCalcPrijs() ; ..CalcPrijsOnly(KadObj,Aantal,MuntCode,Korting) + Set LogDate=$P($H,",",1) + Set LogTime=$P($H,",",2) + Set:(OK) ^LOG(LogDate, $O(^LOG(LogDate,""),-1)+1)="KL\"_KlantID_"\CSP\"_LogTime_"\"_KadObj.%Id()_"\"_Aantal_"\"_$J(Prijs,0,2)_" "_$G(MuntCode)_"\"_KadObj.KortTekst() + Quit Prijs + +cprCalcPrijs() + If $G(%blnDirectCalc)=1 Do + . Do cprCalcPrijsDirect + Else If $$cprUseSoapMsg Do + . ;Set SoapErrorMsg="" + . Do cprCalcPrijsViaSoap + Else Do + . ; Uitvoeren in huidige namespace: + . If $$$SoapMethod Do + . . Do cprCalcPrijsViaSoapMethod() + . Else Do + . . d WL^vhDBG("CalcPrijs Via classmethod ..CalcPrijsViaSoap()") + . . Set Prijs=..CalcPrijsViaSoap(.Aantal,.MuntCode,.ProfType,.Hoogte,.Breedte,.Beslag,.QtyBeslag,.QtyGlasBoor,.QtyProf1,.QtyProf2,.QtyProf3,.QtyProf4,.Vulling,.VullingExtra,.KlantID) + Quit Prijs +cprCalcPrijsDirect + d WL^vhDBG("CalcPrijs Direct") + Set Prijs=..CalcPrijsOnly(KadObj,Aantal,MuntCode,Korting) + Quit +cprUseSoapMsg() + Quit ($$$UCase($G(ComputerName,$$$Server))'=..#SOAPServerComputer)||($G(NameSpace,$$$NSpace)'=..#SOAPServerNSpace) +cprCalcPrijsViaSoapMethod(Opties) + d WLIP^vhDBG(97,"CalcPrijs Via SoapMethod") + Set Prijs=##class(WS.PR.KADWeb).CalcPrijs(.Aantal,.MuntCode,.ProfType,.Hoogte,.Breedte,.Beslag,.QtyBeslag,.QtyGlasBoor,.QtyProf1,.QtyProf2,.QtyProf3,.QtyProf4,.Vulling,.VullingExtra,.KlantID) ; Class Method + Quit +cprCalcPrijsViaSoap + d WLIP^vhDBG(97,"CalcPrijs Via SoapMsg (WS)") + Set Prijs="" + Do cprCalcPrijsViaSoapSub("WS.PR.KADWebSoap","CalcPrijs") + Quit +cprCalcPrijsViaSoapSub(SoapClass,method) + ; On Cache01/ADMIN1 call: ..CalcPrijsViaSoap(.Aantal,.MuntCode,.ProfType,.Hoogte,.Breedte,.Beslag,.QtyBeslag,.QtyGlasBoor,.QtyProf1,.QtyProf2,.QtyProf3,.QtyProf4,.Vulling,.VullingExtra,.KlantID) + ;New Client,Result,lbLocations,locNdx + Set Client=$System.OBJ.New(SoapClass) + Set Result=Client.PrepareCalcPrijs(.lbLocations,.locNdx) ; Uses PeekServer and TimeOut=30 sec + d WL^vhDBG("PeekServer (PrepareCalcPrijs) finished ==> locNdx="_$G(locNdx)) + Quit:('Result) + Set $ZTRAP="cprSoapErrorCP" + Set Prijs=Client.CalcPrijs($G(Aantal),$G(MuntCode),$G(ProfType),$G(Hoogte),$G(Breedte),$G(Beslag),$G(QtyBeslag),$G(QtyGlasBoor),$G(QtyProf1),$G(QtyProf2),$G(QtyProf3),$G(QtyProf4),$G(Vulling),$G(VullingExtra),$G(KlantID),$G(Opties)) + Set $ZTRAP="" + Quit +cprSoapErrorCP + Set $ZTRAP="" + ;New CustomMsg + Set CustomMsg=SoapClass_" - "_method_"() : KLNr="_$G(KlantID)_$ZE_"."_$S(locNdx>1:" ["_$LG(lbLocations,locNdx)_"]" ,1:"") + Do SOAPErrorMail^cspBasis.SOAPlib("",,CustomMsg,) + Set Prijs="" + Quit +]]> + + + + +CSP-Method creëert een object via parameters (FillObjectViaParam) en berekent de Prijs ervan. +De parameters moeten hier wel in het juiste formaat doorgegeven zijn. +1 +Aantal:%Library.Integer,MuntCode:%Library.String="EUR",ProfType:%Library.String,Hoogte:%Library.Float,Breedte:%Library.Float,Beslag:%Library.String,QtyBeslag:%Library.Integer=0,QtyGlasBoor:%Library.Integer=0,QtyProf1:%Library.String,QtyProf2:%Library.String,QtyProf3:%Library.String,QtyProf4:%Library.String,Vulling:%Library.String,VullingExtra:%Library.String,KlantID:%Library.String +1 +%Float + + + + + +Creëert het Kaderdeur-object via parameters (FillObjectViaParam). +1 +ProfType:%Library.String,Hoogte:%Library.Float,Breedte:%Library.Float,Beslag:%Library.String,QtyBeslag:%Library.Integer=0,QtyGlasBoor:%Library.Integer=0,QtyProf1:%Library.String,QtyProf2:%Library.String,QtyProf3:%Library.String,QtyProf4:%Library.String,Vulling:%Library.String,VullingExtra:%Library.String +1 +Prod.GADef.KaderDeur + + + + + +Berekent de Prijs van het Kaderdeur-object +1 +KadObj:Prod.GADef.KaderDeur,Aantal:%Library.Integer=1,MuntCode:%Library.String="EUR",Korting:%Library.Float=0,KLNr:%String +0 +%Float +$S(Munt=FaMunt:2,1:2) ABdCfrs=$S(Munt=FaMunt:2,1:2) + ;Set:ABdCfrs>$S(Munt=FaMunt:1,1:2) ABdCfrs=$S(Munt=FaMunt:1,1:2) + Set VrkPrs=VrkPrs*(10**ABdCfrs)+.999999\1/(10**ABdCfrs) + Quit VrkPrs +]]> + + + + +CSP-Method creëert een object via parameters (FillObjectViaParam) en berekent de Prijs ervan. +1 +ObjectName:%Library.String,Aantal:%Library.Integer=1,MuntCode:%Library.String="EUR",ProfType:%Library.String,Hoogte:%Library.Float,Breedte:%Library.Float,Beslag:%Library.String,QtyBeslag:%Library.Integer=0,QtyGlasBoor:%Library.Integer=0,QtyProf1:%Library.String,QtyProf2:%Library.String,QtyProf3:%Library.String,QtyProf4:%Library.String,Vulling:%Library.String,VullingExtra:%Library.String,KlantID:%Library.String +0 +0:%sVal, 1:0) + + Quit:($G(ObjectName)="") + Quit:($G(Hoogte)="") + Quit:($G(Breedte)="") + Quit:($G(KlantID)="") + New KadObj,Prijs,objMunt,sData,Korting,LogDate,LogTime + + Set sData=$G(^KLDATA(KlantID),"") + Set Korting=+$P(sData, "\", 5) + Set Hoogte=$$$CDec(Hoogte) + Set Breedte=$$$CDec(Breedte) + Set Aantal=$$$CPosNum(Aantal)\1 + Set:(Aantal=0) Aantal=1 + Set QtyBeslag=$$$CPosNum(QtyBeslag)\1 + Set QtyGlasBoor=$$$CPosNum(QtyGlasBoor)\1 + Set:($G(MuntCode)'="") objMunt=##CLASS(Res.Munt).%OpenId(MuntCode) + + Set KadObj=##CLASS(Prod.GADef.KaderDeur).%New() + Do KadObj.FillObjectViaParam(ProfType,Hoogte,Breedte,Beslag,QtyBeslag,QtyGlasBoor,QtyProf1,QtyProf2,QtyProf3,QtyProf4,Vulling,VullingExtra) + ;Set:($G(Vulling)="") KadObj.Gemonteerd="K" + + Set OK=KadObj.%Save() + Set Prijs=KadObj.LijstPrijs(Aantal,$G(objMunt),0,1)*(1-Korting) + + Set Prijs=$$RND(Prijs,$S(MuntCode="BEF":3,MuntCode="NLG":2,MuntCode="EUR":2,1:"R"),MuntCode) + + Set LogDate=$P($H,",",1) + Set LogTime=$P($H,",",2) + Set:(OK) ^LOG(LogDate, $O(^LOG(LogDate,""),-1)+1)="KL\"_KlantID_"\CSP\"_LogTime_"\"_KadObj.%Id()_"\"_Aantal_"\"_$J(Prijs,0,2)_" "_$G(MuntCode)_"\"_KadObj.KortTekst() + + ;&JS + &JS<#(ObjectName)#=#($J(Prijs,0,2))#;> + Quit + + ; Afronding +RND(VrkPrs,Round,Munt) + If "R"[Round Quit $$AUTORND(VrkPrs,Munt) + If Round=1 Set VrkPrs=$J(VrkPrs*100+.499999,0,0)/100 + If Round=2 Set VrkPrs=VrkPrs+.049999*100\5*5/100 + If Round<3 Quit $J(VrkPrs,0,2) + If Round=3 Quit VrkPrs+.99999\1 + If Round=4 Quit VrkPrs+4.99999\5*5 + If Round=5 Quit VrkPrs\1 ; Afronden naar beneden TIJDELIJK + If Round=6 Quit $J(VrkPrs,0,2) + If Round=7 Quit $J($J(VrkPrs,0,1),0,2) + If Round=8 Quit $J(VrkPrs,0,0) + If Round=9 Quit $J(VrkPrs/5,0,0)*5 + Quit VrkPrs + ; + ; Automatische afronding +AUTORND(VrkPrs,Munt) + New ABdCfrs,FaMunt + Set FaMunt="EUR",ABdCfrs=3-($L(VrkPrs*1000\1)-3) + Set:ABdCfrs>$S(Munt=FaMunt:2,1:2) ABdCfrs=$S(Munt=FaMunt:2,1:2) + ;Set:ABdCfrs>$S(Munt=FaMunt:1,1:2) ABdCfrs=$S(Munt=FaMunt:1,1:2) + Set VrkPrs=VrkPrs*(10**ABdCfrs)+.999999\1/(10**ABdCfrs) + Quit VrkPrs + /* */ +]]> + + + +%Library.CacheSerialState +^cspBasis.KadQuotationS + + + Index: Prod/GAData/KostPrijs.cls.xml =================================================================== diff -u --- Prod/GAData/KostPrijs.cls.xml (revision 0) +++ Prod/GAData/KostPrijs.cls.xml (revision 2) @@ -0,0 +1,93 @@ + + + +persistent + +%Library.Persistent,%XML.Adaptor + + +%Library.Integer +0 +0 + +0 +0 +0 +0 +0 +0 + + + +%Library.TimeStamp +0 +0 + +0 +0 +0 +0 +0 +0 + + + +Prod.GAData.Product +0 +0 +parent + +KostPrijzen +0 +0 +1 +0 +0 +0 + + + +%Library.Float +0 +0 + +0 +0 +0 +0 +0 +0 + + + +0 +1 +1 +Aantal +1 + + + +%Library.CacheStorage +{%%PARENT}("K") +KostPrijsDefaultData +{%%PARENT}("K") +^Prod.GAData.KostPrijsI +^Prod.GAD.KostPrijsS + +%%CLASSNAME +node +0 + + +listnode + +CalcTijdStip + + +TotaleKostPrijs + + + + + Index: Prod/GAMeta/BT/TBVulstukMateriaal.cls.xml =================================================================== diff -u --- Prod/GAMeta/BT/TBVulstukMateriaal.cls.xml (revision 0) +++ Prod/GAMeta/BT/TBVulstukMateriaal.cls.xml (revision 2) @@ -0,0 +1,60 @@ + + + +persistent +%Library.Persistent,Res.PI.Abstract,Prod.GAMeta.BT.TBAbstract +0 + + +0 +1 +1 +ItemID +1 + + + +%Library.CacheStorage +^Res.PI.Items("PR;GA;TBVSM") +TBVulstukMateriaalDefaultData +^Res.PI.Items("PR;GA;TBVSM") +^Res.PI.Items("index","PR;GA;TBVSM") +^Res.PI.Items("stream","PR;GA;TBVSM") + +BeperkGUI +subnode +"BPG" + + +ProductKenmerken +subnode +"PKM" + + + +%%CLASSNAME + + +ItemCode + + +Omschrijving + + +KortTekstCode + + +VolgNr + + +FilterDC + + + +TaalOms +subnode +"TO" + + + + Index: Sys/cDate.cls.xml =================================================================== diff -u --- Sys/cDate.cls.xml (revision 0) +++ Sys/cDate.cls.xml (revision 2) @@ -0,0 +1,59 @@ + + + + Logical -> Display +dd.mm.jj -> $h -> dd/mm/jjjj]]> +datatype +DATE +DATE +DATE +%Library.Date + + +FORMAT parameter corresponds to the +available parameters of the $ZDATE and $ZDATEH functions, +which are used to perform the formatting.]]> +0 +4 + + + + +$H naar dd.mm.jj +0 +1 +generator +%val:%Date +0 +%Library.String +0 + + + + + +Zet een datum (dd.mm.jj) om naar $H +0 +1 +generator +%val:%Library.String +0 +%Date +0 + + + + Index: Res/Land.cls.xml =================================================================== diff -u --- Res/Land.cls.xml (revision 0) +++ Res/Land.cls.xml (revision 2) @@ -0,0 +1,97 @@ + + + +persistent +1 +VHOpslag +%Persistent +0 + + +1 +1 +ISOCode +1 + + + +%Integer +1 + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +%String + + + + +Sys.cTimeStamp + + + +%CacheSQLStorage +^Res.LandS + +data +^ISO +delimited + +0 + + +"ISO.LAND" + + +{ISOCode} + + +0 + + +"\" +1 + + +"\" +22 + + +"\" +32 + + +"\" +12 + + +"\" +2 + + +"\" +28 + + + + + Index: vhLib/Logging.cls.xml =================================================================== diff -u --- vhLib/Logging.cls.xml (revision 0) +++ vhLib/Logging.cls.xml (revision 2) @@ -0,0 +1,436 @@ + + + +persistent +vhLib.Macro +1 +Default +%Persistent +0 + + + + + + + + +%String + + + +%String + + + +%String + + + +%Date + + + +%Integer + + + +%Time + + + + +"E" = error +"I" = info +"W" = warn +"D" = debug +%String +1 + + + + +%String +1 + + + +%String + + + +%String + + + + + +%String + + + + + +%String +1 + Set {*}=$E({Detail},1,10000) +1 + + + +%String + + + +%String + + + + +Stack level in case of errors +%String + + + + +1 +1 +MainIndex,Datum,SubID +1 + + + + + + + +Server + + + +Namespace + + + +Datum + + + +Niveau + + + +Actie + + + +Groep + + + + + + + +1 +objectgenerator + + + + +1 +oLogger:vhLib.Logger,Datum,Tijd,Niveau:%String,Groep:%String,Actie:%String,Detail:%String,ProgLabel:%String,SendMail:%String=0 + + + + +%String + + + + +Datum,Tijd,Niveau:%String,Groep:%String="",Actie:%String,Detail:%String,ProgLabel:%String + + + + + +Set oLog=##class(VHSys.Logging).AddErrorToLog(Groep,Actie,Error,Detail) +1 +Groep:%String,Actie:%String,Error,Detail:%String,blnSendMail:%Boolean=1 +Logging +islist+2^%occRun")&&($$$GETERRORCODE(Error)=$$$GeneralError) lbTo=$LB("ICT_Meldingen@vanhoecke.be") ; Does not provide any extra information + Set sc=$$SendMiniMail^vhLib(From,lbTo,Subj,Body,,,,,) + Quit +aelErrorMailBody() +#define BodyTitle "Error in "_..%ClassName(1)_" : " +#define ErrorToLine(%v) $S($L($P(%v,">",2)):$TEXT(@$P(%v,">",2,32767)), 1:"") + Set Body="" + Set Body=Body_$$$BodyTitle_$$$CRLF + Set Body=Body_"Error message: "_$$ParseStatus^vhLib.System($G(Error,$G(%objlasterror)))_$$$CRLF + Set Body=Body_""_$$$CRLF + Set Body=Body_$$$CRLF_"Groep: "_$G(Groep) + Set Body=Body_$$$CRLF_"Actie: "_$G(Actie) + Set Body=Body_$$$CRLF_"Detail: "_$G(Detail) + Set Body=Body_$$$CRLF_"Error: "_$$ParseStatus^vhLib.System(Error) + Set Body=Body_$$$CRLF + Set Body=Body_$$$CRLF_"$ZError: "_$ZError + Set:($L($ZError)) Body=Body_$$$CRLF_"Line : "_$$$ErrorToLine($ZError) ; $$aelErrorToLine + Set:($L($G(%objlasterror))) Body=Body_$$$CRLF_"Object Last Error: "_$$ParseStatus^vhLib.System(%objlasterror) + Set Body=Body_$$$CRLF_"$ECode: "_$ECode + Set Body=Body_$$$CRLF_"Stack: " + For EST=1:1:$ESTACK Set Body=Body_$$$CRLF_" "_$STACK($STACK-EST,"PLACE") + Set Body=Body_$$$CRLF + Set Body=Body_$$$CRLF_"--- End of message ---"_$$$CRLF + Set Body=Body_$$$CRLF_..GetJobInfo(1,"") + Quit Body +]]> + + + +1 +blnMultiLine:%String,Indent:%String +%String + + + + +Niv:"_..Niveau_" Groep:"_..Groep_$S($L(..Actie):" Actie:"_..Actie,1:"")_$S($L(..Detail):" Detail:"_..Detail,1:"")_$S($L(..ProgLabel):" ProgLabel:"_..ProgLabel,1:"")) +]]> + + + + + + + +1 +Dagen +TotDatum Do + . Kill $$$StorageGlobal(Datum) + */ +]]> + + + + +Analoog aan CleanOld, behalve de extra controle dat de global node geen subnodes meer bevat (blnCheckEmpty=1) +startH en StopH zijn inclusief, ze worden dus ook verwijderd uit de global. +1 +StartH:%Integer,StopH:%Integer,blnCheckEmpty:%Boolean=1 +StopH) Kill:($$$NoSubNodes($$$StorageGlobal(Datum))) $$$StorageGlobal(Datum) + Else Do + . For Set Datum=$O($$$StorageGlobal(Datum)) Quit:(Datum="") Quit:(Datum>StopH) Kill $$$StorageGlobal(Datum) + Quit + + */ +]]> + + + +1 + + + + +%Library.CacheStorage +^vhLib.LoggingD +LoggingDefaultData +^vhLib.LoggingD +^vhLib.LoggingI +^vhLib.LoggingS + + +%%CLASSNAME + + +Actie + + +Detail + + +Groep + + +Namespace + + +Niveau + + +ProgLabel + + +Server + + +Tijd + + +JobID + + +RemoteIP + + +LessDetail + + + + + +%Library.CacheStorage +^["LOG"]vhLib.LoggingD +LoggingDefaultData +^["LOG"]vhLib.LoggingD +^["LOG"]vhLib.LoggingI +^["LOG"]vhLib.LoggingS + + +%%CLASSNAME + + +Actie + + +Detail + + +Groep + + +Namespace + + +Niveau + + +ProgLabel + + +Server + + +Tijd + + +JobID + + + + +