PVSTM ; Order timings [ 11/08/2003 8:42 PM ] ; Overzicht contracten per klant en leverancier Do BLDCONTR^KPOSW Set Dev=$$OPEN^vhDEV(,"CONTRACTKLANTLEV.TXT","W") Use Dev Set PRNr="" Write $TR("ORDNr,KLNr,KLNm,PRNr,KortTekst,LEVNr,LevNm,Qty,Aankoop,Omzet",",",$C(9)),! For Set PRNr=$O(ContrInd(PRNr)) Quit:PRNr="" Do . Set LevNr=$E($O(^KPR(PRNr,"J")),2,5) . Set LevNm=$P(^KLE(^KL1(LevNr),0),D,2) . Set FysSt=$P(^KPR(PRNr,0),D,14) . Set KLNr=+ContrInd(PRNr) . Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) ; Default klant . Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr) ; Default prijszetting . Set ORDNr="" . For Set ORDNr=$O(^ORD("IP",PRNr,ORDNr)) Quit:ORDNr="" Do .. Set KLNr=+^KO1(ORDNr,"F") .. Set OLUNr="" .. For Set OLUNr=$O(^ORD("IP",PRNr,ORDNr,OLUNr)) Quit:OLUNr="" Do ... Set OLNr=^ORD("IP",PRNr,ORDNr,OLUNr) ... Set Rec=^KOD(KLNr,"F",ORDNr,OLNr) ... Set Qty=$P(Rec,D,3) ... Quit:$P(Rec,D,27) ; Nog gekoppeld aan toelevering ... Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr) ... Set KLNm=$P(^KKL(^KK1(KLNr),0),D,2) ... Write ORDNr,$C(9),KLNr,$C(9),KLNm,$C(9),PRNr,$C(9),$P(^KPR(PRNr,0),D,1),$C(9),LevNr,$C(9),LevNm,$C(9),Qty,$C(9),$TR(Qty*$P(Prijs,D,13),".",","),$C(9),$TR(Qty*$P(Prijs,D,14),".",","),! ... Set FysSt=FysSt-Qty . Write:+FysSt $C(9),KLNr,$C(9),KLNm,$C(9),PRNr,$C(9),$P(^KPR(PRNr,0),D,1),$C(9),LevNr,$C(9),LevNm,$C(9),FysSt,$C(9),$TR(FysSt*$P(Prijs,D,13),".",","),$C(9),$TR(FysSt*$P(Prijs,D,14),".",","),! Close:0'[Dev Dev Quit ORDLIJN S %J=$$%J^vhRtn1() Kill ^HULP(%J) ; Opbouw van hulp met ordernrs voor het tijdstip van orderingave Set (Dat,Uur,ORDNr)="" For Set Dat=$O(^MBLOG("VL",Dat)) Quit:Dat="" Do .For Set Uur=$O(^MBLOG("VL",Dat,Uur)) Quit:Uur="" Do ..For Set ORDNr=$O(^MBLOG("VL",Dat,Uur,ORDNr)) Quit:ORDNr="" Do ...Set ^HULP(%J,ORDNr)=Dat_","_Uur Set Dev=0 Set Dev=$$OPEN^vhDEV("","ORDPICK.TXT","W") Use Dev Set (CONSNr,ORDNr,OLUNr,SOLNr)="" Write $TR("KLNr;KLNm;BONr;ORDNr;Vzw;ORDDat;ZendWMS;DueOut;PickDat;Finished;PRNr;KortTekst;LevNr;OLUNr;Qty;PalID;Usr;Mag;PickTijd;MinTijd;MaxTijd",";",$C(9)),! For Set CONSNr=$O(^ORDW("D",CONSNr)) Quit:CONSNr="" Do .Set DatDO=$P(^(CONSNr),D,3) ; DueoutTime .Set DatW=$P(^(CONSNr),D,22) ; Doorsturen .Set DatE=$P(^(CONSNr),D,23) ; End pick .Set Vzw=$P(^(CONSNr),D,2) .Set KLNr=$P(^(CONSNr),D,1) .Set KLId=$G(^KK1(KLNr)) .Set KLNm=$S(KLId="":"*Verwijderd*",1:$P(^KKL(KLId,0),D,2)) .Set MinTyd=99999999 .Set (MaxTyd,Usr)="" .Set Cnt=0 .For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do ..For Set OLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) Quit:OLUNr="" Do ...For Set SOLNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr,SOLNr)) Quit:SOLNr="" Do ....Set SOLRec=^(SOLNr) ....Set Mag="U" ....Set:$E($P(SOLRec,D,5),1,3)="154" Mag="A1" ....Set:$E($P(SOLRec,D,5),1,3)="155" Mag="A2" ....Set:$$DIFFTIME^vhDTyp($P(SOLRec,D,6),MinTyd)>0&($E(Mag)="A") MinTyd=$P(SOLRec,D,6) ....Set:$$DIFFTIME^vhDTyp($P(SOLRec,D,6),MaxTyd)<0&($E(Mag)="A") MaxTyd=$P(SOLRec,D,6) .Set:MinTyd=99999999 MinTyd="" .For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do ..Set OrdTyd=$G(^HULP(%J,ORDNr)) ..For Set OLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) Quit:OLUNr="" Do ...For Set SOLNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr,SOLNr)) Quit:SOLNr="" Do ....Set SOLRec=^(SOLNr) ....Set PRNr=$P(SOLRec,D,1) ....Set KortT=$P($G(^KPR(PRNr,0)),D,1) ....Set LEVNr=$E($O(^KPR(PRNr,"J")),2,5) ....Set:KortT="" KortT=$P($G(^KPRO(PRNr,0)),D,1) ....Set:LEVNr="" LEVNr=$E($O(^KPRO(PRNr,"J")),2,5) ....Set Mag="U" ....Set:LEVNr=6332 Mag="H" ....Set:$E($P(SOLRec,D,5),1,3)="154" Mag="A1" ....Set:$E($P(SOLRec,D,5),1,3)="155" Mag="A2" ....Set:$E(100000000+$P(SOLRec,D,5),1,3)="100" Mag="AD" ....Set Qty=$P(SOLRec,D,4) ....Set PalID=$P(SOLRec,D,10) ....Set Tyd=$P(SOLRec,D,6) ....Set Usr=$P(SOLRec,D,12) ....Set Cnt=Cnt+1 ....Write KLNr,$C(9),KLNm,$C(9),CONSNr,$C(9),Vzw,$C(9),ORDNr ....Write $C(9),$$EXTDATE^vhDTyp(OrdTyd)," ",$$EXTTIME^vhDTyp(OrdTyd) ....Write $C(9),$$EXTDATE^vhDTyp(DatW)," ",$$EXTTIME^vhDTyp(DatW) ....Write $C(9),$$EXTDATE^vhDTyp(DatDO)," ",$$EXTTIME^vhDTyp(DatDO) ....Write $C(9),$$EXTDATE^vhDTyp(DatE) ....Write $C(9),$$EXTDATE^vhDTyp(DatE)," ",$$EXTTIME^vhDTyp(DatE) ....Write $C(9),PRNr,$C(9),KortT,$C(9),LEVNr,$C(9),OLUNr,$C(9),Qty,$C(9),PalID,$C(9),Usr,$C(9),Mag ....Write $C(9),$$EXTDATE^vhDTyp(Tyd)," ",$$EXTTIME^vhDTyp(Tyd) ....Write $C(9),$$EXTDATE^vhDTyp(MinTyd)," ",$$EXTTIME^vhDTyp(MinTyd) ....Write $C(9),$$EXTDATE^vhDTyp(MaxTyd)," ",$$EXTTIME^vhDTyp(MaxTyd) ....Write ! C:0'[Dev Dev Q Set KLId=0 For Set KLId=$O(^KKL(KLId)) Quit:KLId="" Do .Set IsAdr=$S($E($O(^KKL(KLId,"L")),1)="L":1,1:"") .Quit:$P(^KKL(KLId,0),D,19)=IsAdr .Write KLId," : ",$P(^KKL(KLId,0),D,19),"<->",IsAdr,! .Set $P(^KKL(KLId,0),D,19)=IsAdr Quit TIJD ;Tijd tussen orderinput en orderpicking S %J=$$%J^vhRtn1() Kill ^HULP(%J) ; Opbouw van hulp met ordernrs voor het tijdstip van orderingave Set (Dat,Uur,ORDNr)="" For Set Dat=$O(^MBLOG("VL",Dat)) Quit:Dat="" Do .For Set Uur=$O(^MBLOG("VL",Dat,Uur)) Quit:Uur="" Do ..For Set ORDNr=$O(^MBLOG("VL",Dat,Uur,ORDNr)) Quit:ORDNr="" Do ...Set ^HULP(%J,ORDNr)=Dat_","_Uur Set Dev=$$OPEN^vhDEV("\\NOTES01\SHARED\P V\","ORDTIMING.TXT","W") Use Dev Set (CONSNr,ORDNr,OLUNr,SOLNr)="" Write $TR("KLNr;KLNm;BONNr;Vzw;DatMBon;DatZendWMS;DatDueOut;DatBeginPick;DatEndPick;User;#PickLijn",";",$C(9)),! For Set CONSNr=$O(^ORDW("D",CONSNr)) Quit:CONSNr="" Do .Set Dat=$P(^(CONSNr),D,3) .Set DatW=$P(^(CONSNr),D,22) .Set Vzw=$P(^(CONSNr),D,2) .Set KLNr=$P(^(CONSNr),D,1) .Set KLId=$G(^KK1(KLNr)) .Set KLNm=$S(KLId="":"*Verwijderd*",1:$P(^KKL(KLId,0),D,2)) .Set Min=99999999 .Set (Max,Usr)="" .Set (LCnt,SLCnt)=0 .For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do ..Set OrdTyd=$G(^HULP(%J,ORDNr)) ..Set:$$DIFFTIME^vhDTyp(OrdTyd,Max)<0 OrdMax=OrdTyd ..For Set OLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) Quit:OLUNr="" Do ..Set LCnt=LCnt+1 ...For Set SOLNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr,SOLNr)) Quit:SOLNr="" Do ....Quit:$E($P(^(SOLNr),D,5),1,2)'="15" ....Set Tyd=$P(^(SOLNr),D,6) ....Set Usr=$P(^(SOLNr),D,12) ....Set:$$DIFFTIME^vhDTyp(Tyd,Min)>0 Min=Tyd ....Set:$$DIFFTIME^vhDTyp(Tyd,Max)<0 Max=Tyd ....Set SLCnt=SLCnt+1 .Set:Min=99999999 Min="" .Write KLNr,$C(9),KLNm,$C(9),CONSNr,$C(9),Vzw,$C(9),$$EXTDATE^vhDTyp(OrdMax)," ",$$EXTTIME^vhDTyp(OrdMax),$C(9),$$EXTDATE^vhDTyp(DatW)," ",$$EXTTIME^vhDTyp(DatW),$C(9),$$EXTDATE^vhDTyp(Dat)," ",$$EXTTIME^vhDTyp(Dat),$C(9),$$EXTDATE^vhDTyp(Min)," ",$$EXTTIME^vhDTyp(Min),$C(9),$$EXTDATE^vhDTyp(Max)," ",$$EXTTIME^vhDTyp(Max),$C(9),Usr,$C(9),LCnt,$C(9),SLCnt,! C:0'[Dev Dev Q VKPBLUM ;Verkoop blum New I,Cumul,TLNr,Rec Set Dev=$$OPEN^vhDEV(,"VKPBLUM.txt","W") Quit:Dev=0 Use Dev Set:$G(Begin)="" Begin="1998.03 " Set:$G(Einde)="" Einde="1998.53 " Set PRNr=0 For Set PRNr=$O(^KSTPR(PRNr)) Quit:PRNr="" Do .Quit:'$D(^KPR(PRNr,"J5005")) .Quit:$E($P(^KPR(PRNr,2),D,25))="6" ; Geen kind producten .Set Wk=Begin .Set Stock="" .Set Week=0 .Set Aantal=$$PROD^STAT(PRNr,0,"1999.01 ","2000.00 ",1) .Set Klas=$O(^KPR(PRNr,"I")) Set Klas=$P(^KPR(PRNr,Klas),D,3) .Set LevNr=$O(^KPR(PRNr,"J")) .Set Gewicht=$P(^KPR(PRNr,1),D,13) .Set LevNr=$E(LevNr,2,99) .Write PRNr,$C(9),$P(^KPR(PRNr,0),D,1),$C(9),Klas,$C(9),$P(^KPR(PRNr,2),D,25),$C(9),$TR(Gewicht,".",","),$C(9),Aantal,! Close:0'[Dev Dev Quit ValiPakBlum ;Stockrotatie New I,Cumul,TLNr,Rec Set Dev=0 Set Dev=$$OPEN^vhDEV(,"VALIPAK.txt","W") Quit:Dev=0 Use Dev Set:$G(Begin)="" Begin="2003.00 " Set:$G(Einde)="" Einde="2003.53 " Write $TR("PRNr;KortTekst;Stock;Klas;LevNr;LevNm;CiffPPL;Gewicht;Week;Stock;Aantal;BLBrut;BLNet",";",$c(9)),! Set PRNr=0 For Set PRNr=$O(^KSPW(PRNr)) Quit:PRNr="" Do .Set Wk=Begin .Set Stock="" .Set Week=0 .For Set Wk=$O(^KSPW(PRNr,Wk)) Quit:Wk="" Quit:+Wk>+Einde!(Wk="") Do ..Set Week=Week+1 ..Set Rec=^KSPW(PRNr,Wk) ..Set Stock=Stock+$P(Rec,D,4) .Set Aantal=$$PROD^STAT(PRNr,0,"2003.00","2004.00",1) .Set Klas=$O(^KPR(PRNr,"I")) Set Klas=$P(^KPR(PRNr,Klas),D,3) .Set LevNr=$O(^KPR(PRNr,"J")) .Set CiffPPL=$P(^KPR(PRNr,LevNr),D,23) .Set Gewicht=$P(^KPR(PRNr,1),D,13) .Set LevNr=$E(LevNr,2,99) .Set LevNm=$P(^KLE(^KL1(LevNr),0),D,2) .Set BLRec="" .If LevNr=5005 Do ..Set BLID="0"_$TR($E($P(^KPR(PRNr,2),D,25),2,99),".","") ..Set BLRec=$G(^BLProd("D",BLID)) .Write PRNr,$C(9),$P(^KPR(PRNr,0),D,1),$C(9),$P(^KPR(PRNr,1),D,20),$C(9),Klas,$C(9),LevNr,$C(9),LevNm,$C(9),$TR(CiffPPL,".",","),$C(9),$TR(Gewicht,".",","),$C(9),Week,$C(9),Stock,$C(9),$TR(Aantal,".",","),$C(9),$TR($P(BLRec,D,9),".",","),$C(9),$TR($P(BLRec,D,26),".",","),! Close:0'[Dev Dev Quit ValiPakHalux ;Stockrotatie New I,Cumul,TLNr,Rec Set Dev=0 Set Dev=$$OPEN^vhDEV(,"VALIPAK Halux.txt","W") ;Quit:Dev=0 Use Dev Set:$G(Begin)="" Begin="2003.01 " Set:$G(Einde)="" Einde="2003.12 " Write $TR("PRNr;KortTekst;GenTyp;Qty;Gram/st;GramTot",";",$C(9)),! Set MPRNr=0 ; Alle producten For Set MPRNr=$O(^KPR(MPRNr)) Quit:MPRNr="" Do . Quit:$E($P(^KPR(MPRNr,0),D,1),1,2)="OL" ; Geen orgalux producten, de verpakking telt tot nader order niet mee . Set Som=0 . Set BSKey="" . ; Alle kindproducten . For Set BSKey=$O(^PRBS("BS",MPRNr,BSKey)) Quit:BSKey="" Do . . Set KPRNr=$P(^PRBS("BS",MPRNr,BSKey),D) . . Quit:KPRNr'?4.7N . . Set KartonLevs=$LB(6317) ; Lefevere-Beel . . Set Found=0 . . For I=1:1:$LL(KartonLevs) Do . . . Set:$D(^KPR(KPRNr,"J"_$LI(KartonLevs,I))) Found=1 . . Quit:'Found . . Set Gewicht=$$GewichtBS^PRBS(MPRNr,BSKey) . . Set Som=Som+Gewicht . Quit:'Som . Set GenTyp=$P($$GENTYP^HAD(MPRNr),D,1) . Set KLNr=0 . For Set KLNr=$O(^KSTPR(MPRNr,KLNr)) Quit:KLNr="" Do . . Set Aantal=$$PROD^STAT(MPRNr,KLNr,Begin,Einde,1) . . Quit:'Aantal . . Set Land=$$LAND^vhRtn1(KLNr,"K",1,1) . . Write PRNr,*9,$P(^KPR(MPRNr,0),D,1),*9,GenTyp,*9,KLNr,*9,Land,*9,$TR(Aantal,".",","),*9,$TR(Som,".",","),*9,$TR(Som*Aantal,".",","),! Close:0'[Dev Dev Quit TelOrderLijnen ;Wie heeft het order ingegeven Set BeginDat=$$CALCDATE^vhDTyp($H,"M",-4,"FD") Set EndDat=$H-1 ; vorige volledige dag Write @F11,@F1,@FMTI," Tellingen v/d OrderLijnen - "_QN_" ",@FMTi,!! Write " " Set Dev=$$OPEN^vhDEV(,"Orderlijnen.txt","W") Quit:Dev=0 Set KLNr=0,(Node,BONNr,LNr)="" ;UITLEVERINGEN Use 0 Write "Uitleveringen (openstaande en gefaktureerde)",! Use Dev Write $TR("KLNr;KLNm;Regio;Order;OrdDat;Usr;InpDat;InpTijd;Cnt;ProdGrp",";",$C(9)),! For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do .For Set Node=$O(^KUL(KLNr,Node)) Quit:Node="" Do ..;Set Node="F" Do ..For Set BONNr=$O(^KUL(KLNr,Node,BONNr)) Quit:BONNr="" Do ...Set (UsrKey,ORDNr,ORDDat)="" Kill Cnt ...;Quit:$$INTDATE^vhDTyp($P(^KUL(KLNr,Node,BONNr,1),D,2))EndDat Set ORDDat=$$EXTDATE^vhDTyp($$INTDATE^vhDTyp(ORDDat),"DK") Set KLId=^KK1(KLNr) Set KLNm=$P(^KKL(KLId,0),D,2) Set Regio=$P(^KKL(KLId,0),D,20) Set UsrKey=$P(UsrRec,"#",1) Set DevIO=$P(UsrRec,"#",2) Set Usr=$S(UsrKey:$P($G(^vhUSER("D",UsrKey)),D,4),1:UsrKey_"-"_DevIO) Use Dev Set ProdGrp="" For Set ProdGrp=$O(Cnt(ProdGrp)) Quit:ProdGrp="" Do . Write KLNr,$C(9),KLNm,$C(9),Regio,$C(9),ORDNr,$C(9),ORDDat,$C(9),Usr,$C(9),$$EXTDATE^vhDTyp($P(UsrRec,"#",3)),$C(9),$$EXTTIME^vhDTyp($P(UsrRec,"#",3)),$C(9),Cnt(ProdGrp),$C(9),ProdGrp,! Quit LEVPERF ;Leverings performantie Do BLDCONTR^KPOSW Set Dev=0 Set Dev=$$OPEN^vhDEV(,"LEVPERF.txt","W") Quit:Dev=0 Set KLNr=0,(Node,BONNr,LNr)="" Set ChkDat=$H-370 ;UITLEVERINGEN Use Dev Write $TR("KLNr;KLNm;Regio;Order;OrdDat;Usr;InpDat;InpTijd;Cnt",";",$C(9)),! Set KLNr=1050 For Set KLNr=$O(^KUL(KLNr)) Quit:KLNr="" Do Quit:KLNr=11708 .For Set Node=$O(^KUL(KLNr,Node)) Quit:Node="" Do ..;Set Node="F" Do ..For Set BONNr=$O(^KUL(KLNr,Node,BONNr)) Quit:BONNr="" Do ...Set (UsrKey,ORDNr,ORDDat)="",Cnt=0 ...Quit:$$INTDATE^vhDTyp($P(^KUL(KLNr,Node,BONNr,1),D,2))