FAKTPROF ;Lijsten van proformas in een bep. maand [ 08/04/2003 11:58 AM ] If '$D(Q) S Q="K" D ^cA604 Set %J=$J Kill ^HULP(%J) Write @F11,@F1,@FMTI,"Overzicht PROFORMA's - ",QN,@FMTi ASK Set FP=2001 Write @F,@F1 Set Mnd=$$CALCDATE^vhDTyp($H,"M",-1,"MD") Set Mnd=$$ASK^vhINP("Voor welke maand wenst U de PROFORMA's : ",5,$$EXTDATE^vhDTyp(Mnd,"DM")) Quit:Mnd="-"!(Mnd=".") Set Mnd=$$INTDATE^vhDTyp(Mnd,"DM") Goto ASK:'Mnd Set Begin=-$$CALCDATE^vhDTyp(Mnd,"M","FD") Set End=-$$CALCDATE^vhDTyp(Mnd,"M","LD")-1 Set BJaar=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp(Mnd,"M",7),"J4")#100 Set:BJaar>93 BJaar=BJaar#10 Set KLNr=0 Set (Cnt,CntKL)=0 Set FP=2001 Write @F,@F1,"Proforma's voor de maand : ",$$EXTDATE^vhDTyp(Mnd,"DM") Set KlLev=$$ASK^vhINP("Wenst u alle proforma's of enkel deze voor leveranciers : ",1,"","[] = alle proforma's L[] = enkel deze voor leveranciers","","","","","","""L""[X") Quit:KlLev="." Goto ASK:KlLev="-" Set FP=2101 Write @F,@F1,$S(KlLev="L":"Proforma's voor Leveranciers",1:"Alle proforma's") Write !!,"Aantal klanten verwerkt : ",@FCH For Set KLNr=$O(^KFAP1("F",KLNr)) Quit:'KLNr Do .If KlLev="L" Quit:'$D(^KK1(KLNr)) Quit:$$UPCASE^vhRtn1($P(^KKL(^KK1(KLNr),1),D,11))'="LEVERANCIER" .Set CntKL=CntKL+1 .If CntKL#7 Set FP=2327 Write @F,CntKL,@F2 .Set Dat=End .For Set Dat=$O(^KFAP1("F",KLNr,Dat)) Quit:'Dat Quit:Dat>Begin Do ..Set FANr="" ..For Set FANr=$O(^KFAP1("F",KLNr,Dat,FANr)) Quit:'FANr Do ...Set Rec=^KFAP("F",FANr,0,0) ...Set IsCredit=$P(Rec,D,2)="C" ...Set Sign=$S($P(Rec,D,2)="C":-1,1:1),BONNr="U",(VerwType,MetFakt,MStUpd,ZStUpd)="" ...For Set BONNr=$O(^KFAP("F",FANr,BONNr)) Quit:$E(BONNr)'="U" Do If $L(VerwType),$L(MetFakt),MStUpd,ZStUpd Quit ....Set R=^KFAP("F",FANr,BONNr,1),VerwType=$P(R,D,25),MetFakt=$P(R,D,29)["P",BLNr=100 ....For Set BLNr=$O(^KFAP("F",FANr,BONNr,BLNr)) Quit:'BLNr Do If MStUpd,ZStUpd Quit .....Set R=^KFAP("F",FANr,BONNr,BLNr) .....Quit:$P(R,D,17)'="KF6" .....If $P(R,D,14)["S" Set ZStUpd=1 .....Else If $P(R,D,14)["Z" Set ZStUpd=1 .....Else Set MStUpd=1 ...Set IsNotTot='$P(Rec,D,7) ...Set KostTot=0 ...Set BONNr="U" ...For Set BONNr=$O(^KFAP("F",FANr,BONNr)) Quit:$E(BONNr)'="U" Do ....Set BLNr=100 ....For Set BLNr=$O(^KFAP("F",FANr,BONNr,BLNr)) Quit:'BLNr Do .....Set R=^KFAP("F",FANr,BONNr,BLNr) .....Set:IsNotTot $P(Rec,D,7)=$P(Rec,D,7)+$P(R,D,9) .....Set PRNr=$P(R,D,2) .....Set CiffPPL=0 .....If PRNr?4.7N Do ......Set Key=$O(^KPR(PRNr,"J")) ......If $E(Key)="J" Set CiffPPL=$P(^KPR(PRNr,Key),D,23) ......Else Do .......Set Key=$O(^KPRO(PRNr,"J")) .......If $E(Key)="J" Set CiffPPL=$P(^KPRO(PRNr,Key),D,23) .....Set KostTot=KostTot+(CiffPPL*$P(R,D,3)) ...Set (Klachten,KlachtID)="" ...For Set KlachtID=$O(^KlachtI("V",FANr,KlachtID)) Quit:KlachtID="" Set Klachten=Klachten+1 ...Set R=FANr_D_KLNr_D_$P(^KKL(^KK1(KLNr),0),D,2)_D_$P(Rec,D,6)_D_$P(Rec,D,5)_D_(Sign*$P(Rec,D,7)) ...Set R=R_D_VerwType_D_MetFakt_D_MStUpd_D_ZStUpd_D_Klachten_D_$P(^KKL(^KK1(KLNr),0),D,20)_D_KostTot ...Set ^HULP(%J," "_FANr)=R W @FCS For Do Quit:"SPT-"[K&(K'="") . Write !,"S=Scherm P=Printer T=Transfer -=Cancel" . Read *K . Set K=$$UPCASE^vhRtn1($C(K)) Do INIT^PROC("FAKTPROF"_$S(K="T":"T",1:"")) Set FAKTPROF(11)="PROFORMA's van de maand "_$$EXTDATE^vhDTyp(Mnd,"DM") Do RL^PROC1 If K="S" Do PRINT^OUTPUT(.FAKTPROF,"S","") If K="P" Do PRINT^OUTPUT(.FAKTPROF,"P","S") If K="T" Do PRINT^OUTPUT(.FAKTPROF,"T","") Kill ^HULP(%J) Quit