Controle van usernaam en wachtwoord + alle bijhorende rechten BL.Prod,Prod.Product 1 TECH.RegisteredObject ==================================================================================================================== 1 S 1 N 1 A 1 %Status 1 OEI K I Geeft het mirror product (indien bestaande), bv. bij een links product wordt het rechtse product gezocht De mirror staat staat opgeslagen in de kenmerkgroep OEI Set blProdSelect=##class(BL.Prod.Select).Instantiate() D blProdSelect.GetMirror(PRNr,.MirrorPRNr,.MirrorLR,.CurrentLR,.lbMultiPRNrs) 0 R blProdSelect.GetPool(PRNr)]]> PRNr 0 L PRNr,Criteria 0 %Boolean T B " #define endPar Set Text=Text_"

" #define labelFmt(%txt) Set Text=Text_""_%txt_" : " #define valueFmt(%txt) Set Text=Text_""_%txt_"" #define highlightFmt(%txt) Set Text=Text_""_%txt_"" #define break Set Text=Text_"
" Set oProd=##class(Prod.Product).%OpenId(PRNr) Quit:'$isObject(oProd) "" $$$blData Set pxProductDtl=##class(pxProductDtl).Create(PRNr,oProd.KortTekst,$LG(%blData.FavorietElement(PRNr,1,1),1)) Do ..ProductDetailPrijs(oProd,%ECSession.KlantNr,pxProductDtl,1) s %ClientIP="192.168.1.15" Set Text="" If ..NotKSProduct(PRNr) $$$highlightFmt("*** geen KS product ***") $$$break $$$break $$$beginPar $$$labelFmt($$$Translate("Verpakking")) Set GrootVpk=oProd.Prijs.GrootVerpakking Set NormVpk=oProd.Prijs.NormaleVerpakking $$$valueFmt($S(GrootVpk=1:$$$Translate("PerStuk"),1:$$FormatNumber^vhLib("#.##0",GrootVpk))) If NormVpk,(GrootVpk'=NormVpk) $$$valueFmt(" & "_$S(NormVpk=1:$$$Translate("PerStuk"),1:$$FormatNumber^vhLib("#.##0",NormVpk))) $$$endPar ; Levertermijn $$$beginPar $$$labelFmt($$$Translate("Levertermijn")) Set Stock=oProd.StockNietStock If Stock Do ; Stock . $$$valueFmt($$$Translate("Voorraad")) Else Do ; Niet stock . If oProd.GenType["TBX",oProd.Prijs.LeveringsTermijn=0 Do ; Tandembox . . $$$valueFmt($$$Translate("MaatWerk")_", "_$$$Translate("72 uur")) . Else Do ; Niet stock . . $$$valueFmt((oProd.Prijs.LeveringsTermijn+1)_" "_$$$Translate($S((oProd.Prijs.LeveringsTermijn+1)=1:"week",1:"weken"))) . . $$$endPar . . $$$beginPar . . $$$labelFmt($$$Translate("MinBestel")) . . $$$valueFmt($$FormatNumber^vhLib("#.##0",oProd.Prijs.MinimumBestelhoeveelheid)_" "_$$$Translate("st.")) $$$endPar Set pxProductDtl.Beschrijving=Text Set MinVerpakking=oProd.Prijs.KleinVerpakking Set:'MinVerpakking MinVerpakking=oProd.Prijs.NormaleVerpakking Set:'MinVerpakking MinVerpakking=oProd.Prijs.GrootVerpakking Set:'MinVerpakking MinVerpakking=1 Set pxProductDtl.Veelvoud=MinVerpakking If Stock Do . Set pxProductDtl.MinAantal=1 . Set pxProductDtl.VeelvoudVerplicht=oProd.Prijs.VerkoopPerStuk=-1 . Set:pxProductDtl.VeelvoudVerplicht pxProductDtl.MinAantal=MinVerpakking Else Do . Set pxProductDtl.VeelvoudVerplicht=1 . Set pxProductDtl.MinAantal=oProd.Prijs.MinimumBestelhoeveelheid Set pxProductDtl.MaxAantal=99999 ; Dit zou eigenlijk product afhankelijk moeten zijn Quit pxProductDtl } Method ProductDetail(PRNr, ImageTypes) { #define LinkFmt(%tekst,%def)""_%tekst_" ("_%def_")" Set oProd=##class(Prod.Product).%OpenId(PRNr) Quit:'$isObject(oProd) "" $$$blData Set pxProductDtl=##class(pxProductDtl).Create(PRNr,oProd.KortTekst,$LG(%blData.FavorietElement(PRNr,1,1),1)) Do ..ProductDetailBeschrijving(oProd,%ECSession.KlantNr,pxProductDtl,.ImageTypes) Do ..ProductDetailPrijs(oProd,%ECSession.KlantNr,pxProductDtl) Quit pxProductDtl } /// Productomschrijving, productsleutels Method ProductDetailBeschrijving(oProd, KLNr, pxProductDtl, ImageTypes) { #define beginPar ;Set Text=Text ;#define beginPar Set Text=Text_"

