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 2 K NST S (UR,TWAS,IsMonster)=0 S IsEuro=$$ISEURO^vhRtn1() S Maand=$$CALCDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes(FDT,"DK"),"M","MD") 3 S UR=$N(@("^"_Q_"FAP(US,FNR,UR)")) I UR=-1 G 27 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) 25 I UA'>0,$$OPSLMAN^PRODUKT2(PR) D .N OrdDat .S R=$TR($$EXTDATE^vhLib.DataTypes($$INTDATE^vhLib.DataTypes(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^vhLib.DataTypes(OrdDat) .D PUT^PRHIST(PR,$S(VWTYP["S":0,VWTYP["Z":0,1:UA),"R",,KC,UR,BLUNr,$$INTDATE^vhLib.DataTypes(FDT),,,,,,OrdDat) D:IsMonster .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 26 G 5 ; 27 S X=$$INTDATE^vhLib.DataTypes(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 UA,UEP,UN,USP,AFR,AFE,S,X,Y,PCP,MAR,U26,UAKOM,NST,PVS,TWAS,PWA,VWTYP Q ;