cTN80601 ;Exporteren lijst BTW belastingsplichtige afnemers naar XML ;cAT111; [ 26/01/10 11:58:48 ] ; G 1 ; VB(UI1BL,UREF,KJ,FILEVB,TABGEG,MIN,LL) ; Exporteren BTW-listing vanuit VB S $ZT="TRAP^cAN000" S SWVB=1 G 1 VBZ Q ; T0 ;BTW-listing ; T1 ;VatList;RecipientId;SenderId;ControlRef;MandataireId;SenderDate;VersionTech;Test; T2 ;AgentRepr;DecNumber; T3 ;ClientListing; T4 ;SequenceNumber;DeclarantReference;ClientsNbr;TurnOverSum;VATAmountSum; T5 ;Declarant; T6 ;VATNumber;Name;Street;PostCode;CountryCode;City;EmailAddress; T7 ;Period; T8 ;Client; T9 ;SequenceNum; T10 ;CompanyInfo;CompanyVATNumber;Country;issuedBy; T11 ;Period;VATAmount;Code;TurnOver; T12 ;Het pad voor de BTW-listing is niet correct ingevuld.; T13 ;Kan het uniek nummer voor de BTW-listing niet bepalen.; T14 ;De BTW-listing is leeg; T15 ;Postcode niet gevonden, gelieve in te vullen bij parameters boekhouding.; T16 ;ClientListingConsignment;ClientListingsNbr; T17 ;http://www.minfin.fgov.be/InputCommon; T18 ;E-mail ondertekenaar werd niet ingevuld.; T19 ;Representative;RepresentativeID;issuedBy;identificationType;Phone; T20 ;Telefoon ondertekenaar werd niet ingevuld.; ; T0F ;List TVA ; T12F ;Le chemin d'exportation de la listing annuel de TVA est incorrect.; T13F ;Impossible de définir le numéro unique de la listing annuel de TVA.; T14F ;Listing annuel de TVA est vide; T15F ;Code postal pas trouvé, s.v.p. le remplir dans param. comptables.; T18F ;E-mail signataire n'est pas rempli.; T20F ;Telephone signataire n'est pas rempli.; ; T0E ;VAT report ; T12E ;The path for the VAT report is not correct.; T13E ;Could not get unique number for the VAT report.; T14E ;The VAT report is empty; T15E ;Could not find the postal code. Please fill in at accounting param.; T18E ;E-mail Signer was not filled in.; T20E ;Telephone Signer was not filled in.; ; 1 N XMLFILE,BTWNR,MAND,CTRLREF,SEQNR,NBRCLIENT,NODE,TEST,XMLPATH,B,BTW,TOTAMOUNT,TOTTURNOVER,L,A,BTWO,UI1,POSTCODE ; S $ZT="TRAP^cAN000" 2 ;------------------------------------------------------------------------------ ; Tijdelijke bestand aflopen ;------------------------------------------------------------------------------ S BTW="",NBRCLIENT=0,TOTAMOUNT=0,TOTTURNOVER=0 I $G(SWVB) G 22 21 S BTW=$O(^TEMP(boot,$J,BTW)) G 23:BTW="" I $$NOPRINT^cAT1190() G 21 210 S NBRCLIENT=NBRCLIENT+1 S TOTTURNOVER=TOTTURNOVER+A(1),TOTAMOUNT=TOTAMOUNT+A(2) G 21 ; 22 S UI1=UI1BL_" " 220 S UI1=$O(@UREF) I $P(UI1," ")'=UI1BL G 23 S BTW=$P(^(UI1,0),D,2) S A(1)=$P(^(0),D,6) S A(2)=$P(^(0),D,9) I $E(BTW,1,$L(LL))'=LL G 220 ; landcode BTW firma '= landcode BTW klant I $E(BTW,3,999)?1."0" G 220 ; BTW-code 'NB' niet toegestaan I A(1)<$G(MIN) G 220 ; bedrag kleiner dan minimum bedrag S NBRCLIENT=NBRCLIENT+1 S TOTTURNOVER=TOTTURNOVER+A(1),TOTAMOUNT=TOTAMOUNT+A(2) G 220 ; ; Nakijk of er klanten gevonden zijn 23 I 'NBRCLIENT S K=$P($T(@("T14"_QT)),U,2) D:'$G(SWVB) TXT^cAFA1(250) S:$G(SWVB) OK="0\"_K G YZ ; ;------------------------------------------------------------------------------ ; Test listing ;------------------------------------------------------------------------------ 230 ; S TEST=$G(@("^"_Q_"BA(""%T"",13,""J"",""TEST"")")) ; ophalen uit @("^"_Q_"BA(""%T"",13,""J"",""TEST"")") S TEST=$G(SWTEST) ; 24 S SENDREF=$$SENDREF(KJ) I SENDREF="" S K=$P($T(@("T13"_QT)),U,2) D:'$G(SWVB) TXT^cAFA1(250) S:$G(SWVB) OK="0\"_K G YZ ; KU : 08.01.08 ; niet nodig aangezien Woonpl I $G(SWVB) S POSTCODE=$$SIG^cAFA1("Q",Q,302) I '$G(SWVB) S POSTCODE=$P($G(@("^"_Q_"BA(""%T"",13,""E"",1)")),D,2) I POSTCODE'?4N S K=$P($T(@("T15"_QT)),U,2),TEMPOK=0 D TXT^cAFA1(250) S:$G(SWVB) OK="0\"_K G YZ ; 25 I '$G(SWVB) S B(1)=$G(@("^"_Q_"BTW(0,0)")) I $G(SWVB) S B(1)=TABGEG(1) ; ; Nakijken of telefoon is ingevuld I $P(B(1),D,13)="" S K=$P($T(@("T20"_QT)),U,2),TEMPOK=0 D:'$G(SWVB) TXT^cAFA1(250) S:$G(SWVB) OK="0\"_K G YZ ; Nakijken of e-mail adres is ingevuld I $P(B(1),D,14)="" S K=$P($T(@("T18"_QT)),U,2),TEMPOK=0 D:'$G(SWVB) TXT^cAFA1(250) S:$G(SWVB) OK="0\"_K G YZ ; ; opzoeken adresgegevens I $G(SWVB) S IDINDEX=5 G 3 S IDINDEX=4 27 S TEMP=$P(B(1),D,IDINDEX) I '$L(TEMP),IDINDEX=4 S IDINDEX=5 G 27 S TEMP=$P(TEMP," ") I TEMP'?4N,IDINDEX=4 S IDINDEX=5 G 27 ; 3 ;------------------------------------------------------------------------------ ; XML instantie maken ;------------------------------------------------------------------------------ S XMLWRITER=##class(%XML.Writer).%New() S XMLWRITER.Charset="UTF-8" ; Output file 31 I '$G(SWVB) S XMLFILE=@("^"_Q_"BA(""%T"",13,""J"")") I $G(SWVB) S XMLFILE=FILEVB ; Parameter niet ingevuld I XMLFILE="" S K=$P($T(@("T12"_QT)),U,2) D:'$G(SWVB) TXT^cAFA1(250) S:$G(SWVB) OK="0\"_K G Y ; Nakijken of het pad bestaat - 26.06.07 S XMLPATH=$P(XMLFILE,D,1,$L(XMLFILE,D)-1) I $$TST^cA710(XMLPATH)'=0 S K=$P($T(@("T12"_QT)),U,2) D:'$G(SWVB) TXT^cAFA1(250) S:$G(SWVB) OK="0\"_K G Y ; Bestandsnaam samenstellen I '$G(SWTEST) S XMLFILE=XMLFILE_KJ_".xml" I $G(SWTEST) S XMLFILE=XMLFILE_KJ_"TEST.xml" ; 33 S SC=XMLWRITER.OutputToFile(XMLFILE) ; Document starten S SC=XMLWRITER.StartDocument() D ENDLN D . ; Root element . ; S SC=XMLWRITER.RootElement($P($T(@("T1")),U,2)) . S SC=XMLWRITER.RootElement($P($T(@("T16")),U,2)) . S SC=XMLWRITER.WriteAttribute($P($T(@("T16")),U,3),"1") . S SC=XMLWRITER.WriteAttribute("xmlns","http://www.minfin.fgov.be/ClientListingConsignment") . ; SenderId . S BTWNR=$P(B(1),D,7),BTWNR=$$BTW^cAFO1(BTWNR),BTWNR=$$DP^cAFA1(BTWNR) . ; ControlRef . S CTRLREF=$TR($J(SENDREF,4)," ","0") . ; MandataireId . S MAND=$P(B(1),D,9) . D ENDLN . ; . ; Representative . S SC=XMLWRITER.Element($P($T(@("T19")),U,2)) D ENDLN . D .. ; VATNum .. S SC=XMLWRITER.Element($P($T(@("T19")),U,3)),SC=XMLWRITER.WriteAttribute($P($T(@("T19")),U,4),"BE"),SC=XMLWRITER.WriteAttribute($P($T(@("T19")),U,5),"NVAT"),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E(BTWNR,3,999)),SC=XMLWRITER.EndElement() D ENDLN .. ; Name .. S SC=XMLWRITER.Element($P($T(@("T6")),U,3)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E($P(B(1),D,2),1,32)),SC=XMLWRITER.EndElement() D ENDLN .. ; Street .. S SC=XMLWRITER.Element($P($T(@("T6")),U,4)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E($P(B(1),D,3),1,24)),SC=XMLWRITER.EndElement() D ENDLN .. ; CityAndZipCode .. S SC=XMLWRITER.Element($P($T(@("T6")),U,5)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars(POSTCODE),SC=XMLWRITER.EndElement() D ENDLN .. ; City .. S SC=XMLWRITER.Element($P($T(@("T6")),U,7)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($P($P(B(1),D,IDINDEX)," ",2,99)),SC=XMLWRITER.EndElement() D ENDLN .. ; Country .. S SC=XMLWRITER.Element($P($T(@("T6")),U,6)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E(BTWNR,1,2)),SC=XMLWRITER.EndElement() D ENDLN .. ; E-mail .. S SC=XMLWRITER.Element($P($T(@("T6")),U,8)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($P(B(1),D,14)),SC=XMLWRITER.EndElement() D ENDLN .. ; Phone .. S SC=XMLWRITER.Element($P($T(@("T19")),U,6)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($$DP^cAFA1($P(B(1),D,13))),SC=XMLWRITER.EndElement() D ENDLN . S SC=XMLWRITER.EndElement() D ENDLN . . ; . ; DECLARANTLIST . S SC=XMLWRITER.Element($P($T(@("T3")),U,2)) . D .. ; SequenceNum .. S SEQNR="1" .. S SC=XMLWRITER.WriteAttribute($P($T(@("T4")),U,2),SEQNR) .. ; ClientNbr .. S SC=XMLWRITER.WriteAttribute($P($T(@("T4")),U,4),NBRCLIENT) .. ; DeclarantNum .. ; S SC=XMLWRITER.WriteAttribute($P($T(@("T4")),U,3),$E(BTWNR,3,999)_CTRLREF_SEQNR) .. S SC=XMLWRITER.WriteAttribute($P($T(@("T4")),U,3),$E(BTWNR,3,999)_CTRLREF) .. ; TurnOverSum .. S SC=XMLWRITER.WriteAttribute($P($T(@("T4")),U,5),TOTTURNOVER) .. ; TaxSum .. S SC=XMLWRITER.WriteAttribute($P($T(@("T4")),U,6),TOTAMOUNT) .. D ENDLN .. ; .. ; COMPANY INFO .. S SC=XMLWRITER.Element($P($T(@("T5")),U,2)) D ENDLN .. D ... ; VATNum ... S SC=XMLWRITER.Element($P($T(@("T6")),U,2)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E(BTWNR,3,999)),SC=XMLWRITER.EndElement() D ENDLN ... ; Name ... S SC=XMLWRITER.Element($P($T(@("T6")),U,3)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E($P(B(1),D,2),1,32)),SC=XMLWRITER.EndElement() D ENDLN ... ; Street ... S SC=XMLWRITER.Element($P($T(@("T6")),U,4)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E($P(B(1),D,3),1,24)),SC=XMLWRITER.EndElement() D ENDLN ... ; CityAndZipCode ... S SC=XMLWRITER.Element($P($T(@("T6")),U,5)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars(POSTCODE),SC=XMLWRITER.EndElement() D ENDLN ... ; City ... S SC=XMLWRITER.Element($P($T(@("T6")),U,7)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($P($P(B(1),D,IDINDEX)," ",2,99)),SC=XMLWRITER.EndElement() D ENDLN ... ; Country ... S SC=XMLWRITER.Element($P($T(@("T6")),U,6)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($E(BTWNR,1,2)),SC=XMLWRITER.EndElement() D ENDLN ... ; E-mail ... S SC=XMLWRITER.Element($P($T(@("T6")),U,8)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($P(B(1),D,14)),SC=XMLWRITER.EndElement() D ENDLN ... ; Phone ... S SC=XMLWRITER.Element($P($T(@("T19")),U,6)),SC=XMLWRITER.WriteAttribute("xmlns",$P($T(@("T17")),U,2)),SC=XMLWRITER.WriteChars($$DP^cAFA1($P(B(1),D,13))),SC=XMLWRITER.EndElement() D ENDLN .. S SC=XMLWRITER.EndElement() D ENDLN .. ; .. ; PERIOD .. S SC=XMLWRITER.Element($P($T(@("T7")),U,2)),SC=XMLWRITER.WriteChars(KJ),SC=XMLWRITER.EndElement() D ENDLN .. ; .. D CLIENT . S SC=XMLWRITER.EndElement() D ENDLN . S SC=XMLWRITER.EndRootElement() D ENDLN ; S SC=XMLWRITER.EndDocument() ; Y S SC=XMLWRITER.%Close() YZ Q OK ; CLIENT ; Tijdelijk bestand doorlopen met klanten I $G(SWVB) G CLIENTAA S BTW="",TEL=0 CLIENTA S BTW=$O(^TEMP(boot,$J,BTW)) I BTW="" G CLIENTZ I $$NOPRINT^cAT1190() G CLIENTA S TEL=TEL+1 G CLIENTB CLIENTAA S UI1=UI1BL_" ",TEL=0 CLIENTAB S UI1=$O(@UREF) I $P(UI1," ")'=UI1BL G CLIENTZ S BTW=$P(^(UI1,0),D,2) S A(1)=$P(^(0),D,6) S A(2)=$P(^(0),D,9) I $E(BTW,1,$L(LL))'=LL G CLIENTAB ; landcode BTW firma '= landcode BTW klant I $E(BTW,3,999)?1."0" G CLIENTAB ; BTW-code 'NB' niet toegestaan I A(1)<$G(MIN) G CLIENTAB S TEL=TEL+1 ; CLIENTLIST CLIENTB S SC=XMLWRITER.Element($P($T(@("T8")),U,2)) S SC=XMLWRITER.WriteAttribute($P($T(@("T4")),U,2),TEL) D ENDLN ; VATNum S SC=XMLWRITER.Element($P($T(@("T10")),U,3)),SC=XMLWRITER.WriteAttribute($P($T(@("T10")),U,5),$E(BTW,1,2)),SC=XMLWRITER.WriteChars($E(BTW,3,999)),SC=XMLWRITER.EndElement() D ENDLN ; Turnover S SC=XMLWRITER.Element($P($T(@("T11")),U,5)),SC=XMLWRITER.WriteChars(A(1)),SC=XMLWRITER.EndElement() D ENDLN ; Amount S SC=XMLWRITER.Element($P($T(@("T11")),U,3)),SC=XMLWRITER.WriteChars(A(2)),SC=XMLWRITER.EndElement() D ENDLN S SC=XMLWRITER.EndElement() D ENDLN I '$G(SWVB) G CLIENTA I $G(SWVB) G CLIENTAB CLIENTZ Q ; ;--------------------------------------------------------------------------------------------------------------------------- ; ENDLN S SC=XMLWRITER.WriteChars($C(13,10)) ENDLNZ Q ; R0 S $P(R,D,12)=$T(+0) D ^cAN1000 Q ; v12 23.01.95 ; SENDREF(JAAR) N OUT S OUT="" ; Nakijken of er al een nr is voor dit jaar S OUT=$G(@("^"_Q_"BA(""%T"",13,""J"","_JAAR_")")) I $L(OUT) G SENDREFZ ; Nog geen nummer beschikbaar I '$$LOCK^cANLOCK("^"_Q_"BA(""%T"",13,""J"")","","",1) G SENDREFZ S @("^"_Q_"BA(""%T"",13,""J"",1)")=$G(@("^"_Q_"BA(""%T"",13,""J"",1)"))+1,@("^"_Q_"BA(""%T"",13,""J"","_JAAR_")")=@("^"_Q_"BA(""%T"",13,""J"",1)") S OUT=@("^"_Q_"BA(""%T"",13,""J"","_JAAR_")") L -@("^"_Q_"BA(""%T"",13,""J"")") SENDREFZ Q OUT ; ZZ ; 02.02.10 - 14 u 30 * V9.06