" ;#define endPar Set Text=Text_"

" #define endPar Set Text=Text_"
" #define labelFmt(%txt) Set Text=Text_""_%txt_" : " #define valueFmt(%txt) Set Text=Text_""_%txt_"" #define break Set Text=Text_"
" Set Text="" Set KortTekst=oProd.KortTekst If $E(KortTekst,1,2)="OL" Do ..ProductDetailOrgalux(oProd,pxProductDtl) ; Orgalux Else If $P($G(^KPR(oProd.%Id(),0)),"\",3)?4.7N Do ; afgeleid product . Do ..AfgeleideImage(oProd,pxProductDtl) Else Do ; beslag producten . Do ..ProductLinks(oProd,pxProductDtl) ; beslag producten Set:$G(Text)="" Text=$LG(..ProductElements(oProd.%Id(),KLNr),4) ; Verpakking $$$break $$$beginPar $$$labelFmt($$$Translate("Verpakking")) Set GrootVpk=oProd.Prijs.GrootVerpakking Set NormVpk=oProd.Prijs.NormaleVerpakking $$$valueFmt($S(GrootVpk=1:$$$Translate("PerStuk"),1:$$FormatNumber^vhLib("#.##0",GrootVpk))) If NormVpk,(GrootVpk'=NormVpk) $$$valueFmt(" & "_$S(NormVpk=1:$$$Translate("PerStuk"),1:$$FormatNumber^vhLib("#.##0",NormVpk))) $$$endPar ; Levertermijn $$$beginPar $$$labelFmt($$$Translate("Levertermijn")) Set Stock=oProd.StockNietStock If Stock Do ; Stock . $$$valueFmt($$$Translate("Voorraad")) Else Do ; Niet stock . If oProd.GenType["TBX",oProd.Prijs.LeveringsTermijn=0 Do ; Tandembox . . $$$valueFmt($$$Translate("MaatWerk")_", "_$$$Translate("72 uur")) . Else Do ; Niet stock . . $$$valueFmt((oProd.Prijs.LeveringsTermijn+1)_" "_$$$Translate($S((oProd.Prijs.LeveringsTermijn+1)=1:"week",1:"weken"))) . . $$$endPar . . $$$beginPar . . $$$labelFmt($$$Translate("MinBestel"))? . . $$$valueFmt($$FormatNumber^vhLib("#.##0",oProd.Prijs.MinimumBestelhoeveelheid)_" "_$$$Translate("st.")) $$$endPar Set pxProductDtl.Beschrijving=Text ;Kenmerken Do ..ProductDetailKenmerken(oProd,pxProductDtl) } /// Afgeleiede product /// D ##class(BL.EC.Product).%New().AfgeleideImage() Method AfgeleideImage(oProd, pxProductDtl, ImageTypes) { ;Set %ClientIP="192.168.1.15" ;Set %Taal="N" ;Set PRNr=153401 ;Set PRNr=196656 ;Set oProd=##class(Prod.Product).%OpenId(PRNr) ;Set pxProductDtl=##class(pxProductDtl).Create(PRNr,oProd.KortTekst,"") Set StartPad="//res.vanhoecke.be/TBX/" Quit:$P(oProd.GenType,"\")'="TBX" ; allen voor TBX For Key="KLAS","RH","LT","BS" Set C(Key)=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",oProd.%Id(),Key)) ;d WL^vhDBG(Key_": "_C(Key)) Set ImgCode=C("KLAS")_""_C("RH")_""_$CASE(C("BS"),"ER":"DR","DR":"DR","ZR":"",:"BS")_$S(C("BS")="ZR":"",1:"")_$S(C("LT")="B":"ZIF",1:"") Set ImgCode=C("KLAS")_""_C("RH")_""_$CASE(C("BS"),"ZR":"",:"BS")_$S(C("BS")="ZR":"",1:"")_$S(C("LT")="B":"ZIF",1:"") Set TFile="http:"_$ZCVT(StartPad_ImgCode_".swf","O","URL") Set pxLnk=##class(pxProductLink).Create($$$Translate("PB"),$$$Translate("PB"),"Extensie","PB") Do pxLnk.AddThumbnailURL(TFile) Do pxLnk.AddDocLink("Web","SWF",TFile) Set Ok=pxProductDtl.Links.Insert(pxLnk) ;Do pxProductDtl.XMLExport() } /// D ##class(BL.EC.Product).%New().ProductLinks() Method ProductLinks(oProd, pxProductDtl) { Set StartPad="//res.vanhoecke.be/" Set Taal=%ECSession.Taal ;Haal een lijst op adhv $LB van functietypes (volgorde belangrijk) Set rsLinks=##class(%psResultSet).%New("Res.ImageLink:QGetLinksViaID") Set rsImg=##class(%psResultSet).%New("Res.ImageLink:GetViaFunctieTypes") Do rsImg.Execute("PR",oProd.%Id(),$LB("PB","AG","CA"),Taal) For Quit:'rsImg.Next() Do . Set Omschrijving=$$$Translate(rsImg.Data("FunctieType")) . Set pxLnk=##class(pxProductLink).Create(Omschrijving,Omschrijving,"Extensie",rsImg.Data("FunctieType")) . Do rsLinks.Execute(rsImg.Data("%ID"),rsImg.Data("FunctieType"),$LB("T","W","P","*"),$LB("PDF","JPG","EPS","*"),Taal) . For Quit:'rsLinks.Next() Do .. ;VisueelType controleren .. If rsLinks.Data("VisueelType")="T" Do ;THUMBNAIL! ... Do ##class(Res.ImageLink).GetFiles(StartPad,rsImg.Data("%ID"),"T","/",.TFiles) ... Set I="" ... For Set I=$O(TFiles(I)) quit:I="" Do .... Do pxLnk.AddThumbnailURL("http:"_$ZCVT(TFiles(I),"O","URL")) .. Else If rsLinks.Data("VisueelType")="W" Do ;WEB-LINKS ... Do ##class(Res.ImageLink).GetFiles(StartPad,rsImg.Data("%ID"),"W","/",.WFiles) ... Set I="" ... For Set I=$O(WFiles(I)) quit:I="" Do .... Do pxLnk.AddDocLink("Web",rsLinks.Data("Extensie"),"http:"_$ZCVT(WFiles(I),"O","URL")) .. Else If rsLinks.Data("VisueelType")="P" Do ;PRINT-LINKS ... Set oLink=##class(Res.ImageLink).GetFileObject(rsImg.Data("%ID"),"P") ... Quit:'$isObject(oLink) ... Set FileSizeFormatted=oLink.FileSizeFormatted() ... Set oImage=##class(Res.ImageLink).%OpenId(rsImg.Data("%ID")) ... Set NrOfPagesFormatted=$S(rsLinks.Data("Extensie")="EPS":"",$IsObject(oImage):oImage.NrOfPagesFormatted(Taal),1:"") ... Set ExtraInfo=FileSizeFormatted ... Set:((FileSizeFormatted'="") && (NrOfPagesFormatted'="")) ExtraInfo=ExtraInfo_", " ... Set ExtraInfo=ExtraInfo_NrOfPagesFormatted ... Do ##class(Res.ImageLink).GetFiles(StartPad,rsImg.Data("%ID"),"P","/",.WFiles) ... Set I="" ... For Set I=$O(WFiles(I)) quit:I="" Do .... Do pxLnk.AddDocLink("Print",rsLinks.Data("Extensie")_$S(ExtraInfo="":"",1:" ("_ExtraInfo_")"),"http:"_$ZCVT(WFiles(I),"O","URL")) . Set Ok=pxProductDtl.Links.Insert(pxLnk) } Method ProductDetailOrgalux(oProd, pxProductDtl) { Set Big=##class(cspBasis.ProductList).DataDefValueURL("N","OL",oProd.%Id(),"Sleutel","LI") Set Image=##class(cspBasis.ProductList).DataDefValueURL("N","OL",oProd.%Id(),"Sleutel","LB") Quit:Image="" Set:Big="" Big=Image Set $P(Image,"/",1,$S($ZCVT($zu(5),"U")="ADMIN1":3,1:5))="http://res.vanhoecke.be/OLProdCat" Set $P(Big,"/",1,$S($ZCVT($zu(5),"U")="ADMIN1":3,1:5))="http://res.vanhoecke.be/OLProdCat" Set pxLnk=##class(pxProductLink).Create($$$Translate("PB"),$$$Translate("PB"),"Extensie","PB") Do pxLnk.AddThumbnailURL(Image) Do pxLnk.AddDocLink("Web","JPG",Big) Set Ok=pxProductDtl.Links.Insert(pxLnk) Set Big=##class(cspBasis.ProductList).DataDefValueURL("N","OL",oProd.%Id(),"InfoSleutel","LI") Quit:Big="" Set $P(Big,"/",1,$S($ZCVT($zu(5),"U")="ADMIN1":3,1:5))="http://res.vanhoecke.be/OLProdCat" Set pxLnk=##class(pxProductLink).Create($$$Translate("PB"),$$$Translate("PB"),"Extensie","PB") Do pxLnk.AddThumbnailURL(Big) Do pxLnk.AddDocLink("Web","JPG",Big) Set Ok=pxProductDtl.Links.Insert(pxLnk) } /// Prijs Method ProductDetailPrijs(oProd, KLNr, pxProductDtl, AlignLeft) [ ProcedureBlock = 0 ] { #define labelFmt(%txt) Set Text=Text_"

