cTN201 ;Fucnties openen, wijz, ... rekeningen + checks ; cTN201 ; T1 ;Geen geldig Type; ; T1F ;Geen geldig Type; ; T1E ;Geen geldig Type; ; YZ Q ; ARO ; executes bij openen rekeneningen S $P(B(1),D,30)=+$P(B(1),D,30) AROA ; Wijzigen veld omschrijving I $$PAR^cTN001($$Q^cAFA10(),204)="N" S $P(B(1),D,2)=$P(B(2),D,5) I $$PAR^cTN001($$Q^cAFA10(),204)="F" S $P(B(1),D,2)=$P(B(2),D,7) ; indien Balance-, V/W-, BTW- of tekstrekening AROB I "\0\2\3\4\5\6\"[(D_$P(B(1),D,13)_D) S $P(B(1),D,11)=$$SIG^cAFA1("Q",$$Q^cAFA10,202) F i=109,112,110,169,202,203,204 S $P(B(i\100),D,i#100)="" ; uitblanken velden financial account (met uitz. van munt) ; indien financieel- of wisselrekening I "\1\7\4\5\6\"[(D_$P(B(1),D,13)_D) F i=143:1:145,151:1:153 S $P(B(i\100),D,i#100)="" ; uitblanken velden afschrijvingen ; indien tekstrekening I "\6\"[(D_$P(B(1),D,13)_D) D . ; uitblanken bankkosten BTW en maatstaf . ; F i=155,156 S $P(B(i\100),D,i#100)=0 . ; uitblanken exploitatiecode . D BLX^cAN000(116,"") . ; uitblanken extracomptabel . F i=106,159,162,165 S $P(B(i\100),D,i#100)=0 . F i=157,158,160,161,163,164,166,167 S $P(B(i\100),D,i#100)="" . ; uitblanken jaarrekening . F i=108 S $P(B(i\100),D,i#100)="" . ; muntcode = munt boekhouding . S $P(B(1),D,11)=$$SIG^cAFA1("Q",$$Q^cAFA10,202) AROC D O^cAN0082 ; gelijkhouden AR AROD D JRNAR(UI1) ; openen journaal AROZ S OK=2 Q ; ARW ; executes bij wijzigen rekeneningen N i S $ZT="TRAP^cAN000" ARWA ; Wijzigen veld omschrijving I $$PAR^cTN001($$Q^cAFA10(),204)="N" S $P(B(1),D,2)=$P(B(2),D,5) I $$PAR^cTN001($$Q^cAFA10(),204)="F" S $P(B(1),D,2)=$P(B(2),D,7) ARWAB ; uitblanken velden ; indien Balance-, V/W-, BTW- of tekstrekening I "\0\2\3\4\5\6\"[(D_$P(B(1),D,13)_D) S $P(B(1),D,11)=$$SIG^cAFA1("Q",$$Q^cAFA10,202) F i=109,112,110,169,202,203,204 D BLX^cAN000(i,"") ; uitblanken velden financial account (met uitz. van munt) ; indien financieel- of wisselrekening I "\1\7\4\5\6\"[(D_$P(B(1),D,13)_D) F i=143:1:145,151:1:153 D BLX^cAN000(i,"") ; uitblanken velden afschrijvingen ; indien tekstrekening I "\6\"[(D_$P(B(1),D,13)_D) D . ; uitblanken bankkosten BTW en maatstaf . ; F i=155,156 D BLX^cAN000(i,0) . ; uitblanken exploitatiecode . D BLX^cAN000(116,"") . ; uitblanken extracomptabel . F i=106,159,162,165 D BLX^cAN000(i,0) . F i=157,158,160,161,163,164,166,167 D BLX^cAN000(i,"") . ; uitblanken jaarrekening . F i=108 D BLX^cAN000(i,"") ARWD D W^cAN0082 ; gelijkhouden AR ARWE D JRNAR(UI1) ; journaal aanpassen ARWZ S OK=2 Q ; ARV ; executes bij verwijderen rekeneningen N OUI1,OQ S $ZT="TRAP^cAN000" S OK=2 ARVB D V^cAN0082 ; gelijkhouden AR ARVC D JRNAR(UI1) ; journaal aanpassen ARVD S OUI1=$P(B(1),D,50),OQ=$P(B(1),D,49) K @("^"_OQ_"FIB(OUI1)"),@("^"_OQ_"BA(4,$P(B(1),D))") ARVZ S OK=2 Q ; ARVW(REKNR) ; Verlies en winstrekening? S R=0 ; I $P($G(@("^"_Q_"BA(39)")),D,3)'="BE" G ARVWZ I $$SIG^cAFA1("ISO.LAND",$$PAR^cTN001($$Q^cAFA10(),206),101)'="BE" G ARVWZ I $E(REKNR)>5 S R=2 ; type op verlies- en winstrekening zetten ARVWZ Q R ; ARAO ; executes bij openen anal.rekeneningen S $P(B(1),D,30)=+$P(B(1),D,30) ARAOA ; Wijzigen veld omschrijving I $$PAR^cTN001($$Q^cAFA10(),204)="N" S $P(B(1),D,2)=$P(B(2),D,5) I $$PAR^cTN001($$Q^cAFA10(),204)="F" S $P(B(1),D,2)=$P(B(2),D,7) ARAOC D O^cAN0082 ; gelijkhouden ARA ARAOZ S OK=2 Q ; ARAW ; executes bij wijzigen anal.rekeneningen ARAWA ; Wijzigen veld omschrijving I $$PAR^cTN001($$Q^cAFA10(),204)="N" S $P(B(1),D,2)=$P(B(2),D,5) I $$PAR^cTN001($$Q^cAFA10(),204)="F" S $P(B(1),D,2)=$P(B(2),D,7) ARAWC D W^cAN0082 ; gelijkhouden ARA ARAWZ S OK=2 Q ; ARAV ; executes bij verwijderen anal.rekeneningen ARAVC D V^cAN0082 ; gelijkhouden ARA ARAVZ S OK=2 Q ; DEFACT(Q) ; Default analytische actie (bij creatie grootboekrekening) ; Input: Q: Vennootschap ; Output: Gescheiden door "\" ; 1. Analytische BH? ; 0=neen ; 1=ja ; 2. Default analytische actie ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("") ; DEFACT1 S R=$$ARA^cTN001(Q) I 'R S R=R_D_"0" G DEFACTZ DEFACT2 S R=R_D_+$$PAR^cTN001(Q,516) ; DEFACTZ Q R ; JRNAR(UI1) ; Financieel JRN opzetten vanuit de rekening ; Input: UI1 grootboekrekening (AR.A) S $ZT="TRAP^cAN000" N QAR,UREF,I1,INH,QQAR,oQ,TAB,K,NUI1,GEW,i I UI1="" G JRNARZ ; STAP 1 :Q49 bepalen van rekeningplan waarmee men binnenkomt S QAR=$$Q49^cAFVBA03(Q,"AR.A") ; ; LUS door DATA(,Q S UREF=$P($$REF^cAFA10(Q,"Q"),D) I '$L(UREF) G JRNARZ S UREF=$$REPL^cAFA10(UREF,"UI1","I1") S I1="" JRNAR1 S I1=$O(@(UREF)) I I1="" G JRNARZ S INH=@UREF@(0) ; Indien B104 --> stoppen I $P(INH,D,4) G JRNAR1 ; Q49 bepalen van rekeningplan via DMQ49 met Q-waarde uit lus N Q S Q=I1 S QQAR=$$Q49^cAFVBA03(Q,"AR.A") ; Indien deze Q-waarde niet gelijk is aan deze uit STAP 1 stoppen I QQAR'=QAR G JRNAR1 ; Juist zetten Q49 JRN van Q-waarde uit LUS D Q1^cAFA10("JRN") ; ;I UFU="W" G JRNARC I UFU="V" G JRNARD ; ; Testen I '$D(A) M A=B ; Indien "A" niet is gekend (via conversieprogramma) I '$L($P(A(1),D,10)),'$L($P(B(1),D,10)) G JRNARY ; Geen (=nooit) afkorting ingevuld I $L($$UI1OP^cAFA1("JRN",107,"",UI1)) G JRNARC ; Bestaat reeds -> wijzigen ; ; Openen JRNARA S $P(TAB(1),D)=$P(B(1),D,10) ; Code S $P(TAB(1),D,2)=$P(B(2),D,5) ; OmsN S $P(TAB(1),D,4)="F" ; soort journaal S $P(TAB(1),D,5)=0 ; Type S $P(TAB(1),D,12)=$P(B(2),D,7) ; OmsF S $P(TAB(1),D,22)=$P(B(2),D,9) ; OmsD S $P(TAB(1),D,32)=$P(B(2),D,11) ; OmsE S $P(TAB(1),D,7)=UI1 ; UI1 uit AR.A S $P(TAB(1),D,49)=$G(Q(49)) ; Q(49) ; openen JRNARB S NUI1=$$JRNUI1("F") I '$L(NUI1) X "STOP" S:'$L($P(TAB(1),D,3)) $P(TAB(1),D,3)=NUI1#10000 D P^cAN220("JRN","",NUI1,"TAB","") I K="-" X "STOP" G JRNARY ; wijzigen JRNARC ;I '$L($P(A(1),D,10)),'$L($P(B(1),D,10)) G JRNARY S GEW=0 I $P(A(1),D,10)'=$P(B(1),D,10) S GEW=1 F i=5,7,9,11 I $P(A(2),D,i)'=$P(B(2),D,i) S GEW=1 I 'GEW G JRNARY JRNARC1 I '$L($P(A(1),D,10)) G JRNARA ; afkorting gewijzigd van "" naar xxx : openen S NUI1=$$UI1OP^cAFA1("JRN",107,"",UI1) ; opzoeken int.nr JRN adhv UI1 van rekening I '$L(NUI1) G JRNARA ; indien niets gevonden : openen I '$L($P(B(1),D,10)) G JRNARD ; indien gewijzigd naar "" : verwijderen S TAB(101)=$P(B(1),D,10) ; code S TAB(102)=$P(B(2),D,5) ; OmsN S TAB(112)=$P(B(2),D,7) ; OmsF S TAB(122)=$P(B(2),D,9) ; OmsD S TAB(132)=$P(B(2),D,11) ; OmsE D B^cAN220("JRN","",NUI1,"TAB") I K="-" X "STOP" G JRNARY JRNARD ; verwijderen I '$L($P(A(1),D,10)) G JRNARY ; Niets ingevuld S NUI1=$$UI1OP^cAFA1("JRN",107,"",UI1) ; opzoeken int.nr JRN adhv UI1 van rekening I '$L(NUI1) G JRNARY D V^cAN220("JRN","",NUI1) I K="-" X "STOP" ; JRNARY D Q2^cAFA10 ; EINDE LUS G JRNAR1 JRNARZ Q ; JRNUI1(TYPE) ; ophalen intern nr journaal S $ZT="TRAP^cAN000" N UI1,REF S REF=$$REF^cAFA10(.Q,"JRN") S UI1=$$NR^cAFA10($QS($P(REF,D,5),1),$QS($P(REF,D,5),2),TYPE,$P(REF,D),$F("ADEFV",TYPE)-1*10000,$QS($P(REF,D,5),0)) JRNNRZ Q UI1 ; JRNO ; executes bij openen journaal S $P(B(1),D,30)=+$P(B(1),D,30) I $P(B(1),D,4)'="F" G JRNOZ ; geen financiele I '$L($P(B(1),D,7)) G JRNOZ ; geen rekening ingevuld I $$PAR^cTN001($$Q^cAFA10(),201)=2 G JRNOZ ; enkel nieuwe DBH D JRNOLD($P(B(1),D),"O") ; aanvullen JRNOZ S OK=2 Q ; JRNW ; executes bij wijzigen journaal N I,K S $ZT="TRAP^cAN000" I $P(B(1),D,4)'="F" G JRNWZ ; geen financiele I '$L($P(B(1),D,7)) G JRNWZ ; geen rekening ingevuld I $$PAR^cTN001($$Q^cAFA10(),201)=2 G JRNWZ ; enkel nieuwe DBH I $P(A(1),D)=$P(B(1),D) G JRNWZ D JRNOLD($P(A(1),D),"V") ; verwijderen D JRNOLD($P(B(1),D),"O") ; aanvullen JRNWZ S OK=2 Q ; JRNV ; executes bij verwijderen journaal N I,K S $ZT="TRAP^cAN000" I $P(B(1),D,4)'="F" G JRNVZ ; geen financiele I '$L($P(B(1),D,7)) G JRNVZ ; geen rekening ingevuld I $$PAR^cTN001($$Q^cAFA10(),201)=2 G JRNVZ ; enkel nieuwe DBH D JRNOLD($P(B(1),D),"V") ; verwijderen JRNVZ S OK=2 Q ; JRNOLD(K,UFU) ; I UFU="O" S:$G(@("^"_$$Q^cAFA10()_"BA(4,0)"))'[(D_K_D) ^(0)=$G(^(0),D)_K_D G JRNOLDZ ; aanvullen I UFU="V" S:$G(@("^"_$$Q^cAFA10()_"BA(4,0)"))[(D_K_D) ^(0)=$P(^(0),D_K_D)_D_$P(^(0),D_K_D,2,999) G JRNOLDZ ; verwijderen JRNOLDZ Q ; CHTYPE(TYPE,AFK) ; Controle geldig type afh. van afkorting ; Indien afkorting is ingevuld => Type moet 1 (Fin. rek.) of 7 (Wisselrek.) zijn N OK D QT^cAFVBO01 S D="\",U=";" S OK=1 I $L(AFK),"\1\7\"'[(D_TYPE_D) S OK="0\"_$P($T(@("T1"_QT)),U,2) CHTYPEZ Q OK ; TYPEF(AR,TYPE) ; Filter op type rekening ; Input: AR: UI1 grootboekrekening (AR.A) ; TYPE: UI1 type rekening (TEXT.9008) ; Output: Filter op de types ; "" ; of ; T1.ID IN (...) S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("AR,TYPE") ; ; Controle parameters TYPEF1 S R="" I '$L($G(AR)) G TYPEFZ I '$L($G(TYPE)) G TYPEFZ ; ; Al geboekt op deze rekening -> neen: alle types mogelijk TYPEF2 I $$CHBH^cTN001("AR.A",AR) G TYPEFZ ; ; Filter op de types TYPEF3 I (TYPE=1)!(TYPE=6)!(TYPE=7) S TYPES="'"_TYPE_"'" G TYPEF39 S TYPES="'0','2','3','4','5'" TYPEF39 S R="T1.ID IN ("_TYPES_")" ; TYPEFZ Q R ; ; ZZ ; 29.08.07 - 10 u 22 * V8.09