#include Prod.Product
TEST(KLNr)
If '$G(KLNr) Set KLNr=$$SELECT^KLANT6()
Set Result=$$PrijsLijstBeslag(KLNr,,"S")
Quit Result
BESTANDCMP(PathFile1,PathFile2)
Set Size1=##class(%File).GetFileSize(PathFile1)
Set Size2=##class(%File).GetFileSize(PathFile2)
Quit Size1'=Size2
BESTANDSIZE(PathFile1)
Quit ##class(%File).GetFileSize(PathFile1)
EXCEL(KLNr,Regio,Omzet,SelRegio,Dir)
;If $G(SelRegio),SelRegio'=Regio Quit "N/A"
;If (Regio'<10) && (Omzet<1000) Quit "No"
Set D="\"
Set Q="K"
Set U=";"
Set Result=$$PrijsLijstBeslag(KLNr,.Dir,"S",,,0)
Set Result=##class(%File).GetFileSize($$FULLPAD^vhDEV(Dir,"PL"_KLNr_".txt"))
Quit Result
; Prijslijst transfer
; Werkt samen met de VBA programma in het Excel document "Prijslijst Sjabloon"
;
; *********************************************************************
; ***** De routine moet aangepast worden voor BRUTO prijs klanten *****
; *********************************************************************
PrijsLijstBeslag(KLNr,Dir,NoSa,VanMnd,TotMnd,PrijsVergelijk)
Set:'$G(KLNr) KLNr=$$SELECT^KLANT6()
Set VanMnd=$G(VanMnd,"2007.08 ")
Set VanMndAfgl=$G(VanMnd,"2007.08 ")
Set TotMnd=$G(TotMnd,"2008.07 ")
;Set VanMnd="2005.12 "
;Set VanMndAfgl="2005.12 "
;Set TotMnd="2006.11 "
Set KLId=^KK1(KLNr)
Set Taal=$P(^KKL(KLId,0),D,9)
Set Separ="#@" ; $C(10)
Set PRNr=0
Kill Sort
Set HeeftRef=0
For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do
. Quit:$P(^KPR(PRNr,1),D,25) ; Non aktief
. Set Rec=$G(^KSTPR(PRNr,0,0))
. Quit:$P(Rec,D,8) ; Niet opnemen in alle prijslijsten
. Set Rec=^KSTKL(KLNr,PRNr,0)
. Quit:$P(Rec,D,8) ; Niet opnemen in prijslijst
. Quit:'$$SelectProd(PRNr)
.
. Set Qty=$P(Rec,D,9)
. Set GenPRNr=$P(^KPR(PRNr,0),D,3)
. Quit:GenPRNr'=""&&(GenPRNr'?4.7N)
. If 'Qty Set Qty=$$KLANT^STAT(KLNr,PRNr,$S(GenPRNr?4.7N:VanMndAfgl,1:VanMnd),TotMnd,1)
.
. Quit:'Qty
. Set Refs=$$DISP^PAKKET(KLNr,PRNr,Separ,99)
. If $L(Refs) Set HeeftRef=1
. Set SortKey=$$SORTKEY^PRODUKT(PRNr)
. Set Txt=^KPHG1($E(SortKey,1,4)_" ")
. Set Sort(SortKey)=$LB(PRNr,Qty,Refs)
Quit:'$D(Sort) "No"
Set Dev=0
;Set Dev=$$OPEN^vhDEV($G(Dir),"PL"_KLNr_".txt","W","")
Set Dev=$$OPEN^vhDEV($G(Dir),"PL"_KLNr_".txt","W","M")
Use Dev
Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2)
Set Regio=$P(^KKL(^KK1(KLNr),0),D,20)
Set:Taal="N" Titel="Prijzen vanaf 1 sep 2007"
Set:Taal="F" Titel="Liste de prix à partir du 1 sep 2007"
Write "PL",*9,KLNr,*9,KLNm,*9,Taal,*9,HeeftRef,*9,Titel,$C(13,10)
Write:Taal="N" $TR("Identnr;ProductNaam;Klant referentie;"_$S($G(PrijsVergelijk):"Aantal;Oude prijs;;Nieuwe prijs;",1:"Prijs;")_";Omschrijving",";",$C(9)),$C(13,10)
Write:Taal="F" $TR("Numéro id.;Article;Référence client;"_$S($G(PrijsVergelijk):"Quantité;Prix vieux;;Prix nouveaux;",1:"Prix;")_";Description",";",$C(9)),$C(13,10)
Set SortKey="",HG=""
For Set SortKey=$O(Sort(SortKey)) Quit:SortKey="" Do
. Set NewHG=$E(SortKey,1,4)
. If NewHG'=HG Do
. . Set Txt=$P(^KPHG1(NewHG_" "),D,$S(Taal="F":2,1:1))
. . Set HG=NewHG
. . Write Txt,$C(13,10)
. Set PRNr=$LI(Sort(SortKey),1)
. Set Qty=$LI(Sort(SortKey),2)
. Set Refs=$LI(Sort(SortKey),3)
. Set TxtString=$$LangTekst(PRNr,Taal,Separ)
. Set KortTekst=$P(^KPR(PRNr,0),D)
. Set IdentNr=$P(^KPR(PRNr,2),D,25)
. Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr,.NoSa)
. Set GO=$S($P(Prijs,D,3)="H":1,1:0)
. Set AankPrEur=$P(Prijs,D,13),VerkPrEur=$P(Prijs,D,14),Prijs=$P(Prijs,D,1)
. If $G(PrijsVergelijk) Do
. . Set PrijsH=$$KLANTPR^KPRIJS(KLNr,PRNr,"N")
. . Set GOH=$S($P(PrijsH,D,3)="H":1,1:0)
. . Set PrijsH=$P(PrijsH,D,1)
. ;Set TxtString=$TR(TxtString,$C(10),"~")
. ;Set Refs=$TR(Refs,$C(10),"~")
. ;Set AantalStuks=$$KLANT^STAT(KLNr,PRNr,VanMnd,TotMnd,1)
. Write IdentNr,*9,KortTekst,*9,Refs
. Write:$G(PrijsVergelijk) *9,$TR(Qty,".",","),*9,$TR(PrijsH,".",","),*9,GOH
. Write *9,$TR(Prijs,".",","),*9,GO,*9,TxtString,$C(13,10)
Close:"0"'[Dev Dev
Q "PL"_KLNr
SelectProd(PRNr)
Quit 1
Set IdentNr=$P(^KPR(PRNr,2),D,25)
Quit "06802662;06802742;06802802;06796673;06797303;06797053;07394062"[$TR(IdentNr,".","")
Quit 0
LangTekst(PRNr,Taal,Separ)
Set Taal=$G(Taal,"N")
Set Separ=$G(Separ,">CR<")
Set Kleur=$$OMSCHR^PRKLEUR(PRNr,Taal)
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 TxtString=""
For I=1:1:$L(List,",") Do
. Set Node=$P($P(List,",",I),".",1)
. Set Piece=$P($P(List,",",I),".",2)
. Set Piece=$P($P(List,",",I),".",2)
. Set Txt=$P($G(^KPR(PRNr,Node)),D,Piece)
. Quit:Txt=""
. Set TxtString=TxtString_Separ_Txt_$S(I=1&$L(Kleur):" - "_Kleur,1:"")
Set $E(TxtString,1,$L(Separ))=""
Quit TxtString
XML(Land,DiepteSelect,WDikteSelect,KleurSelect,NoSa)
Do BuildSortLocal(Land,.Sort,.DiepteSelect,.WDikteSelect,.KleurSelect,.NoSa)
Set Dev=0
Set Dev=$$OPEN^vhDEV(,"OL Prijslijst.xml","W")
Use Dev
W "",!
W "",!
Set HGrp="",Grp="",KT=""
For Set HGrp=$O(Sort(HGrp)) Quit:HGrp="" Do
. For Set Grp=$O(Sort(HGrp,Grp)) Quit:Grp="" Do
. . Write "",Sort(HGrp,Grp)
. . For Set KT=$O(Sort(HGrp,Grp,KT)) Quit:KT="" Do
. . . W ""
. . . Write "",$LI(Sort(HGrp,Grp,KT),2),""
. . . Write "",$TR($LI(Sort(HGrp,Grp,KT),3),".",","),""
. . . Set URL=$LI(Sort(HGrp,Grp,KT),4)
. . . Write "",URL,""
. . . w "",!
. . Write "",!
W ""
Close:Dev'=0 Dev
Quit
HtmlFoto(Land,DiepteSelect,WDikteSelect,KleurSelect,NoSa)
New Sort
Do BuildSortLocal(Land,.Sort,.DiepteSelect,.WDikteSelect,.KleurSelect,.NoSa)
Set Dev=0
Set Dev=$$OPEN^vhDEV(,"OL Prijslijst.HTML","W")
Use Dev
W ""
W "
"
W ""
Set HGrp="",Grp="",KT=""
For Set HGrp=$O(Sort(HGrp)) Quit:HGrp="" Do
. For Set Grp=$O(Sort(HGrp,Grp)) Quit:Grp="" Do
. . Write ""
. . Write "",Sort(HGrp,Grp)," | "
. . Write "
"
. . For Set KT=$O(Sort(HGrp,Grp,KT)) Quit:KT="" Do
. . . Write ""
. . . Write "",$LI(Sort(HGrp,Grp,KT),2)," | "
. . . Write "",$TR($LI(Sort(HGrp,Grp,KT),3),".",",")," | "
. . . Set URL=$LI(Sort(HGrp,Grp,KT),4)
. . . Write "",$S($L(URL):" ",1:" ")," | "
. . . Write "
"
W "
"
W ""
W ""
Close:Dev'=0 Dev
Quit
TVB
For Diepte=45,50,60,65,"" Do
. For WandDikte=16,18,"" Do
. . For TaalLand="NL","VL","WA" Do
. . . D TVBOne(Diepte,WandDikte,,,,TaalLand)
Q
TVBOne(DiepteSelect,WDikteSelect,KleurSelect,NoSa,ForceAll,TaalLand,FileNm)
New Sort,HGrp,Grp,KT,PRijs,Klant,Dealer,BPRijs,NPrijs
Set Taal=$S(TaalLand="WA":"F",1:"N")
Do BuildSortLocal("DEALER",.Sort,.DiepteSelect,.WDikteSelect,.KleurSelect,.NoSa,$G(ForceAll),Taal)
Set Dev=0
Set Dev=$$OPEN^vhDEV(,$G(FileNm,"OL "_$G(Diepte)_$G(WandDikte)_" "_TaalLand_".txt"),"W")
Use Dev
Set PRNr=0
Set Cnt=0
Write $TR("Product;Prijs"_$S($G(ForceAll):";Diepte;WandDikte;Kleur",1:""),";",$C(9)),!
Set HGrp="",Grp="",KT=""
For Set HGrp=$O(Sort(HGrp)) Quit:HGrp="" Do
. For Set Grp=$O(Sort(HGrp,Grp)) Quit:Grp="" Do
. . Write *9,$G(Sort(HGrp,Grp),"***"),!
. . For Set KT=$O(Sort(HGrp,Grp,KT)) Quit:KT="" Do
. . . Set List=Sort(HGrp,Grp,KT)
. . . Set PRNr=$LG(List,1)
. . . Set KortTekst=$LG(List,2)
. . . Set BPrijs=$$ConsumentPrijsBE^ORGALUX(PRNr,.NoSa)
. . . Set NLPrijs=$$ConsumentPrijsNL^ORGALUX(PRNr,.NoSa)
. . . Write KortTekst ; zonder sort volgorde
. . . Write *9,$TR($S(TaalLand="NL":NLPrijs,1:BPrijs),".",","),!
. . . Write:$G(ForceAll) *9,$LG(List,5),*9,$LG(List,6),*9,$LG(List,7)
. . . Set Cnt=Cnt+1
Close:Dev'=0 Dev
Quit Cnt
; w $$OrgaluxKlassificatie^PVPrijsLijst()
OrgaluxKlassificatie(KLNr,NoSa,ForceAll,FileNm,Price)
Set:+$H<60509 NoSa="S" ;<-- TIJDELIJK TOT 1 SEPTEMBER 2006
Set NoSa="S"
New Sort,HGrp,Grp,KT,PRijs,Klant,Dealer,BPRijs,NPrijs
If '$G(KLNr) Set KLNr=$$SELECT^KLANT6()
Quit:'KLNr
Set Taal=$P(^KKL(^KK1(KLNr),0),D,9)
Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2)
Set Dev=0
Set Dev=$$OPEN^vhDEV(,$G(FileNm,"Orgalux prijslijst "_KLNr_" "_KLNm_".txt"),"W")
Use Dev
Set PRNr=0
Set Cnt=0
Write $TR("PRNr;SortKey;Product;Wandddikte;Diepte;Kleur;Aankoop;Dealer;Cons B;Cons NL",";",$C(9)),!
For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do
. Set KortTekst=$P(^KPR(PRNr,0),D)
. Quit:$E(KortTekst,1,2)'="OL"
. Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr,.NoSa)
. Set Klant=$P(Prijs,D)
. Set Dealer=$$DealerPrijs^ORGALUX(PRNr,.NoSa) ; Dealer prijs is SPIL !
. Set BPrijs=$$ConsumentPrijsBE^ORGALUX(PRNr,.NoSa)
. Set NLPrijs=$$ConsumentPrijsNL^ORGALUX(PRNr,.NoSa)
. Set Diepte=$$ListToPieces^vhLib(##class(cspBasis.ProductList).DataDefValueList("N","OL",PRNr,"Diepte","","*",";"),";")
. Set WandDikte=$$ListToPieces^vhLib(##class(cspBasis.ProductList).DataDefValueList("N","OL",PRNr,"WandDikte","","*",";"),";")
. Set Kleur=$$ListToPieces^vhLib(##class(cspBasis.ProductList).DataDefValueList("N","OL",PRNr,"Kleur","","*",";"),";")
. Write PRNr,*9,$$SORTKEY^PRODUKT(PRNr),*9,$E(KortTekst,4,11)
. Write *9,WandDikte,*9,Diepte,*9,Kleur
. Write *9,$TR(Klant,".",","),*9,$TR(Dealer,".",","),*9,$TR(BPrijs,".",","),*9,$TR(NLPrijs,".",",")
. Write !
. Set Cnt=Cnt+1
Close:Dev'=0 Dev
Quit Cnt
OrgaluxTransfer(KLNr,lbDiepteSelect,lbWDikteSelect,lbKleurSelect,lbLadeTypeSelect,NoSa,ForceAll,MultiProd,ExtraColumns,FileNm,Price)
Set:+$H<60509 NoSa="S" ;<-- TIJDELIJK TOT 1 SEPTEMBER 2006
Set NoSa="S"
New Sort,HGrp,Grp,KT,PRijs,Klant,Dealer,BPRijs,NPrijs
If '$G(KLNr) Set KLNr=$$SELECT^KLANT6()
Quit:'KLNr
Set Taal=$P(^KKL(^KK1(KLNr),0),D,9)
Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2)
;set MultiProd=1
;Set ForceAll=1
Do BuildSortLocal("DEALER",.Sort,.lbDiepteSelect,.lbWDikteSelect,.lbKleurSelect,.lbLadeTypeSelect,.NoSa,.MultiProd,.ForceAll,Taal)
Set Dev=0
Set Dev=$$OPEN^vhDEV(,$G(FileNm,"Orgalux prijslijst "_KLNr_" "_KLNm_".txt"),"W")
Use Dev
Set PRNr=0
Set Cnt=0
Write:Taal'="F" $TR("Product;Omschrijving;Description"_$S($G(ForceAll):";Diepte;WandDikte;Kleur;LadeType;Aantal;Omzet",1:"")_";Aankoop;Dealer;Cons B;Cons NL;URLGroot;URLKlein",";",$C(9)),!
Write:Taal="F" $TR("Produit;Omschrijving;Description"_$S($G(ForceAll):";Profondeur;Epais;Couleur;Type de tiroir;Qty;Omzet",1:"")_";Prix d'achat;Dealer;Cons B;Cons NL;URLGroot;URLKlein",";",$C(9)),!
Set SHGrp="",SGrp="",SKT=""
For Set SHGrp=$O(Sort(SHGrp)) Quit:SHGrp="" Do
. For Set SGrp=$O(Sort(SHGrp,SGrp)) Quit:SGrp="" Do
. . Set Titel=1
. . Set SKT=""
. . For Set SKT=$O(Sort(SHGrp,SGrp,SKT)) Quit:SKT="" Do
. . . Set PRNr=$LG(Sort(SHGrp,SGrp,SKT),1)
. . . Set UnID=$LG(Sort(SHGrp,SGrp,SKT),2)
. . . If Titel Do
. . . . Set Txt=$LG(##class(cspBasis.ProductList).DataDefValueList(Taal,"OL",UnID,"SubType","K","*"),1)
. . . . Set Txt=$$ConvertHTMLToASCII^vhRtn1(Txt)
. . . . Write *9,$S(Txt="":"***",1:Txt),!
. . . . Set Titel=0
. . . Set KortTekst=$E($P(^KPR(PRNr,0),D),4,11)
. . . Set IdentNr=$P(^KPR(PRNr,2),D,25)
. . . Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr,.NoSa)
. . . Set Klant=$P(Prijs,D)
. . . Set Dealer=$$DealerPrijs^ORGALUX(PRNr,.NoSa) ; Dealer prijs is SPIL !
. . . Set:Prijs>Dealer Dealer="N/A"
. . . Set BPrijs=$$ConsumentPrijsBE^ORGALUX(PRNr,.NoSa)
. . . Set NLPrijs=$$ConsumentPrijsNL^ORGALUX(PRNr,.NoSa)
. . . ;Write PRNr,*9,KT,*9,$LG(Sort(HGrp,Grp,KT),5),*9,$LG(Sort(HGrp,Grp,KT),6),*9,$LG(Sort(HGrp,Grp,KT),7),!
. . . ;Write PRNr,*9,$E(KT,1,5),*9,KortTekst ; met sort volgorde
. . . Write KortTekst,*9,$$LangTekst(PRNr,"N"),*9,$$LangTekst(PRNr,"F") ; zonder sort volgorde
. . . If $G(ExtraColumns) Do
. . . . New Grp,SGrp
. . . . Set KSGrp=$P(^KPR(PRNr,$O(^KPR(PRNr,"I"))),"\",3)
. . . . Set KGrp=$E(KSGrp,7,9)
. . . . Set KSGrp=$E(KSGrp,12,14)
. . . . Set HGrp=$LG(##class(cspBasis.ProductList).DataDefValueList(Taal,"OL",UnID,"ProductType","","*",";"),1)
. . . . Set Grp=$LG(##class(cspBasis.ProductList).DataDefValueList(Taal,"OL",UnID,"SubType","","*",";"),1)
. . . . Set Diepte=$LG(##class(cspBasis.ProductList).DataDefValueList(Taal,"OL",UnID,"Diepte","","*",";"),1)
. . . . Set WandDikte=$LG(##class(cspBasis.ProductList).DataDefValueList(Taal,"OL",UnID,"WandDikte","","*",";"),1)
. . . . Set Kleur=$LG(##class(cspBasis.ProductList).DataDefValueList(Taal,"OL",UnID,"Kleur","","*",";"),1)
. . . . Set LadeType=$LG(##class(cspBasis.ProductList).DataDefValueList(Taal,"OL",UnID,"HoofdGroep","","*",";"),1)
. . . . Write *9,KGrp,*9,KSGrp,*9,HGrp,*9,Grp,*9,Diepte,*9,WandDikte,*9,Kleur,*9,LadeType
. . . . Set Stat=$$PROD^STAT(PRNr,0,"2006.10 ","2007.09 ","1,3")
. . . . Write *9,$P(Stat,D,1),*9,$TR($P(Stat,D,3),".",",")
. . . Write *9,$TR(Klant,".",","),*9,$TR(Dealer,".",","),*9,$TR(BPrijs,".",","),*9,$TR(NLPrijs,".",",")
. . . Do GetOLPictures(UnID,.Big,.Small)
. . . Write *9,Big,*9,Small
. . . Write !
. . . Set Cnt=Cnt+1
Close:Dev'=0 Dev
Quit Cnt
GetOLPictures(UnID,Big,Small)
Set Big=##class(cspBasis.ProductList).DataDefValueURL("N","OL",UnID,"InfoSleutel","LI")
Set Small=##class(cspBasis.ProductList).DataDefValueURL("N","OL",UnID,"InfoSleutel","LB")
Quit:Small=""
Set:Big="" Big=Small
Set $P(Small,"/",1,$S($ZCVT($zu(5),"U")="ADMIN1":3,1:5))="http://res.vanhoecke.be/OLProdCat/ViaSleutelK"
Set $P(Big,"/",1,$S($ZCVT($zu(5),"U")="ADMIN1":3,1:5))="http://res.vanhoecke.be/OLProdCat/ViaSleutelG"
Quit
OrgaluxRoyalCrown(KLNr)
New Sort,HGrp,Grp,KT,PRijs,Klant,Dealer,BPRijs,NPrijs
If '$G(KLNr) Set KLNr=8197 ; royalcrown
Quit:'KLNr
Do BuildSortLocal("DEALER",.Sort,.DiepteSelect,.WDikteSelect,.KleurSelect,.LadeTypeSelect,.NoSa,.MultiProd,$G(ForceAll),.Taal)
Set Dev=0
Set Dev=$$OPEN^vhDEV("c:\","OL PRIJSLIJST"_KLNr_".TXT","W")
Use Dev
Set PRNr=0
Write $TR("PRNr;Product;Klant;Dealer;Cons B;Cons NL",";",$C(9)),!
Set HGrp="",Grp="",KT=""
For Set HGrp=$O(Sort(HGrp)) Quit:HGrp="" Do
. For Set Grp=$O(Sort(HGrp,Grp)) Quit:Grp="" Do
. . Set Titel=1
. . For Set KT=$O(Sort(HGrp,Grp,KT)) Quit:KT="" Do
. . . Set PRNr=$LG(Sort(HGrp,Grp,KT),1)
. . . Set KortTekst=$E($LG(Sort(HGrp,Grp,KT),2),4,11)
. . . ;Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr,.NoSa)
. . . Set Prijs=$P($$PROD^KPRIJS(PRNr,"G","","EUR","","",$G(NoSa,"N")),D,1) ; Tijdelijk RC prijs tot 31/12/04 PV !
. . . Set Klant=$P(Prijs,D)
. . . ;Set Dealer=$$DealerPrijs^ORGALUX(PRNr,.NoSa) ; Dealer prijs is SPIL !
. . . Set Dealer=$P($$KlantPrijsViaKorting^KPRIJS(KLNr,PRNr,15,0,,1),D) ; De dealer van royalcrown hebben 15%
. . . Set BPrijs=$$ConsumentPrijsBE^ORGALUX(PRNr,.NoSa)
. . . Set NLPrijs=$$ConsumentPrijsNL^ORGALUX(PRNr,.NoSa)
. . . Set Product=##class(Prod.ProductTekst).%OpenId(PRNr)
. . . Set TxtN=Product.GetOmschrijving("N",">CR<")
. . . Set TxtF=Product.GetOmschrijving("F",">CR<")
. . . Write PRNr,*9,KT,*9,TxtN,*9,TxtF,*9,$LG(Sort(HGrp,Grp,KT),7),*9,$TR(Klant,".",","),*9,$TR(Dealer,".",","),*9,$TR(BPrijs/1.21,".",","),*9,$TR(BPrijs,".",","),!
Close:Dev'=0 Dev
q
BuildSortLocal(Land,Sort,lbDiepteSelect,lbWDikteSelect,lbKleurSelect,lbLadeTypeSelect,NoSa,MultiProd,ForceAll,Taal)
New PRNr,KT,PRijs,GrpURL,Grp,HGrp,URL,Txt,Kleur,WandDikte,Diepte
; Sort doorgeven via .Local
; Beperkingen :
; DiepteSelect : Lijst met ";" gescheiden van toegelaten dieptes, leeg = ALLES, vb "50;65"
; WDikteSelect : Lijst met ";" gescheiden van toegelaten wanddiktes, leeg = ALLES, vb "18"
; KleurSelect : Lijst met ";" gescheiden van toegelaten kleuren -niet case gevoelig-(grijs,wit,aluminium,inox,helder glas,Gezuurd glas), leeg ="ALLES
Set blKenm=##class(BL.Kenm.ProdMulti).Create("OL")
Set Taal=$G(Taal,"N")
Set KleurSelect=$G(KleurSelect)
If KleurSelect'["glas"&&(KleurSelect'="") Set KleurSelect=KleurSelect_";helder glas;Gezuurd glas"
Kill Sort
Set PRNr=0
For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do
. Quit:'$$ISORGAL^ORGALUX(PRNr)
. Quit:$P(^KPR(PRNr,$O(^KPR(PRNr,"I"))),"\",2)["OL3"
. Set lbUnIDs=blKenm.GetMultiplesLB(PRNr)
. Set:lbUnIDs="" lbUnIDs=$LB(PRNr)
. ;w PRNr," ",$$ListToPieces^vhLib(lbUnIDs),!
. For I=1:1:$LL(lbUnIDs) Do Quit:PRNr&&'$G(MultiProd)
. . Set UnID=$LI(lbUnIDs,I)
. . Do OLProductGet(blKenm,UnID,Taal,.ForceAll,.lbSortKey,.Diepte,.WDikte,.Kleur,.LadeType)
. . Quit:'$G(ForceAll)&&(lbSortKey="")
. . If lbSortKey="" Do
. . . Set (HGrp,Grp,URL,Txt,Diepte,WandDikte,Kleur)="*"
. . . Set SortList=$LB(99,99,PRNr)
. . .
. . Set PRNr=""
. . Quit:'$$CheckBeperking(WandDikte,$G(lbWDikteSelect))
. . Quit:'$$CheckBeperking(Kleur,$G(lbKleurSelect))
. . Quit:'$$CheckBeperking(Diepte,$G(lbDiepteSelect))
. . Quit:'$$CheckBeperking(LadeType,$G(lbLadeTypeSelect))
. . ;W:$ll(lbSortKey) " -> ",$$ListToPieces^vhLib(lbSortKey)," ",HGrp," ",Grp," ",Diepte," ",Txt,!
. . ;Set SortValue=$TR($J(SortValue,5)," ",0)
. . Set PRNr=blKenm.GetCommonID(UnID)
. . Set Sort($LI(lbSortKey,1),$LI(lbSortKey,2),$LI(lbSortKey,3))=$LB(PRNr,UnID)
Quit
CheckBeperking(Value,Select)
New Selected,I
Quit:'$LL($G(lbSelect)) 1 ; geen beperking gewenst
Quit:'$L(Value) 1 ; geen beperking voor dit product
Quit:Value="*" 1 ; wildcard gebruikt, geen beperking voor dit product
Set Value=$ZCVT(Value,"U")
Set Selected=0
For I=1:1:$LL(lbSelect) Set:$L($LI(lbSelect,I))&&((";"_Value_";")[(";"_$LI(lbSelect,I)_";")) Selected=1
Quit Selected
/****************************************************************************
Deze routine dient gecopieerd te worden naar namespace HALUX in routine PV
***************************************************************************/
OLProductGet(blKenm,UnID,Taal,ForceAll,lbSortKey,Diepte,WDikte,Kleur,LadeType)
New Sleutel,WaardenSortering
Set lbSortKey=""
Set Key=UnID_"||OL||ProductType" ;K-line, Orga-line, wood-line, antislipmatten, boxsides
&sql(select Waarden,Kenmerk->WaardenSortering into :Sleutel,:WaardenSortering from Prod_Kenmerk.DataDefinitie WHERE ID=:Key)
;d:PRNr=106449 WLIP^vhDBG(15,Sleutel_"1")
Quit:'$D(Sleutel) ""
Set Sort1=$S($D(Sleutel):$LF(WaardenSortering,$LG(Sleutel)),1:"~")
Set Key=UnID_"||OL||SubType"
&sql(select Waarden,Kenmerk->WaardenSortering into :Sleutel,:WaardenSortering from Prod_Kenmerk.DataDefinitie WHERE ID=:Key)
;d:PRNr=106449 WLIP^vhDBG(15,Sleutel_"2")
Quit:'$D(Sleutel) ""
Set Sort2=$S($D(Sleutel):$LF(WaardenSortering,$LG(Sleutel)),1:"~")
Set Key=UnID_"||OL||Sleutel"
&sql(select Waarden,Kenmerk->WaardenSortering into :Sleutel,:WaardenSortering from Prod_Kenmerk.DataDefinitie WHERE ID=:Key)
;w !,$$ListToPieces^vhLib(WaardenSortering)
;w !,$$ListToPieces^vhLib(Sleutel)
;d:PRNr=106449 WLIP^vhDBG(15,Sleutel_"3")
Quit:'$D(Sleutel) ""
Set Sort3=$S($D(Sleutel):$LF(WaardenSortering,$LG(Sleutel)),1:"~")
Set Sort3=(1000+Sort3)_$P(^KPR(blKenm.GetCommonID(UnID),0),D)
Set lbSortKey=$LB(Sort1,Sort2,Sort3)
;Set SubGroep=$$$PRGet($$$SubGroep)
;Set Groep=$$$PRGet($$$Groep)
;Set SortKey=SubGroep_$TR($J(SortValue,5)," ",0)
Set Diepte=$LG(##class(cspBasis.ProductList).DataDefValueList("N","OL",UnID,"Diepte","","*",";"),1)
Set WandDikte=$LG(##class(cspBasis.ProductList).DataDefValueList("N","OL",UnID,"WandDikte","","*",";"),1)
Set LadeType=$LG(##class(cspBasis.ProductList).DataDefValueList("N","OL",UnID,"HoofdGroep","","*",";"),1)
Set Kleur=$LG(##class(cspBasis.ProductList).DataDefValueList("N","OL",UnID,"Kleur","","*",";"),1)
;w "get:",UnID," ",Grp," ",HGrp," ",LadeType,!
Quit