"_%txt_"

" #define valueFmt(%txt,%AlignLeft) Set Text=Text_"

"_%txt_"

" #define break Set Text=Text_"
" New Q,D,U,KlantId,NetBrutP,R,Text Quit:'KLNr "" Set PRNr=oProd.%Id() Set Q="K",U=";",D="\" Set Text="" ; Prijs Set PrijsRec=$$KLANTPR^KPRIJS(KLNr,PRNr,%ECSession.NoSa) Set List=$LB($P(PrijsRec,"\",1),,$P(PrijsRec,"\",2)) Set:$E($P(PrijsRec,"\",3))="H" $LI(List,2)="H" Set KlantId=^KK1(KLNr) Set R=^KKL(KlantId,2),NetBrutP=$P(R,D,5) If NetBrutP Do ; Brutoprijs . ; TO DO Else Do ; Nettoprijs . $$$valueFmt($$FormatNumber^vhLib("#.##0,00",$S(%ECSession.Opties[$$$opNoPrice:99.99,1:+$P(PrijsRec,"\",1)))_" EUR"_$S($P(PrijsRec,"\",3)="H":"%",1:""),AlignLeft) Set pxProductDtl.Prijs=Text } Method ProductDetailKenmerken(oProd, pxProductDtl) { ;#define tabDefine Set Text=Text_"" ;#define tabEnd Set Text=Text_"" #define kenmerk(%Kenmerk,%Value) "

