#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