cTN1011 ;Registraties : Executes na openen, wijzigen,... ; cTN101 ; YZ Q ; CUM(B,A) ; Cumuls aanpassen ; Input: B: Nieuwe waardes (doorgegeven als referentie) ; A: Oude waardes (doorgegeven als referentie) ; Bij openen A niet doorgeven! N BM,R,I,DC,BVN,BMNT,TREG S $ZT="TRAP^cAN000" ; ; Enkel bij financiële rekening cumuls in munt document opzetten CUM1 S VM="" I $$SIG^cAFA1("AR.A",$P(B(1),D,8),113)="1" S VM=1 ; CUM2 S BM=$P(B(1),D,5) ; Boekingsmaand S R=$P($$SALDO(.B,.A),D,4,7),I=0 ; Saldo's S TREG=$P(B(1),D) ; Type registratie ; ; Cumuls opzetten voor Debet en Credit (in munt vennootschap en munt document) CUM21 S I=I+1 I I>2 G CUMZ S DC=$S(I=2:"C",1:"D"),BVN=$P(R,D,I),BMNT=$P(R,D,I+2) I 'VM S BMNT=BVN ; ; Cumuls aanpassen CUM23 I (TREG="AD")!(TREG="ID") G CUM25 ; Cumuls grootboekrek. niet aanpassen bij anal./IAS diverse verr. D CUM^cTN102("AR",$P(B(1),D,8),BM,DC,BVN,BMNT) ; Grootboekrekening CUM25 D CUM^cTN102("ARA",$P(B(1),D,9),BM,DC,BVN,BMNT) ; Analytische rekening D CUM^cTN102("EC1",$P(B(1),D,10),BM,DC,BVN,BMNT) ; EC1-rekening D CUM^cTN102("EC2",$P(B(1),D,11),BM,DC,BVN,BMNT) ; EC2-rekening D CUM^cTN102("EC3",$P(B(1),D,12),BM,DC,BVN,BMNT) ; EC3-rekening D CUM^cTN102("KL",$P(B(1),D,13),BM,DC,BVN,BMNT) ; Klantenrekening D CUM^cTN102("LE",$P(B(1),D,14),BM,DC,BVN,BMNT) ; Leveranciersrekening D CUMS^cTN102($P(B(1),D,8),$P(B(1),D,9),$P(B(1),D,24),BM,$P(B(1),D,6),DC,BVN) ; Samengestelde cumul ; CUM29 G CUM21 ; CUMZ Q ; OPST(B,A) ; Openstaand saldo aanpassen? ; Input: B: Nieuwe waardes (doorgegeven als referentie) ; A: Oude waardes (doorgegeven als referentie) ; Bij openen A niet doorgeven! N SALDO,DC,BVN,BMNT S $ZT="TRAP^cAN000" ; ; Controle parameters OPST1 I '$D(B) G OPSTZ I '$L($P(B(1),D,22)) G OPSTZ ; Geen document afgeboekt I $P(B(1),D,7)'="K",($P(B(1),D,7)'="L") G OPSTZ ; Geen Klant\Leveranciers-registratie I $P(B(1),D,22)'=$P($G(A(1)),D,22) K A ; ; Afboeken OPST2 S SALDO=$$SALDO(.B,.A),DC=$P(SALDO,D),BVN=$P(SALDO,D,2),BMNT=$P(SALDO,D,8) ; Saldo bepalen I $P(B(1),D,7)="K" I DC="D" S BVN=-BVN,BMNT=-BMNT ; Klant I $P(B(1),D,7)="L" I DC="C" S BVN=-BVN,BMNT=-BMNT ; Leverancier D AFB($P(B(1),D,22),BVN,BMNT) ; Openstaand saldo afgeboekt document aanpassen ; OPSTZ Q ; AFB(UI1,BVN,BMNT) ; Document afboeken ; Input: UI1: UI1 van dagboek ; BVN: Afboek bedrag in munt vennootschap ; BMNT: Afboek bedrag in munt document N REF,UREF S $ZT="TRAP^cAN000" ; ; Controle parameters AFB1 I '$L($G(UI1)) G AFBZ I +$G(BVN)=0,(+$G(BMNT)=0) G AFBZ ; ; Locken (zonder time-out) AFB2 S REF=$$REF^cAFA10(.Q,"DB"),UREF=$P(REF,D) I '$L(UREF) G AFBZ L +@UREF ; ; Opstaand saldo aanpassen AFB3 S NODE=$G(@UREF@(0)) I '$L($G(NODE)) G AFBY S TAB(118)=$P(NODE,D,18)-BVN S TAB(121)=$P(NODE,D,21)-$G(BMNT) S TAB(122)=(+TAB(118)'=0)!(+TAB(121)'=0) D B^cAN220("DB","",UI1,"TAB") I $L(K) X "STOP" ; ; Unlocken AFBY L -@UREF ; AFBZ Q ; SALDO(B,A) ; Saldo van registratie bepalen ; Input: B: Nieuwe waardes (doorgegeven als referentie) ; A: Oude waardes (doorgegeven als referentie) ; Bij openen A niet doorgeven! ; Ouput: gescheiden door "\" ; 1. D(ebet) of C(redit) saldo ; 2. Saldo bedrag munt BH ; 3. Saldo bedrag munt document ; 4. Saldo debet bedrag munt BH ; 5. Saldo credit bedrag munt BH ; 6. Saldo debet bedrag munt document ; 7. Saldo credit bedrag munt document ; 8. Saldo bedrag munt AFGEBOEKT document N DC,BVN,BMNT,DEB,CRE,R S $ZT="TRAP^cAN000" ; ; Munt vennootschap SALDO1 I '$D(A) S A(1)="" S DEB=$P(B(1),D,15)-$P(A(1),D,15) S CRE=$P(B(1),D,16)-$P(A(1),D,16) S $P(R,D,4,5)=DEB_D_CRE S BVN=DEB-CRE,DC="D" I BVN<0 S DC="C",BVN=-BVN S $P(R,D,1,2)=DC_D_BVN ; ; Munt document SALDO2 S DEB=$P(B(1),D,17)-$P(A(1),D,17) S CRE=$P(B(1),D,18)-$P(A(1),D,18) S $P(R,D,6,7)=DEB_D_CRE S BMNT=$FN(DEB-CRE,"-") S $P(R,D,3)=BMNT ; ; Munt afgeboekt document SALDO3 S DEB=$P(B(1),D,26)-$P(A(1),D,26) S CRE=$P(B(1),D,27)-$P(A(1),D,27) S $P(R,D,8)=$FN(DEB-CRE,"-") ; SALDOZ Q R ;DC_D_BVN_D_BMNT ; ; --- Execute na OPENEN --- ; XO() N RZR,BM,DC,BVN,BMNT,OK,SALDO S $ZT="TRAP^cAN000" ; ; Onthouden last reference XO1 D S1^cAFA1 ; ; Historische codes opzetten XO2 S $P(B(2),D,7)=D,OK=2 I $L($P(B(1),D,2)) S $P(B(2),D)=$$SIG^cAFA1("JRN",$P(B(1),D,2),104) ; 1. Journaalcode I $L($P(B(1),D,8)) S $P(B(2),D,2)=$$SIG^cAFA1("AR.A",$P(B(1),D,8),101) ; 2. Grootboekrekening I $L($P(B(1),D,9)) S $P(B(2),D,3)=$$SIG^cAFA1("ARA.A",$P(B(1),D,9),101) ; 3. Analytische rekening I $L($P(B(1),D,10)) S $P(B(2),D,4)=$$SIG^cAFA1("EC1",$P(B(1),D,10),101) ; 4. EC1-rekening I $L($P(B(1),D,11)) S $P(B(2),D,5)=$$SIG^cAFA1("EC2",$P(B(1),D,11),101) ; 5. EC2-rekening I $L($P(B(1),D,12)) S $P(B(2),D,6)=$$SIG^cAFA1("EC3",$P(B(1),D,12),101) ; 6. EC3-rekening I $L($P(B(1),D,13)) S $P(B(2),D,7)=$$SIG^cAFA1("KL.A",$P(B(1),D,13),101) ; 7. Klant I $L($P(B(1),D,14)) S $P(B(2),D,8)=$$SIG^cAFA1("LE.A",$P(B(1),D,14),101) ; 8. Leverancier ; ; IAS --------------------------------- I '$$IAS^cTN001(Q) G XO3 I $L($P(B(1),D,24)) S $P(B(2),D,9)=$$SIG^cAFA1("ARA.A",$P(B(1),D,24),101) ; 9. IAS-code I $L($P(B(1),D,51)) S $P(B(2),D,51)=$$SIG^cAFA1("CODE.2011",$P(B(1),D,51),101) ; 51. Interne CGU I $L($P(B(1),D,52)) S $P(B(2),D,52)=$$SIG^cAFA1("CODE.2014",$P(B(1),D,52),101) ; 52. Externe CGU I $L($P(B(1),D,53)) S $P(B(2),D,53)=$$SIG^cAFA1("CODE.2010",$P(B(1),D,53),101) ; 53. Segment ; ------------------------------------- ; ; Cumuls XO3 D CUM(.B) ; ; Openstaand saldo afgeboekt document XO4 D OPST(.B) ; ; Intern nummer opslaan (om chronologische volgorde bij te houden) XO5 S $P(B(1),D,20)=$$NR^cAN000() ; ; Document-type specifiek XO6 S TDB=$P(B(1),D) I TDB="A" G XOY ; Aankoop I TDB="V" G XOY ; Verkoop I TDB="D" G XOY ; Diversen I TDB="F" S OK=$$TB^cTN1301(.B) G XOY ; Financieel ; ; Terugzetten last reference XOY D S2^cAFA1 ; XOZ Q OK ; ; --- Execute na WIJZIGEN --- ; XW() N RZR,OK S $ZT="TRAP^cAN000" ; ; Onthouden last reference XW1 D S1^cAFA1 ; ; XW2 S OK=2 ; ; Cumuls XW3 D CUM(.B,.A) ; ; Openstaand saldo afgeboekt document XW4 D OPST(.B,.A) ; ; Terugzetten last reference XWY D S2^cAFA1 ; XWZ Q OK ; ; ZZ ; 29.08.07 - 10 u 22 * V8.09