cTN805 ;BTW-listing dotNet; cTN805 ; T1 ;De status is verschillend van 'Voorlopig'. Item is niet verwijderbaar. T2 ;Geen BTW-nummer ingevuld.; T3 ;Land van BTW-nummer is verschillend van land van BTW-nr van vennootschap; T4 ;Onbekend BTW-nummer; T6 ;Jaar is niet uniek.; T7 ;Status 'Geëxporteerd' niet toegelaten.; T8 ;Status 'Definitief' niet toegelaten: ; T9 ;De berekening moet eerst uitgevoerd worden.; T10 ;Pas op, BTW-listing reeds geëxporteerd.; T11 ;BTW-listing; T12 ;BTW-nummer werd reeds ingegeven.; ; T1F ;Le statut diffère de 'Provisoir'. L'article ne peut pas être radié. T2F ;Le n° de TVA n'est pas renseigné.; T3F ;Le pays du n° de TVA diffère du pays du n° de TVA de la société; T4F ;N° de TVA inconnu; T6F ;L'année n'est pas unique.; T7F ;Le statut 'Exporté' n'est pas autorisé.; T8F ;Le statut 'Définitif' n'est pas autorisé: ; T9F ;Il faut d'abord exécuter le calcul.; T10F ;Attention, liste annuelle est déjà exportée.; T11F ;Liste TVA ; T12F ;Le n° de TVA est déjà attribué.; ; T1E ;Status is different from 'Temporary'. VAT List cannot be deleted.; T2E ;VAT number is missing.; T3E ;The country of the VAT number is not the same as the country of the VAT number company.; T4E ;Unknown VAT number.; T6E ;Year is not unique.; T7E ;Status 'Exported' not authorized.; T8E ;Status 'Final' not authorized: ; T9E ;Calculation need to be executed beforehand.; T10E ;This VAT List was already exported.; T11E ;VAT List; T12E ;VAT number has already been used.; ; YZ Q ; BTEMP(GRIDID,UI1BL) ; Opbouwen ^mtemp99(GRIDID,"COMMOM" met de detaillijnen van een BTW-listing ; Input : GRIDID : volgnr van de grid : indien '' : volgnummer ophalen ; UI1BL : intern nummer BTW-listing ; ; Output: 1 : alles OK ; 0\foutboodschap ; S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,UI1BL") ; ; Controle parameters BTEMPA F i="GRIDID","UI1BL" S @i=$g(@i) ; Ophalen GRIDID I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() ; BTEMPB K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID I '$L(UI1BL) G BTEMPZ ; S REF=$$REF^cAFA10(.Q,"BL.DET",101) S UREF=$P(REF,D) ; ; Overzetten detaillijnen naar ^mtemp99 BTEMPC S UI1=UI1BL_" " F S UI1=$O(@UREF) Q:$P(UI1," ")'=UI1BL S NODE0=@UREF@(0),^mtemp99(GRIDID,"COMMON",UI1,0)=NODE0 ; BTEMPZ Q OK ; ; CHKE ; Specifieke controles ; ; Input : GRIDID : nr. grid waarin de errors terecht komen ; UI1 : UI1 van de BTW-listing ; TAB : B van openstaand object ; FORM : naam van de form ; PAR : gescheiden door "\" ; 1. UFU : "0" = openen of "W" = wijzigen ; ; Output: 1 : ales ok ; 0\GRIDID ; opvullen error-mtemp99 ; S $ZT="TRAP^cAN000" ; Er mag maar 1 opgave per jaar zijn CHKE10 S RES=1 S RES=$$UNIEKJ(UI1,$P(B(1),D)) I '$P(RES,D) D FERR^cAFVBF04(GRIDID,1000,"","",0,$P(RES,D,2)) ; ; Manueel verzetten naar status 2 mag niet ; B103 = 2 mag de oude waarde ook maar 2 zijn CHKE20 S RES=1 I $P(B(1),D,3)=2,($P(A(1),D,3)'=2) S RES="0\"_$P($T(@("T7"_QT)),U,2) I '$P(RES,D) D FERR^cAFVBF04(GRIDID,1001,"","",0,$P(RES,D,2)) ; ; Testen bij verzetten status van voorlopig naar definitief CHKE30 I $P(B(1),D,3)=$P(A(1),D,3)!($P(B(1),D,3)'=1)!(+$P(A(1),D,3)) G CHKE90 ; Testen of berekening is uitgevoerd CHKE31 S RES=1 S MTEMPID=$P(PAR,D),UI1BLDET="" CHKE32 S UI1BLDET=$O(^mtemp99(MTEMPID,"COMMON",UI1BLDET)) I '$L(UI1BLDET) G CHKE35 I $P(^(UI1BLDET,0),D,30)'=2 G CHKE90 CHKE35 S RES="0\"_$P($T(@("T8"_QT)),U,2)_$P($T(@("T9"_QT)),U,2) I '$P(RES,D) D FERR^cAFVBF04(GRIDID,1001,"","",0,$P(RES,D,2)) ; ; ; Testen of aangifte reeds geëxporteerd werd CHKE90 ; geen waarschuwingen als er fouten gevonden werden S RES="" S OK=1 F S RES=$O(^mtemp99(GRIDID,"COMMON",RES)) Q:RES="" I '$P(^(RES,0),D,2) S OK=0 Q I 'OK G CHKEZ S RES=1 I $P(B(1),D,3)<2,($P(A(1),D,3)=2) S RES="0\"_$P($T(@("T10"_QT)),U,2) I '$P(RES,D) D FERR^cAFVBF04(GRIDID,1001,"","",2,$P(RES,D,2)) ; CHKEZ Q ; ; DELTMP(GRIDID) ; Verwijderen van ^mtemp99(GRIDID,"COMMON" (niveau 2) ; Input : GRIDID ; ; OUTPUT: 1: alles OK ; N OK,UI1 S $ZT="^dmERROR" ; S OK=1,UI1="" I '$L($G(GRIDID)) G DELTMPZ ; DELTMPA S UI1=$O(^mtemp99(GRIDID,"COMMON",UI1)) I '$L(UI1) G DELTMPZ S $P(^mtemp99(GRIDID,"COMMON",UI1,0),D,30)=2 G DELTMPA DELTMPZ Q OK ; ; HDBTW(SW,K) ; Hoofding BTW-listing ; Hoofding: BTW-aangifte ; 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","K" S @i=$G(@i) I 'SW S K=..B101 I $L(K) S OUT="\\"_$P($T(@("T11"_QT)),";",2)_"\ ;"_K G HDPRVZ S OUT="\\"_$P($T(@("T11"_QT)),";",2)_"\" HDPRVZ Q OUT ; ; SAVEL() ; Save van de detaillijn in ^mtemp99(GRIDID,"COMMON" ; Output: 1 : alles OK ; 0\foutboodschap ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("%this") ; TAB-samenstellen + intialiseren SAVEL1 D ..%NormalizeObject() D ..ObjToCacheSQL("O") ; ; Check op geldig BTW-nummer SAVEL2 I $P(TAB(1),D,2)="" S OK="0\"_$P($T(@("T2"_QT)),U,2) S OK=$$BTW^cAFVBI01(Q,$P(TAB(1),D,2)) I 'OK G SAVELZ ; Als controle op BTW een aangepast btw-nummer doorgeeft met dat verderwerken I $L($P(OK,D,2)) S $P(TAB(1),D,2)=$P(OK,D,2) ; Land BTW-nummer = land BTW-nr. van de vennootschap S LLVEN=$$SIG^cAFA1("Q",Q,214) I $E($P(TAB(1),D,2),1,$L(LLVEN))'=LLVEN S OK="0\"_$P($T(@("T3"_QT)),U,2) G SAVELZ ; BTW-nummer moet meer dan enkel maar een 0 bevatten S BTW=$E($P(TAB(1),D,2),3,999) I BTW?1."0" S OK="0\"_$P($T(@("T4"_QT)),U,2) G SAVELZ ; ; Ophalen GRIDID en ROWID SAVEL3 S GRIDID=..GridId S ROWID=..BlDetId S UI1H=$P(ROWID," ") ; SAVEL4 ; Er mogen geen 2 detaillijnen zijn metzelfde BTW-nummer S UI1="" SAVEL45 S UI1=$O(^mtemp99(GRIDID,"COMMON",UI1)) I '$L(UI1) G SAVEL5 I UI1=ROWID G SAVEL45 I $$DI^cAN000($P(TAB(1),D,2),"")=$$DI^cAN000($P(^(UI1,0),D,2),"") S OK="0\"_$P($T(@("T12"_QT)),U,2) G SAVELZ G SAVEL45 ; Wegschrijven gegevens in ^mtemp99 SAVEL5 I '$D(^mtemp99(GRIDID,"COMMON",ROWID,0)) S ^mtemp99(GRIDID,"COMMON",ROWID,0)=UI1H F I=2,4,6,7,9 S $P(^mtemp99(GRIDID,"COMMON",ROWID,0),D,I)=$P(TAB(1),D,I) S OK=1 SAVELZ Q OK ; STEMP(GRIDID,UI1BL) ; Saven van ^mtemp99(GRIDID,"COMMON" ; Input : GRIDID : volgnr van de grid ; UI1BL : intern nummer BTW-listing ; ; Output: 1 : alles OK ; 0\foutboodschap S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GRIDID,UI1BL") ; STEMPA S UI1=UI1BL_" " STEMPB S UI1=$O(^mtemp99(GRIDID,"COMMON",UI1)) I $P(UI1," ")'=UI1BL G STEMPY S INH=^(UI1,0) ; Openen van een nieuwe lijn I $$SIGN^cAFA1("BL.DET",UI1,0)="" D G STEMPB . K TAB . S TAB(1)=INH . I $P(INH,D,30)=2 Q . D P^cAN220("BL.DET","",UI1,"TAB","") I K="-" X "STOP" ; Verwijderen van een lijn I $P(INH,D,30)=2 D G STEMPB . D X^cAN220("BL.DET","",UI1) I K="-" X "STOP" ; Wijzigen van een lijn K TAB S TAB(102)=$P(INH,D,2) ; BTW-nummer S TAB(104)=$P(INH,D,4) ; Lijnnummer S TAB(106)=$P(INH,D,6) ; Waarde omzet in firmamunt S TAB(107)=$P(INH,D,7) ; Opmerking S TAB(109)=$P(INH,D,9) ; Waarde BTW in firmamunt D B^cAN220("BL.DET","",UI1,"TAB","") I K="-" X "STOP" G STEMPB STEMPY S OK=1 STEMPZ Q OK ; UNIEKJ(UI1BL,JR) ; Testen of jaar uniek is I '$L(JR) S OK=1 G UNIEKJZ S OK=$$UNIQUE^cAFVBA01(.Q,"BL",101,JR,UI1BL) I 'OK S OK="0\"_$P($T(@("T6"_QT)),U,2) UNIEKJZ Q OK ; XW ; Executes bij OK via ^DMA(0,"BL" ; Indien status van voorlopig naar definitief 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 jaar gewijzigd is: detaillijnen verwijderd + ; datum + init. berekening uitblanken I $P(A(1),D)'=$P(B(1),D) 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") ; XWY S OK=2 XWZ Q ; ZZ ; 16.10.08 - 14 u 11 * V9.04