#include %VHMacro OnPage s ClientIP="192.168.1.97" ;d CLS^vhDBG New ProdID,PRNr,Key,CheckDigit,Taal,GenTyp,blnKAD,blnTBX Set ProdID=$G(%request.Data("PRID",1)) Set PRNr=$G(%request.Data("PRNR",1)) Set Key=$G(%request.Data("KEY",1)) Set CheckDigit=$G(%request.Data("CHK",1)) Set Taal=$G(%request.Data("TAAL",1)) Set:(Taal="") Taal=##class(Res.PI.Taal).BasisTaalID() ; Default Taal If PRNr?4.7N Do . Set ProdID=$P(^KPR(PRNr,"G"),"\",13) . Set GenTyp=$$GENTYP^HAD(PRNr) . Set blnKAD=($P(GenTyp,"\",1,2)?1(1"GLA\",1"KAD\",1"PRF\")) . Set blnTBX=(GenTyp?1"TBX\".E) ; ... . ;d WL^vhDBG("PRNr: "_PRNr_" - ProdID: "_ProdID_" GenTyp:"_GenTyp) Else Do . Set blnKAD=0 . Set blnTBX=1 If $L(ProdID)&&(blnKAD) Do . Do opgXMLKaderdeurViaID(ProdID) Else If $L(ProdID)&&(blnTBX) Do . Do opgXMLViaID(ProdID) Else If $L(Key) Do . Do opgXMLFromGlobal Else Do . Write "Invalid data." Quit opgXMLFromGlobal If $L(CheckDigit) Quit:(CheckDigit'=$P($G(^Hulp(Key,"I")),"\",1)) Write:($D(^Hulp(Key,"S"))#10) ^Hulp(Key,"S") Quit opgXMLKaderdeurViaID(ProdID) New PR Set PR=##class(Prod.GADef.KaderDeur).%OpenId(ProdID) Quit:('$IsObject(PR)) Do PR.XMLWrite(0,"N","GAO;GAF;GAV",$S($G(%request.Data("NOXSL",1))=1:"", 1:"Format GADefKader.xsl")) Set PR="" Quit opgXMLViaID(ProdID) New arValidPR,PR d WLIP^vhDBG(97,"opgXMLViaID "_ProdID) Set PR=##class(Prod.GAData.Product).OpenWithCalc(ProdID) d WLIP^vhDBG(97,"after OpenWithCalc ") Quit:('$IsObject(PR)) If 'PR.ValidatePR(.arValidPR) Do opgInvalidPR d WLIP^vhDBG(97,"after ValidatePR ") Do PR.XMLWrite(0,"N","GAF;GAO",$S($G(%request.Data("NOXSL",1))=1:"", 1:"Format GAProduct.xsl")) d WLIP^vhDBG(97,"after XMLWrite ") Do:($G(%request.Data("TOGLOB",1))=1) opgXMLtoGlobal Do PR.%Close() Quit opgInvalidPR #define CRLF $C(13,10) New tmpRqCGI,msg,Key,DItem,tmpLB Merge tmpRqCGI=%request.CgiEnvs Set msg="Fouten bij de validatie van de producten (IP:"_tmpRqCGI("REMOTE_ADDR")_") :" Set Key="" For Set Key=$O(arValidPR(0,Key)) Quit:(Key="") Do . Set DItem=PR.DataItems.GetAt(Key) . Do opgBuildColumnData . Set msg=msg_$$$CRLF_"> "_DItem.Get("Oms")_" ("_DItem.Code_") : "_$S(DItem.MetaItem.Code="KST":"MatKost="_$$$LCVT(DItem.CalcMat()), 1:"PRNr="""_DItem.Get("PRNr")_""""_$S(0:" Kenm="_$$$LCVT(DItem.Get("Kenm")),1:"")) . Set msg=msg_$$$CRLF_"> "_$$LCVT^vhLib(tmpLB) d WL^vhDBG(msg) Quit opgBuildColumnData #define LBDeleteAt(%lb,%i) $LI(%lb,1,%i-1)_$LI(%lb,%i+1,-1) New MParam,MetaI,i Set MetaI=DItem.MetaItem Set tmpLB="" Set PKey="" For Set MParam=MetaI.Parameters.GetNext(.PKey) Quit:(PKey="") Do:(MParam.KolomNr>0) . Set $LI(tmpLB,MParam.KolomNr)=DItem.Get(PKey) For i=$LL(tmpLB):-1:1 Set:('$LD(tmpLB,i)) tmpLB=$$$LBDeleteAt(tmpLB,i) ; Lege ListItems verwijderen Quit opgXMLtoGlobal New Key,CStream Set Key=$$%J^vhRtn1_"TBX" Set CStream=##class(%GlobalCharacterStream).%New() Do PR.XMLWrite(CStream,"N","GAF;GAO","Format GAProduct.xsl") d WL^vhDBG("WBrKey :"_Key_" "_" op "_$G(ComputerName,$ZUTIL(110))_" / "_$G(NameSpace,$ZUTIL(67,6,$J))) Do txoXMLToGlobal(Key,0) Do CStream.%Close() Quit txoXMLToGlobal(Key,CheckDigits) Quit:(Key="") Kill ^wvXML("GA.PR",Key) Set ^wvXML("GA.PR",Key,"I")=CheckDigits_"\"_"\"_$J Set ^wvXML("GA.PR",Key,"S")=CStream.Read(CStream.Size) Quit