Index: PVSTM.mac.rou =================================================================== diff -u -r29059 -r62525 --- PVSTM.mac.rou (.../PVSTM.mac.rou) (revision 29059) +++ PVSTM.mac.rou (.../PVSTM.mac.rou) (revision 62525) @@ -1,4 +1,34 @@ #include vhLib.Macro +#include Prod.Product +#include BL.Derde.KlantSpecifiek + +PickingWho + Set Device=$$OPEN^vhDEV(,"StatIO.txt","W","T") + Use Device + Write "BONNr Datum Tijd Persoon SoftMag PickAantal PRNr KortTekst",! + Set CONSNr="" + For Set CONSNr=$O(^ORDW("D",CONSNr)) Quit:CONSNr="" Do + . Set ORDNr="" + . For Set ORDNr=$O(^ORDW("D",CONSNr,"D",ORDNr)) Quit:ORDNr="" Do + . . Set OLUNr="" + . . For Set OLUNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr)) Quit:OLUNr="" Do + . . . Set Rec=^(OLUNr) + . . . Set LijnCnt=0 + . . . Set SOLNr="" + . . . For Set SOLNr=$O(^ORDW("D",CONSNr,"D",ORDNr,OLUNr,SOLNr)) Quit:SOLNr="" Do + . . . . Set SOLRec=^(SOLNr) + . . . . Set SoftMag=$P(SOLRec,"\",13) + . . . . Set User=$P(SOLRec,"\",12) + . . . . Set TijdStip=$P(SOLRec,"\",6) + . . . . Set PRNr=$P(SOLRec,D,1) + . . . . Write CONSNr,*9,$$$ExcelDat(TijdStip),*9,$$$ExcelTime($P(TijdStip,",",2)),*9,User,*9,SoftMag,*9,$P(SOLRec,D,4),*9,PRNr,*9,$$GetOrOld^PRODUKT(PRNr,$$$KortTekst) + . . . . Write ! + + Do CLOSE^vhDEV(Device) + + Quit + + PVSTM ; Order timings [ 11/08/2003 8:42 PM ] ; Overzicht contracten per klant en leverancier Do BLDCONTR^Stat.Product.StockWaarde @@ -171,9 +201,70 @@ Set Jaar=$$EXTDATE^vhLib.DataTypes($H,"J4")-1 Write @F11,@F1,@FMTI," Tellingen v/d OrderLijnen - "_QN_" ",@FMTi,!! Write "Kalenderjaar: ",Jaar,! - Do ValiPakAlle(Jaar) + Do ValiPakHist(Jaar) + ;Do ValiPakAlle(Jaar) ;Do ValiPakHalux(Jaar) Quit +ValiPakHist(Jaar) ;Stockrotatie + New I,Cumul,TLNr,Rec + Set BeginDat=$$INTDATE^vhLib.DataTypes("01/01/"_Jaar) + Set EndDat=$$INTDATE^vhLib.DataTypes("31/12/"_Jaar) + Set BeginWk=Jaar_".00 " + Set EindeWk=Jaar_".53 " + Set BeginMnd=Jaar_".01 " + Set EindeMnd=Jaar_".12 " + Set Dev=0 + Set Dev=$$OPEN^vhDEV(,"VALIPAK Alle via HIST "_Jaar_".txt","W","T") Quit:'$L(Dev) + Use Dev + Write $TR("PRNr;KortTekst;Stock;Klas;GenTyp;SubGenTyp;LevNr;LevNm;CiffPPL;Gewicht;AantalBslTot;AantalBslBE;AantalMwTot;AantalMwBE;AantalMwXX;AantalBslXX;BLBrut;BLNet;RecuPack",";",$c(9)),! + Set PRNr=0 + For Set PRNr=$O(^PRHIST(PRNr)) Quit:PRNr="" Do + . Set VolgNr=0 + . Set (AantalBslTot,AantalBslBE,AantalMwTot, AantalMwBE,AantalMwXX,AantalBslXX)=0 + . For Set VolgNr=$O(^PRHIST(PRNr,VolgNr)) Quit:VolgNr="" Do + . . Set Rec=^PRHIST(PRNr,VolgNr) + . . Set Datum=+$P(Rec,"\") + . . Quit:DatumEndDat + . . If ($P(Rec,"\",4)="H")&&($P(Rec,"\",5)="W") Do + . . . Set AantalMwTot=AantalMwTot-$P(Rec,"\",2) + . . . Set KLNr=$P(Rec,"\",6) + . . . If KLNr,$D(^KK1(KLNr)),'$D(LandCache(KLNr)) Do + . . . . Set LandCache(KLNr)=($$LAND^vhRtn1(KLNr,"K",1,1)="BE") + . . . If KLNr&&$D(^KK1(KLNr)) Do + . . . . Set:LandCache(KLNr) AantalMwBE=AantalMwBE-$P(Rec,"\",2) + . . . Else Do + . . . . Set AantalMwXX=AantalMwXX-$P(Rec,"\",2) + . . If ($P(Rec,"\",4)="U")&&($P(Rec,"\",5)="M") Do + . . . Set AantalBslTot=AantalBslTot-$P(Rec,"\",2) + . . . Set KLNr=$P(Rec,"\",6) + . . . If KLNr,$D(^KK1(KLNr)),'$D(LandCache(KLNr)) Do + . . . . Set LandCache(KLNr)=($$LAND^vhRtn1(KLNr,"K",1,1)="BE") + . . . If KLNr&&$D(^KK1(KLNr)) Do + . . . . Set:LandCache(KLNr) AantalBslBE=AantalBslBE-$P(Rec,"\",2) + . . . Else Do + . . . . Set AantalBslXX=AantalBslXX-$P(Rec,"\",2) + . Quit:(AantalMwTot+AantalBslTot)'>0 + . Set Klas=$O(^KPR(PRNr,"I")) Set Klas=$P(^KPR(PRNr,Klas),D,3) + . Set GenTyp=$$GENTYP^HAD(PRNr) + . Set LevNr=$O(^KPR(PRNr,"J")) + . Set CiffPPL=$P(^KPR(PRNr,LevNr),D,23) + . Set RecuPackPRNr=$P(^KPR(PRNr,LevNr),D,32) + . Set RecuPackProd=$S(RecuPackPRNr:$P($G(^KPR(RecuPackPRNr,0),"***"_RecuPackPRNr_"***"),"\",1),1:"") + . If ($P(GenTyp,"\")="TBX") Do + . . Set Verpak=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) + . . Set:(Verpak="B")||(Verpak="A") RecuPackProd="VHOSS" + . 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),$P(GenTyp,"\"),$C(9),$P(GenTyp,"\",2),$C(9),LevNr,$C(9),LevNm,$C(9),$TR(CiffPPL,".",","),$C(9),$TR(Gewicht,".",",") + . Write $C(9),$TR(+$J(AantalBslTot,0,2),".",","),$C(9),$TR(+$J(AantalBslBE,0,2),".",","),$C(9),$TR(+$J(AantalMwTot,0,2),".",","),$C(9),$TR(+$J(AantalMwBE,0,2),".",","),$C(9),$TR(+$J(AantalBslXX,0,2),".",","),$C(9),$TR(+$J(AantalMwXX,0,2),".",","),$C(9),$TR($P(BLRec,D,9),".",","),$C(9),$TR($P(BLRec,D,26),".",","),*9,RecuPackProd,! + Do CLOSE^vhDEV(Dev) + Quit ValiPakAlle(Jaar) ;Stockrotatie New I,Cumul,TLNr,Rec @@ -186,11 +277,11 @@ Use Dev Write $TR("PRNr;KortTekst;Stock;Klas;GenTyp;SubGenTyp;LevNr;LevNm;CiffPPL;Gewicht;Week;Stock;AantalTot;AantalBE;BLBrut;BLNet;RecuPack",";",$c(9)),! Set PRNr=0 - For Set PRNr=$O(^KSPW(PRNr)) Quit:PRNr="" Do + For Set PRNr=$O(^KSTPR(PRNr)) Quit:PRNr="" Do . Set Wk=BeginWk . Set Stock="" . Set Week=0 - . For Set Wk=$O(^KSPW(PRNr,Wk)) Quit:Wk="" Quit:+Wk>+EindeWk!(Wk="") Do + . ;For Set Wk=$O(^KSPW(PRNr,Wk)) Quit:Wk="" Quit:+Wk>+EindeWk!(Wk="") Do . . Set Week=Week+1 . . Set Rec=^KSPW(PRNr,Wk) . . Set Stock=Stock+$P(Rec,D,4) @@ -207,15 +298,19 @@ . Set GenTyp=$$GENTYP^HAD(PRNr) . Set LevNr=$O(^KPR(PRNr,"J")) . Set CiffPPL=$P(^KPR(PRNr,LevNr),D,23) - . Set HasRecuPack=$P(^KPR(PRNr,LevNr),D,32)?4.7N + . Set RecuPackPRNr=$P(^KPR(PRNr,LevNr),D,32) + . Set RecuPackProd=$S(RecuPackPRNr:$P($G(^KPR(RecuPackPRNr,0),"***"_RecuPackPRNr_"***"),"\",1),1:"") + . If ($P(GenTyp,"\")="TBX") Do + . . Set Verpak=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) + . . Set:(Verpak="B")||(Verpak="A") RecuPackProd="VHOSS" . 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),$P(GenTyp,"\"),$C(9),$P(GenTyp,"\",2),$C(9),LevNr,$C(9),LevNm,$C(9),$TR(CiffPPL,".",","),$C(9),$TR(Gewicht,".",","),$C(9),Week,$C(9),Stock,$C(9),$TR(+$J(AantalTot,0,2),".",","),$C(9),$TR(+$J(AantalBE,0,2),".",","),$C(9),$TR($P(BLRec,D,9),".",","),$C(9),$TR($P(BLRec,D,26),".",","),*9,$S(HasRecuPack:"R",1:""),! + . Write PRNr,$C(9),$P(^KPR(PRNr,0),D,1),$C(9),$P(^KPR(PRNr,1),D,20),$C(9),Klas,$C(9),$P(GenTyp,"\"),$C(9),$P(GenTyp,"\",2),$C(9),LevNr,$C(9),LevNm,$C(9),$TR(CiffPPL,".",","),$C(9),$TR(Gewicht,".",","),$C(9),Week,$C(9),Stock,$C(9),$TR(+$J(AantalTot,0,2),".",","),$C(9),$TR(+$J(AantalBE,0,2),".",","),$C(9),$TR($P(BLRec,D,9),".",","),$C(9),$TR($P(BLRec,D,26),".",","),*9,RecuPackProd,! Do CLOSE^vhDEV(Dev) Quit