FAKZOEK ;NEW PROGRAM [ 02/25/2003 10:02 AM ] ;Opzoek in faktuur van verwijderde (gefusioneerde) produkten ; Diam 55 T1 ;2677;1;5520;1;3368;1 T2 ;2938;1;5520;1;3609;1 T3 ;2970;1;5520;1;3610;1 T4 ;2944;1;5520;1;3610;1 T5 ;2964;1;5520;1;3369;1 T6 ;4532;1;5520;1;5519;1 ; Diam 58 T7 ;4190;1;5521;1;4563;1 T8 ;4245;1;5521;1;4637;1 T9 ;4352;1;5521;1;4639;1 T10 ;4246;1;5521;1;4638;1 ; Sets van 2 T11 ;4527;1;5521;2;4637;2 T12 ;4528;1;5521;2;4638;2 T13 ;4526;1;5521;2;4563;2 ; Sets van 3 T14 ;4514;1;5521;3;4637;3 T15 ;4515;1;5521;3;4638;3 T16 ;4513;1;5521;3;4563;3 ; Schakelaar T17 ;4271;1;5526;1;3368;1 T18 ;4534;1;5526;1;3609;1 T19 ;4535;1;5526;1;3369;1 T20 ;4533;1;5526;1;5519;1 ; Transfo T21 ;4423;1;1550;1;4423;1 ; D ^cA604 For I=1:1 Set T=$P($T(@("T"_I)),U,2,99) Quit:T="" Set Van($P(T,U,1))=$P(T,U,2),Van($P(T,U,1),$P(T,U,3))=$P(T,U,4),Van($P(T,U,1),$P(T,U,5))=$P(T,U,6) Set %J1=$$%J^vhRtn1() Set %J2=$$%J^vhRtn1() ;Goto FAZE2 FAZE1 Kill ^HULP(%J1) Kill ^HULP(%J2) Set Dat=$$CALCDATE^vhDTyp($H,"J",-1) Set DatE=-Dat Set (FANr,KLNr)="" For Set KLNr=$O(^KFA1("F",KLNr)) Quit:'KLNr Do .;Quit:$P(^KKL(^KK1(KLNr),7),D,4)>25 .Set Dat="" .For Set Dat=$O(^KFA1("F",KLNr,Dat)) Quit:'Dat Quit:Dat>DatE Do ..For Set FANr=$O(^KFA1("F",KLNr,Dat,FANr)) Quit:'FANr Do ONE(FANr) ; FAZE2 Kill ^HULP(%J2),Omzet,Klant Set (KLNr,PRNr,PR2)="" For Set KLNr=$O(^HULP(%J1,KLNr)) Quit:KLNr="" Do .Set Omzet(KLNr)=0,Netto='$P(^KKL(^KK1(KLNr),2),D,5) .For Set PRNr=$O(^HULP(%J1,KLNr,PRNr)) Quit:PRNr="" Do ..If $D(^KPRO(PRNr)) Set CKT=$$COMPRO(PRNr) ..Else Set CKT=$$COMPR^PRODUKT(PRNr) ..Set ^HULP(%J2,KLNr,CKT)=PRNr_D_Van(PRNr)_D_$P(^HULP(%J1,KLNr,PRNr),D,2,4)_D_$P(^HULP(%J1,KLNr,PRNr),D,1) ..Set Rec=^HULP(%J1,KLNr,PRNr) ..Set UPAR=$$MUNT^vhRtn1($P(Rec,D,3),,12) ..Set Omzet(KLNr)=Omzet(KLNr)+($P(Rec,D,2)*$P(Rec,D,1)/$S($P(Rec,D,4)="H":100,1:1)*UPAR) ..For Set PR2=$O(Van(PRNr,PR2)) Quit:PR2="" Do ...Set CKT2=$$COMPR^PRODUKT(PR2) ...Set Prijs=$$KLANTPR^KPRIJS(KLNr,PR2) ...Set ^HULP(%J2,KLNr,CKT,CKT2)=PR2_D_$P(Van(PRNr,PR2),D)_D_$P(Prijs,D,$S(Netto:1,1:4))_D_$P(Prijs,D,2)_D_$E($P(Prijs,D,3)) Set KLNr="" For Set KLNr=$O(Omzet(KLNr)) Quit:'KLNr Set Klant(999999999-(Omzet(KLNr)\1)_KLNr)=KLNr FAZE3 u 0:(::::4096) ;Tabs Set (KLNr,CKT,CKT2)="" Set OmzCnt=0,Omz="" For Set Omz=$O(Klant(Omz)) Quit:Omz="" Do .Set OmzCnt=OmzCnt+1 Quit:OmzCnt>25 .Set KLNr=Klant(Omz) .Set KL=^KKL(^KK1(KLNr),0) .;Write !,$TR($P(KL,D,1,9),"\",$C(9)) q .Write !,$TR($P(KL,D,1,2),"\",$C(9)),$C(9),$C(9),$C(9),$C(9),$TR(Omzet(KLNr)\1,".",","),! .For Set CKT=$O(^HULP(%J2,KLNr,CKT)) Quit:CKT="" Do ..Set Rec=^(CKT) ..Set PRNr=+Rec ..If $D(^KPRO(PRNr)) Set IdentNr=$P(^KPRO(PRNr,2),D,25),KortT=$P(^KPRO(PRNr,0),D,1) ..Else Set IdentNr=$P(^KPR(PRNr,2),D,25),KortT=$P(^KPR(PRNr,0),D,1) ..Set Aantal=$P(Rec,D,2) ..Set Prijs=$TR($FN($P(Rec,D,3),",",2),".,",",.")_" "_$P(Rec,D,4)_"/"_$P(Rec,D,5) ..Write "Oud",$C(9),IdentNr,$C(9),KortT,$C(9),Aantal,$C(9),Prijs,$C(9),$P(Rec,D,6),! ..Set Cnt=0 ..For Set CKT2=$O(^HULP(%J2,KLNr,CKT,CKT2)) Quit:CKT2="" Do ...If Cnt=0 Write "Nieuw",$C(9) ...If Cnt>0 Write $C(9) ...Set Cnt=Cnt+1 ...Set Rec=^(CKT2) ...Set PRNr=+Rec ...Set Aantal=$P(Rec,D,2) ...Set Prijs=$TR($FN($P(Rec,D,3),",",2),".,",",.")_" "_$P(Rec,D,4)_"/"_$P(Rec,D,5) ...Set IdentNr=$P(^KPR(PRNr,2),D,25),KortT=$P(^KPR(PRNr,0),D,1) ...Write IdentNr,$C(9),KortT,$C(9),Aantal,$C(9),Prijs,! Quit faze3 Use 0:(::::4096) ;Tabs (faze3 in kleine letters i.v.m. in Cache) Set (KLNr,CKT,CKT2)="" Set OmzCnt=0,Omz="" For Set Omz=$O(Klant(Omz)) Quit:Omz="" Do .Set OmzCnt=OmzCnt+1 Quit:OmzCnt>25 .Set KLNr=Klant(Omz) .Set KL=^KKL(^KK1(KLNr),0) .Write !,$TR($P(KL,D,1,9),"\",$C(9)),$C(9),$TR(Omzet(KLNr)\1,".",","),! .For Set CKT=$O(^HULP(%J2,KLNr,CKT)) Quit:CKT="" Do ..Set PRNr=+^(CKT) ..If $D(^KPRO(PRNr)) Set IdentNr=$P(^KPRO(PRNr,2),D,25),KortT=$P(^KPRO(PRNr,0),D,1) ..Else Set IdentNr=$P(^KPR(PRNr,2),D,25),KortT=$P(^KPR(PRNr,0),D,1) ..Write IdentNr,$C(9),KortT,$C(9),$TR($P(^HULP(%J2,KLNr,CKT),D,2,5),"\.",$C(9)_","),$C(9) ..Set Cnt=0 ..For Set CKT2=$O(^HULP(%J2,KLNr,CKT,CKT2)) Quit:CKT2="" Do ...If Cnt>0 Write $C(9),$C(9),$C(9),$C(9),$C(9),$C(9) ...Set Cnt=Cnt+1 ...Set PRNr=+^(CKT2) ...Set IdentNr=$P(^KPR(PRNr,2),D,25),KortT=$P(^KPR(PRNr,0),D,1) ...Write IdentNr,$C(9),KortT,$C(9),$TR($P(^HULP(%J2,KLNr,CKT,CKT2),D,2,5),"\.",$C(9)_","),! Quit ONE(FANr) Set ULNr="U" For Set ULNr=$O(^KFA("F",FANr,ULNr)) Quit:ULNr="" Do .Set Ln=99 .For Set Ln=$O(^KFA("F",FANr,ULNr,Ln)) Quit:Ln="" Do ..Set Lijn=^(Ln) ..Set PRNr=$P(Lijn,D,2) ..Quit:'PRNr ..Quit:'$D(Van(PRNr)) ..Set:'$D(^HULP(%J1,KLNr,PRNr)) ^(PRNr)=D_$P(Lijn,D,6)_D_$P(Lijn,D,22)_D_$E($P(Lijn,D,21)) ..Set $P(^(PRNr),D,1)=$P(^(PRNr),D,1)+$P(Lijn,D,3) Quit Quit COMPRO(PRNr) New I,Out,Sectie,Stock,KortTxt Set Sectie="",I=$O(^KPRO(PRNr,"I")) Set:$E(I)="I" Sectie=$P(^KPRO(PRNr,I),D,5) Set Stock=$P(^KPRO(PRNr,1),D,20),KortTxt=$P(^(0),D,1) Goto COMPR2^PRODUKT ;