"_%Kenmerk_":"_%Value_"

" #define subGroep(%Groep) "

"_%Groep_"

" #define Groep(%Groep) "

"_%Groep_"

" Set Query="Prod.Kenmerk.DataDefinitie:LijstPerProductToelatenEC" Set Result=##class(%psResultSet).%New(Query) Set Status=Result.Execute(oProd.%Id()) Set Count=0 Kill MemSubGroep Set:(pxProductDtl.Beschrijving'="") pxProductDtl.Beschrijving=pxProductDtl.Beschrijving_"
" Kill FirstKenmerk For Quit:('Result.Next()) Do . Set Select=1,ID=Result.Get("ID"),KenmerkNaam=Result.Get("KenmerkNaam") . Set Waarden=$$LCVTSimple^vhLib(Result.Get("Waarden"),"`"),SubGroep=Result.Get("SubGroep") . Set:'$D(FirstKenmerk) pxProductDtl.Beschrijving=pxProductDtl.Beschrijving_$$$Groep($$$Translate("Kenmerk")) . Set FirstKenmerk=1 . If $D(MemSubGroep),MemSubGroep'=SubGroep Do . . Set pxProductDtl.Beschrijving=pxProductDtl.Beschrijving_$$$subGroep(SubGroep) //"
"_ . Set MemSubGroep=SubGroep . For I=1:1:$L(Waarden,"`") Do . . Quit:$P(Waarden,"`",I)="" . . Set pxProductDtl.Beschrijving=pxProductDtl.Beschrijving_$$$kenmerk(KenmerkNaam,$P(Waarden,"`",I)) . . Set (Select,ID,KenmerkNaam,KenmerkVolgNr)="" } Method PrijsElements(PRNr, KLNr) [ ProcedureBlock = 0 ] { New Q,D,U Set Q="K",U=";",D="\" If %ECSession.Opties'[$$$opNoPrice Do . Set PrijsRec=$$KLANTPR^KPRIJS(KLNr,PRNr,%ECSession.NoSa) . Set List=$LB(+$P(PrijsRec,"\",1),,$P(PrijsRec,"\",2)) . Set:$E($P(PrijsRec,"\",3))="H" $LI(List,2)="H" Else Do . Set List=$LB($$$NoPrice,,"EUR") Quit List } /// als Optie["LevTermMinB" dan wordt de levertermijn en minbestelhoeveelheid toegevoegd aan de compact en full tekst /// als Optie["ShowProdRef" dan wordt de pakketgegevens ipv de korttekst getoond /// als Optie["NoKlantProd" dan worden de pakketgegevens niet verwerkt Method ProductElements(PRNr, KLNr, TekstAfter As %String, Optie As %String) { Set PakketRef="" If $D(^KPR(PRNr)) Do . Set (Naam,KortTekst)=$P($G(^KPR(PRNr,0)),"\") . Set IdentNr=$P($G(^KPR(PRNr,2)),"\",25) . ;Set:$LF(%ECSession.Toegang,$$$opHasProdRef) PakketRef=$$DISP^PAKKET(%ECSession.KlantNr,PRNr,";",80) ; Ophalen van product referenties voor een bep. klant en product . Set:$G(Optie)'["NoKlantProd" PakketRef=$$DISP^PAKKET(%ECSession.KlantNr,PRNr,";",80) ; Ophalen van product referenties voor een bep. klant en product Else If $D(^KPRO(PRNr)) Do . Set (Naam,KortTekst)=$P($G(^KPRO(PRNr,0)),"\") . Set IdentNr=$P($G(^KPRO(PRNr,2)),"\",25) If $G(Optie)["ShowProdRef",$L(PakketRef),PakketRef'[";" Do . Set Naam=PakketRef . Set PakketRef="" Else Do . Set KortTekst="" Set TCompact="" If $L(KortTekst) Do . Set TCompact=""_$$$Translate("OnsProdRef")_" : "_KortTekst If $L(PakketRef) Do . Set TCompact=""_$$$Translate("UwProdRef")_" : "_PakketRef Set:..NotKSProduct(PRNr) TCompact=TCompact_"*** geen KS product ***" If $G(Optie)="LevTermMinB" Do . Set LevTermijn=$$$PRGet($$$LeveringsTermijn)+1 . Set MinBestel=$$$PRGet($$$MinimumBestelHoeveelheid) . Set:$L(TCompact) TCompact=TCompact_"
" . Set TCompact=TCompact_""_$$$Translate("LevTermijn")_" : "_LevTermijn_" "_$$$Translate("weken") . Set TCompact=TCompact_", "_$$$Translate("MinBestel")_" : "_$fn(MinBestel,".")_" "_$$$Translate("st.") Set TFull=TCompact Set LangTekst=##class(Prod.ProductTekst).GetOmschrijvingViaPRNr(PRNr,%ECSession.Taal,"
",1) ; incl kleur Set:LangTekst'="" TFull=TFull_$S($L(TFull)&&$L(LangTekst):"
",1:"")_LangTekst Set TFull=TFull_"
"_$$$Translate("Identnr")_" : "_IdentNr Set:$G(TekstAfter)'="" TFull=TFull_$S($L(TFull)&&$L(LangTekst):"
",1:"")_TekstAfter Quit $LB(PRNr,Naam,TCompact,TFull) } Method NotKSProduct(PRNr) [ ProcedureBlock = 0 ] { $$$InitOldLocals Quit ($LF(%ECSession.Opties,$$$opIsKS)||$LF(%ECSession.Opties,$$$opIsHandel))&&$LF(%ECSession.Opties,$$$opAllowAllProd)&&'$$ISPROD^KS(PRNr)&&'$L($$$PRGet($$$GenProduct)) } Method GetProductOms(PRNr, KLNr, MetPakket) { Set Result="" If $D(^KPR(PRNr)) Do . Set PakketRef=$S($G(MetPakketRef):$$DISP^PAKKET(KLNr,PRNr,";",80),1:"") ; Ophalen van product referenties voor een bep. klant en product . If $L(PakketRef) Set Result=Result_"~"_"Uw ref: "_PakketRef Else Do . Set Result=$$$Translate(..#ProductBestaatNiet) If $L(Oms) Set Result=Result_"~"_Oms Set:$E(Result)="~" $E(Result)="" Quit Result } /// Week in $H formaat Method VoorraadStatus(PRNr As %Integer, Aantal As %Integer, Week As %Date, ReedsInOrder) [ ProcedureBlock = 0 ] { $$$InitOldLocals Set FysStock=$$GETSTOCK^PRODUKT4(PRNr,"F") ;d WL^vhDBG("FysStock"_FysStock) If $G(Aantal),FysStock
N F D E L KortTekst ProductNr IdentNr KlantRef LevRef LangTekstN LangTekstF LangTekstD LangTekstE LangTekstR Klassificatie Boom StockType Actief KS 2 3 4 5 6 7 8 9 10 11 900 200 OEI 1 %Query Criteria:pxSelectCriteria 1 %Status ..#LijnMax %psLijnMax=..#LijnMax Set %psCriteria=Criteria Set %psFormatCompact=Criteria.FormatCompact Set:(%psFormatCompact="")||(%psFormatCompact=$C(0)) %psFormatCompact=..#foKortTekst_";"_..#foLangTekstN_";"_..#foStockType_";"_..#foActief Set %psFormatExpand=Criteria.FormatExpand Set:(%psFormatExpand="")||(%psFormatExpand=$C(0)) %psFormatExpand=..#foKortTekst_";"_..#foLangTekstF_";"_..#foLangTekstN_";"_..#foKortTekst_";"_..#foLevRef_";"_..#foKlantRef_";"_..#foKlassificatie Set %psSortKey="" Quit $$$OK ]]> 1 SelectExecute 0 %Status %psLijnMax) Do . Set AtEnd=1 Else Do . Set Row=..SelectRow(%psResult(%psSortKey),%psKlantNr) . If Row="" Set AtEnd=1 Quit $$$OK ]]> 1 SelectExecute %Status 1 PRNr,KLNr 1 1 1 PRNr,KLNr,FormatCompact 1 1 "_..GetColVal(PRNr,KLNr,Format)_"" . Else Do .. Set Tekst=Tekst_"
  "_..GetColVal(PRNr,KLNr,Format) Quit Tekst ]]>
