cTN801 ; BTW-aangifte; cTN801;; [ 05/12/09 12:40:26 ] ; T1 ;Maand en kwartaal mogen niet beide ingevuld zijn.; T2 ;Maand is niet uniek.; T3 ;Kwartaal is niet uniek.; T4 ;Status 'Geëxporteerd' niet toegelaten.; T5 ;BTW-aangifte niet op 'Definitief' in minstens één van de deelnemende vennootschappen.; T6 ;Status 'Definitief' niet toegelaten: ; T7 ;De berekening moet eerst uitgevoerd worden.; T8 ;Pas op, BTW-aangifte reeds geëxporteerd.; T9 ;Maand ; wordt afgesloten voor verkoop en aankoop.; T10 ;De status is verschillend van 'Voorlopig'. Aangifte is niet verwijderbaar.; T11 ;BTW-aangifte; T12 ;De BTW-aangifte van de BTW-eenheid staat niet op 'Voorlopig'. Aangifte is niet wijzigbaar.; T13 ;BTW-aangifte in ; T14 ;BTW-aangifte van de BTW-eenheid staat niet op 'Voorlopig'.; T15 ;Berekening moet opnieuw uitgevoerd worden.; T16 ;Laatst afgesloten boekingsmaand aankoop en verkoop kon niet worden ingevuld.; T17 ;Er werd reeds een BTW-aangifte op definitief gezet voor ;deze maand.;dit kwartaal.; T18 ;U dient een IC-opgave in te dienen.;U dient een IC-maandopgave in te dienen.; T19 ;Vennootschapsgegevens; ; T1F ;Interdiction d'entrer un mois ainsi qu'un trimestre.; T2F ;Mois n'est pas unique.; T3F ;Trimestre n'est pas unique.; T4F ;Statut 'Exporté' n'est pas authorisé.; T5F ;Déclaration de TVA n'est pas définitive dans une ou plusieurs sociétés associées.; T6F ;Statut 'Définitif' n'est pas autorisé: ; T7F ;Il faut d'abord exécuter le calcul.; T8F ;Attention, déclaration déjà exportée.; T9F ;Période ; sera fermée au niveau des ventes et achats.; T10F ;Le statut diffère de 'Provisoir'. Impossible de radier cette déclaration.; T11F ;Déclaration à la TVA; T12F ;Le statut de la déclaration de l'unité de TVA diffère de 'Provisoir'. Impossible de modifier cette déclaration.; T13F ;Déclaration TVA en ; T14F ;Déclaration de l'unité de TVA diffère de 'Provisoir'.; T15F ;Recalcul des chiffres nécessaire.; T16F ;Mois dernièrement fermé au niveau des ventes et des achats ne pouvait pas être rempli.; T17F ;Il y a déjà une déclaration définitive pour ;ce mois.;ce trimestre.; T18F ;Il faut déposer un rélevé IC.;Il faut déposer un rélevé mensuel IC.; T19F ;Données de la société; ; T1E ;Input of both month and quarter is not allowed.; T2E ;Month is not unique; T3E ;Quarter is not unique; T4E ;Status 'Exported' not authorized.; T5E ;VAT declaration not definitive in one or more associated societies.; T6E ;Status 'Final' not authorized: ; T7E ;Calculation need to be executed beforehand.; T8E ;Attention, VAT declaration was already exported.; T9E ;Month ; will be closed for sales and purchases.; T10E ;Status is different from 'Temporary'. Declaration cannot be deleted.; T11E ;VAT declaration; T12E ;The status of the VAT unit's declaration is different from 'Temporary'. Declaration cannot be modified.; T13E ;VAT declaration in ; T14E ;The status of the VAT unit's declaration is different from 'Temporary'.; T15E ;A recalculation is needed.; T16E ;Laatst afgesloten boekingsmaand aankoop en verkoop kon niet worden ingevuld.; T17E ;Another VAT declaration with status 'Definitive' was found for ;this month.;this quarter.; T18E ;You have to submit an IC Statement.;You have to submit an IC Month statement.; T19E ;The company data; ; YZ Q ; BAD(UI1BA,SRT,B) ; UI1's aangiftes van de deelnemende vennootschappen ; Input : UI1BA: intern nummer van BA van de vennootschap (BTW-eenheid) ; SRT = Leeg : alle statussen ; 0 : voorlopig ; 1 : Definitief ; 2 : geëxporteerd ; 01, 12, 02 ... combinaties ; B : tabel met nodes van BA ; Output: UI1's van de deelnmende vennootschppen (del D) ; 0\fout S $ZT="TRAP^cAN000" N UI1S,MAAND,KW,BP1,IREF,UI1Q,VDAT,TDAT,UI1BAD,STAT,U1ISQ,TELQ S UI1S="",SRT=$G(SRT),UI1SQ="" ; Testen of Q-waarde een BTW-eenheid is I $$SIG^cAFA1("Q",Q,104)'=3 G BADZ ; Ophalen maand of kwartaal BTW-aangifte I '$L($G(B(1))) S B(1)=$$SIGN^cAFA1("BA",UI1BA,0) S MAAND=$P(B(1),D),KW=$P(B(1),D,2) ; Bepalen eerste boekingsmaand (indien maand BP1=MAAND) S BP1=$$BM(MAAND,KW,1) N oQ M oQ=Q ; Opzoeken alle vennootschappen met als 224 = Q-waarde BTW-eenheid S IREF=$P($$REF^cAFA10(.Q,"Q",224),D,3) S UI1Q="",UI1SQ="",TELQ=0 BADA S UI1Q=$O(@IREF@(oQ,UI1Q)) I UI1Q="" G BADY ; Controleren of maand of 1e maand kwartaal binnen de datum toetreding en uittreding valt S VDAT=$$SIG^cAFA1("Q",UI1Q,225),TDAT=$P(^(1),D,26) I '$$CHKM(BP1,VDAT,TDAT) G BADA ; Bepalen UI1 BTW-aangifte S Q=UI1Q,TELQ=TELQ+1,$P(UI1SQ,U,TELQ)=Q,$P(UI1S,U,TELQ)="" D Q49^cAFA10(Q,"BA") S UI1BAD=$$UI1OP^cAFA1("BA",$S($L(MAAND):101,1:102),"",$S($L(MAAND):MAAND,1:KW)) ; Bepalen status S STAT="" I $L(UI1BAD) S STAT=$$SIG^cAFA1("BA",UI1BAD,103) I '$L(SRT)!($L(SRT)&(SRT[STAT)) S $P(UI1S,U,TELQ)=UI1BAD G BADA BADY K Q M Q=oQ BADZ Q UI1S_D_UI1SQ ; BM(MAAND,KW,SWD) ; bepaal eerste maand ; MAAND : JJJJ.MM ; KW : JJJJ.kw ; SWD : 0 : enkel met maand naar buiten komen ; 1 : met eerste dag van de maand naar buiten N i,R S $ZT="TRAP^cAN000" F i="MAAND","KW" S @i=$G(@i) S R=$S($L(MAAND):MAAND,1:$P(KW,".")_"."_$TR($J($P(KW,".",2)-1*3+1,2)," ",0)) I $G(SWD) S R=$TR(R,".","")_"01" BMZ Q R ; CHKM(BP1,VDAT,TDAT) ; Testen of maand binnen de datum toetreding en uittreding valt N R S R=0 F i="BP1","VDAT","TDAT" S @i=$G(@i) I @i?2N1"."2N1"."2N S @i=$$DC^cAFD1(@i) I BP1?6N S BP1=BP1_"01" I '$L(VDAT) G CHKMZ ; geen begin maand ingesteld I BP1TDAT G CHKMZ ; maand groter dan laatste maand eenheid S R=1 CHKMZ Q R ; BAE(UI1BA,B) ; Ophalen UI1 van aangifte BTW-eenheid via de vennootschap ; Input: UI1BA: intern nummer van BA van de vennootschap ; B : tabel met nodes van BA ; Output: UI1 van de aangifte van de BTW-eenheid ; S $ZT="TRAP^cAN000" N UI1BAE,MAAND,KW,BP1,VDAT,TDAT S UI1BAE="" ; Testen of Q-waarde behoort tot een BTW-eenheid I '$L($$SIG^cAFA1("Q",Q,224)) G BAEZ S VDAT=$p(^(1),D,25),TDAT=$P(^(1),D,26) ; Ophalen maand of kwartaal BTW-aangifte I '$L($G(B(1))) S B(1)=$$SIGN^cAFA1("BA",UI1BA,0) S MAAND=$P(B(1),D),KW=$P(B(1),D,2) ; Bepalen eerste maand S BP1=$$BM(MAAND,KW,1) ; Testen of maand binnen de datum toetreding en uittreding valt I '$$CHKM(BP1,VDAT,TDAT) G BAEZ N oQ M oQ=Q ; UI1 van aangifte BTW-eenheid bepalen S Q=$$SIG^cAFA1("Q",Q,224) D Q49^cAFA10(Q,"BA") S UI1BAE=$$UI1OP^cAFA1("BA",$S($L(MAAND):101,1:102),"",$S($L(MAAND):MAAND,1:KW)) K Q M Q=oQ BAEZ Q UI1BAE ; BHADM(Q,UI1BA,SW) ; BH: invullen administratief afgesloten ; Input: UI1BA: UI1 BTW-aangifte ; SW: enkel boodschap geven als maand moet verzet worden ; Output: 1: alles ok ; 0\fout N MAAND,KW,EMAAND,OK,BP1 S OK=1 ; Testen of het niet om een BTW-eenheid gaat I $$SIG^cAFA1("Q",Q,104)=3 G BHADMZ S MAAND=$$SIG^cAFA1("BA",UI1BA,101) S KW=$P(^(0),D,2) S EMAAND=$$MAAND(MAAND,KW) S BP1="" I $$PAR^cTN001(Q,201) S BP1=$$SIG^cAFA1("Q",Q,211) ; nieuwe BH gelijkhouden met oude of enkel nieuwe I '$$PAR^cTN001(Q,201) S BP1=$G(@("^"_Q_"BA(7,0)")) I '$L(BP1) S BP1=$G(@("^"_Q_"BA(7)")) ; enkel oude BH I BP12010 G CHKICA ; KU = 23.11.0 : vanaf 2010 moet, als het een maandafgite is, steeds een maand IC-opgave worden ingediend ; Controleren of het over de laatste maand van een kwartaal gaat I +$P(MAAND,".",2)'=3,(+$P(MAAND,".",2)'=6),(+$P(MAAND,".",2)'=9),(+$P(MAAND,".",2)'=12) G CHKICZ S MAAND1=$P(MAAND,".")_"."_$TR($J($P(MAAND,".",2)-2,2)," ","0") S MAAND2=$P(MAAND,".")_"."_$TR($J($P(MAAND,".",2)-1,2)," ","0") ; Controleren of er een waarde werd ingevuld in vakken 46 of 48 CHKICA I '$G(GRIDID) G CHKICC ; Aflopen detaillijnen in Grid (van huidig kwartaal of huidige maand S SWKW=0 CHKICB S UI1=UI1BA_" 46" I +$P($G(^mtemp99(GRIDID,"COMMON",UI1,0)),D,6) S SWKW=1 S UI1=UI1BA_" 48" I +$P($G(^mtemp99(GRIDID,"COMMON",UI1,0)),D,6) S SWKW=1 S UI1=UI1BA_" 44" I +$P($G(^mtemp99(GRIDID,"COMMON",UI1,0)),D,6) S SWKW=1 ; KU : 23.11.09 G CHKICD ; Aflopen van de detaillijnen CHKICC S UREF=$P($$REF^cAFA10(.Q,"BA.DET",101),D) S SWKW=0 S UI1=UI1BA_" 46" I +$$SIG^cAFA1("BA.DET",UI1,106) S SWKW=1 S UI1=UI1BA_" 48" I +$$SIG^cAFA1("BA.DET",UI1,106) S SWKW=1 S UI1=UI1BA_" 44" I +$$SIG^cAFA1("BA.DET",UI1,106) S SWKW=1 ; KU : 23.11.09 CHKICD I '$L(MAAND) G CHKICE I MAAND>2010 G CHKICE ; KU : 23.11.09 ; Indien het gaat om een maandaangifte vorige 2 maanden ook controleren I SWKW=1 G CHKICE ; maand is laatste van kwartaal en reeds iets in 46 of 48 ; indien in minstens 1 van de vorige 2 maand vak 46 en 48 ingevuld is is dit genoeg reden F I=1,2 D Q:SWKW . ; Ophalen UI1 BTW-aangifte maand . S UI1M=$$UI1OP^cAFA1("BA",101,"",@("MAAND"_I)) . I +$$SIG^cAFA1("BA",UI1M,130)=2 Q ; indien verwijderd . S UI1=UI1M_" 46" I +$$SIG^cAFA1("BA.DET",UI1,106) S SWKW=1 Q . S UI1=UI1M_" 48" I +$$SIG^cAFA1("BA.DET",UI1,106) S SWKW=1 Q . S UI1=UI1M_" 44" I +$$SIG^cAFA1("BA.DET",UI1,106) S SWKW=1 ; KU : 23.11.09 CHKICE I $G(SWKW) S OUT="-1\"_$P($T(@("T18"_QT)),U,2+(MAAND>2010)) CHKICZ Q OUT ; CHKMOD(UI1BA) ; Test op wijzigen ; Input: UI1BA : intern nummer BTW-aangifte ; Output: 1: wijzigbaar ; 0\foutboodschap S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("UI1BA") S OK=1 ; Ophalen UI1 BTW-aangifte van de BTW-eenheid S UI1BAE=$$BAE(UI1BA) ; Ophalen status BTW-aangifte van de BTW-eenheid I $L(UI1BAE),$$SIG^cAFA1("BA",UI1BAE,103) S OK="0\"_$P($T(@("T12"_QT)),U,2) CHKMODZ Q OK ; DFMK(SW,TYPE) ;Input: ; SRT : 0 = maand, 1 = kwartaal, 2 = Jaar ; TYPE : 0 = BTW-aangifte ; 1 = IC-kwartaalopgave ; 2 = BTW-listing ; ;Output: Defautl maand (JJJJ.MM) of kwartaal (JJJJ.KK) N R S $ZT="^dmERROR" ; DFMK1 D ^cA106 S TYPE=+$G(TYPE) I $G(SW)=1 G DFMK3 I $G(SW)=2 G DFMK4 ; DFMK2 S JR=DJ,R=DM-1 I 'R S R=12,JR=JR-1 ; default maand S R=JR_"."_R G DFMKZ ; DFMK3 S JR=DJ,R=DM-1\3 I 'R S R=4,JR=JR-1 ; default kwartaal S R=JR_".0"_R G DFMKZ ; DFMK4 S R=DJ-1 ; default jaar G DFMKZ ; DFMKZ Q R ; ; HDBTW(SW,M,K) ; Hoofding BTW-aangifte ; Hoofding: BTW-aangifte ; M= Maand ; K= Kwartaal ; Indien geen variabelen doorgegeven moet er een instantie opstaan ; S $ZT="^dmERROR" D QT^cAFVBO01 S D="\",U=";" N i,OUT F i="SW","M","K" S @i=$G(@i) I 'SW S M=..B101,K=..B102 I $L(M) S OUT="\\"_$P($T(@("T11"_QT)),";",2)_"\ ;"_M G HDBTWZ I $L(K) S OUT="\\"_$P($T(@("T11"_QT)),";",2)_"\ ;"_K G HDBTWZ S OUT="\\"_$P($T(@("T11"_QT)),";",2)_"\" HDBTWZ Q OUT ; LOCK(UI1BA,SRT,UI1S) ; Indien BTW-eenheid: locken van aangifte van deelneemende vennootschappen ; Input: UI1BA: intern nummer van aangifte van BTW-eenheid ; SRT : 0 = unlock ; 1 = lock ; UI1S : string met UI1's die gelocked werden (gescheiden door ;) ; Output: UI1S ; 0\fout ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("UI1BA,SRT,UI1S") S OUT="",SRT=$G(SRT,0),UI1S=$G(UI1S) S UREF=$P($$REF^cAFA10(.Q,"BA"),D) ; Bepalen UI1's van deelnemende vennootschappen I '$L(UI1S),SRT S UI1S=$P($$BAD(UI1BA,""),D) I 'SRT G LOCKB ; Locken van BA deelnemende vennootschappen LOCKA S UI1BAD=UI1S S UI1S="" S OK=1 F I=1:1:$L(UI1BAD,U) D:$L($P(UI1BAD,U,I)) Q:'OK . S UI1=$P(UI1BAD,U,I) . S OK=$$PLUS^cANLOCK($na(@UREF),,$P($T(@("T13"_QT)),U,2)_$$SIG^cAFA1("Q",$$SIG^cAFA1("BA",UI1,149),102),"",2) . I OK S UI1S=$G(UI1S)_$S($L(UI1S):U,1:"")_UI1 I 'OK S OUT=OK G LOCKB S OUT=UI1S G LOCKZ ; Unlocken van BA deelnemende vennootschappen LOCKB F I=1:1:$L(UI1S,U) S UI1=$P(UI1S,U,I) L -@UREF S:'SRT OUT=1 LOCKZ Q OUT ; LOCKQ(GRIDID,Q,SRT) ; Locken of unlocken gegevens vennootschap ^DATA(,"Q",Q ; Input: Q : Q-waarde van vennooschap die gelocked moet worden ; SRT : 0 = unlock ; 1 = lock ; Output: 1 ; 0\fout ; S $ZT="^dmERROR" N OK S OK=1 I '$L($G(GRIDID)) G LOCKQZ ; Locken vennootschapgegevens I SRT=1,($G(^mtemp99(GRIDID,"COMMON.LOCK"))'=1) S OK=$$LOCK^cAFVBA01(.Q,"Q",Q,1,$P($T(@("T19"_QT)),U,2)_"~"_1) S:OK ^mtemp99(GRIDID,"COMMON.LOCK")=1 G LOCKQZ ; Unlocken vennootschapgegevens I 'SRT,($G(^mtemp99(GRIDID,"COMMON.LOCK"))=1) S OK=$$LOCK^cAFVBA01(.Q,"Q",Q,0,$P($T(@("T19"_QT)),U,2)_"~"_1) S:OK ^mtemp99(GRIDID,"COMMON.LOCK")=0 I 'SRT K ^mtemp99(GRIDID,"COMMON.LOCK") LOCKQZ Q OK ; M0006(SW) ; Ophalen of er met default maand of default kwartaal opgestart moet worden ; Input : ; -SW : 0 of "" :BTW-aangifte ; 1 :IC-opgave ; ; Output: 0 = maand ; 1 = kwartaal ; N oQ,OUT,IREF1,IREF2,MAAND,UI1M,KW,UI1K,KW,DMS S $ZT="^dmERROR" S D="\",OUT=0 F i="SW","DMS" S @i=$G(@i) I 'SW S DMS="BA" G M00061 I SW=1 S DMS="ICKW" G M00061 I 'DMS G M0006Z ; M00061 D Q1^cAFA10(DMS) ; S IREF1=$P($$REF^cAFA10(.Q,DMS,101),D,3) S IREF2=$P($$REF^cAFA10(.Q,DMS,102),D,3) S MAAND=$O(@IREF1@(" "),-1) I $L(MAAND) S UI1M=$O(@IREF1@(MAAND,""),-1) S KW=$O(@IREF2@(" "),-1) I $L(KW) S UI1K=$O(@IREF2@(KW,""),-1) S OUT=$S($G(UI1M)'<$G(UI1K):0,1:1) ; M0006Y D Q2^cAFA10 M0006Z Q OUT ; ; M101(SW) ; Default maand ; Input : ; -SW : 0 of "" :BTW-aangifte ; 1 :IC-opgave ; N DEF,OUT S $ZT="^dmERROR" F i="SW","OUT" S @i=$G(@i) S DEF=$$M0006(SW) ; Ophalen wat de default is ; Indien default maand is, default maand ophalen I DEF'=1 S OUT=$$DFMK(DEF) G M101Z M101Z Q OUT ; ; ; M102(SW) ; Default kwartaal ; Input : ; -SW : 0 of "" :BTW-aangifte ; 1 :IC-opgave ; N DEF,OUT S $ZT="^dmERROR" F i="SW","OUT" S @i=$G(@i) S DEF=$$M0006(SW) ; Ophalen wat de default is ; Indien default kwartaal is, default kwartaal ophalen I DEF=1 S OUT=$$DFMK(DEF) G M102Z M102Z Q OUT ; ; ; M116() ;Ophalen default waarde btw bankkosten S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01() M116Z Q +$$SIG^cAFA1("Q",Q,227) ; ; MAAND(MAAND,KW) ; Bepalen maand adhv maand of kwartaal S $ZT="TRAP^cAN000" N R S R="" I $L(MAAND) S R=MAAND G MAANDZ I $L(KW) S R=$P(KW,".")_"."_$TR($J($P(KW,".",2)*3,2)," ",0) MAANDZ Q R ; ; STEMP(GRIDID,UI1BA) ; Rijen van grid opslaan ; GRIDID : volgnr van de grid ; UI1BA : De UI1 van BTW-aangifte ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GRIDID,UI1BA") ; STEMPA S UI1="" F S UI1=$O(^mtemp99(GRIDID,"COMMON",UI1)) Q:UI1="" D . K TAB . S TAB(106)=$P(^(UI1,0),D,6) . S TAB(107)=$P(^(0),D,7) . D B^cAN220("BA.DET","",UI1,"TAB","") I K="-" X "STOP" S OUT=1 ; STEMPZ Q OUT ; ; UNIEKM(UI1BA,MAAND) ; Testen of maand uniek is I '$L(MAAND) S OK=1 G UNIEKMZ S OK=$$UNIQUE^cAFVBA01(.Q,"BA",101,MAAND,UI1BA) I 'OK S OK="0\"_$P($T(@("T2"_QT)),U,2) UNIEKMZ Q OK ; UNIEKK(UI1BA,KW) ; Testen of kwartaal uniek is I '$L(KW) S OK=1 G UNIEKKZ S OK=$$UNIQUE^cAFVBA01(.Q,"BA",102,KW,UI1BA) I 'OK S OK="0\"_$P($T(@("T3"_QT)),U,2) UNIEKKZ Q OK ; WVAK(UI1VAK) ; Testen of een vak wijzigbaar is N OK,NRVAK,DBTWEENH,UI1BA S $ZT="TRAP^cAN000" S OK=1 ; Vakken 71,72 en 59 zijn nooit wijzigbaar S NRVAK=$$SIG^cAFA1("BA.DET",UI1VAK,102) I NRVAK=71!(NRVAK=72)!(NRVAK=59) S OK=0 G WVAKZ ; Vak 91 enkel wijzigbaar in de BTW-eenheid ; en indien het om een maandaangifte van de maand december gaat I NRVAK=91 D . ; Test of BTW-aangifte deel uitmaakt van een BTW-eenheid . S DBTWEENH=$$SIG^cAFA1("Q",Q,224) . I $L(DBTWEENH) S OK=0 Q . ; Enkel wijzigbaar indien het om een maand-aangifte van de maand december gaat . S UI1BA=$$SIG^cAFA1("BA.DET",UI1VAK,101) . I $P($$SIG^cAFA1("BA",UI1BA,101),".",2)'=12 S OK=0 WVAKZ Q OK ; XW ; Executes bij OK via ^DMA(0,"BA" N VAK,UREFDET,UI1DET,UI1VAK,SWXW,LAND,BTWEENH,BP1,KW,PROG,CONTR,UI1BA S $ZT="TRAP^cAN000" ; XWA S LAND=$$SIG^cAFA1("Q",Q,222),BTWEENH=$S($$SIG^cAFA1("Q",Q,104)=3:1,1:0) S BP1=$P(B(1),D) S KW=$P(B(1),D,2) S BP1=$$BM^cTN801(BP1,KW) ; ; Ophalen programma's voor uitvoeren berekening XWB S PROG=$$PROG^cTN802(LAND,BP1,0) I PROG="" S OK="0\"_$P($T(@("T5"_QT_"^cTN802")),U,2) G XWZ ; ; Indien status van voorlopig naar definitief XWC I '$P(A(1),D,3),$P(B(1),D,3)=1 D . D BLX^cAN000(120,$H) . D BLX^cAN000(124,$$HD^cAFD1($H)),BLX^cAN000(125,$$HT^cAFD1($H)) ; Indien maand/kwartaal/BTW op bankkosten gewijzigd is: detaillijnen verwijderd + ; datum + init. berekening uitblanken XWD I $P(A(1),D)'=$P(B(1),D)!($P(A(1),D,2)'=$P(A(1),D,2))!($P(A(1),D,16)'=$P(B(1),D,16)) D . ; Datum laatste berekening op "" . D BLX^cAN000(118,"") . ; Init. laatste berekening op "" . D BLX^cAN000(119,"") . D BLX^cAN000(122,""),BLX^cAN000(123,"") ; datum en uur laatste berekening op "" . ; Verwijderen detaillijnen . D LINK^cANP0001(UI1,UQC,USC,"X") ; ; Herrekenen vakken + berekenen controlegetal XWE K VAK S UREFDET=$P($$REF^cAFA10(.Q,"BA.DET"),D) S UREFDET=$$REPL^cAFA10(UREFDET,"UI1","UI1DET") XWF S UI1DET=UI1_" " F S UI1DET=$O(@UREFDET) Q:$P(UI1DET," ")'=UI1 S VAK($P(UI1DET," ",2))=$P(@UREFDET@(0),D,6) ; ; Uitvoeren programma voor berekenen BTW-aangifte XWG S SWXW=1,UI1BA=UI1 S CONTR="" D @PROG ; uitgang : VAK + CONTR ; XWH ; KU : 30.11.09 : dient via @PROG te gebeuren ; D HERVAK(UI1,"",.VAK) ; D W^cAN220("BA.DET","",UI1_" 71",106,VAK(71)) ; D W^cAN220("BA.DET","",UI1_" 72",106,VAK(72)) ; D W^cAN220("BA.DET","",UI1_" 59",106,VAK(59)) ; ; Herberekenen controlegetal XWI ; S CONTR=$$CONTR^cTN8020(UI1,"",B(1)) D BLX^cAN000(121,CONTR) ; Indien status van voorlopig naar definitief : afsluiten maanden I '$P(A(1),D,3),$P(B(1),D,3)=1 D . S OK=$$BHADM^cTN801(Q,UI1) ; XWY S OK=2 XWZ Q ; HERVAK(UI1BA,GRIDID,VAK) ; herrekenen vakken ; UI1BA : UI1 van BA ; GRIDID ; VAK : tabel waarin de waardes moeten komen (doorgeven by reference) S $ZT="TRAP^cAN000" N I,UI1VAK F I=54,55,56,57,61,63,65,59,62,64,66,"59a","59b",71,72 D . S UI1VAK=UI1BA_" "_I . I $G(GRIDID) S VAK(I)=$P($G(^mtemp99(GRIDID,"COMMON",UI1VAK,0)),D,6) . E S VAK(I)=$$SIG^cAFA1("BA.DET",UI1VAK,106) S VAK(59)=VAK("59a")+VAK("59b") D S4^cTN8023 HERVAKZ Q ; SAVEL() ; opslaan lijn in mtemp99 ; Output ; 1 ; 0\foutboodschap S $ZT="^dmERROR" N OUT,GRIDID,ROWID,WAARDE,OPMERK,OK,I1,VAK,i,ROWIDS,UI1BA S D="\",U=";" ; S OUT=1 S GRIDID=..GridId S ROWID=..BaDetId S WAARDE=..B106 S OPMERK=..B107 S UI1BA=$P(ROWID," ") ; SAVELA S $P(^mtemp99(GRIDID,"COMMON",ROWID,0),D,6)=WAARDE S $P(^(0),D,7)=OPMERK SAVELB ; herrekenen vakken D HERVAK(UI1BA,GRIDID,.VAK) S ROWIDS="" F i=71,72,59 D . S ROWIDS=ROWIDS_$S($L(ROWIDS):U,1:"")_GRIDID_"||"_UI1BA_" "_i . S $P(^mtemp99(GRIDID,"COMMON",UI1BA_" "_i,0),D,6)=VAK(i) SAVELZ Q OUT_D_ROWIDS ; ; ZZ ; 16.10.08 - 14 u 11 * V9.04