cAFE7 ; Conversie document naar euro ; %AFE7 [ 12/18/01 1:43 PM ] ; A ; Aankoopdocumenten N SRT S SRT="A" G 1 ; V ; Verkoopdocumenten N SRT S SRT="V" G 1 ; KL(KC,UGL,US,UR,SRT,DEC,UQA,USA) ; opgeroepen via wijzigen munt klant (%AFE8) ; SRT = "V" of "A" ; DEC : aantal decimalen om vaste prijzen om te rekenen ; niet verplicht : default = par. bij producten ; UQA = UQA voor wijzigen hoofding bon ; leeg = UGL_"."_US ; USA = USA voor wijzigen hoofding bon ; leeg = 9 N SWKL,U5,UCO,UPRDMS S K="" I '$L($G(SRT)) S SRT="V" S UPRDMS=$P($G(@("^"_Q_UGL_"(0,US,""UPR"")"),"PR"),D) S DEC=$$DEC^cAFE8($G(DEC),SRT) S UCO=";;KL\K1" I SRT="A" S UCO=";;LE\L1" S U5=$G(@("^"_Q_UGL_"(KC,US,UR,1)")) I '$L(U5) S K="-" Q I $P(U5,D,18)="EUR" S K="" Q S:'$L($G(UQA)) UQA=9 S:'$L($G(USA)) USA=UGL_"."_US I '$D(^DMA(UQA,USA)) m ^DMA(UQA,USA)=^DMA(9,"UL.F") S ^DMA(UQA,USA,0,"DMS")=UGL_"."_US S SWKL=1 G 1 ; T0 ; Conversie document naar euro ; T1 ;Conversie naar euro is onomkeerbaar\".[] = ok"; T2 ;Document staat al in euro; ; T0F ; Conversion document vers euro ; T1F ;Conversion vers euro est irréversible\".[] = ok" ; T2F ;Document déjà en euro; ; T0E ; Conversion document to euro ; T1E ;Conversion to euro is irreversable\".[] = ok"; T2E ;Document already in euro; ; T0D ; Conversie document naar euro ; T1D ;Conversie naar euro is onomkeerbaar\".[] = ok"; T2D ;Dokument steht schon in euro; ; 1 N AKP,B,UZ,OMUNT,OKSW,URUI1,TAB,XX,OK,CVS,TTB,BTW,KKB,DECVM S U5=@("^"_Q_UGL_"(KC,US,UR,1)") 11 S OMUNT=$P(U5,D,18),OKSW=0 I OMUNT="EUR" G YZ:$G(SWKL) S K=$P($T(@("T2"_QT)),U,2) D TXT^cAFA1(250) G YZ 13 I '$G(SWKL) S R="K\22\3\"_$P($T(@("T1"_QT)),U,2)_"\1\\""-,.""[K&$L(K)" D R0 G YZ:K="-",YZ:K="," 19 S DECVM=$P(@("^"_Q_"BA(11,""EUR"")"),D,7) ; ophalen xecutes K XX S I=$G(^DPAR(Q,"UGL.EUR",UGL_"."_US,1)) F I=1:1:3 I $D(^(I)) S:$P(^(I),D) XX(I-1)=$P(^(I),D,2) S:$P(^(I),D,3) $P(XX(I-1),D,2)=$P(^(I),D,4) ; ; aanpassen hoofding bon 2 ; xecute voor ... S @%Q1=0 I $L($P($G(XX(0)),D)) S OK=1 X $P(XX(0),D) G 29:OK=2 I 'OK S OKSW=0 G YZ ; ; check voorschot ; 0 = geen, 1 = verschillend van totaal-kort.kontant, ; 2 = gelijk aan totaal-kort.kontant S CVS=$$CHKVS B S $P(U5,D,18)="EUR",$P(@("^"_Q_UGL_"(KC,US,UR,1)"),D,18)="EUR" ; muntcode in hoofding ; aanpassen ^DATA(.... ? 21 S URUI1=$P(^(3),D,24) I URUI1 S TAB(118)="EUR" D B^cFNA000(Q,USA,UQA,UR,"TAB") ; xecute na ... 29 I $L($P($G(XX(0)),D,2)) S OK=1 X $P(XX(0),D,2) G 4:OK=2 I 'OK S OKSW=0 G YZ ; ; aanpassen detaillijn bon 3 S UZ=100 31 S UZ=$O(@("^"_Q_UGL_"(KC,US,UR,UZ)")) G 4:UZ="" S B(1)=^(UZ) I '$P(B(1),D,6)&'$P(B(1),D,7)&'$P(B(1),D,29)&'$P(B(1),D,32) G 31 ; xecute voor ... I $L($P($G(XX(1)),D)) S OK=1 X $P(XX(1),D) G 37:OK=2 I 'OK G 31 ; bedrag korting I $L($P(B(1),D,7)),$P(B(1),D,7)'["%" S $P(B(1),D,7)=$$OMREK^cAFE1(Q,$P(B(1),D,7),OMUNT,"EUR",SRT,DECVM) ; indien aankoop : aankoopprijs I SRT="A" S AKP=$P(B(1),D,32) I AKP S $P(B(1),D,32)=$$EPR^cAFE5(AKP,"EUR","A",$G(UPRDMS,"PR"),OMUNT,1,$G(DEC)) ; eenheidsprijs I $P(B(1),D,6) S $P(B(1),D,6)=$$EPR^cAFE5($P(B(1),D,6),"EUR",SRT,$G(UPRDMS,"PR"),OMUNT,1,$G(DEC)) ; bedrag I $P(B(1),D,29) S $P(B(1),D,29)=$$OMREK^cAFE1(Q,$P(B(1),D,29),OMUNT,"EUR",SRT,DECVM) S K=$S($P(B(1),D,3):$P(B(1),D,6),1:$P(B(1),D,29)) D S3^cFN226 S $P(B(1),D,29)=K 37 ; xecute na ... I $L($P($G(XX(1)),D,2)) S OK=1 X $P(XX(1),D,2) G 31:OK'=1 39 S @("^"_Q_UGL_"(KC,US,UR,UZ)")=B(1) G 31 ; 4 ; xecute voor ... I $L($P($G(XX(2)),D)) S OK=1 X $P(XX(2),D) G 47:OK=2 I 'OK G 49 ; indien geen voorschot ingevuld I 'CVS G 49 I CVS=2 G 43 ; indien verschillend van totaal-korting kontant 41 S $P(U5,D,12)=$$OMREK^cAFE1(Q,$P(U5,D,12),OMUNT,"EUR",SRT,DECVM) ; VS I $P(U5,D,47) S $P(U5,D,47)=$$OMREK^cAFE1(Q,$P(U5,D,47),OMUNT,"EUR",SRT,DECVM) ; KKB G 45 ; indien gelijk aan totaal-korting kontant 43 D W^cFN2759 ; ophalen totaal ; indien geen korting kontant ... I '$P(U5,D,47) S $P(U5,D,12)=TTB G 45 ; indien korting kontant ... S $P(U5,D,12)=$$OMREK^cAFE1(Q,$P(U5,D,12),OMUNT,"EUR",SRT,DECVM) ; VS S $P(U5,D,47)=TTB-$P(U5,D,12) ; KKB 45 ; wegschrijven data S @("^"_Q_UGL_"(KC,US,UR,1)")=U5 S URUI1=$P(^(3),D,24) I URUI1 S TAB(112)=$P(U5,D,12),TAB(147)=$P(U5,D,47) D B^cFNA000(Q,USA,UQA,UR,"TAB") ; xecute na ... 47 I $L($P($G(XX(2)),D,2)) S OK=1 X $P(XX(2),D,2) G 49:OK=2 I 'OK G YZ 49 S K=",",OKSW=1 ; YZ S @%Q1=1 S:'OKSW K="" S:$G(SWKL)&'OKSW K="-" Q ; CHKVS() ; check voorschot en totaal bon vóór conversie ; indien geen voorschot N OK,TTB,BTW,KKB S OK=1 I '$P(U5,D,12) S OK=0 G CHKVSZ D W^cFN2759 ; indien totaal incl-kortingkontant = voorschot I TTB-$P(U5,D,47)=$P(U5,D,12) S OK=2 G CHKVSZ CHKVSZ Q OK ; R0 S $P(R,D,12)=$T(+0),$P(R,D,13)=1 D ^cAN1000 Q ; v12 23.01.95 ; Z X ^cZ Q ZZ ; 22.06.04 - 16 u 32 * V8