pv2 ; ;[ 11/08/2003 8:40 PM ] CHECK(KLNr) Set Regio=$P(^KKL(^KK1(KLNr),0),D,20) Set SPrijsKL=$P(^KKL(^KK1(KLNr),2),D,25) Set:SPrijsKL=""!("GSLP"'[SPrijsKL) SPrijsKL="L" Set PrijsKL=$P(^KKL(^KK1(KLNr),2),D,3) Set:PrijsKL=""!("GRSBL"'[PrijsKL) PrijsKL="L" Set Chk=1 Set:SPrijsKL'="P" Chk=0 ;If Regio=1!(Regio=2)!(Regio=3)!(Regio=8) Set Chk=0 ;If Regio=1!(Regio=2)!(Regio=3)!(Regio=8) Set:PrijsKL'="L"&(PrijsKL'="R")!(SPrijsKL'="L") Chk=0 ;Set:$D(^PVKKAAP("K",KLNr)) Chk=0 Quit Chk ; CALC Kill Do INIT^vhTERMINA Set Tot="" Set %J=$$%J^vhRtn1(),FANr=700000 Kill ^HULP(%J) Write @F11,@F1 Set FP=2401 Write @F,"Ophalen van de data" For Set FANr=$O(^KFA("F",FANr)) Quit:$E(FANr)'=7 Do .Set R=^KFA("F",FANr,0,0),KLNr=$P(R,D,1) .Quit:'$$CHECK(KLNr) .Set BONNr="U" .For Set BONNr=$O(^KFA("F",FANr,BONNr)) Quit:$E(BONNr)'="U" Do ..Set FALNr=100 ..For Set FALNr=$O(^KFA("F",FANr,BONNr,FALNr)) Quit:'FALNr Do ...Set R=^KFA("F",FANr,BONNr,FALNr),PRNr=$P(R,D,2),Aantal=$P(R,D,3) ...Quit:'PRNr ...Quit:'$D(^KPR(PRNr)) ...Quit:$D(^KPR(PRNr,"J5810")) ; Niets van BURBIDGE ...Quit:$P(^KPR(PRNr,1),D,25) ; NON-aktief ...Do ONE(KLNr,PRNr,Aantal) Write !,"Statistiek" STAT Set KLNr=0 For Set KLNr=$O(^KSTKL(KLNr)) Quit:KLNr="" Do .Quit:'$$CHECK(KLNr) .Set Omz=$G(^HULP(%J,"K",KLNr)) .Set PRNr=0 .For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do ..Quit:$P($G(^KSTKL(KLNr,PRNr,0)),D,8) ; Niet opnemen in prijslijst ..Quit:'$D(^KPR(PRNr)) ..Quit:$D(^KPR(PRNr,"J5810")) ; Niets van BURBIDGE ..Quit:$P(^KPR(PRNr,1),D,25) ; NON-aktief ..Set Aantal=$$KLANT^STAT(KLNr,PRNr,"1996.07 ","1997.06 ",1) ..Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr) ..Set PrijsS=$$KLANTPR^KPRIJS(KLNr,PRNr,"S") ..Set $P(Omz,D,10)=$P(Omz,D,10)+Aantal ; Aantal ..Set $P(Omz,D,11)=$P(Omz,D,11)+($P(Prijs,D,14)*Aantal) ; Omzet Normal ..Set $P(Omz,D,12)=$P(Omz,D,12)+($P(Prijs,D,14)-$P(Prijs,D,13)*Aantal) ; Marge Normal ..Set $P(Omz,D,13)=$P(Omz,D,13)+($P(PrijsS,D,14)*Aantal) ; Omzet Schaduw ..Set $P(Omz,D,14)=$P(Omz,D,14)+($P(PrijsS,D,14)-$P(PrijsS,D,13)*Aantal) ; Marge Schaduw ..Set $P(Tot,D,10)=$P(Tot,D,10)+Aantal ; Aantal ..Set $P(Tot,D,11)=$P(Tot,D,11)+($P(Prijs,D,14)*Aantal) ; Omzet Normal ..Set $P(Tot,D,12)=$P(Tot,D,12)+($P(Prijs,D,14)-$P(Prijs,D,13)*Aantal) ; Marge Normal ..Set $P(Tot,D,13)=$P(Tot,D,13)+($P(PrijsS,D,14)*Aantal) ; Omzet Schaduw ..Set $P(Tot,D,14)=$P(Tot,D,14)+($P(PrijsS,D,14)-$P(PrijsS,D,13)*Aantal) ; Marge Schaduw .Set ^HULP(%J,"K",KLNr)=Omz Quit TRANSFER U 0:(::::4096) Set KLNr="" Read "!,Transfert",K Write $tr("KLNr;Klant;Reg;PK;SPK;OH;MH;OKS;MKS;OS;MS;FQty,SQty,SOH;SMH;SOS;SMS",";",$C(9)),! For Set KLNr=$O(^HULP(%J,"K",KLNr)) Quit:KLNr="" Do .Set Rec=^(KLNr) .Set Regio=$P(^KKL(^KK1(KLNr),0),D,20) .Set SPrijsKL=$P(^KKL(^KK1(KLNr),2),D,25) .Set:SPrijsKL=""!("GSL"'[SPrijsKL) SPrijsKL="L" .Set PrijsKL=$P(^KKL(^KK1(KLNr),2),D,3) .Set:PrijsKL=""!("GRSBL"'[PrijsKL) PrijsKL="L" .Write KLNr,$C(9),$P(^KKL(^KK1(KLNr),0),D,2),$C(9),Regio,$C(9),PrijsKL,$C(9),SPrijsKL .For I=1:1:6,9:1:14 Write $C(9),$TR($P(Rec,D,I),".",",") .Write ! Write "~~~" Quit ONE(KLNr,PRNr,Aantal) Quit:$P($G(^KSTKL(KLNr,PRNr,0)),D,8) ; Niet opnemen in prijslijst Set KSPak=$$KSPAK^PRODUKT(PRNr) Set SPrijsKL=$P(^KKL(^KK1(KLNr),2),D,25) Set:SPrijsKL=""!("GSL"'[SPrijsKL) SPrijsKL="L" Set DPrijsKL=SPrijsKL Set IsBruto=$P(^KKL(^KK1(KLNr),2),D,5) Set IsHandel=$P(^KKL(^KK1(KLNr),1),D,25) Set Munt=$P(^KKL(^KK1(KLNr),0),D,11) If $L(KSPak) Do .Set ABSAant=Aantal Set:Aantal<0 ABSAant=-Aantal .Set SPrijsKL="E" .Set:ABSAant>$P(KSPak,D,2) SPrijsKL="K" .Set:ABSAant>$P(KSPak,D,1) SPrijsKL="L" Set PrijsD=$$KLANTPR^KPRIJS(KLNr,PRNr,"S") Set PrijsS=$$PROD^KPRIJS(PRNr,SPrijsKL,"",Munt,IsBruto,IsHandel,"S") Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr) Set Omz=$G(^HULP(%J,"K",KLNr)) Set $P(Omz,D,9)=$P(Omz,D,9)+Aantal ; Aantal Set $P(Omz,D,1)=$P(Omz,D,1)+($P(Prijs,D,14)*Aantal) ; Omzet Normal Set $P(Omz,D,2)=$P(Omz,D,2)+($P(Prijs,D,14)-$P(Prijs,D,13)*Aantal) ; Marge Normal Set $P(Omz,D,3)=$P(Omz,D,3)+($P(PrijsS,D,14)*Aantal) ; Omzet Schaduw Set $P(Omz,D,4)=$P(Omz,D,4)+($P(PrijsS,D,14)-$P(PrijsS,D,13)*Aantal) ; Marge Schaduw Set $P(Omz,D,5)=$P(Omz,D,5)+($P(PrijsD,D,14)*Aantal) ; Omzet Schaduw Set $P(Omz,D,6)=$P(Omz,D,6)+($P(PrijsD,D,14)-$P(PrijsD,D,13)*Aantal) ; Marge Schaduw Set ^HULP(%J,"K",KLNr)=Omz Set $P(Tot,D,9)=$P(Tot,D,9)+Aantal ; Aantal Set $P(Tot,D,1)=$P(Tot,D,1)+($P(Prijs,D,14)*Aantal) ; Omzet Normal Set $P(Tot,D,2)=$P(Tot,D,2)+($P(Prijs,D,14)-$P(Prijs,D,13)*Aantal) ; Marge Normal Set $P(Tot,D,3)=$P(Tot,D,3)+($P(PrijsS,D,14)*Aantal) ; Omzet Schaduw Set $P(Tot,D,4)=$P(Tot,D,4)+($P(PrijsS,D,14)-$P(PrijsS,D,13)*Aantal) ; Marge Schaduw Set $P(Tot,D,5)=$P(Tot,D,5)+($P(PrijsD,D,14)*Aantal) ; Omzet Schaduw Set $P(Tot,D,6)=$P(Tot,D,6)+($P(PrijsD,D,14)-$P(PrijsD,D,13)*Aantal) ; Marge Schaduw Quit BLD200 d ^cA604 Set KLNr=0 Kill ^PVKKAAP("T") For Set KLNr=$O(^KKAAP(KLNr)) Quit:KLNr="" Do .Set Omz=$P(^KKAAP(KLNr,0,0,0,0),D) .Set ^PVKKAAP("T",Omz,KLNr)="" Kill ^PVKKAAP("K") Set Omz="",KLNr="",Cnt=0 Set (CntKl,OmzKl,OmzGr)=0 For Set Omz=$O(^PVKKAAP("T",Omz),-1) Quit:Omz="" Do .For Set KLNr=$O(^PVKKAAP("T",Omz,KLNr)) Quit:KLNr="" Do ..If Cnt'>200 Do ...Set ^PVKKAAP("K",KLNr)=$P(^KKL(^KK1(KLNr),0),D,2) ...Set Cnt=Cnt+1 ...S OmzGr=OmzGr+Omz ..Else Set OmzKl=OmzKl+Omz,CntKl=CntKl+1