STREGORD ;Statistiek Orders per Regio [ 01/09/2003 8:58 AM ] New %J,DatVan,DatTot,Regio Set %J=$$%J^vhRtn1(),Regio="" Set DatVan=$$CALCDATE^vhDTyp($H,"W",-1) Set DatTot=$$CALCDATE^vhDTyp($H,"W",-1) For Do SELECT,VERWERK(Regio,DatVan,DatTot,$$MUNTKODE^vhRtn1("EUR")):%SC Quit:'%SC ;For Do SELECT,VERWERK(Regio,DatVan,DatTot,$$MUNTKODE^vhRtn1("NLG")):%SC Quit:'%SC Quit SELECT New FP Do NIEUW^vhScherm("STREGORD") Set DatVan=$$CALCDATE^vhDTyp(DatVan,"W","FD") Set DatTot=$$CALCDATE^vhDTyp(DatTot,"W","LD") Set FP=2201 Write @F,@F1 Quit VERWERK(Regios,DatVan,DatTot,Munt) Kill ^HULP(%J) Do FETCH(Regios,DatVan,DatTot,Munt) Do WRITE(Regios,DatVan,DatTot,Munt) Quit FETCH(Regios,DatVan,DatTot,Munt) ;Regios oproepen via .Local New Regio,KLNr,KLId,TSomAnd,TSomBL,TCntAnd,TCntBL,KCount,SCount,FCount,PCount Set (TSomAnd,TSomBL,TCntAnd,TCntBL,KCount,SCount,KLId)=0 Set Regios=$$REPLACE^vhRtn1(";"_Regios_";",";;","") For Set KLId=$O(^KKL(KLId)) Quit:KLId="" Do .Set KCount=KCount+1,Regio=$P(^KKL(KLId,0),D,20) .Do:'(KCount#100) VERWERKT^KLANT(KCount,SCount) .Quit:Regios'[(";"_Regio_";") .Set KLNr=$P(^KKL(KLId,0),D,1) .Set (FCount,PCount)=0 .Do CUMUL("^KFA",KLNr,DatVan,DatTot,Munt) .Do CUMUL("^KFAP",KLNr,DatVan,DatTot,Munt) .Set:FCount!PCount SCount=SCount+1 Quit CUMUL(Global,KLNr,DatVan,DatTot,Munt) New Dat,FAKNr,BONNr,LNr,Rec,PRNr,Omz,LevKey Set Dat=$S(DatTot:-DatTot-1,1:"") Set:DatVan="" DatVan=1 Set Global1=Global_"1" Set FAKNr="" For Set Dat=$O(@Global1@("F",KLNr,Dat)) Quit:Dat="" Quit:Dat>-DatVan Do .For Set FAKNr=$O(@Global1@("F",KLNr,Dat,FAKNr)) Quit:FAKNr="" Do ..Set BONNr="U" ..Set (SomAnd,SomBL)=0 ..Set (CntAnd,CntBL)=0 ..For Set BONNr=$O(@Global@("F",FAKNr,BONNr)) Quit:BONNr="" Do ...Set LNr=100 ...For Set LNr=$O(@Global@("F",FAKNr,BONNr,LNr)) Quit:LNr="" Do ....Set Rec=^(LNr) ....Set PRNr=$P(Rec,D,2) ....Quit:PRNr'?4.7N ....Set:$D(^KPRO(PRNr)) LevKey=$O(^KPRO(PRNr,"J")) ....Set:$D(^KPR(PRNr)) LevKey=$O(^KPR(PRNr,"J")) ....;Set Omz=$P(Rec,D,16)/$$MUNTPAR^vhRtn1($P(Rec,D,22)) ....Set Omz=$P(Rec,D,34) ....If LevKey="J5005" Do .....Set SomBL=SomBL+Omz .....Set CntBL=CntBL+1 ....Else Do .....Set SomAnd=SomAnd+Omz .....Set CntAnd=CntAnd+1 ..Do:CntAnd!CntBL ...Do SETCUM(KLNr,FAKNr,$S(Global["P":"PROFORMA",1:FAKNr),Munt,SomAnd,SomBL,CntAnd,CntBL) ...Set:Global="^KFA" FCount=FCount+1 Set:Global="^KFAP" PCount=PCount+1 Set ^HULP(%J,"D")=D_"Totaal"_D_D_D_TCntBL_D_TSomBL_D_TCntAnd_D_TSomAnd Quit SETCUM(KLNr,FAKNr,FakProf,Munt,SomAnd,SomBL,CntAnd,CntBL) New KLId,KLNm,Regio,Rec Set KLId=^KK1(KLNr) Set KLNm=$P(^KKL(KLId,0),D,2) Set Regio=$P(^KKL(KLId,0),D,20) Set SomBL=SomBL*$$MUNTPAR^vhRtn1(Munt) Set SomAnd=SomAnd*$$MUNTPAR^vhRtn1(Munt) Set Rec=KLNr_D_KLNm_D_Regio_D_FakProf_D_CntBL_D_SomBL_D_CntAnd_D_SomAnd If FAKNr=FakProf Do ; alleen als faktuur .Set TCntBL=TCntBL+CntBL .Set TSomBL=TSomBL+SomBL .Set TCntAnd=TCntAnd+CntAnd .Set TSomAnd=TSomAnd+SomAnd Set ^HULP(%J,"D",KLId,FAKNr)=Rec Quit WRITE(Regios,DatVan,DatTot,Munt) New LD,KLId,Cnt,KLNr,FAKNr,Rec,Regio Quit:'$D(^HULP(%J,"D")) Set (KLId,FAKNr)="" Set Cnt=1 For Set KLId=$O(^HULP(%J,"D",KLId)) Quit:KLId="" Do .Set KLNr=$P(^KKL(KLId,0),D) .For Set FAKNr=$O(^HULP(%J,"D",KLId,FAKNr)) Quit:FAKNr="" Do ..Set Rec=^(FAKNr) ..Set:'KLNr $P(Rec,D,1,2)=D ;Wissen KLNr en naam ..Set Cnt=Cnt+1 ..Set ^HULP(%J,"L",Cnt)=Rec ..Set KLNr="" Set Cnt=Cnt+1,^HULP(%J,"L",Cnt)="" Set Cnt=Cnt+1,^HULP(%J,"L",Cnt)=^HULP(%J,"D") ; Totaal Do INIT^PROC("STREGORD","LD") Set Regio="" Set LD(11)="" For Set Regio=$P(Regios,";") Quit:Regio="" Do ;:Regio .Set Regios=$P(Regios,";",2,99) .Set LD(11)=LD(11)_","_"R"_$E(100+Regio,2,3) Set $E(LD(11),1)="Fakturen/regio " Set:DatTot="" DatTot=$H Set $P(LD(11),D,2)="Van: "_$$EXTDATE^vhDTyp(DatVan)_", Tot: "_$$EXTDATE^vhDTyp(DatTot) Do PRINT^OUTPUT(.LD,"SPT","S","CA") Quit