#include %Prod.Product BLPROD ;BLUM PRODUKTEN [ 11/29/2003 1:09 PM ] d ^cA604 s R=$$SELECT(1) w @F11,@F1,R Q ;Selecteren van een produkt ;IsVHProd : Moet bestaan in ^KPR ;DefPR : Optie : Default intern produktnummer ;Titel : Optie : prompting voor ingave ;Undef : Optie : toelaten of dat een ongedefinieerde identnummer wordt ingegeven. SELECT(IsVHProd,DefInp,Titel,Undef) New Tekst,BLID,PR,PRV,IPR,NotFound,X,Y,VPR,PRT,K,DefPR Set IsVHProd=$G(IsVHProd) Set DefInp=$G(DefInp) Set:DefInp'?1"."4.5N DefPR=$G(sRef("PR")) If $L(DefPR),'$D(^KPR(DefPR)) Set DefPR="" If DefPR,'$$CHECK(DefPR,IsVHProd) Set DefPR="" Set Tekst=$S($P(^cLOG(boot,"DEV",$$IO^cQ5()),"\")="MC":"PageUp",1:"SEL") If '$L($G(Titel)) Set Titel="BLUM Produkt : " Do ADD^vhScherm(21,24) Set BLID="" Set:$L(DefInp) PR=DefInp,zb=0 SEL2 Set:'$L(DefInp) PR=$$ASK^vhINP(Titel,25,"","KortTekst of IdentNummer "_$$TIT2(IsVHProd)) ;,Tekst_" voor lijst") Set DefInp="" If PR="-"!(PR=".") Set BLID=PR Goto EXIT ;If PR=""!zb Do LIST(IsVHProd):$L(LimT),LISTKT("","",""):'$L(LimT) Goto SEL2:'BLID,EXIT Set IIPR=PR,(IPR,PR)=$$UPTRIMAN^vhRtn1(PR),NotFound=0 Kill Y ; Via korttekst Set PRV=$O(^BLProd("I",PR_" ")) If $E(PRV,1,$L(PR))=PR Do Goto:BLID EXIT ;Bestaat volgens korttekst .If $E($O(^BLProd("I",PRV)),1,$L(PR))'=PR Set:$$CHECK($P(PRV,"\",2),IsVHProd) BLID=$P(PRV,"\",2) Quit .Else Do LISTKT(IsVHProd,PR) ; Niet uniek If '$G(Y(0)) Set NotFound=1 ; Via identnr, first char forced to 0 Set PRV=PR,$E(PRV)=0 If $D(^BLProd("D",PRV)),$$CHECK(PRV,IsVHProd) Set BLID=PRV Goto EXIT Set PRV=$O(^BLProd("D",PRV)) If $E(PRV,1,$L(PR))=PR Do Goto:BLID EXIT ;Bestaat volgens identnummer .If $E($O(^BLProd("D",PRV)),1,$L(PR))'=PR Set:$$CHECK(PRV,IsVHProd) BLID=PRV Quit .Else Set PRV=PR,$E(PRV)=0 Do LISTID(IsVHProd,PRV) ; Niet uniek If '$G(Y(0)) Set NotFound=NotFound+1 ; Via identnr, 0 added before first char Set PRV="0"_PR If $D(^BLProd("D",PRV)),$$CHECK(PRV,IsVHProd) Set BLID=PRV Goto EXIT Set PRV=$O(^BLProd("D",PRV)) If $E(PRV,1,$L(PR))=PR Do Goto:BLID EXIT ;Bestaat volgens identnummer .If $E($O(^BLProd("D",PRV)),1,$L(PR))'=PR Set:$$CHECK(PRV,IsVHProd) BLID=PRV Quit .Else Do LISTID(IsVHProd,"0"_PR) ; Niet uniek If $G(Undef),PR?1"0"7N Set PRV=$$ASK^vhINP("Identnummer "_PR_" toelaten : ",1,"","J[] = toelaten") If PRV="J" Set BLID=PR Goto EXIT If '$G(Y(0)) Set NotFound=NotFound+1 SEL3 Goto SEL2:NotFound'=3 Set FP=2301 Write @F,@F1,"Geen produkt gevonden" Write !,"waarvan de korttekst of identnummer begint met "_IPR,@FCH R *K:10 Write @FCS Goto SEL2 EXIT Quit BLID LISTID(IsVHProd,PR) ; Tonen van de lijst volgens korttekst Kill Y,X Set Y="5\\"_$$TIT(IsVHProd,"I")_"\\IDMORE^BLPROD\BLPRODOMS\P" X "Set Y(0)=$$"_$P(Y,"\",5)_"(0,3)" Quit:'Y(0) Do ^POP Set:X BLID=Y(X) Quit LISTKT(IsVHProd,PR) ; Tonen van de lijst volgens korttekst Kill Y,X Set Y="5\\"_$$TIT(IsVHProd)_"\\KTMORE^BLPROD\BLPRODOMS\P" X "Set Y(0)=$$"_$P(Y,"\",5)_"(0,3)" Quit:'Y(0) Set X=1 Do:Y(0)>1 ^POP Set:X BLID=Y(X) Quit LIST(IsVHProd,PR) ; Tonen van de volledige lijst Kill Y,X Set Y="5\\"_$$TIT(IsVHProd,$S(LimT="L":"L",1:""))_"\\"_"KTMORE^BLPROD\"_$S(LimT="L":"PRODLEVR",1:"BLPRODOMS")_"\P" X "Set Y(0)=$$"_$P(Y,"\",5)_"(0,3)" Do ^POP Set:X BLID=Y(X) Quit KTMORE(Max,Len,Ref) ; KortTekst MORE If Max>200 w *7 Quit Max Set Count=0 If Max,VPR="" Quit Max If 'Max Set VPR=PR_" " Set:$L(VPR)>1 VPR=$O(^BLProd("I",VPR),-1) S LenPR=$L(PR) For Set VPR=$O(^BLProd("I",VPR)) Quit:VPR=""!($E(VPR,1,LenPR)'=$E(PR,1,LenPR)) Set PRT=$P(VPR,"\",2) If $$CHECK(PRT,IsVHProd) Set Count=Count+1,Y(Count+Max)=PRT Quit:Count>Len Set:$E(VPR,1,LenPR)'=$E(PR,1,LenPR) VPR="" Quit Count+Max IDMORE(Max,Len,Ref) ; IdentNr MORE If Max>200 w *7 Quit Max Set Count=0 If Max,VPR="" Quit Max If 'Max Set VPR=PR Set:$L(VPR)>1 VPR=$O(^BLProd("D",VPR),-1) For Set VPR=$O(^BLProd("D",VPR)) Quit:VPR=""!($E(VPR,1,$L(PR))'=PR) Set PRT=VPR If $$CHECK(PRT,IsVHProd) Set Count=Count+1,Y(Count+Max)=PRT Quit:Count>Len Set:$E(VPR,1,$L(PR))'=PR VPR="" Quit Count+Max TIT(IsVHProd,Type) ; Titel afhankelijk van LimT New Tit set Type=$G(Type) Set Tit="Selecteer via "_$S(Type="I":"identnummer ",Type="L":"levref ",1:"korttekst ") Quit Tit TIT2(IsVHProd) ; Titel afhankelijk van LimT New Tit Quit "" Quit Tit ;Nakijken of het produkt voldoet aan limiet CHECK(BLID,IsVHProd) Quit:'IsVHProd 1 Quit $$GETVH(BLID) RAADPL(BLID,Screen,NoMod) Set:'$D(Screen) Screen="" New (%ZR,%ZM,Q,QL,QM,QN,QO,QRVG,QT,QTU,QU,QW,QZ,D,DT,TD,DD,DM,DJ,F70,F71,U,boot,cs,master,workst,io,QP,QD,%Q1,BLID,Screen,NoMod,sProgLog,RK) Xecute F71 Set LScreen=Screen,Aktie="" If '$D(^KPR(BLID)) Quit LScreen_D_Aktie Set EXTERN=1,PARAM=BLID_D_Screen Do ^RPLPR Set Aktie=$G(Aktie),LScreen=$G(LScreen) Set Aktie=$S(Aktie="(":"P",Aktie=")":"N",1:"") Quit LScreen_D_D_Aktie ; ; WIJZIG(BLID,Screen,Element) Set:'$D(Screen) Screen="" Set:'$D(Element) Element="" Lock ZD New (%ZR,%ZM,Q,QL,QM,QN,QO,QRVG,QT,QTU,QU,QW,QZ,D,DT,TD,DD,DM,DJ,F70,F71,U,boot,cs,master,workst,io,QP,QD,%Q1,BLID,Screen,Element,sProgLog,RK) Xecute F71 Set LScreen=$G(Screen),LElement=$G(Element),Aktie="" If '$D(^KPR(BLID)) Quit LScreen_D_LElement_D_Aktie Set EXTERN=1 Do ^KPE30 Set Aktie=$S(Aktie="(":"P",Aktie=")":"N",1:"") Lock ZD Quit LScreen_D_LElement_D_Aktie ; ; Vorig of volgend produkt in KPH ; Gebruikt in raadplegen en wijzigen produkten NEXT(Via,BLID,IsVHProd,Dir) New I,R,PRCd,PRCCd,PRId,PRCId,HoofdGr,Groep,SubGroep,Merk,LimV,LimT If '$D(Dir) Set Dir=1 If Dir'=1,Dir'=-1 Set Dir=$S(Dir="P":-1,1:1) If Via="P" Do Quit BLID .Set KT=$$UPTRIMAN^vhRtn1($P(^BLProd("D",BLID),D,1)) .For Do Quit:'BLID If '$P(^BLProd("I",BLID),D,25) Quit:$$CHECK(BLID,IsVHProd) ..Set PRCd=$$UPTRIMAN^vhRtn1(BLID)_" " ..Set PRCd=$O(^KPR1(PRCd),Dir) ..Set BLID=$S($L(PRCd):$P(^KPR1(PRCd),D),1:"") If Via="I" Do Quit BLID .For Do Quit:'BLID If '$P(^KPR(BLID,1),D,25) Quit:$$CHECK(BLID,IsVHProd) ..Set PRId=$P(^KPR(BLID,2),D,25),PRCId=$$TRIMIDENT^vhRtn1(PRId) ;[IDENT] CW ..Set PRCId=$O(^KPR2(PRCId),Dir) ..Set BLID=$S($L(PRCId):$P(^KPR2(PRCId),D),1:"") W *7 Quit "" ; CHKKLAS(PRNr) New I,R,KKey,IDNr,BLIDNr,BLKey,BLVds,BLKlas,Bool Quit:'$D(^KPR(PRNr)) "" Set I=$O(^KPR(PRNr,"I")) Quit:$E(I)'="I" "" Set R=^KPR(PRNr,I),KKey=$P(R,D,4),R=^KPR(PRNr,2),IDNr=$P(R,D,25) Set BLIDNr=$$TRIMIDENT^vhRtn1(IDNr),$E(BLIDNr)=0 ;[IDENT] CW Quit:'$D(^BLProd("D",BLIDNr)) "" Set R=^BLProd("D",BLIDNr),BLKey=$P(R,D,19) Set oKlas=##class(Blum.Klassificatie).OpenV2(BLKey) If $isObject(oKlas) Do . Set BLKKeySubGrp=oKlas.SubGroepGetObjectId() . Set BLKlasOms=oKlas.Omschrijving . If KKey'=BLKKeySubGrp,$L(BLKKeySubGrp),$D(^KLAS("K",BLKKeySubGrp)) Set Bool=0 . Else Do . . Set Bool=1 . . If KKey'=BLKKeySubGrp Do ; updata Blum.Klassificatie met de juiste KKey . . . Do oKlas.SubGroepSetObjectId(KKey) . . . Set OK=oKlas.%Save() Else Do . Set Bool="",BLKlasOms="" Quit BLKlasOms_D_KKey_D_Bool GetBlumID(PRNr) Quit:'$D(^KPR(PRNr,"J5005")) "" Set IdentNr=$$$PRGet($$$IdentNummer) Set BLID="0"_$TR($E(IdentNr,2,99),".","") Quit:'$D(^BLProd("D",BLID)) "" Quit BLID GETVH(BLID,BLKLNr) New IList,II,I,VHKLKNr Set BLID=$TR(BLID,".","") Set:$L(BLID)>7 $E(BLID)="" Set BLID=BLID_" " Set BLKLNr=$G(BLKLNr) Set:BLKLNr VHKLNr=+$P($G(^BLBeri("K",BLKLNr)),D,3) //Set:BLKLNr IList=$P($G(^BLBeri("K",BLKLNr)),D,5) //IF '$L($G(IList)) set IList="0;1;2;3;4;5;8" FOR CH=65:1:90 Set IList=IList_";"_$Char(CH) ;[IDENT] JCL A..Z Set PRNr="" ; Produkt nemen volgens de externe specificaties opgeslagen in ^PRPUTZ If BLKLNr For II=1:1:$L(IList,";") Quit:PRNr Do .Set I=$P(IList,";",II) .Set PRNr=$P($G(^KPR2(I_BLID)),D) Quit:'PRNr .If $P($G(^PRPUTZ("N",PRNr,VHKLNr,0)),D,1)'=BLKLNr Set PRNr="" Quit ; Produkt nemen volgens identnummer beginnend met 0..8 en van A..Z For II=1:1:$L(IList,";") Quit:PRNr Do .Set I=$P(IList,";",II) .Set PRNr=$P($G(^KPR2(I_BLID)),D) Quit PRNr GetVHProds(BLID) New IdentNr, PRNr, BI, CH, lbPRNrs Set lbPRNrs="" For BI=0,1,2,3,4,5,6,7,8 DO IF BI=8 FOR CH=65:1:90 Do ; [IDENT] JCL ; UGLY 0..8 & A..Z . If $G(CH)>64 Set BI=$char(CH) . Set IdentNr=BI_$S($L(BLID)=8:$E(BLID,2,8),1:BLID)_" " . Quit:'$D(^KPR2(IdentNr)) . Set lbPRNrs=lbPRNrs_$LB(+^(IdentNr)) Quit lbPRNrs ; Copieren van BLUM productgegens naar het VH product bestand ; vertrekkend van het BLUM identnr CopyBlumID(BLID,Opties) New IdentNr, PRNr, BI , CH For BI=0,1,2,3,4,5,6,7,8 DO IF BI=8 FOR CH=65:1:90 Do ; [IDENT] JCL . If $G(CH)>64 Set BI=$char(CH) .Set IdentNr=BI_$S($L(BLID)=8:$E(BLID,2,8),1:BLID)_" " .Quit:'$D(^KPR2(IdentNr)) .Set PRNr=+^(IdentNr) .Do CopyBlumProd(PRNr,.Opties) Quit ; =als(isleeg(xx);"";ceRoutine("$$Excel^BLPROD";A2&"\xx")) Excel(Key) New PRNr,Optie Set Q="K",D="\",U=";" S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" s DT=$$EXTDATE^vhDTyp($H,"DKP") Set PRNr=$P(Key,"\",1) Set Optie=$P(Key,"\",2) Do CopyBlumProd(PRNr,Optie) Quit "Done" ; Copieren van BLUM productgegens naar het VH product bestand ; vertrekkend van het internproductnr ; Opties : BG = BrutoGewicht ; PQ = PalletQty ; VQ = VerpakkingsQty ; EAN = EAN code (barcode) ; LT = Levertermijn ; MBH = Minimumbestelhoeveelheid CopyBlumProd(PRNr,Opties,Value) New IdentNr, BLID, BLRec,Verpak Set Opties=$G(Opties,"BG;PQ;EAN;LT") ; Set Opties=$G(Opties,"BG;PQ;EAN;VQ;LT") ; VQ is verwijded door PV op 030609 Quit:'$$$PRExist Set IdentNr=$$$PRGet($$$IdentNummer) Set BLID="0"_$TR($E(IdentNr,2,99),".","") Set BLRec=^BLProd("D",BLID) ; BrutoGewicht Do:(Opties["BG")&&$P(BLRec,D,9) $$$PRSetRubr($$$Gewicht,$J($P(BLRec,D,9),0,2),"Gewicht(EDI)") ; PalletQty Do:(Opties["PQ")&&$P(BLRec,D,18) $$$PRSetRubr($$$PalletQty,$P(BLRec,D,18),"PalletQty(EDI)") ; EANCode Do:(Opties["EAN")&&$L($P(BLRec,D,20)) $$$PRSetRubr($$$BarcodeWaarde,$P(BLRec,D,20),"Barcode(EDI)") ; Verpakking If Opties["VQ"&&$P(BLRec,D,4) Do . Quit:PRNr=457010 ; Ecopack LI+RE verpakking mag niet veranderen - PV 19/06/2009 . ; Eerst sorteren en eventuele dubbels eruit halen . Set:$P(BLRec,D,4) Verpak($P(BLRec,D,4))="" . Set:$P(BLRec,D,5) Verpak($P(BLRec,D,5))="" . Set:$P(BLRec,D,6) Verpak($P(BLRec,D,6))="" . Set (GrootVP,NormVP,KleinVP,Verpak)="" . For Set Verpak=$O(Verpak(Verpak),-1) Quit:Verpak="" Do . . If 'GrootVP Set GrootVP=Verpak . . Else If 'NormVP Set NormVP=Verpak . . Else If 'KleinVP Set KleinVP=Verpak . Do $$$PRSetRubr($$$KleinVerpakking,KleinVP,"KleinVerp(EDI)") . Do $$$PRSetRubr($$$NormaleVerpakking,NormVP,"NormVerp(EDI)") . Do $$$PRSetRubr($$$GrootVerpakking,GrootVP,"GrootVerp(EDI)") ; Levertermijn If (Opties["LT")&&($$Leverdagen2Week(PRNr)?1.N) Do . Do $$$PRSetRubr($$$LeveringsTermijn,$$Leverdagen2Week(PRNr),"Levertermijn(EDI)") . ; Minimum bestelhoeveelheid If (Opties["MBH") Do . Set BLPrijs=$$BLPRIJS^BLPRGEG(PRNr) . Set MinBH=$P(BLPrijs,D,7) . Quit:MinBH="" . Do $$$PRSetRubr($$$MinimumBestelHoeveelheid,MinBH,"Min.BestelH(EDI)") If (Opties["KT") Do . Quit:$P(BLRec,D,1)="" . Quit:$P(BLRec,D,1)=$$$PRGet($$$KortTekst) . Quit:$$$PRGet($$$KortTekst)["*KP*" . Quit:$$$PRGet($$$KortTekst)["*DO*" . Quit:$$$PRGet($$$KortTekst)?1.E1"*"4.5N1"*".E . ;Quit:$P(^KPR(PRNr,$O(^KPR(PRNr,"I"))),"\",2)?2N1"ZZ"2N1"MAG".E . Do DELIND^PRODUKT2(PRNr) . Do $$$PRSetRubr($$$KortTekst,$P(BLRec,D,1),"Korttekst(EDI)") . Do BLDIND^PRODUKT2(PRNr) Quit ; Opbouw van een tekstbestand met de verschillen tussen Blum en VH productenbestand DiffAll(Opties) Set NoSa="S" Set Dev=$$OPEN^vhDEV(,"BLUM Diff.txt","W","T") Use Dev Set Opties=$G(Opties,"BG;PQ;EAN;VQ;LT;KT;MBH;PRIJS") Write "PRNr SortKey IdentNr KortTekst" For I=1:1:$L(Opties,";") Do . Set Optie=$P(Opties,";",I) . Write:Optie="VQ" *9,"BL:VQ:GR",*9,"VH:VQ:GR",*9,"BL:VQ:NRM",*9,"VH:VQ:NRM",*9,"BL:VQ:KL",*9,"VH:VQ:KL" . Write:Optie="PRIJS" *9,"BL:PR:BRUTO",*9,"VH:PR:BRUTO",*9,"BL:PR:GO",*9,"VH:PR:GO",*9,"BL:PR:KORT",*9,"VH:PR:KORT" . Write:Optie'="VQ"&&(Optie'="PRIJS") *9,"BL:"_Optie,*9,"VH:"_Optie Write ! Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do:$D(^KPR(PRNr,"J5005")) . Quit:$E($$$PRGet($$$IdentNummer))="7" ; *DO* . Quit:$E($$$PRGet($$$IdentNummer))="6" ; *KP* . Set Diff=$$DiffBlumProd(PRNr,Opties,NoSa,1) . Quit:Diff="" ; Geen verschil . Set SortKey=$$SORTKEY^PRODUKT(PRNr) . Write PRNr,*9,SortKey,*9,$$$PRGet($$$IdentNummer),*9,$$$PRGet($$$KortTekst) . For I=1:1:$L(Opties,";") Do . . Set Optie=$P(Opties,";",I) . . Set Pos=$LF(Diff,Optie) . . If Pos Do ; er is verschil . . . Set lbValues=$LI(Diff,Pos+1) . . . For J=1:1:$S(Optie="VQ":6,Optie="PRIJS":6,1:2) Do . . . . Set Value=$LG(lbValues,J) . . . . If Optie="KT" Write *9,Value . . . . If Optie'="KT" Write *9,$TR(Value,".",",") . . Else Do . . . Write *9,*9 . . . Write:Optie="VQ" *9,*9,*9,*9 . . . Write:Optie="PRIJS" *9,*9,*9,*9 . Write ! Do CLOSE^vhDEV(Dev) Quit ;-------------------------------------------------------------------------------------------------------- ControlePalletQtyBlumProducten New PRNr set PRNr="" New IdxKortTekst Set IdxKortTekst = "" New Body , Subject Set Idx2="" For Set Idx2=$O(^KPL("5005 ",Idx2)) Quit:Idx2="" Do . Set Idx3="" . For Set Idx3=$O(^KPL("5005 ",Idx2,Idx3)) Quit:Idx3="" Do . . Set IdxKortTekst="" . . For Set IdxKortTekst=$O(^KPL("5005 ",Idx2,Idx3,IdxKortTekst)) Quit:IdxKortTekst="" Do . . . Set PRNr = ^KPL("5005 ",Idx2,Idx3,IdxKortTekst) . . . Set lbResult = $$DiffBlumProd(PRNr,"PQ") . . . If $LL(lbResult) Do . . . . Set BlumVal = $LG($LG(lbResult,2),1) . . . . Set VHVal = $LG($LG(lbResult,2),2) . . . . Set Body = "Pallet aantal verschillend voor artikel "_IdxKortTekst_"("_PRNr_")"_$C(13,10) . . . . Set Body = Body _ "Blum : "_BlumVal_$C(13,10) . . . . Set Body = Body _ "VanHoecke : "_VHVal_$C(13,10) . . . . do SendMiniMail^vhLib.Mail("admin@vanhoecke.be",$LB("ICT_SysOp@vanhoecke.be"),"Pallet aantal verschil",Body,0) . . . . do CopyBlumProd(PRNr,"PQ") . . . . quit . quit quit ; Zoekt de verschillen tussen het Blum bestand en het VH bestand ; resultaat is een list met $LB(Optie,$LB(BlumVal,VHVal, ...), ...) ; normaal worden er slechts 2 waarden gegeven Blum en VH ; maar bij Optie="PRIJS" worden er 3x2 values gegeven, ; maar bij Optie="VQ" worden er 3x2 values gegeven DiffBlumProd(PRNr,Opties,NoSa,VerifyNoPrice) // geeft een local met de resultaten New IdentNr, BLID, BLRec,Verpak Set Opties=$G(Opties,"BG;PQ;EAN;VQ;LT;KT;MBH;PRIJS") Quit:'$$$PRExist "" Quit:$$$PRGet($$$NONAktief)=1 "" ; quit indien non-aktief, maar beperkt actief is OK Set IdentNr=$$$PRGet($$$IdentNummer) Set BLID="0"_$TR($E(IdentNr,2,99),".","") Set BLRec=$G(^BLProd("D",BLID)) Quit:BLRec="" "" Set Diff="" ; BrutoGewicht If (Opties["BG") Do . Quit:'$P(BLRec,D,9) . Quit:+$J($P(BLRec,D,9),0,2)=+$J($$$PRGet($$$Gewicht),0,2) . Set Diff=Diff_$LB("BG",$LB(+$J($P(BLRec,D,9),0,2),$$$PRGet($$$Gewicht))) ; PalletQty If (Opties["PQ") Do . Quit:'$P(BLRec,D,18) . Quit:+$P(BLRec,D,18)=+$$$PRGet($$$PalletQty) . Set Diff=Diff_$LB("PQ",$LB($P(BLRec,D,18),$$$PRGet($$$PalletQty))) ; EANCode If Opties["EAN" Do . Quit:'$L($P(BLRec,D,20)) . Quit:$P(BLRec,D,20)=$$$PRGet($$$BarcodeWaarde) . Set Diff=Diff_$LB("EAN",$LB($P(BLRec,D,20),$$$PRGet($$$BarcodeWaarde))) ; Verpakking If Opties["VQ"&&$P(BLRec,D,4) Do . ; Eerst sorteren en eventuele dubbels eruit halen . Set:$P(BLRec,D,4) Verpak($P(BLRec,D,4))="" . Set:$P(BLRec,D,5) Verpak($P(BLRec,D,5))="" . Set:$P(BLRec,D,6) Verpak($P(BLRec,D,6))="" . Set (GrootVP,NormVP,KleinVP,Verpak)="" . For Set Verpak=$O(Verpak(Verpak),-1) Quit:Verpak="" Do . . If 'GrootVP Set GrootVP=Verpak . . Else If 'NormVP Set NormVP=Verpak . . Else If 'KleinVP Set KleinVP=Verpak . Set Chk=0 . Set:+$$$PRGet($$$KleinVerpakking)'=+KleinVP Chk=1 . Set:+$$$PRGet($$$NormaleVerpakking)'=+NormVP Chk=1 . Set:+$$$PRGet($$$GrootVerpakking)'=+GrootVP Chk=1 . Quit:'Chk . Set Diff=Diff_$LB("VQ",$LB(GrootVP,$$$PRGet($$$GrootVerpakking),NormVP,$$$PRGet($$$NormaleVerpakking),KleinVP,$$$PRGet($$$KleinVerpakking))) . ; Levertermijn If (Opties["LT") Do . Quit:'$$Leverdagen2WeekID(BLID)?1.N . Quit:+$$Leverdagen2WeekID(BLID)=+$$$PRGet($$$LeveringsTermijn) . Set Diff=Diff_$LB("LT",$LB($$Leverdagen2WeekID(BLID),$$$PRGet($$$LeveringsTermijn))) ; Minimum bestelhoeveelheid Set BLPrijs=$$BLPRIJS^BLPRGEG(PRNr) If (Opties["MBH") Do . Set MinBH=$P(BLPrijs,D,7) . Quit:MinBH="" . Quit:+MinBH=+$$$PRGet($$$MinimumBestelHoeveelheid) . Set Diff=Diff_$LB("MBH",$LB(MinBH,$$$PRGet($$$MinimumBestelHoeveelheid))) ; Prijs normaal of schaduw If (Opties["PRIJS") Do . Set VHPrijs=$$PRIJSGEG^KPRIJS(PRNr,.NoSa) . Set Chk=0 . Quit:'$P(BLPrijs,D,1)&&('$G(VerifyNoPrice)) ; Blum prijs niet ingevuld . Set:+$P(BLPrijs,D,1)'=+$P(VHPrijs,D,1) Chk=1 ; brutoprijs . Set:$P(BLPrijs,D,2)'=$P(VHPrijs,D,3) Chk=1 ; GO . Set:+$P(BLPrijs,D,3)'=($P(VHPrijs,D,5)/100) Chk=1 ; korting . Quit:'Chk . Set Diff=Diff_$LB("PRIJS",$LB($P(BLPrijs,D,1),$P(VHPrijs,D,1),$P(BLPrijs,D,2),$P(VHPrijs,D,3),$P(BLPrijs,D,3),$P(VHPrijs,D,5)/100)) ; Korttekst If (Opties["KT") Do . Quit:$P(BLRec,D,1)="" . Quit:$P(BLRec,D,1)=$$$PRGet($$$KortTekst) . Quit:$$$PRGet($$$KortTekst)["*KP*" . Quit:$$$PRGet($$$KortTekst)["*DO*" . Quit:$$$PRGet($$$KortTekst)?1.E1"*"4.5N1"*".E . Set Diff=Diff_$LB("KT",$LB($P(BLRec,D,1),$$$PRGet($$$KortTekst))) Quit Diff Leverdagen2Week(PRNr) New BLID Quit:$$$PRGet($$$ScanType)="L" 1 ; overrule indien LogSteuer -> 1 week Set BLID=$$GetBlumID(PRNr) Quit:BLID="" "" Quit $$Leverdagen2WeekID(BLID) Leverdagen2WeekID(BLID) New Dagen,LevWk Set Dagen=$P($G(^BLProd("D",BLID)),"\",10) ; LIZT leverdagen ;Translate Leverdagen to Leverweek Quit:'Dagen $$ICCode2LeverweekID(BLID) ;backup Set LevWk=Dagen+6\7 Quit LevWk ; outdated PV 28/05/09 ; de ICCode werd vervangen door EDI veld LIZT, deze geeft de levertermijn in dagen ICCode2LeverWeek(PRNr) New BLID Quit:$$$PRGet($$$ScanType)="L" 1 ; LogSteuer Set BLID=$$GetBlumID(PRNr) Quit:BLID="" "" Quit $$ICCode2LeverweekID(BLID) ; outdated PV 28/05/09 ; de ICCode werd vervangen door EDI veld LIZT, deze geeft de levertermijn in dagen ICCode2LeverweekID(BLID) New ICCode,LevWk Set ICCode=$P($G(^BLProd("D",BLID)),"\",2) ;Translate IC to Leverweek Quit:ICCode="" "" Set LevWk=$CASE(ICCode,0:1,1:2,4:4,6:8,8:8,:"") Quit LevWk AantalPerPalletID(BLID) Quit $P($G(^BLProd("D",BLID)),"\",18)