KF21P3 G 1 ;MODULE FAKTURATIE PROFORMA (UPDATE BESTANDEN KLANT/ART, ART/KLANT, EXPORT, WISSELNR) ;Quit naar KF21 [ 12/06/2002 2:56 PM ] ; S1 S X=^(0),^(0)=FDT_D_UEP_D_USP_D_VM_D_UPAR_D_U26_D_D_$P(X,D,8,99) S1A S X=^(BP_" "),X=($P(X,D,1)+UA)_D_($P(X,D,2)+1)_D_($P(X,D,3)+UN)_D_($P(X,D,4)+MAR)_D_($P(X,D,5)+UAKOM)_D_($P(X,D,6)+(UA*PLP))_D S1B S ^(BP_" ")=X S1Z Q ; S2 S @S=$$ROUND^KPRIJS(@S) Q ; S0 S:'$D(NST(PVS)) NST(PVS)=0 S TWAS=TWAS+UN,NST(PVS)=NST(PVS)+UN S0Z Q ; KC(KC,FactKLNr) ; KC is de klant v/d lev.bon, deze kan verschillen van de facturatieklant 1 N IsEuro,BLUNr,IsMonster,AkpEUR S FNR=$J 2 K NST S (UR,TWAS,IsMonster)=0 S IsEuro=$$ISEURO^vhRtn1() S Maand=$$CALCDATE^vhDTyp($$INTDATE^vhDTyp(FDT,"DK"),"M","MD") 3 S UR=$N(@("^"_Q_"FAP(US,FNR,UR)")) I UR=-1 G 27:FNR=FNX S FNR=FNX G 2 I 'IsMonster S X=@("^"_Q_"FAP(US,FNR,UR,1)"),IsMonster=$P(X,D,25)="M" S UZ=100 5 S UZ=$N(@("^"_Q_"FAP(US,FNR,UR,UZ)")) G 3:UZ=-1 S X=^(UZ),PR=$P(X,D,2) G 5:'PR 6 I '$D(@("^"_Q_"PR(PR)")) S UN=$P(X,D,9),PVS=0 D S0 G 5 7 S UA=$P(X,D,3),UN=$P(X,D,9),VWTYP=$P(X,D,14),BLUNr=$P(X,D,15),USP=$P(X,D,21),U26=$P(X,D,26) S:U26="=" U26="" S UEP=$J(UN/UA*$P("1\100\1000",D,$F("EHM",$E(USP,1))-1),0,2) 9 S UAKOM=0 S:$P($P(X,D,28),";")="KOM" UAKOM=UA S X=^(PR,2),PVS=$P(X,D,8) S:'$L(PVS) PVS=" " D S0 11 S X=$$GRORDE^PRODUKT2(PR),AFE=$E(X),AFR=$E(X,2) S X="",Y=$N(@("^"_Q_"PR(PR,""J"")")) I $E(Y,1)="J" S X=^(Y) 13 I $L(VM)&(UPAR) S UN=+$J(UN*UPAR,0,$S(IsEuro:4,1:2)) 15 S PCP=$P(X,D,23),MAR=UN-(PCP*UA),PLP=$P(X,D,25),PLP=PLP*$S(AFE="M":1000,AFE="H":100,1:1),S="PLP" ;D S2 S PLP=PLP/$S(AFE="M":1000,AFE="H":100,1:1) G 25 ; Bijwerken statistiek kortgesloten (zie hierboven) 17 S:'$D(@("^"_Q_"STKL(KC,0,0)")) @("^"_Q_"STKL(KC,0,0)")=BS 18 S:'$D(^(BP_" ")) @("^"_Q_"STKL(KC,0,BP_"" "")")="" D S1 19 S:'$D(@("^"_Q_"STKL(KC,PR,0)")) @("^"_Q_"STKL(KC,PR,0)")=BS 20 S:'$D(^(BP_" ")) @("^"_Q_"STKL(KC,PR,BP_"" "")")="" D S1 21 S:'$D(@("^"_Q_"STPR(PR,0,0)")) @("^"_Q_"STPR(PR,0,0)")=BS 22 S:'$D(^(BP_" ")) @("^"_Q_"STPR(PR,0,BP_"" "")")="" D S1 23 S:'$D(@("^"_Q_"STPR(PR,KC,0)")) @("^"_Q_"STPR(PR,KC,0)")=BS 24 S:'$D(^(BP_" ")) @("^"_Q_"STPR(PR,KC,BP_"" "")")="" D S1 25 I UA'>0,$$OPSLMAN^PRODUKT2(PR) D .N OrdDat .S R=$TR($$EXTDATE^vhDTyp($$INTDATE^vhDTyp(FDT),"DS"),D,"")_2_D .S R=R_$S(VWTYP["S":0,VWTYP["Z":0,1:UA)_D_D_1_D_$J($S(VWTYP["S":0,VWTYP["Z":0,1:UN),0,$S(IsEuro:4,1:2))_"\0\0\"_UR .D ^KPR10 .S OrdDat=$P($$ORDGEG^FLOWBON(KC,$E(UR,2,99),UZ,"M"),D,2) S:$L(OrdDat) OrdDat=$$INTDATE^vhDTyp(OrdDat) .D PUT^PRHIST(PR,$S(VWTYP["S":0,VWTYP["Z":0,1:UA),"R",,KC,UR,BLUNr,$$INTDATE^vhDTyp(FDT),,,,,,OrdDat) D:IsMonster .I $H<59717 S X=@("^"_Q_"FAP(US,FNR,UR,UZ)"),$P(X,D,33)=PCP*UA,^(UZ)=X Q ; Deze berekening mag niet meer vanaf 01.07.04 .S X=$$KLANTPR^KPRIJS(KC,PR),AkpEUR=$P(X,D,13) .S X=@("^"_Q_"FAP(US,FNR,UR,UZ)"),$P(X,D,33)=AkpEUR*UA,^(UZ)=X ; Bijwerken KLKAN kortgesloten D KLKAN(KC,X,Maand) 26 G 5 ; 27 I FNR'=$J D .S X=$$INTDATE^vhDTyp(FDT),@("^"_Q_"FAP1(US,$G(FactKLNr,KC),-X,FNR)")="" 29 S X=@("^"_Q_"FAP(US,FNR,0,0)") G YZ:'$P(X,D,16) S (PVS,PWA)=0,NST=$N(NST(0)) 30 F I=1:1 S PVS=$N(NST(PVS)) Q:PVS=-1 I (NST(PVS)>0&(PWANST(PVS))) S NST=PVS,PWA=NST(PVS) 31 I TWAS S X=^(3),$P(X,D,24)=NST_"#"_TWAS,^(3)=X ; YZ K @("^"_Q_"FAP(US,$J)"),UA,UEP,UN,USP,AFR,AFE,S,X,Y,PCP,MAR,U26,UAKOM,NST,PVS,TWAS,PWA,VWTYP Q ; KLKAN(KLNr,Rec,Mnd) New PRNr,Kort,Kodex,Omzet,LijstPr,AankPr Set PRNr=$P(Rec,D,2),Kort=$P(Rec,D,7),LijstPr=$P(Rec,D,32),AankPr=$P(Rec,D,33),Omzet=$P(Rec,D,34) Set Kort=1-(1-($P(Kort,"#")/100))*(1-($P(Kort,"#",2)/100))*100 Set Kodex=$S(Kort'>0:0,Kort'>7.5:1,Kort'>15:2,Kort'>22.5:3,1:4)*3 Set Hulp=$G(^KLKAN(KLNr,0,Mnd)) Set $P(Hulp,D,1+Kodex)=$P(Hulp,D,1+Kodex)+Omzet Set $P(Hulp,D,2+Kodex)=$P(Hulp,D,2+Kodex)+LijstPr Set $P(Hulp,D,3+Kodex)=$P(Hulp,D,3+Kodex)+AankPr Set ^KLKAN(KLNr,0,Mnd)=Hulp Set Hulp=$G(^KLKAN(KLNr,PRNr,Mnd)) Set $P(Hulp,D,1+Kodex)=$P(Hulp,D,1+Kodex)+Omzet Set $P(Hulp,D,2+Kodex)=$P(Hulp,D,2+Kodex)+LijstPr Set $P(Hulp,D,3+Kodex)=$P(Hulp,D,3+Kodex)+AankPr Set ^KLKAN(KLNr,PRNr,Mnd)=Hulp Quit ;