PVHISSTM ;Historiek overzicht per produkt [ 11/08/2003 8:27 PM ] Set Einde="Nu",EDat="" Set Einde=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp($H,"M",-0,"LD"),"DKP") Set EDat=$P(Einde,".",3)_$P(Einde,".",2)_$P(Einde,".") Set EDat=+($S($E(EDat,1,2)>50:19,1:20)_EDat) Set Begin=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp($H,"M",-0,"FD"),"DKP") Set BDat=$P(Begin,".",3)_$P(Begin,".",2)_$P(Begin,".") Set BDat=+($S($E(BDat,1,2)>50:19,1:20)_BDat) Set Dev=$$OPEN^vhDEV(,"HISTO.txt","W") Use Dev Write $TR("Klassif;PRNr;IdentNr;KortTxt;Stock;M-K;BStock:"_Begin_";EStock:"_Einde_";#Toe;QtyToe;#Bon;QtyBon;#Man;QtyMan;CiffPPL",";",$C(9)),! Use 0 Set FP=2301 Write @F11,@F1,@F,"Produkten verwerkt : " Set PRCnt="" Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do ;Quit:PRCnt>100 .Do FETCHONE(PRNr,BDat,EDat) .Use Dev .Do:$D(Qty)>1 WRITE .Set PRCnt=PRCnt+1 .If PRCnt#100=0 Use 0 Set FP=2322 Write @F,PRCnt Close:0'[Dev Dev Quit WRITE Write $P(Rec("I"),D,3),$C(9),PRNr,$C(9),$P(Rec(2),D,25),$C(9),$P(Rec(0),D),$C(9),$S($P(Rec(1),D,20):"S",1:"NS"),$C(9),$S($D(^PRLINK("D",PRNr)):"M",$D(^PRLINK("IKM",PRNr)):"K",1:""),$C(9),BStock,$C(9),EStock,$C(9) For I=1:1:3 Write $G(Cnt(I)),$C(9),$G(Qty(I)),$C(9) Write $TR($P(Rec("J"),D,23),".",","),! Quit FETCHONE(PRNr,Begin,Einde) ;Begin,Einde : Formaat 'JJMMDD' ;Soort : 1 = Aankoop,2=Verkoop,3=Man. UIT,4=Man. IN New Key,I,Cumul Set Key="H" set Cumul="" Set:$G(Begin)="" Begin=0 Set:$G(Einde)="" Einde=99999999 Kill Cnt,Qty Set Som=0 For Set Key=$O(^KPR(PRNr,Key)) Quit:$E(Key)'="H" Do .Set Rec=^(Key) .For Set Node=$P(Rec,D),Rec=$P(Rec,D,2,999) Do:Node'="" Quit:Rec="" ..Quit:+($S($E(Node,1,2)>50:19,1:20)_$E(Node,1,6))50:19,1:20)_$E(Node,1,6))>Einde ..Set Qty=$E($P(Node,"#"),8,99) ..Set Code=$E(Node,7) ..Set Som=Som+(Qty*$S(Code=4!(Code=1):1,1:-1)) ..If Code=1 Do ;Aankoop ...Set Cnt(1)=$G(Cnt(1))+1 ...Set Qty(1)=$G(Qty(1))+Qty ..Else If Code=2 Do ;Verkoop ...Set Cnt(2)=$G(Cnt(2))+1 ...Set Qty(2)=$G(Qty(2))+Qty ..Else Do ...Set Cnt(3)=$G(Cnt(3))+1 ...Set Qty(3)=$G(Qty(3))+(Qty*$S(Code=4:1,1:-1)) Do FETCHPR^UTILI(PRNr,"Rec") Set EStock=$P(Rec(0),D,14) Set BStock=EStock-Som Quit