cwkan2 ;Klant Kodex verkoopanalyze [ 05/20/99 2:43 PM ] INIT S Q="K" D ^cA604 Set %J=$$%J^cRtn() Set $P(Select,D,1)=$$CALCDATE^vhDTyp($H,"M",-30,"MD") Set $P(Select,D,2)=$$CALCDATE^vhDTyp($H,"M","MD") Kill ^KLKAN Do FETCH Quit ; Ophalen van de omzetten per klant FETCH Set Tijd=$H Set:$P(Select,D,2)="" $P(Select,D,2)=$H Set BMH=$$CALCDATE^vhDTyp($P(Select,D,1),"M","FD") Set EMH=$$CALCDATE^vhDTyp($P(Select,D,2),"M","LD") Set FP=2201 Write @F,@F1,"Klanten verwerkt : " Set (AantalKL,SelKL)=0 Kill ^HULP(%J,"L") Set KLNr="" For Set KLNr=$O(^KFA1("F",KLNr)) Quit:KLNr="" Do .If AantalKL#5=0 Set FP=2221 Write @F,AantalKL,"/",SelKL .Set AantalKL=AantalKL+1 .Do KLANT(KLNr,BMH,EMH,0) .Set SelKL=SelKL+1 LABEL Write @FCS Set BMH=$$EXTDATE^vhDTyp(BMH,"DKP"),BMH=$P(BMH,".",3)_$P(BMH,".",2)_$P(BMH,".") Set EMH=$$EXTDATE^vhDTyp(EMH,"DKP"),EMH=$P(EMH,".",3)_$P(EMH,".",2)_$P(EMH,".") Set ^KLKAN=Tijd_D_$H_D_($P($H,",",2)-$P(Tijd,",",2))_D_BMH_D_EMH Quit KLANT(KLNr,BM,EM,Offset) ;w !,KLNr Set BM=-BM,Dat=-EM-1 Set FAKNr="" For Set Dat=$O(^KFA1("F",KLNr,Dat)) Quit:Dat="" Quit:Dat>BM Do .Set Mnd=-Dat,Mnd=$$CALCDATE^vhDTyp($$INTDATE^vhDTyp($E(Mnd,5,6)_"."_$E(Mnd,3,4)_"."_$E(Mnd,1,2),"DK"),"M","MD") .For Set FAKNr=$O(^KFA1("F",KLNr,Dat,FAKNr)) Quit:FAKNr="" Do FAK Quit FAK ;W ?20,FAKNr,! Set MuntPar=$P(^KFA("F",FAKNr,0,0),D,4) Set:'MuntPar MuntPar=1 Set Munt=$P(^KFA("F",FAKNr,0,0),D,5) Set:'$L(Munt) Munt="BF" Set ULNr="U" For Set ULNr=$O(^KFA("F",FAKNr,ULNr)) Quit:ULNr="" Do .Set LijnNr=99 .For Set LijnNr=$O(^KFA("F",FAKNr,ULNr,LijnNr)) Quit:LijnNr="" Do ..Set Rec=^(LijnNr) ..Quit:$P(Rec,D,17)'="KF6" Quit:'$P(Rec,D,2) ..Set PRNr=$P(Rec,D,2) ..Do FETCHPR^UTILI(PRNr) ..Set Round=1 ..Set Kort=$P(Rec,D,7) ..Set Kort=1-(1-($P(Kort,"#")/100))*(1-($P(Kort,"#",2)/100))*100 ..Set Kodex=$S(Kort'>0:0,Kort'>7.5:1,Kort'>15:2,Kort'>22.5:4,1:3)*3+Offset ..Set:Munt="BF"!'$L(Round) Omzet=$J($P(Rec,D,9)*MuntPar,0,2) ..Set:Munt'="BF"&$L(Round)&(Mnd'>55166) Omzet=$$ROUND^KPRIJS($P(Rec,D,9)/$P(Rec,D,3)*MuntPar)*$P(Rec,D,3) ..Set:Munt'="BF"&$L(Round)&(Mnd>55166) Omzet=$$ROUND^KPRIJS($P(Rec,D,9)*MuntPar) ..Set Hulp=$G(^KLKAN(KLNr,0,Mnd)) ..Set $P(Hulp,D,1+Kodex)=$P(Hulp,D,1+Kodex)+Omzet ..Set ^KLKAN(KLNr,0,Mnd)=Hulp ..Quit:'$D(B) ..Set Hulp=$G(^KLKAN(KLNr,PRNr,Mnd)) ..Set $P(Hulp,D,1+Kodex)=$P(Hulp,D,1+Kodex)+Omzet ..Set ^KLKAN(KLNr,PRNr,Mnd)=Hulp Quit