1 PRNr,KLNr,FormatExpand 1 1 Retrieve values for each column 1 PRNr,KLNr,Format:%String %String ",1) Quit:(Format=..#foLangTekstF) ##class(Prod.ProductTekst).GetOmschrijvingViaPRNr(PRNr,"F","
",1) Quit:(Format=..#foLangTekstD) ##class(Prod.ProductTekst).GetOmschrijvingViaPRNr(PRNr,"D","
",1) Quit:(Format=..#foLangTekstE) ##class(Prod.ProductTekst).GetOmschrijvingViaPRNr(PRNr,"E","
",1) Quit:(Format=..#foLangTekstR) ##class(Prod.ProductTekst).GetOmschrijvingViaPRNr(PRNr,"BR","
",1) Quit:(Format=..#foKlassificatie) $$DISPL^KLASS($$$PRGet($$$KlassificatieKey)) Quit:(Format=..#foBoom) "" If Format=..#foStockType Do Quit ColVal . Set ColVal=$$$PRGet($$$StockType) . Set ColVal=$S(($P($G(^KPR(PRNr,0)),"\",3)?4.7N):"Afgeleid",ColVal="1":"Stock",1:"Niet stock") Quit:(Format=..#foActief) $S($$$PRGet($$$NONAktief):"Niet actief",1:"Actief") Quit:(Format=..#foKS) "" Quit "(format '"_Format_"' undefined)" ]]>
==================================================================================================================== Important remark: The storage location of the persistent object ^Prod.SearchIndex is used directly !!! Opgelet : De global gebruikt voor opslag van persistenobject ^Prod.SearchIndex wordt hier rechtstreeks gebruikt !!! 1 Afgeleide van SearchIndex die LB quit ipv Array 1 pxCriteria:BL.Prod.sub.pxSearchCriteria %List 3000) pxCriteria.MaxCount=3000 ; 3000 producten*10 bytes = 30KB wat een max. is voor een string Do ..SearchIndex(pxCriteria,.arProducts) Set lbResult = "" Set Index="" For Set Index=$O(arProducts(Index)) Quit:Index="" Do . Set lbResult = lbResult _ $LB(arProducts(Index)) Quit lbResult ]]> ==================================================================================================================== 1 Numerieke tabel opmaken 1 Result,LijnCnt 0 1 pxCriteria,PRNr,Result,LijnCnt,Content 0 1 PRNr 0 On the forehand the default setting depending on the usage. The settings are hardcoded but could as easily subtracted from a database. 1 pxCriteria:BL.Prod.sub.pxSearchCriteria Quickchecks of the SearchCriteria, those elements that can be found directly in the search index datastructure 1 PRNr:%Integer,pxCriteria:BL.Prod.sub.pxSearchCriteria,lbIndexContent:%List Product is already bought by the customer 1 PRNr,KLNr s lb=##class(BL.Prod.Search).GetVervangProductIfFirstTime(508925,2886) 1 PRNr,KLNr %List niet gekocht If LastSellingDate'="",$$INTDATE^vhLib.DataTypes(LastSellingDate,"DKP")>StartDate Quit "" Quit ..GetVervangProduct(PRNr,KLNr,12) ]]> 1 PRNr,KLNr,NumberOfMonths %List ==================================================================================================================== 1 ==================================================================================================================== 1