PVOMZLVH ;Statistiek met marge laatste 36 maanden [ 11/08/2003 8:27 PM ] TXT Write ! K d INIT^vhTERMINA s KLId=0 Set Cumul=0 For Set KLId=$O(^KKL(KLId)) Quit:KLId="" Do .Set KLNr=$P(KLId," ",2) .Set Mnd=0 .For Set Mnd=$O(^KSTKL(KLNr,0,Mnd)) Quit:Mnd="" Do ..Set Omz(Mnd)=$G(Omz(Mnd))+$P(^KSTKL(KLNr,0,Mnd),D,3) ..Set Marg(Mnd)=$G(Marg(Mnd))+$P(^KSTKL(KLNr,0,Mnd),D,4) ..Set Cumul=Cumul+$P(^KSTKL(KLNr,0,Mnd),D,3) ;Write Cumul,! Q Set M=$$CALCDATE^vhDTyp($H,"M",-49,"FD") Set Dev=$$OPEN^vhDEV($$DIRUSER^vhDEV,$$ASKFILE^vhDEV("OMZMARG.txt"),"W") Quit:Dev=0 Use Dev For Set M=$$CALCDATE^vhDTyp(M,"M",+1,"FD") Quit:M>+$H Do .Write $$EXTDATE^vhDTyp(M),$C(9) .Set Mnd=$$EXTDATE^vhDTyp(M,"DM4")_" " .Write $TR($G(Omz(Mnd)),".",","),$C(9),$TR($G(Marg(Mnd)),".",","),! Close Dev Quit FAK ; Omzet en marge van de faktuurlijnen voor SubDivisie 20 Set Dev=$$OPEN^vhDEV(,"OMZET NL.TXT","W") Use Dev Write $TR("KLNr;Naam;Regio;FaktNr;Maand;PRNr;KortTekst;Aankoop;Marge%;Lijst;Vork%;Korting;Omzet",";",$C(9)),! Set (FAKNr,BON,LNr)="" Set FAKNr=299999 For Set FAKNr=$O(^KFA("F",FAKNr)) Quit:FAKNr="" Quit:FAKNr>399999 Do .Set KLNr=$P(^KFA("F",FAKNr,0,0),D,1) .Set KLId=^KK1(KLNr) .Set Regio=$P(^KKL(KLId,0),D,20) .Quit:(Regio<20)!(Regio>29) .Set KLNm=$P(^KKL(KLId,0),D,2) .Set Datum=$P(^KFA("F",FAKNr,0,0),D,6) .Set Maand=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp($$INTDATE^vhDTyp(Datum,"DK"),"M","FD"),"DK") .Set BON="U" .For Set BON=$O(^KFA("F",FAKNr,BON)) Quit:BON="" Do ..Set LNr=100 ..For Set LNr=$O(^KFA("F",FAKNr,BON,LNr)) Quit:LNr="" do ...Set Rec=^KFA("F",FAKNr,BON,LNr) ...Set PRNr=$P(Rec,D,2) ...Quit:'PRNr ...Set KT=$P($G(^KPR(PRNr,0)),D) ...Set:KT="" KT=$P($G(^KPRO(PRNr,0)),D) ...Set Omzet=$P(Rec,D,34) ...Set Aantal=$P(Rec,D,3) ...Quit:'Omzet ...Set Korting=$P(Rec,D,7) ...Set Korting=$J(1-((1-($P(Korting,"#")/100))*(1-($P(Korting,"#",2)/100))),0,4) ...Set Lijst=$P(Rec,D,32) ...Set LevKey=$O(^KPR(PRNr,"J")) ...Set RecJ=$S($E(LevKey)="J":^KPR(PRNr,LevKey),1:"") ...If RecJ="" Do ....Set LevKey=$O(^KPRO(PRNr,"J")) ....Set RecJ=$S($E(LevKey)="J":^KPRO(PRNr,LevKey),1:"") ...Set Vork=$P(RecJ,D,27)/100 ...Set Lijst=$P(RecJ,D,25)*Aantal ; niet afgerond ...Set AKP=$P(Rec,D,33) ...Write KLNr,$C(9),KLNm,$C(9),Regio,$C(9),FAKNr,$C(9),Maand,$C(9),PRNr,$C(9),KT,$C(9) ...Write $TR(Omzet-AKP,".",","),$C(9),$TR(((Omzet-AKP)/Omzet),".",","),$C(9),$TR(Lijst,".",","),$C(9),$TR(Vork,".",","),$C(9),$TR(Korting,".",","),$C(9),$TR(Omzet,".",","),! Close:Dev'=0 Dev Quit