cAFA3 ;Standaardfuncties producten ;%AFA3; [ 06/30/00 3:30 PM ] ; T0 ;Standaardfuncties producten ; ; T0F ;Fonctions standards produits ; ; T0E ;Standaardfuncties producten ; ; AKP(K,C) ; berekenen aankoopprijs adhv de basis en de coëfficient ; N DEC,R,VM ; S VM=$p(B(1),D,17),DEC=$$DEC^cAFA1(VM) ; I VM=$$BF^cAFA1 S DEC=$$PDP ; S R=$J(K*C,0,DEC) N R,VM S VM=$P(B(1),D,17) S R=$$EPR^cAFE5(K,VM,"A",$G(UPRDMS,"PR"),VM,C) Q R ; DP(PR) ; berekenen waarde deelprodukten N AKP,ATL,BSL,DPR,I,R S I=PR_" ",R=0 F S I=$O(^INDEX(Q,"PR_SP",101,I)) Q:$P(I," ")'=PR D . S ATL=$P(^DATA(Q,"PR_SP",^(I),0),D,3) ; aantal in de samenst. . S DPR=$P(^(0),D,2) I $P(^(0),D,30) Q ; operat. deelproduct . I 'DPR Q . I $$SIG^cAFA1("PR",DPR,130) Q ; operat. product . S BSL=$P(^(0),D,25) ; soort deelproduct . S AKP=$S(BSL<2:$P(^(0),D,19),1:0) ; aankoopprijs . S R=ATL*AKP+R Q $J(R,0,$$PDP) ; IM(DMS,I1,I2,MU) ; index in gelinkd bestand ophalen via multiple n IREF,R,R1,UDD,UQC,USC d DMS^cAN000("UQC","USC",DMS) s UDD=^DMC(UQC,USC,"DATA"),IREF=$g(^("DATA","INDEX")) s R1=$o(@IREF@(MU,I1,I2_" ")),R=$s($p(R1," ")=I2:$p(R1," ",2),1:"") q R ; KLSTK(PR) ; berekenen klantenvoorraad N I1,UI1,R S I1=PR_" ",R=0 F S I1=$O(^INDEX(Q,"KL_PR.STOCK",102,I1)) Q:$P(I1," ")'=PR!(I1="") D . S UI1=^(I1) . S R=R+$P(^DATA(Q,"KL_PR.STOCK",UI1,0),D,3) Q R ; KP(PR) ; berekenen waarde deelprodukten + loonkost N AKP,ATL,BSL,DPR,I,R S I=PR_" ",R=0 F S I=$O(^INDEX(Q,"PR_SP",101,I)) Q:$P(I," ")'=PR D . S ATL=$P(^DATA(Q,"PR_SP",^(I),0),D,3) ; aantal in de samenst. . S DPR=$P(^(0),D,2) I $P(^(0),D,30) Q ; operat. deelproduct . I 'DPR Q . I $$SIG^cAFA1("PR",DPR,130) Q ; operat. product . S BSL=$P(^(0),D,25) ; soort deelproduct . S AKP=$S(BSL<3:$P(^(0),D,19),1:0) ; aankoopprijs . S R=ATL*AKP+R Q $J(R,0,$$PDP) ; KO(UQC,USC,UI1,BI) ; $p uit codebestand via UI1 N B,K,SW3,UREF,USL S K="" I $L(UQC),$L(USC),$D(^DMC(UQC,USC)) D . S UREF=^DMC(UQC,USC,"DATA","REF") I $L(UI1),$D(@UREF) D .. S SW3=BI\100,USL=D D R^cAN000 S K=$P(B(BI\100),D,BI#100) q K ; LK(PR) ; berekenen waarde loonkost N AKP,ATL,BSL,DPR,I,R S I=PR_" ",R=0 F S I=$O(^INDEX(Q,"PR_SP",101,I)) Q:$P(I," ")'=PR D . S ATL=$P(^DATA(Q,"PR_SP",^(I),0),D,3) ; aantal in de samenst. . S DPR=$P(^(0),D,2) I $P(^(0),D,30) Q ; operat. deelproduct . I 'DPR Q . I $$SIG^cAFA1("PR",DPR,130) Q ; operat. product . S BSL=$P(^(0),D,25) ; soort deelproduct . S AKP=$S(BSL=2:$P(^(0),D,19),1:0) ; aankoopprijs . S R=ATL*AKP+R Q $J(R,0,$$PDP) ; MARGE() N P,R S P=$P(@("^"_Q_"PR(0,19)"),D,37) S R=$S(P=1:$P(B(1),D,7),P=2:0,1:$P(B(1),D,19)) ; I R S R=$TR($J($P(B(1),D,7)-$P(B(1),D,19)/R*100,0,2),".",",") I R S R=$TR($J($$EP^cAFA30(Q,$P(B(1),D,7),0,$P(B(1),D,5))-$P(B(1),D,19)/R*100,0,2),".",",") Q R ; PDA(UPRDMS) ; Producten Decimalen Aantallen N R S R=+$P($G(@("^"_Q_$G(UPRDMS,"PR")_"(0,19)")),D) Q R ; PDP(V) ; decimalen productenprijzen N R S R=+$P($G(@("^"_Q_"PR(0,19)")),D,$S($G(V)="V":2,1:22)) Q R ; PRBEF(K,VM) ; berekening basis- en aankoopprijs in BEF S K=$$EPR^cAFE5(K,"","A",$G(UPRDMS,"PR"),VM) ; S K=$J(K*$$PAR^cAFA1(VM,"A"),0,$$PDP) Q K ; zonder .00 ; PRL(PR,IE,KRK,VM,KC) ; prijs berekenen via kortingentabel N U5,SWPRL,B,UCO,VNR,QQ,PR2,PR6,VKP,PDC,PK,OK,UB,X,I,DAT,QQQ,KORT,CK,IK,KK,KKK,AI,AT,KORT S $ZT="TRAP^cAN000" S UPRDMS=$G(UPRDMS,"PR") S UPRREF=$G(UPPRREF,$$REF^cANP000(UPRDMS)) S SWPRL=1 S $P(B(1),D,2)=PR,$P(B(1),D,3)=1,$P(B(1),D,8)=$$SIG^cAFA1(UPRDMS,PR,105) S $P(U5,D,2)=DT,$P(U5,D,5)=IE,$P(U5,D,21)=KRK,$P(U5,D,18)=VM S UCO="KLANT;klant;KL\K1" I $D(UGL),$D(@("^"_Q_UGL_"(0,US,""UCO"")")) S UCO=$P(^("UCO"),U,1,3) D 1^cFN213 PRLZ Q ; ZZ ; 05.02.01 - 16 u 23 * V7.84