PV80 ;NEW PROGRAM [ 11/08/2003 8:40 PM ] K D INIT^vhTERMINA MAAND Set Maand=$$ASK^vhINP("Datum (JJJJ.MM): ",7,$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-1),"DM4")) Set Maand=$$INTDATE^vhLib.DataTypes(Maand,"DM") Goto:'Maand MAAND LEVER Set LevNr=$$SELECT^LEVER() Goto:'LevNr LEVER Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set SpecKl(11708)="" ; BKK Set SpecKl(1327)="" ; Resocub Set SpecKl(1239)="" ; Keller ;Set SpecKl(3711)="" ; Keukenspec. (tulp) Set SpecKl(3499)="" ; Van Vaek Set SpecKl(2852)="" ; De Betho Do CALC($$CALCDATE^vhLib.DataTypes(Maand,"M",-11),Maand,LevNr,2) Do TRANSFER($$CALCDATE^vhLib.DataTypes(Maand,"M",-11),Maand,LevNr,2,.8) Quit CALC(BMaand,EMaand,LevNr,Sort) ;Sort : 2 = Omzet klant ; 3 = Omzet lim. leverancier ; 4 = Marge klant ; 5 = Marge lim. leverancier Set BMaand=$$EXTDATE^vhLib.DataTypes(BMaand,"DM4")_" " Set EMaand=$$EXTDATE^vhLib.DataTypes(EMaand,"DM4")_" " Set FP=2001 Write @F,@F1,!!,"Opbouw index" Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Set:$D(^KPR(PRNr,"J"_LevNr)) ^HULP(%J,"P",PRNr)="" Set KLNr=0 Set FP=2001 Write @F,@F1,!!,"Klanten : " Set Cnt=0,FP=2211 Set Tot="" Set GTot=0 For Set KLNr=$O(^KSTKL(KLNr)) Quit:KLNr="" Do ;Quit:KLNr>1505 .Set Cnt=Cnt+1 .Write:'(Cnt#10) @F,Cnt .Set Som=$$KLANT^STAT(KLNr,0,BMaand,EMaand,"3,4") .Set TotKO=$P(Som,D),TotKM=$P(Som,D,2) .Set GTot=GTot+TotKO .Quit:'TotKO .Set PRNr=0,(TotLO,TotLM)=0 .For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do:$D(^HULP(%J,"P",PRNr)) ..Set Som=$$KLANT^STAT(KLNr,PRNr,BMaand,EMaand,"3,4") ..Set TotLO=TotLO+$P(Som,D),TotLM=TotLM+$P(Som,D,2) .Set Rec=KLNr_D_TotKO_D_TotLO_D_TotKM_D_TotLM .Set Key=$P(Rec,D,Sort)\1*100000+KLNr .Set ^HULP(%J,"S",Key)=Rec .If $D(SpecKl(KLNr)) Set SpecKl(KLNr)=Key ; SpecKlanten apart .For I=2:1:5 Set $P(Tot,D,I)=$P(Tot,D,I)+$P(Rec,D,I) Quit TRANSFER(BMaand,EMaand,LevNr,Sort,Perc) Set Dev=$$OPEN^vhDEV($$DIRUSER^vhDEV,$$ASKFILE^vhDEV("TRANSFERT.TXT"),"W") Quit:Dev=0 Use Dev Set Key="" Write "Periode : ",$$EXTDATE^vhLib.DataTypes(BMaand,"DM4"),"-",$$EXTDATE^vhLib.DataTypes(EMaand,"DM4"),! Write "Leverancier: ",$P(^KLE(^KL1(LevNr),0),D,2),! Write "Spec. klanten",! Do TITEL Set TotS="" For Set Key=$O(^HULP(%J,"S",Key),-1) Quit:Key="" Do .Set Rec=^HULP(%J,"S",Key) .Quit:'$D(SpecKl($P(Rec,D))) .Do PRINT(Rec) .For I=2:1:5 Set $P(TotS,D,I)=$P(TotS,D,I)+$P(Rec,D,I) Do TOTAAL("Totaal (spec)",TotS) Set OmzPerc=($P(Tot,D,Sort)-$P(TotS,D,Sort))*Perc ; Percentage van de omzet van de NIET spec. klanten Set Key="" Write "80% omzet klanten",! Do TITEL Set TotPerc="" For Set Key=$O(^HULP(%J,"S",Key),-1) Quit:Key="" Do Quit:$P(TotPerc,D,Sort)>OmzPerc .Set Rec=^HULP(%J,"S",Key) .Quit:$D(SpecKl($P(Rec,D))) .Do PRINT(Rec) .For I=2:1:5 Set $P(TotPerc,D,I)=$P(TotPerc,D,I)+$P(Rec,D,I) Do TOTAAL("Totaal "_(Perc*100),TotPerc) Write ! Set Temp="" For I=2:1:5 Set $P(Temp,D,I)=$P(Tot,D,I)-$P(TotPerc,D,I)-$P(TotS,D,I) Do TOTAAL("Totaal Rest",Temp) Write ! Do TOTAAL("Totaal",Tot) Close Dev Quit TOTAAL(Tekst,Tot) Write Tekst,$C(9) For I=2:1:5 Write $C(9),$TR($P(Tot,D,I),".",",") Write ! Quit TITEL Write $TR("KLNr,Klantnaam,OmzetTot,OmzetLev,MargeTot,MargeLev",",",$C(9)),! Quit PRINT(Rec) Write $P(Rec,D),$C(9),$P(^KKL(^KK1($P(Rec,D)),0),D,2) For I=2:1:5 Write $C(9),$TR($P(Rec,D,I),".",",") Write ! Quit