; ; ; /!\ DEPRECATED ; ; KSPRIJSL ;Klantenservice prijslijst[ 11/29/2003 8:10 AM ] Do ##class(vhLib.Logger).%New("KSPRIJSL.mac").WarningMail("Verouderde routine","KSPRIJSL werd net aangeroepen, in de routine staat aangegeven dat deze deprecated is. Dit moet dus herzien worden!"_$c(13,10,13,10)_##class(TECH.Process).GeefStackTrace()_$c(13,10,13,10)_$$GetJobInfo^vhLib()) Set KLNr="X" ;Set KLNr=$$SELECT^KLANT6() ;D EXPOL("EUR","N",1,"N",KLNr) D EXPALFA("EUR","N","N",KLNr) ;D EXPTREE("EUR","N",1,"N") Q IMPORT Do MASTER^cQ5 READ !,"Filenaam (D:\Mac Files\User\File.ext) : ",File ;Set File="D:\Mac Files\Paul\KS.TXT2" For Dev=54:-1:51 Open Dev:(File:"R"):0 Quit:$T Use Dev Kill ^["LVH",master]PVKS("I") Set ^["LVH",master]PVKS("I")=$H Set Cnt=0 For Read Lijn Quit:$ZC=-1 Do .Set Cnt=Cnt+1,^["LVH",master]PVKS("I",Cnt)=$TR(Lijn,$C(9),"\") Close Dev Quit TNODES ;IDNr:3;KortT:4;IsKS:11;KVP:13;GVP:14 CONVERT D ^cA604,MASTER^cQ5 If master'=boot Write "Moet lopen in ",master Q Kill ^PVKS("C") Set ^PVKS("C")=$H Set Nodes=$P($T(TNODES),";",2,99) For Cnt=1:1:$O(^PVKS("I",""),-1) Do .Set Rec=$G(^PVKS("I",Cnt)) .Quit:$TR(Rec,"\ ","")="" .For I=1:1:$L(Nodes,";") Set @$P($P(Nodes,";",I),":")=$P(Rec,D,$P($P(Nodes,";",I),":",2)) .Set IDNr=$TR(IDNr,". ","") .Set Error=0 .If IDNr="" Set Error=1 .If $L(IDNr),'$D(^KPR2(IDNr_" ")) Set Error=2 .If Error Write !,Cnt," -> ",Rec Quit .Set PRNr=+^KPR2(IDNr_" ") .Set ^PVKS("C",PRNr)=IDNr_D_IsKS_D_KVP_D_GVP Quit PUTPROD Set PRNr=0,KSCnt=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do .Set KSDB="",KSKV="",KSGV="",IsKS=0 .If '$P(^KPR(PRNr,1),D,20) ; Niet stock .Else If $D(^PVKS("C",PRNr)) Do ..Set KSRec=^PVKS("C",PRNr) ..If $$UPTRIMAN^vhRtn1($P(KSRec,D,2))'="HANDEL" Quit ..Set IsKS=1,KSCnt=KSCnt+1 ..Set KSDB=20 ..Set KSKV=$P(KSRec,D,3) ..Set KSGV=$P(KSRec,D,4) .Else Do ..Set Key=$O(^KPR(PRNr,"I")) ..Quit:$P(^KPR(PRNr,Key),D)["DE" ..Write !,PRNr," ",$P(^KPR(PRNr,0),D,1)," NOT FOUND AND CLEANED" .Set Key=$O(^KPR(PRNr,"J")) Quit:$E(Key)'="J" .Set Rec=^KPR(PRNr,Key) .;W:IsKS !!,PRNr," ",Rec .Set $P(Rec,D,10)=KSDB .Set $P(Rec,D,11)=KSKV .Set $P(Rec,D,12)=KSGV .;W:IsKS !,PRNr," ",Rec .Set ^KPR(PRNr,Key)=Rec Quit EXPALFA(Munt,Taal,NoSa,KLNr) ; KLNr = Leeg -> geschikt voor PM ; = X -> geschikt voor Excel ; = klantnummer -> geschikt voor Excel met verkoopprijs van die klant New FVAN,FNAAR,SortKey,PRNr,%J,KortT,Dev Set Munt=$G(Munt,$$FADEF^vhRtn1()) Set Taal=$G(Taal,"N") Set OLSep=$G(OLSep) Set NoSa=$G(Taal,"N") Do VANNAAR^vhTERMINA($S($L($G(KLNr)):"P",1:"M")) Set File="KS"_Taal_Munt_$G(KLNr)_"ALFA.TXT" Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do .Quit:'$P(^KPR(PRNr,3),D,3) ; Mag NIET in de KS-prijslijst .Quit:$E($P(^KPR(PRNr,2),D,25))="6" ; Geen Kind product .Quit:$E($P(^KPR(PRNr,2),D,25))="7" ; Geen DO product .Quit:$L($P(^KPR(PRNr,0),D,3)) ; Geen generisch of afgeleid produkt .Set SortKey=$$SORTKEY^PRODUKT(PRNr) .Quit:##class(DOM.DomeinContext).Instance().GeefProductTypeAPI().IsOrgaluxProduct(PRNr) .Set SortKey="00ALL"_$$UPTRIMAN^vhRtn1($P(^KPR(PRNr,0),D)) .Set ^HULP(%J,SortKey,PRNr)="" Set Dev=$$OPEN^vhDEV(,File,"W") If Dev=0 Do TXT^vhINP("File "_File_" niet te openen") Quit ;Set Dev=0 Use Dev If $G(KLNr) Do .Write $TR("Productnaam,Langtekst1,Langtekst2,Kleur,Stuk,Prijs/Stuk,GO,KleinVP,Prijs/KVP,GO,GrootVP,Prijs/GVP,GO,PrijsKlant,GO",",",$C(9)) Set OLSG="" Set (KortT,PRNr)="" For Set KortT=$O(^HULP(%J,KortT)) Quit:KortT="" Do .For Set PRNr=$O(^HULP(%J,KortT,PRNr)) Quit:PRNr="" Do ..Do EXPONE(PRNr,NoSa,$G(KLNr)) Close:0'[Dev Dev Write !,"File "_File_" weggeschreven" Kill ^HULP(%J) Quit EXPOL(Munt,Taal,OLSep,NoSa,KLNr) ; KLNr = Leeg -> geschikt voor PM ; = X -> geschikt voor Excel ; = klantnummer -> geschikt voor Excel met verkoopprijs van die klant New FVAN,FNAAR,SortKey,PRNr,%J,KortT,Dev Set Munt=$G(Munt,$$FADEF^vhRtn1()) Set Taal=$G(Taal,"N") Set OLSep=$G(OLSep) Set NoSa=$G(Taal,"N") Do VANNAAR^vhTERMINA($S($L($G(KLNr)):"P",1:"M")) Set File="KS"_Taal_Munt_$G(KLNr)_"OL.TXT" Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do .Quit:'$P(^KPR(PRNr,3),D,3) ; Mag NIET in de KS-prijslijst .Quit:$E($P(^KPR(PRNr,2),D,25))="6" ; Geen Kind product .Quit:$E($P(^KPR(PRNr,2),D,25))="7" ; Geen DO product .Quit:$L($P(^KPR(PRNr,0),D,3)) ; Geen generisch of afgeleid produkt .Set SortKey=$$SORTKEY^PRODUKT(PRNr) .Set:'##class(DOM.DomeinContext).Instance().GeefProductTypeAPI().IsOrgaluxProduct(PRNr) SortKey="00ALL"_$$UPTRIMAN^vhRtn1($P(^KPR(PRNr,0),D)) .Quit:'##class(DOM.DomeinContext).Instance().GeefProductTypeAPI().IsOrgaluxProduct(PRNr) .Set ^HULP(%J,SortKey,PRNr)="" Set Dev=$$OPEN^vhDEV(,File,"W") If Dev=0 Do TXT^vhINP("File "_File_" niet te openen") Quit ;Set Dev=0 Use Dev If $G(KLNr) Do .Write $TR("Productnaam,Langtekst1,Langtekst2,Kleur,Stuk,Prijs/Stuk,GO,KleinVP,Prijs/KVP,GO,GrootVP,Prijs/GVP,GO,PrijsKlant,GO",",",$C(9)) Set OLSG="" Set (KortT,PRNr)="" For Set KortT=$O(^HULP(%J,KortT)) Quit:KortT="" Do .If OLSep,$E(KortT,3,4)="OL" Do ..Quit:OLSG=$E(KortT,1,17) ..Set OLSG=$E(KortT,1,17) ..Set Txt=$P($G(^KPSG1(OLSG_" ")),D,$F("NFDE",Taal)-1) ..Set:Txt="" Txt=$$DISPLS^KLASS(OLSG_" ") ..Write !,$S($G(KLNr)="":"",1:""),Txt .For Set PRNr=$O(^HULP(%J,KortT,PRNr)) Quit:PRNr="" Do ..Do EXPONE(PRNr,NoSa,$G(KLNr),OLSep&($E(KortT,3,4)="OL")) Close:0'[Dev Dev Write !,"File "_File_" weggeschreven" Kill ^HULP(%J) Quit EXPTREE(Munt,Taal,MetHGSep,NoSa,KLNr,All) ; KLNr = Leeg -> geschikt voor PM ; = X -> geschikt voor Excel ; = klantnummer -> geschikt voor Excel met verkoopprijs van die klant New FVAN,FNAAR Set Taal=$G(Taal,"N") Set Munt=$G(Munt,$$FADEF^vhRtn1()) Do VANNAAR^vhTERMINA($S($L($G(KLNr)):"P",1:"M")) Set File="KS"_Taal_Munt_$G(KLNr)_"KLAS.TXT" Set Dev=$$OPEN^vhDEV(,File,"W") If Dev=0 Do TXT^vhINP("File "_File_" niet te openen") Quit Use Dev If $G(KLNr) Do .Write $TR("Productnaam,Langtekst1,Langtekst2,Kleur,Stuk,Prijs/Stuk,GO,KleinVP,Prijs/KVP,GO,GrootVP,Prijs/GVP,GO,PrijsKlant,GO",",",$C(9)) Set (HG,GR,SG,KT)="" For Set HG=$O(^KPH(HG)) Quit:HG="" Do:HG'["DE"&(HG'["OL") .Write:$G(MetHGSep,1) !,$S($L($G(KLNr)):"",1:""),$E(HG,3,4) .For Set GR=$O(^KPH(HG,GR)) Quit:GR="" Do ..For Set SG=$O(^KPH(HG,GR,SG)) Quit:SG="" Do ...For Set KT=$O(^KPH(HG,GR,SG," ",KT)) Quit:KT="" Do ....Set PRNr=+^(KT) ....Do EXPONE(PRNr,NoSa,$G(KLNr),,$G(All)) Close Dev Write !,"File "_File_" weggeschreven" Quit EXPONE(PRNr,NoSa,KLNr,OLTrunc,All) Quit:'$P(^KPR(PRNr,3),D,3)&('$G(All)) ; Mag NIET in de KS-prijslijst Quit:$E($P(^KPR(PRNr,2),D,25))="6" ; Geen Kind product Quit:$E($P(^KPR(PRNr,2),D,25))="7" ; Geen DO product Quit:$L($P(^KPR(PRNr,0),D,3)) ; Geen generisch of afgeleid produkt Set KSRec=$$STAFFEL^KS(PRNr,NoSa) Quit:'$L(KSRec) Set Klas=$O(^KPR(PRNr,"I")) Set Klas=$P(^KPR(PRNr,Klas),D,3) Set KortTekst=$P(^KPR(PRNr,0),D,1) Set Ltekst1=$P(^KPR(PRNr,0),D,2) Set Ltekst2=$P(^KPR(PRNr,0),D,11) Set:Taal="F" Ltekst1=$P(^KPR(PRNr,1),D,22) Set:Taal="F" Ltekst2=$P(^KPR(PRNr,3),D,21) Set:Ltekst2="" Ltekst2=" " Set Kleur=$E(KortTekst,22,25) Set KleurOms=$P($G(^KCOL(Kleur_" ",Taal)),D,1) If $G(KLNr)!($G(KLNr)="X") Do ; Klant specifiek of voor Excel .Set Rec=KortTekst .Write ! .Write:$G(All) Klas,$C(9) .Write $TR(Rec,FVAN,FNAAR),$C(9),"" Else Do ; Alg. KS-prijsl .Set KT1=$$TRIM($E(KortTekst,1,11)) .If $G(OLTrunc),##class(DOM.DomeinContext).Instance().GeefProductTypeAPI().IsOrgaluxProduct(PRNr) Set KT1=$E(KT1,4,99) .Set Rec=KT1_$C(9)_$$TRIM($E(KortTekst,12,21))_$C(9)_$$TRIM($E(KortTekst,22,25)) .Set Rec=Rec_$C(9)_Ltekst1_$C(9)_KleurOms .Write !,"",$TR(Rec,FVAN,FNAAR) For I=3:-1:1 Do ; Wegschrijven Staffelprijzen .Write $C(9),$$EXTNUM^vhLib.DataTypes($P(KSRec,D,I),0,"Z.",0) .Set Rec=$$PROD^KPRIJS(PRNr,$E("LKE",I),"",Munt,"","",NoSa) .Write $C(9),$$EXTNUM^vhLib.DataTypes($P(Rec,D),0,"Z.",2) .Write $C(9),$S($P(Rec,D,3)="H":"%",1:"") If $G(KLNr) Do .Set Rec=$$KLANTPR^KPRIJS(KLNr,PRNr,NoSa) .Write $C(9),$$EXTNUM^vhLib.DataTypes($P(Rec,D),0,"Z.",2) .Write $C(9),$S($P(Rec,D,3)="H":"%",1:"") If $G(KLNr)!($G(KLNr)="X") Do .Write $C(9)_Ltekst1_$C(9)_Ltekst2_$C(9)_KleurOms .If $G(All) Do ; Stock en KS .. Write $C(9),$S($P(^KPR(PRNr,1),D,20):"S",1:""),$C(9),$S($P(^KPR(PRNr,3),D,3):"K",1:"") Else Do .Write !,"",$TR(Ltekst2,FVAN,FNAAR) Quit TRIM(X) For Quit:$E(X)'=" " Set $E(X)="" For Quit:$E(X,$L(X))'=" " Set $E(X,$L(X))="" Quit X