cTN802 ;BTW-aangifte dotNet; cTN802; [ 30/11/09 13:36:42 ] ; T1 ;BTW-aangifte;Parameters export; T2 ;De berekening kan enkel gebeuren inden de status van de BTW-aangifte 'voorlopig' is.; T3 ;De huidige waardes van de vakken gaan verloren.; T4 ;Negatief getal op 0 gezet.; T5 ;Programma voor berekening niet gevonden.; T6 ;Definitie vakken voor maand ; bestaat niet.; T7 ;Vorige aangifte: ; T8 ;Exporteren niet mogelijk voor voorlopige BTW-aangifte.; T9 ;Deze BTW-aangifte werd reeds geëxporteerd.; T10 ;Programma voor export niet gevonden.; T11 ;Exporteren niet beschikbaar. Zie BTW-eenheid.; T12 ;BTW-aangifte niet goedgekeurd in minstens één van de deelnemende vennootschappen.; T13 ;Programma voor tonen formulier niet gevonden.; T14 ;Geen officiële BTW-aangifte. Zie BTW-eenheid ; T15 ;Berekening niet mogelijk, BTW-nr is niet ingevuld.; T16 ;Parameters boekhouding; T17 ;Map of bestandsnaam voor de elektronische BTW-aangifte is niet ingevuld.; T18 ;Map voor de elektronische BTW-aangifte is niet correct ingevuld.; T19 ;De BTW-aangifte werd geëxporteerd naar ;.; ; T1F ;Déclaration de la TVA; T2F ;Le calcul ne peut être fait si le statut de la déclaration est 'provisoir'.; T3F ;Les valeurs actuelles des cases seront effacées.; T4F ;Valeur négative mise à 0.; T5F ;Le programme de calcul n'a pas été retrouvé.; T6F ;La défintion des cases pour mois ; n'existe pas.; T7F ;Déclaration précédente: ; T8F ;Impossible d'exporter d'une déclaration provisoire.; T9F ;Cette déclaration est déjà exportée.; T10F ;Programme d'exportation non disponible.; T11F ;Exportation non disponible. Voir unité de TVA.; T12F ;Déclaration de TVA non approuvée dans une ou plusieurs sociétés associées.; T13F ;Programme d'affichage du formulaire n'a pas été retrouvé.; T14F ;Pas de déclaration de TVA officielle. Voir unité de TVA ; T15F ;Calcul impossible, n° de TVA n'est pas rempli.; T16F ;Gestion paramètres comptables; T17F ;Le chemin ou nom du fichier d'exportation de la déclaration électronique est vide.; T18F ;Le chemin d'exportation de la déclaration électronique est incorrect.; T19F ;La déclaration TVA fut exportée vers ;.; ; T1E ;VAT declaration; T2E ;Calculation can only be made if the declaration's status is 'temporary'.; T3E ;The actual section's values will be lost.; T4E ;Negative result set to 0.; T5E ;Calculation program not found.; T6E ;Definition of the sections for month ; don't exist.; T7E ;Previous declaration: ; T8E ;Export not possible in case of temporary VAT declaration.; T9E ;This VAT declaration was already exported.; T10E ;Export program not found.; T11E ;Export not available. See VAT unit.; T12E ;VAT declaration not approuved in one or more associated societies.; T13E ;Program for showing the form was not found.; T14E ;Unofficial VAT declaration. See VAT unit ; T15E ;Calculation cannot be made, VAT number is missing.; T16E ;Settings accounting; T17E ;The path or filename for the electronic VAT declaration is empty.; T18E ;The path for the electronic VAT declaration is not correct.; T19E ;The VAT declaration is exported to ;.; ; YZ Q ; BA(UI1BA,SW,TAALUSER) ; Berekenen BTW-aangifte ; Input : UI1BA = UI1 van de BTW-aangifte ; SW = 0 : detail nog niet gecontroleerd ; 1 : detail reeds gecontroleerd ; TAALUSER = Taal van de gebruiker ; ; Output: 1 : alles OK ; 0\foutboodschap ; -1\waarschuwing ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("UI1BA,SW,TAALUSER") S OK=1 I '$L($G(UI1BA)) G BAZ I '$D(TAALUSER)!($G(TAALUSER)=" ") S TAALUSER=QT D . N QT,QTU . S QT=TAALUSER . D QT^cAFVBO01 . S QTD=QT,QTDU=QTU ; F i="UI1BA","SW" S @i=$G(@i) ; Locken van de BTW-aangifte S UREF=$P($$REF^cAFA10(.Q,"BA"),D) S UREF=$$REPL^cAFA10(UREF,"UI1","UI1BA") S UREFDET=$P($$REF^cAFA10(.Q,"BA.DET"),D) S OK=1 I SW G BAA ; Controleren of er reeds berekend werd S UI1=UI1BA_" " I $P($O(@UREFDET)," ")=UI1BA S OK="-1\"_$P($T(@("T3"_QT)),U,2) G BAZ BAA S OK=$$PLUS^cANLOCK($na(@UREF),,$P($T(@("T1"_QT)),U,2),0,2) I 'OK G BAZ ; Testen status I $$SIG^cAFA1("BA",UI1BA,103) S OK="0\"_$P($T(@("T2"_QT)),U,2) G BAY ; Testen of BTW-nr is ingevuld I '$L($$SIG^cAFA1("BA",UI1BA,105)) S OK="0\"_$P($T(@("T15"_QT)),U,2) G BAY ; Testen ivm BTW-eenheid S BTWEENH=$S($$SIG^cAFA1("Q",Q,104)=3:1,1:0) S DBTWEENH=$P(^(0),D,24) I 'BTWEENH G BAAA ; Testen of alle deelnemende vennootschappen een BTW-aangifte hebben en deze niet 'voorlopig' is S UI1BAD=$P($$BAD^cTN801(UI1BA,"12"),D) F I=1:1:$L(UI1BAD,U) I $P(UI1BAD,U,I)="" S OK="0\"_$P($T(@("T12"_QT)),U,2) G BAY ; Locken aangiftes deelnemende vennootschappen S UI1BAD=$$LOCK^cTN801(UI1BA,1,UI1BAD) I '$P(UI1BAD,D) S OK=UI1BAD G BAY BAAA ; ; Testen of vakken per land en maand opstaat S OK=$$VAKLM(.Q,UI1BA,QTD) I 'OK G BAY ; Ophalen programma's voor uitvoeren berekening S PROG=$$PROG(LAND,BP1,BTWEENH) I PROG="" S OK="0\"_$P($T(@("T5"_QT)),U,2) G BAY ; Uitvoeren programma voor berekenen BTW-aangifte BAAB K VAK S I="" F S I=$O(OMVAK(I)) Q:I="" S VAK(I)=0 S CONTR="" D @PROG ; uitgang : VAK + CONTR ; Verwijderen bestaande vakken BTW-aangifte BAAC S UI1=UI1BA_" " F S UI1=$O(@UREFDET) Q:$P(UI1," ")'=UI1BA D X^cAN220("BA.DET","",UI1) I K="-" X "STOP" ; Ophalen vorige BTW-aangifte S UI1VBA=$$VBA(UI1BA) ; Wegschrijven waarden vakken BTW-aangifte S I1="" BAB S I1=$O(VAK(I1)) I I1="" G BABA K TAB S TAB(1)=UI1BA S $P(TAB(1),D,2)=$TR($J(I1,2)," ",0) ; S $P(TAB(1),D,3)=$P($G(OMVAK(I1)),D) ; S $P(TAB(1),D,4)=$P($G(OMVAK(I1)),D,2) S $P(TAB(1),D,5)=+$P(VAK(I1),D) S $P(TAB(1),D,6)=$S('$G(BTWEENH):+VAK(I1),1:+$P(VAK(I1),D,2)) I '$L(DBTWEENH),(VAK(I1)<0) S $P(TAB(1),D,6)=0,$P(TAB(1),D,7)=$P($T(@("T4"_QT)),U,2) ; Testen of zelfde vak vorige BTW-aangifte niet negatief was I $L(UI1VBA) D . I $$SIG^cAFA1("BA.DET",UI1VBA_" "_$P(TAB(1),D),105)<0,'$P($G(^(0)),D,6) S $P(TAB(1),D,7)=$P($T(@("T7"_QT)),U,2)_$P(^(0),D,5) S UI1VAK=UI1BA_" "_$P(TAB(1),D,2) D P^cAN220("BA.DET","",UI1VAK,"TAB","") I K="-" X "STOP" G BAB BABA ; KU : dit herreken en berekenen van controlegetal is hier niet meer nodig : dient te gebeuren per land in het programma @PROG ; Herrekenen vakken 71 en 72 ; K VAK ; S UI1=UI1BA_" " ; F S UI1=$O(@UREFDET) Q:$P(UI1," ")'=UI1BA S VAK($P(UI1," ",2))=$P(@UREFDET@(0),D,6) ; F I=54,55,56,57,61,63,65,59,62,64,66 S UI1VAK=UI1BA_" "_I,VAK(I)=$$SIG^cAFA1("BA.DET",UI1VAK,106) ; D S4^cTN8023 ; D W^cAN220("BA.DET","",UI1BA_" 71",106,VAK(71)) ; D W^cAN220("BA.DET","",UI1BA_" 72",106,VAK(72)) ; Opnieuw berekenen controletotaal ; S CONTR=$$CONTR^cTN8020(UI1BA,.VAK,"") ; Opnieuw wegschrijven van 71 en 72 BAC ; Wegschrijven gegevens laatste berekening D ^cA105,^cA106 K TAB S TAB(118)=$H S TAB(119)=QU S TAB(121)=CONTR S TAB(122)=$$HD^cAFD1($H) S TAB(123)=$$HT^cAFD1($H) D B^cAN220("BA","",UI1BA,"TAB") I K="-" X "STOP" ; Unlocken van alle deelnemende vennootschappen BAX I 'BTWEENH G BAY S OK=$$LOCK^cTN801(UI1BA,0,UI1BAD) ; Unlocken van de BTW-aangifte BAY L -@UREF BAZ Q OK ; EXP(UI1BA,SW) ; Exporteren ; Input : UI1BA = UI1 van de BTW-aangifte ; SW = 0 : check geëxporteerd ; 1 : geëxporteerd reeds gecontroleerd ; ; Output: 1 : alles OK ; 0\foutboodschap ; -1\waarschuwing ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("UI1BA,SW") S OK=1 ; F i="UI1BA","SW" S @i=$G(@i) ; Locken van de BTW-aangifte S UREF=$P($$REF^cAFA10(.Q,"BA"),D) S UREF=$$REPL^cAFA10(UREF,"UI1","UI1BA") S OK=$$PLUS^cANLOCK($na(@UREF),,$P($T(@("T1"_QT)),U,2),0,2) I 'OK G EXPZ ; Locken van Parameters boekhouding S OK=$$LOCK^cANLOCK("^"_Q_"BA(""%T"",13,""E"")","",$P($T(@("T16"_QT)),U,2),0,2) I 'OK G EXPY1 ; Geen export indien vennootschap deel uitmaakt van een BTW-eenheid S BTWEENH=$$BAE^cTN801(UI1BA) I $L(BTWEENH) S OK="0\"_$P($T(@("T11"_QT)),U,2) G EXPY ; Testen status S STAT=$$SIG^cAFA1("BA",UI1BA,103) I STAT=0 S OK="0\"_$P($T(@("T8"_QT)),U,2) G EXPY ; Controleren of reeds geexporteerd I $G(SW) G EXPA I STAT=2 S OK="-1\"_$P($T(@("T9"_QT)),U,2) G EXPY ; Ophalen postcode EXPA S PC=$$SIG^cAFA1("Q",Q,302) ; Ophalen pad + filenaam voor export S I=$$SIG^cAFA1("Q",Q,232)_D_$P(^(1),D,33) ; Testen of pad en filenaam zijn ingevuld I $P(^(1),D,32)=""!($P(^(1),D,33)="") S OK="0\"_$P($T(@("T17"_QT)),U,2) G EXPY ; Testen of pad werd gevonden I $$TST^cA710($P(^(1),D,32)) S OK="0\"_$P($T(@("T18"_QT)),U,2) G EXPY S FILE=$$BEST^cA710(I) ; Ophalen programma's voor uitvoeren export S LAND=$$SIG^cAFA1("Q",Q,222) S BP1=$$SIG^cAFA1("BA",UI1BA,101) S KW=$P(^(0),D,2) S BP1=$$BM^cTN801(BP1,KW) S PROG=$$PROG(LAND,BP1,"",1) I PROG="" S OK="0\"_$P($T(@("T10"_QT)),U,2) G EXPY ; Uitvoeren programma voor export X PROG ; Verzetten satus naar 'geexporteerd' I OK D W^cAN220("BA","",UI1BA,103,2) I K="-" X "STOP" ; Tonen boodschap 'Export goed verlopen' I OK S OK="1\"_$P($T(@("T19"_QT)),U,2)_$TR(FILE,D,"/")_$P($T(@("T19"_QT)),U,3) EXPY L -@("^"_Q_"BA(""%T"",13,""E"")") EXPY1 L -@UREF EXPZ Q OK ; FORM(UI1BA,SW) ; Tonen formulier ; Input: UI1BA = UI1 van de BTW-aangifte ; SW = 0 : check geëxporteerd ; 1 : geëxporteerd reeds gecontroleerd ; ; Output: 1 : alles OK ; 0\foutboodschap ; -1\waarschuwing S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("UI1BA,SW") ; F i="UI1BA","SW" S @i=$G(@i) S OK=1 ; Locken van de BTW-aangifte S UREF=$P($$REF^cAFA10(.Q,"BA"),D) S UREF=$$REPL^cAFA10(UREF,"UI1","UI1BA") S OK=$$PLUS^cANLOCK($na(@UREF),,$P($T(@("T1"_QT)),U,2),0,2) I 'OK G FORMZ ; Testen of vennootschap deel uit maakt van een BTW-eenheid I $G(SW) G FORMA S BTWEENH=$$BAE^cTN801(UI1BA) I $L(BTWEENH) S OK="0\"_$P($T(@("T14"_QT)),U,2)_$$SIG^cAFA1("Q",BTWEENH,102) G FORMY ; Ophalen programma's voor uitvoeren export FORMA S LAND=$$SIG^cAFA1("Q",Q,222) S BP1=$$SIG^cAFA1("BA",UI1BA,101) S KW=$P(^(0),D,2) I $L(KW) S BP1=$P(KW,".")_"."_$TR($J($P(KW,".",2)-1*3+1,2)," ",0) S PROG=$$PROG(LAND,BP1,"",2) I PROG="" S OK="0\"_$P($T(@("T13"_QT)),U,2) G FORMY ; Uitvoeren programma voor tonen formulier D @PROG ; Unlocken BTW-aangifte FORMY L -@UREF FORMZ Q OK ; PROG(LAND,BP1,SWEENH,SWSOORT) ; Ophalen programma voor berekenen BTW-aangifte ; Input: LAND: UI1 uit ISO.LAND ; BP1 : vanaf maand ; SWEENH: 0 = geen BTW-eenheid ; 1 = BTW-eenheid ; SWSOORT: "" = programma's berekenen ophalen ; 1 = programma export ophalen ; 2 = programma tonen formulier ophalen ; Output: naam programma berekenen BTW-aangifte ; N PROG,UREF,UI1,UI1PROG S $ZT="TRAP^cAN000" S PROG="" S UREF=$P($$REF^cAFA10(.Q,"BA.LAND"),D) S UI1=LAND_" "_($TR(BP1,".","")+1) S UI1=$O(@UREF,-1) I $P(UI1," ")'=LAND G PROGZ I $G(SWSOORT)=1 S PROG=$$SIG^cAFA1("BA.LAND",UI1,106) G PROGZ I $G(SWSOORT)=2 S PROG=$$SIG^cAFA1("BA.LAND",UI1,105) G PROGZ S PROG=$$SIG^cAFA1("BA.LAND",UI1,$S('SWEENH:103,1:104)) PROGZ Q PROG ; VAK(LAND,BP1,TAAL) ; Ophalen omschrijving en volgnr vak ; Input: LAND: UI1 uit ISO.LAND ; BP1 : vanaf maand ; TAAL: taalcode (gebruiker) ; Output: 0 : er werden geen omschijvingen vakken gedefiniëerd ; 1 : omschrijving vakken werdne gedefiniëerd en OMVAK met omschrijvingen wordt opgezet N R,UREF,UI1,PER S $ZT="TRAP^cAN000" S R=0 K OMVAK S TAAL=$E(TAAL_"N") S UREF=$P($$REF^cAFA10(.Q,"BA.VAK"),D) S UI1=LAND_" "_($TR(BP1,".","")+1) VAKA S UI1=$O(@UREF,-1) I $P(UI1," ")'=LAND G VAKZ I R=1,($P(UI1," ",2)'=PER) G VAKZ S OMVAK($P(UI1," ",3))=$$SIG^cAFA1("BA.VAK",UI1,$S(TAAL="N":102,TAAL="F":112,TAAL="E":122,TAAL="D":132,1:""))_"\"_$P(^(0),D,5) I R=0 S PER=$P(UI1," ",2) S R=1 G VAKA VAKZ Q R ; VAKLM(Q,UI1BA,QTD) ; ophalen OMVAK per land en maand ; In : Q : door te geven als .Q ; UI1BA : intern nr. BTW-aangifte ; QTD : taal gebruiker ; ; Uit : ; var. LAND,BP1,KW,OMVAK,OK S $ZT="TRAP^cAN000" N OK S LAND=$$SIG^cAFA1("Q",Q,222) ; S TAAL=$P(^(1),D,4) S BP1=$$SIG^cAFA1("BA",UI1BA,101) S KW=$P(^(0),D,2) ; I $L(KW) S BP1=$P(KW,".")_"."_$TR($J($P(KW,".",2)-1*3+1,2)," ",0) S BP1=$$BM^cTN801(BP1,KW) ; Testen of omschrijving vakken opstaat S OK=1 I '$$VAK(LAND,BP1,QTD) S OK="0\"_$P($T(@("T6"_QT)),U,2)_BP1_$P($T(@("T6"_QT)),U,3) VAKLMZ Q OK ; VBA(UI1BA) ; Bepalen vorige BTW-aangifte ; Input: UI1BA: UI1 BTW-aangifte ; Output: UI1 vorige BTW-aangifte ; N R,MAAND,KW,VMAAND,VKW,IREF S $ZT="TRAP^cAN000" S R="" ; Ophalen maand en kwartaal huidige BTW-aangifte S MAAND=$$SIG^cAFA1("BA",UI1BA,101) S KW=$P(^(0),D,2) I $L(KW) G VBAB ; BTW-aangifte per maand VBAA S VMAAND=$$DCO^cAFD1($TR(MAAND,".","")_"01") ; Opzoeken vorige maand S VMAAND=$$PAST^cAFD1(VMAAND,"1M") S VMAAND=$E($$DC^cAFD1(VMAAND),1,6) ; Opzoeken UI1 vorige BTW-aangifte S IREF=$P($$REF^cAFA10(.Q,"BA",101),D,3) S R=$O(@IREF@(VMAAND,R)) G VBAZ ; BTW-aangifte per kwartaal VBAB S VKW=KW-0.01 I +$P(VKW,".",2)=0 S VKW=VKW-1_".04" S IREF=$P($$REF^cAFA10(.Q,"BA",102),D,3) S R=$O(@IREF@($TR(VKW,".",""),R)) VBAZ Q R ; ZZ ; 16.10.08 - 14 u 11 * V9.04