cTN9109 ; Aankoop : openstaand bedrag aanpassen bij document adhv oude ; T1 ; document(en) aangepast.; ; T1F ; ; T1E ; ; YZ Q ; ODOC(BM,OUTP,CHK,SPTYPE) ; Past het openstaande bedrag aan bij de documenten ; Input: BM: Van boekingsmaand, indien "": vanaf het begin ; OUTP: 1 = Output op het scherm ; CHK: 1 = Enkel checken, niet wijzigen ; SPTYPE: Speciefiek type (A,V,KV,LV,BA,BV) N @$$INITVAR^cAFVBA01("BM,OUTP,CHK,SPTYPE") S $ZT="^dmERROR" ; ; Check parameters ODOC1 S REF=$$REF^cAFA10(.Q,"DB","M1"),UREF=$P(REF,D),IREF=$P(REF,D,3),CNT=0,OK=1 I '$L(IREF) G ODOCZ I '$L(UREF) G ODOCZ S OUTP=$G(OUTP),CHK=$G(CHK),BM=$G(BM) ; ; Dagboeken doorlopen S TYPES="A\V\KV\LV\BV\BA",QQ=$$Q^cAFA10,W=19 I $L($G(SPTYPE)) S TYPES=SPTYPE ODOC2 S TYPE=$P(TYPES,D),TYPES=$P(TYPES,D,2,99) I '$L(TYPE) G ODOCY I '$D(@IREF@(QQ,TYPE)) G ODOC2 S BM=$TR(BM,".","") I $L(BM) S BM=BM-.01 ODOC3 S BM=$O(@IREF@(QQ,TYPE,BM)) G:'$L(BM) ODOC2 S FNR="" ODOC4 S FNR=$O(@IREF@(QQ,TYPE,BM,FNR)) G:'$L(FNR) ODOC3 S DB="Z" ODOC5 S DB=$O(@IREF@(QQ,TYPE,BM,FNR,DB),-1) G:'$L(DB) ODOC4 S UI1=^(DB) S N0=@UREF@(0) S SW="KL" I TYPE="A"!(TYPE="LV")!(TYPE="BA") S SW="LE" ; Klant/leveranciers switch S KCUI1=$P(N0,D,9+(SW="LE")) I '$L(KCUI1) G ODOC5 ; Geen klant/leverancier S (OP,OOP)=$P(N0,D,18),OS=$P(N0,D,21),OPM="" ; Bedrag openstaand in firma-munt S FC=$P(N0,D,23) I FC="C" S (OP,OOP)=(OP*-1) ; -- Voorschot: to do -- ; I FC="V",(OP<0) S (OP,OOP)=(OP*-1),FC="C" ; Voorschot S KC=$$SIG^cAFA1(SW_".A",KCUI1,150) I '$L(KC) G ODOC5 S Q49=Q ;S Q49=$P(^(0),D,49) -> In "oude" BH zit de KL/LE altijd in dezelfde Q-waarde S KCREF="^"_Q49_SW_"(KC,FNR)" I $D(AFB(SW,KCUI1,FNR)) G:'OP ODOC5 S OP=0,OPM=0 G ODOC6 ; Voorschot reeds opengezet S AFB(SW,KCUI1,FNR)="" I '$D(@KCREF) I (+OP'=0)!OS S OP=0,OPM=0 G ODOC6 I $D(@KCREF) S KCOP=$TR($P(@KCREF,D,10),"-"),KCOPM=$TR($P(@KCREF,D,5),"-") I +OP'=+KCOP S OP=KCOP,OPM=KCOPM G ODOC6 G ODOC5 ; ; Dagboek bijwerken ODOC6 I 'CHK S OK=$$LOCK^cTN101(.Q,UI1,1) I 'OK G ODOCZ S OPST=1 I +OP=0 S OPST=0 I FC="C" S OP=(OP*-1),OPM=(OPM*-1),OOP=(OOP*-1) W:OUTP !,UI1,?12,FNR,?20,KC,?55,+OOP,?65,+OP,?79,$S(+OOP=+OP:"X",1:"") I 'OUTP S W=W+1 I W=20 W "." S W=0 S TAB(118)=OP S TAB(121)=OPM S TAB(122)=OPST I 'CHK D B^cAN220("DB","",UI1,"TAB") I $L(K) X "STOP" S CNT=CNT+1 I 'CHK D LOCK^cTN101(.Q,UI1,0) G ODOC5 ; ODOCY S OK=1_D_CNT_$P($T(@("T1"_QT)),U,2) ODOCZ I $G(OUTP) W ! Q OK ; ZZ ; 29.08.07 - 10 u 22 * V8.09