orgalmis ; ;[ 04/11/2003 4:27 PM ] ; New FANr,%J Set FANr=399999,%J=$$%J^vhRtn1() Kill ^HULP(%J) For Set FANr=$O(^KFA("F",FANr),-1) Quit:FANr<200000 Do ONEFAKT(FANr,%J) Do RECALC(%J),TRANS(%J) Quit ; ONEFAKT(FANr,%J) New R,KLNr,Munt,KlKey,KlNaam,BONNr,BLNr,Aantal,Korting,OrgalOk,OrgalNok,OrgalGem Set R=^KFA("F",FANr,0,0),KLNr=$P(R,D),Munt=$P(R,D,5) Set KlKey=^KK1(KLNr),R=^KKL(KlKey,0),KlNaam=$P(R,D,2),R=^KKL(KlKey,2) If $P(R,D,3)'="P",$P(R,D,4)="P" Do .Set BONNr="U",(OrgalOk,OrgalNok,OrgalGem)=0 .For Set BONNr=$O(^KFA("F",FANr,BONNr)) Quit:BONNr="" Do ..Set BLNr=100 ..For Set BLNr=$O(^KFA("F",FANr,BONNr,BLNr)) Quit:'BLNr Do ...Set R=^KFA("F",FANr,BONNr,BLNr),PRNr=$P(R,D,2),Aantal=$P(R,D,3),Korting=$P(R,D,7),Netto=$P(R,D,9) ...Quit:'PRNr Quit:'$D(^KPR(PRNr)) Quit:'$$ISORGAL^PRODUKT2(PRNr) ...Set R=$$KORTPC^KORTING(KLNr,PRNr,"N",,Aantal) ...If +$P(R,D)=+$P(Korting,"#"),+$P(R,D,2)=+$P(Korting,"#",2) Set OrgalOk=OrgalOk+Netto ...Else Set OrgalNok=OrgalNok+Netto,OrgalGem=OrgalGem+(Netto*-$P(R,D)/100) W !,$TR($P(R,D,1,2),D,"#"),?10,Korting,?20,Munt,?30,KLNr,?40,FANr,?50,OrgalNok ...Set ^HULP(%J,KLNr,FANr)=KLNr_D_KlNaam_D_FANr_D_OrgalOk_D_OrgalNok_D_OrgalGem_D_Munt Quit ; RECALC(%J) New R,KLNr,FANr,Munt Set KLNr=0 For Set KLNr=$O(^HULP(%J,KLNr)) Quit:'KLNr Do .Set FANr=0 .For Set FANr=$O(^HULP(%J,KLNr,FANr)) Quit:FANr="" Do ..Set R=^HULP(%J,KLNr,FANr),Munt=$P(R,D,7) ..For I=4:1:6 Set $P(R,D,I)=$J($P(R,D,I),0,2),$P(R,D,I+4)=$$MUNT^vhRtn1(Munt,5,$P(R,D,I)_"#1") ..Set ^HULP(%J,KLNr,FANr)=R Quit ; TRANS(%J) New R,Dev,KLNr,FANr,OrgalOk,OrgalNok,OrgalGem Set Dev=$$OPEN^vhDEV(,"ORGGEMIST.TXT","M") Use Dev Write "KLNr",$C(9),"Naam",$C(9),"FANr",$C(9),"Orgalux Ok",$C(9),"Orgalux NOk",$C(9),"Gemist",$C(9) Write "Munt",$C(9),"Orgalux Ok EUR",$C(9),"Orgalux NOk EUR",$C(9),"Gemist EUR",$C(13) Set (KLNr,OrgalOk,OrgalNok,OrgalGem)=0 For Set KLNr=$O(^HULP(%J,KLNr)) Quit:'KLNr Do .Set FANr=0 .For Set FANr=$O(^HULP(%J,KLNr,FANr)) Quit:FANr="" Do ..Set R=^HULP(%J,KLNr,FANr),OrgalOk=OrgalOk+$P(R,D,8) ..Set OrgalNok=OrgalNok+$P(R,D,9),OrgalGem=OrgalGem+$P(R,D,10) ..For I=4:1:6,8:1:10 Set $P(R,D,I)=$TR($P(R,D,I),".",",") ..For I=1:1:$L(R,D) Write $P(R,D,I),$C($S(I=$L(R,D):13,1:9)) Close Dev Write !!!!!!!,"Orgalux Ok",?17,"= ",OrgalOk,!,"Orgalux NOk",?17,"= ",OrgalNok,!,"Orgalux gemist",?17,"= ",OrgalGem Quit ;