Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • En la configuración regional del Sistema Operativo de la computadora, establecer el carácter pipe ('|') como separador de campos.
  • Entrar al minimini-sitio del SRI, descargar los catálogos (sección Anexo Transaccional Simplificado, Guía para el contribuyente, Catálogo ATS para Reporte Mensual Semestral, folder TABLAS REFERENCIALES), los cuales son distribuidos en planilla de cálculo.
  • En el catálogo requerido, observar que la cantidad y distribución de las columnas coincida con el catálogo previo.
  • Copiar las celdas de datos, sin encabezados, del catálogo requerido a una nueva planilla.
  • Grabar la planilla obtenida, es importante que el nombre sea el mismo que las mostradas a continuación, y que sea con el Tipo de archivo CSV (MS_DOS) .csv:
    • 27TiposRegimenFiscalExterior.csv



    • 28Paises.csv



    • 29ParaisosFiscales.csv



    • 30TipoExportacionIngresoExterior.csv



    • 31TiposIngresoExterior.csv



    • 32TiposComprobantesAutorizados.csv



    • 33DistritoAduanero.csv



    • 34CodigoRegimen.csv



  • Posteriormente, si es necesario, reestablecer el separador de campos en la configuración regional del Sistema Operativo de la computadora.
  • Comprobar que el archivo .csv obtenido tenga codificación UTF-8 sin BOM, en caso contrario, se deberá cambiar a través de un editor de texto con la capacidad de manejo de codificación, por ejemplo con Notepad++:
    • Cargar el archivo .csv en el editor.
    • Las vocales con acento, eñes y otros caracteres especiales se deben visualizar correctamente. Además, en el menú "Codificación" debe indicar la opción "UTF-8 sin BOM".
    • En caso de que no se cumplan esas condiciones, en el menú "Codificación" seleccionar "Juego de caracteres > Europeo Occidental > OEM 850".
    • A continuación, nuevamente abrir el menú "Codificación", seleccionar Convertir a "UTF-8 sin BOM".
    • En este punto, las vocales con acento, eñes y otros caracteres especiales deben visualizarse correctamente.
    • Grabar el archivo de texto.

...

Informações
titleArchivo de Configuración (.ini)

Para la generación del nodo de Exportaciones en la generacion del Anexo Transaccional Simplificado (ATS), la funcionalidad debe ser añadida al archivo EQUATF.INI el cual debe ser estar ubicado en la carpeta system.


Importante

En caso de tener personalizaciónes en el archivo EQUATF.INI, para generar nodo de Exportaciones se deberá incluir lo siguiente:

Se añade la seccion [XXX Identificação do Exportaciones] en donde se finaliza el seccion ventasEstablecimiento y se inicia la seccion de exportaciones

Se añade la seccion [XXX Criacao do arquivo notas exportacion] donde se almacena en pocicion del arreglo _aTotal  el llamado a la función LFeXMLaVEx() para la creación de la tabla con los documentos de tipo exportación.

Se añade la seccion [TEX Geração do XML] en la cual se procesan todos los documentos obtenidos en la seccion anterior.

Se actualiza la seccion [XXX Identificação do Contribuinte] para finalizar la seccion de exportaciones e iniciar la seccion anulados.

Se actualiza la seccion [XXX Criacao do arquivo notas canceladas] indicando una posicion posterior a las utilizadas en el arreglo _aTotal al llamar la funcion LFeqXMLcan()


EQUATF.INI


Bloco de código
themeEclipse
firstline1
titleEQUATF.INI
linenumberstrue
collapsetrue
?{"Nombre del Archivo INI","EQUATF.INI"}
?{"Descripcion Completa del Archivo Magnetico","Declaracion de Retencion del Impuesto de Renta - IR."}
?{"Comentarios",""}

@XML

[XXX Inicializacao variaveis]
(PRE) _aTotal[001] := MV_PAR01                     
(PRE) _aTotal[002] := MV_PAR02
(PRE) _aTotal[003] := {}
(PRE) _aTotal[004] := {}
(PRE) _aTotal[005] := .F.
(PRE) _aTotal[006] := {}
(PRE) _atotal[020] := 0
(PRE) _aTotal[021] := IIf(SF2->(ColumnPos("F2_TPDOC"))==0 .OR. SF2->(ColumnPos("F2_TPVENT"))==0 .OR. SF2->(ColumnPos("F2_TIPOPE"))==0,.F.,.T.)
(PRE) _aTotal[022] := {}
(PRE) _aTotal[023] := {}
(PRE) _aTotal[024] := 0
(PRE) _aTotal[025] := ""

[XXX Montagem do CFP Utilizado pela rotina - PRINCIPAL]
(PRE) aAdd (_aTotal[003], "Formulario 103 - Declaracion de Retencion del Impuesto de Renta - IR")
(PRE) aAdd (_aTotal[003], "")
(PRE) aAdd (_aTotal[003], "Rellene correctamente la informacion solicitada.")
(PRE) aAdd (_aTotal[003], "Informacion necesarias para el rellenado automatico del Formulario 103: Declaracion de Retencion del Impuesto de Renta - IR.")

[XXX Montagem do CFP Utilizado pela rotina - COMPLEMENTAR]
(PRE) aAdd (_aTotal[004], {})
(PRE) aAdd (_aTotal[004][1], "Formulario 103 - Declaracion de Retencion del impuesto de Renta - IR")
(PRE) aAdd (_aTotal[004][1], "Rellene correctamente la informacion solicitada.")
(PRE) aAdd (_aTotal[004][1], {})
(PRE) aAdd (_aTotal[004][1][3], {1, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Tipo Declaracion",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Si fuera sustitutiva:",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {3,,,,,{"O=Original", "S=Sustitutiva"},,})
(PRE) aAdd (_aTotal[004][1][3], {0, "",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Version Formulario",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Nº Formulario",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 9.9",2,1,,,3})
(PRE) aAdd (_aTotal[004][1][3], {2,,"9999999999999",2,0,,,13})
(PRE) aAdd (_aTotal[004][1][3], {1, "Cod. Version Form.",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Impuesto Pagado",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"9999999999",2,0,,,10})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 999,999,999.99",2,2,,,14})
(PRE) aAdd (_aTotal[004][1][3], {1, "ID Representante legal",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Mora / Interesses",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 9999999999999",2,0,,,13})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 999,999,999.99",2,2,,,14})
(PRE) aAdd (_aTotal[004][1][3], {1, "RUC Contador",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {1, "Multa / Intereses",,,,,,})
(PRE) aAdd (_aTotal[004][1][3], {2,,"@E 9999999999999",2,0,,,13})

[XXX Chamada do Wizard]
(PRE) _atotal[005] := xMagWizard (_aTotal[003], _atotal[04], "EQUATF")
(PRE) Iif (_atotal[005], xMagLeWiz ("EQUATF", @_atotal[06], .T.), Nil)
(PRE) lAbtMT950	:= !_atotal[005]

[XXX - monta o Nome do arquivo] 
(PRE) mv_par04 := Alltrim(mv_par04) + "."
(PRE) mv_par04 := stuff(mv_par04,rat(".",mv_par04),rat(".",mv_par04),".XML")
(PRE) _aTotal[07] := mv_par04
(PRE) _aTotal[15] := .F.
//(PRE) _aTotal[16] := .F.


[XXX Header]
//(IMP) {.T.,1,1,"IVA"}
//(CMP) {{"NUMRUC","Contribuyente"},{"RAZSOC","Razon Social"},{"MES","Mes"},{"ANIO","Ano"}}
(PRE) _aTotal[010] := "version="+'"1.0"'+" encoding="+'"ISO-8859-1"'+" standalone="+'"yes"'+" ?"
(PRE) _atotal[30] := LFeqXMLanV(DTOS(MV_PAR01),DTOS(MV_PAR02)) 
Linha1     C 000 0 MontaXML("?xml"				,						,,,,,  ,.T.,.F.,.T.,_aTotal[010])
IVA        C 003 0 MontaXML("iva"				,						,,,,,1 ,.T.,.F.,.T.)
TIdInf     C 015 0 MontaXML("TipoIDInformante"	,"R"					,,,,,4 ,.T.,.T.,.T.)
NUMRUC     C 015 0 MontaXML("IdInformante"      ,SM0->M0_CGC			,,,,,4 ,.T.,.T.,.T.)
RAZSOC     C 100 0 MontaXML("razonSocial"    	,SM0->M0_NOMECOM		,,,,,4 ,.T.,.T.,.T.)
ANIO       C 004 0 MontaXML("Anio"           	,substr(dTOs(MV_PAR01),1,4)	,,,,,4 ,.T.,.T.,.T.)
MES        C 002 0 MontaXML("Mes"            	,substr(dTOs(MV_PAR01),5,2)	,,,,,4 ,.T.,.T.,.T.)
NUMESTRUC  C 015 0 MontaXML("numEstabRuc"      	,_atotal[30][2]			,,,,,4 ,.T.,.T.,.T.)
TVentas    C 015 0 MontaXML("totalVentas"      	,STRTRAN(TRANSFORM(0 ,"@E 9999999999.99"),',','.')  ,,,,,4 ,.T.,.T.,.T.)
CodOpera   C 015 0 MontaXML("codigoOperativo"   ,"IVA"					,,,,,4 ,.T.,.T.,.T.)
Compras    C 000 0 MontaXML("compras"        	,						,,,,,4 ,.T.,.F.,.T.)
(POS)

[XXX Extraindo Livro fiscal Compras]
(PRE) _atotal[31] := LFeqXMLan1(DTOS(MV_PAR01),DTOS(MV_PAR02)) 

[TRA Geração do XML]
//(IMP) {.T.,1,1,"Compras"}
//(CMP) {{"CODSUST","Sustento"},{"IDPROV","Ident."},{"TPCOMPROV","Tipo Compr."},{"ESTABL","Estab."},{"PONTOVEND","Punto Venta"},{"SEQUEN","Secu."}}
//,{"Autoriz","Autoriz"},{"BasNoGRiva","Base IVA 0%"},{"BasImponib","Base IVA Dif 0%"},{"BasImpGrav","Base obj IVA"},{"ValIVA","Monto IVA"}}
(PRE) TRA->(dbGoTop())
(PREREG) _aTotal[024] := IIF(_aTotal[021], IIF(Alltrim(TRA->TPDOC) =='01' .AND. Alltrim(TRA->TPVENT) =='1' .AND. Alltrim(TRA->TIPOPE) =='41', 1,0),0)
(PREREG) _aTotal[012] := RetIR(TRA->FILIAL, TRA->CLIEFOR, TRA->LOJA, TRA->NFISCAL, TRA->SERIE)
(PREREG) _aTotal[022] := IIF(_aTotal[024] > 0 , obtTotReem(TRA->NFISCAL,TRA->SERIE, TRA->CLIEFOR, TRA->LOJA),{})
(PREREG) _aTotal[023] := IIF(_aTotal[024] > 0 , ObtReem (TRA->FILIAL, TRA->NFISCAL, TRA->SERIE, TRA->CLIEFOR, TRA->LOJA),{})
(PREREG) _aTotal[025] := IIf(_aTotal[024] > 0 .AND. LEN(_aTotal[023])>0,_aTotal[023][1], "" )

DetCompr   C 000 0 MontaXML("detalleCompras" 	,						,,,,,8 ,.T.,.F.,.T.)
CODSUST    C 002 0 MontaXML("codSustento"    	,TRA->CDSUSTEN			,,,,,12,.T.,.T.,.T.)
TpIdProv   C 000 0 MontaXML("tpIdProv"       	,TRA->TPLDPROV			,,,,,12,.T.,.T.,.T.)
IDPROV     C 013 0 MontaXML("idProv"         	,TRA->IDPROV      		,,,,,12,.T.,.T.,.T.)
TPCOMPROV  C 002 0 MontaXML("tipoComprobante"	,TRA->TPCOMPRO    		,,,,,12,.T.,.T.,.T.)
PARRELC    C 002 0 MontaXML("parteRel"			,"NO"    				,,,,,12,.T.,.T.,.T.)
dTReg      C 000 0 MontaXML("fechaRegistro"  	,DToC(TRA->DTFECH)     	,,,,,12,.T.,.T.,.T.)

ESTABL     C 003 0 MontaXML("establecimiento"	,TRA->ESTABEL			,,,,,12,.T.,.T.,.T.)
PONTOVEND  C 003 0 MontaXML("puntoEmision"		,TRA->PTEMIS			,,,,,12,.T.,.T.,.T.)
SEQUEN     C 009 0 MontaXML("secuencial"		,TRA->SEQUENC			,,,,,12,.T.,.T.,.T.)
DtEmis     C 000 0 MontaXML("fechaEmision"		,TRA->DTEMISS 			,,,,,12,.T.,.T.,.T.)
Autoriz    C 000 0 MontaXML("autorizacion"		,TRA->AUTORIZ			,,,,,12,.T.,.T.,.T.)
BasNoGRiva C 000 0 MontaXML("baseNoGraIva"		,STRTRAN(TRANSFORM(TRA->BASNOGRV ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
BasImponib C 000 0 MontaXML("baseImponible"		,STRTRAN(TRANSFORM(TRA->BASIMPON ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
BasImpGrav C 000 0 MontaXML("baseImpGrav"		,STRTRAN(TRANSFORM(TRA->BASIMPGR ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
BasImpEx   C 000 0 MontaXML("baseImpExe"		,STRTRAN(TRANSFORM(_aTotal[012][5] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValICE     C 000 0 MontaXML("montoIce"			,STRTRAN(TRANSFORM(TRA->TOTALICE ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValIVA     C 000 0 MontaXML("montoIva"			,STRTRAN(TRANSFORM(TRA->TOTALIVA ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRetB10  C 000 0 MontaXML("valRetBien10"		,STRTRAN(TRANSFORM(_aTotal[012][2] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRetS20  C 000 0 MontaXML("valRetServ20"		,STRTRAN(TRANSFORM(_aTotal[012][3] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValIvaBens C 000 0 MontaXML("valorRetBienes"	,STRTRAN(TRANSFORM(_aTotal[012][6] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRetS20  C 000 0 MontaXML("valRetServ50"		,STRTRAN(TRANSFORM(_aTotal[012][4],"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValIvaServ C 000 0 MontaXML("valorRetServicios"	,STRTRAN(TRANSFORM(_aTotal[012][7] ,"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValRet100  C 000 0 MontaXML("valRetServ100"		,STRTRAN(TRANSFORM(_aTotal[012][8],"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
ValReemb   C 000 0 MontaXML("totbasesImpReemb"	,STRTRAN(TRANSFORM(IIF(LEN(_aTotal[022])>0,_aTotal[022][1][2],0 ),"@E 9999999999.99"),',','.') ,,,,,12,.T.,.T.,.T.)
PagExt     C 003 0 MontaXML("pagoExterior"		,						,,,,,12 ,.T.,.F.,.T.)
PagoLocE   C 002 0 MontaXML("pagoLocExt"		,"01"					,,,,,16,.T.,.T.,.T.)
EPagoGen   C 002 0 MontaXML("paisEfecPago"		,"NA"					,,,,,16,.T.,.T.,.T.)
Convenio   C 002 0 MontaXML("aplicConvDobTrib"	,"NA"					,,,,,16,.T.,.T.,.T.)
EPagoPar   C 002 0 MontaXML("pagExtSujRetNorLeg"		,"NA"			,,,,,16,.T.,.T.,.T.)
PagExtF    C 000 0 MontaXML("pagoExterior"		,						,,,,,12 ,.F.,.T.,.T.)
ForPag     C 000 0 MontaXML("formasDePago"		,						,,,,,12 ,.T.,.F.,.T.)
PagoLocE   C 000 0 MontaXML("formaPago"		    ,TRA->FORPAGO			,,,,,16,.T.,.T.,.T.)
ForPagF    C 000 0 MontaXML("formasDePago"		,						,,,,,12 ,.F.,.T.,.T.)
Air        C 000 0 _aTotal[012][1]
Reembol    C 000 0 _aTotal[025]
DetComprF  C 000 0 MontaXML("detalleCompras"		,					,,,,,8 ,.F.,.T.,.T.)

[XXX - livro Fiscal Vendas]
ComprasF   C 000 0 MontaXML("compras"				,					,,,,,4 ,.F.,.T.,.T.)
Vendas     C 000 0 MontaXML("ventas"				,					,,,,,4 ,.T.,.F.,.T.)


[TRB Geração do XML]
(PRE) TRB->(dbGoTop())

DtVendas   C 000 0 MontaXML("detalleVentas"	,							,,,,,8 ,.T.,.F.,.T.)
TpIdClie   C 000 0 MontaXML("tpIdCliente"	,TRB->TIPDOC				,,,,,12,.T.,.T.,.T.)
IdClien    C 000 0 MontaXML("idCliente"		,TRB->CDCGC					,,,,,12,.T.,.T.,.T.)
PARRELV    C 000 0 MontaXML("parteRelVtas"	,"NO"						,,,,,12,.T.,.T.,.T.)
Tpcomprova C 000 0 MontaXML("tipoComprobante"	,TRB->ESPECIE			,,,,,12,.T.,.T.,.T.)
TEmision   C 000 0 MontaXML("tipoEmision"	,"E"						,,,,,12,.T.,.T.,.T.)
NumComprov C 000 0 MontaXML("numeroComprobantes",cvaltochar(TRB->QTDNF)		,,,,,12,.T.,.T.,.T.)
BS2NoGrIva C 000 0 MontaXML("baseNoGraIva"	,STRTRAN(TRANSFORM(TRB->EXENTAS ,"@E 9999999999.99"),',','.')	,,,,,12,.T.,.T.,.T.)
BS2Imponib C 000 0 MontaXML("baseImponible"	,STRTRAN(TRANSFORM(TRB->ALQZERO ,"@E 9999999999.99"),',','.')	,,,,,12,.T.,.T.,.T.)
BS2ImpGrav C 000 0 MontaXML("baseImpGrav"	,STRTRAN(TRANSFORM(TRB->ALQNOZER,"@E 9999999999.99"),',','.') 	,,,,,12,.T.,.T.,.T.)
Vl2IVA     C 000 0 MontaXML("montoIva"		,STRTRAN(TRANSFORM(TRB->VALIMP  ,"@E 9999999999.99"),',','.') 	,,,,,12,.T.,.T.,.T.)
MontoICE   C 000 0 MontaXML("montoIce"		,STRTRAN(TRANSFORM(TRB->VALICE  ,"@E 9999999999.99"),',','.')	,,,,,12,.T.,.T.,.T.)
Vl2RetIVA  C 000 0 MontaXML("valorRetIva"	,STRTRAN(TRANSFORM(TRB->IVARET  ,"@E 9999999999.99"),',','.') 	,,,,,12,.T.,.T.,.T.)
Vl2RetRent C 000 0 MontaXML("valorRetRenta"	,STRTRAN(TRANSFORM(TRB->VALIRR  ,"@E 9999999999.99"),',','.') 	,,,,,12,.T.,.T.,.T.)
ForPago    C 000 0 MontaXML("formasDePago"	,							,,,,,12 ,.T.,.F.,.T.)
TEmision   C 000 0 MontaXML("formaPago"		,TRB->FORPAGO				,,,,,16,.T.,.T.,.T.)
ForPagoF   C 000 0 MontaXML("formasDePago"	,							,,,,,12 ,.F.,.T.,.T.)
DtVendasF  C 000 0 MontaXML("detalleVentas"	,							,,,,,8 ,.F.,.T.,.T.)

[XXX - livro Fiscal Ventas Establecimiento]
ComprasF   C 000 0 MontaXML("ventas"		,							,,,,,4 ,.F.,.T.,.T.)
Vendas     C 000 0 MontaXML("ventasEstablecimiento"		,				,,,,,4 ,.T.,.F.,.T.)

[TRV Geração do XML]
(PRE) TRV->(dbGoTop())
VenEstab   C 000 0 MontaXML("ventaEst"		,							,,,,,8 ,.T.,.F.,.T.)
CodEstab   C 000 0 MontaXML("codEstab"		,TRV->CODEST				,,,,,12,.T.,.T.,.T.)
VenEstab   C 000 0 MontaXML("ventasEstab"	,STRTRAN(TRANSFORM(0 ,"@E 9999999999.99"),',','.')	,,,,,12,.T.,.T.,.T.)
IvaComp    C 000 0 MontaXML("ivaComp"		,STRTRAN(TRANSFORM(0 ,"@E 9999999999.99"),',','.')	,,,,,12,.T.,.T.,.T.)
VenEstabF  C 000 0 MontaXML("ventaEst"		,							,,,,,8 ,.F.,.T.,.T.)

[XXX Identificação do Exportaciones]
VendasF    C 000 0 MontaXML("ventasEstablecimiento"		,				,,,,,4 ,.F.,.T.,.T.)
Exporta    C 000 0 MontaXML("exportaciones"				,				,,,,,4 ,.T.,.F.,.T.)

[XXX Criacao do arquivo notas exportacion]
(PRE) _atotal[32] := LFeXMLaVEx(DTOS(MV_PAR01),DTOS(MV_PAR02)) 

[TEX Geração do XML]
(PRE) TEX->(dbGoTop())
(PREREG) _aTotal[33]	:= IIf(TEX->TIPCLIE == '01', TEX->FCHREGCONT, TEX->COMPFCHEMI)

dtexporta  C 000 0 MontaXML("detalleExportaciones"	,				,,,,,8 ,.T.,.F.,.T.)
tpidcliext C 000 0 MontaXML("tpIdClienteEx"			,TEX->TPIDCLIEXT,,,,,12,.T.,.T.,.T.)
idclienext C 000 0 MontaXML("idClienteEx"			,TEX->IDCLIEXT	,,,,,12,.T.,.T.,.T.)
ptrelac    C 000 0 MontaXML("parteRelExp"			,TEX->PARTREL	,,,,,12,.T.,.T.,.T.)
tipoclient C 000 0 MontaXML("tipoCli"				,TEX->TIPCLIE	,,,,,12,.T.,.T.,.T.)
denomexpor C 000 0 MontaXML("denoExpCli"			,TEX->DENEXPCLI	,,,,,12,.T.,.T.,.T.)
tpregfsext C 000 0 MontaXML("tipoRegi"				,TEX->TIPREGI	,,,,,12,.T.,.T.,.T.)
paising    C 000 0 IIf(TEX->TIPREGI == "01", MontaXML("paisEfecPagoGen"		,TEX->PEFEPAGGEN,,,,,12,.T.,.T.,.T.), "")
paisparfis C 000 0 IIf(TEX->TIPREGI == "02", MontaXML("paisEfecPagoParFis"	,TEX->PPAGPARFIS,,,,,12,.T.,.T.,.T.), "")
denoregfis C 000 0 MontaXML("denopagoRegFis"		,TEX->DENREGFIS	,,,,,12,.T.,.T.,.T.)
paisexp    C 000 0 MontaXML("paisEfecExp"			,TEX->PAISEFEEXP,,,,,12,.T.,.T.,.T.)
tipoexp    C 000 0 MontaXML("exportacionDe"			,TEX->TPEXPING	,,,,,12,.T.,.T.,.T.)
tipoingres C 000 0 IIf(TEX->TPEXPING == "03", MontaXML("tipIngExt"			,TEX->TPINGEXT	,,,,,12,.T.,.T.,.T.), "")
ingextgrav C 000 0 IIf(TEX->TPEXPING == "03", MontaXML("ingExtGravOtroPais"	,TEX->INGEXTGAV	,,,,,12,.T.,.T.,.T.), "")
valimpext  C 000 0 IIf(TEX->INGEXTGAV == 'S', MontaXML("impuestoOtroPais"	,STRTRAN(TRANSFORM(TEX->IMPOTROPA	,"@E 999999999.99"),',','.'),,,,,12,.T.,.T.,.T.), "")
tipcompr   C 000 0 MontaXML("tipoComprobante"		,TEX->TPCOMP	,,,,,12,.T.,.T.,.T.)
distaduan  C 000 0 IIf(TEX->TPEXPING == '01', MontaXML("distAduanero"		,TEX->REFDISADUA,,,,,12,.T.,.T.,.T.), "")
refanio    C 000 0 IIf(TEX->TPEXPING == '01', MontaXML("anio"				,STR(YEAR(_aTotal[33])),,,,,12,.T.,.T.,.T.), "")
refregim   C 000 0 IIf(TEX->TPEXPING == '01', MontaXML("regimen"			,TEX->REFREGIME	,,,,,12,.T.,.T.,.T.), "")
refcorrel  C 000 0 IIf(TEX->TPEXPING == '01', MontaXML("correlativo"		,TEX->REFCORREL1,,,,,12,.T.,.T.,.T.), "")
nodoctrans C 000 0 IIf(TEX->TPEXPING == '01', MontaXML("docTransp"			,TEX->DOCTRANSP	,,,,,12,.T.,.T.,.T.), "")
fchregcont C 000 0 MontaXML("fechaEmbarque"			,DToC(_aTotal[33]),,,,,12,.T.,.T.,.T.)
valfob     C 000 0 MontaXML("valorFOB"				,STRTRAN(TRANSFORM(TEX->VALORFOB	,"@E 9999999999.99"),',','.')	,,,,,12,.T.,.T.,.T.)
valcompr   C 000 0 MontaXML("valorFOBComprobante"	,STRTRAN(TRANSFORM(TEX->VLFOBCOMP	,"@E 9999999999.99"),',','.')	,,,,,12,.T.,.T.,.T.)
nsercomest C 000 0 MontaXML("establecimiento"		,TEX->NOSERCOMPR,,,,,12,.T.,.T.,.T.)
nsercomemi C 000 0 MontaXML("puntoEmision"			,TEX->PTOEMISION,,,,,12,.T.,.T.,.T.)
nseccompve C 000 0 MontaXML("secuencial"			,TEX->COMPRSECU	,,,,,12,.T.,.T.,.T.)
nautoriza  C 000 0 MontaXML("autorizacion"			,TEX->COMPRAUTOR,,,,,12,.T.,.T.,.T.)
fchemision C 000 0 MontaXML("fechaEmision"			,DToC(TEX->COMPFCHEMI)	,,,,,12,.T.,.T.,.T.)
dtexportaF C 000 0 MontaXML("detalleExportaciones"	,				,,,,,8 ,.F.,.T.,.T.)

[XXX Identificação do Contribuinte]
ExportaF   C 000 0 MontaXML("exportaciones"			,				,,,,,4 ,.F.,.T.,.T.)
Anulados   C 000 0 MontaXML("anulados"				,				,,,,,4 ,.T.,.F.,.T.)

[XXX Criacao do arquivo notas canceladas]
(PRE) _atotal[34] := LFeqXMLcan(DTOS(MV_PAR01),DTOS(MV_PAR02)) 

[TRC Geração do XML]
(PRE) TRC->(dbGoTop())
Dtanulado  C 000 0 MontaXML("detalleAnulados"	,				,,,,,8 ,.T.,.F.,.T.)
tpcompro   C 000 0 MontaXML("tipoComprobante"	,TRC->TIPDOC	,,,,,12,.T.,.T.,.T.)
estabelec  C 000 0 MontaXML("establecimiento"	,TRC->ESTAB		,,,,,12,.T.,.T.,.T.)
ptemissao  C 000 0 MontaXML("puntoEmision"		,TRC->PTEMIS	,,,,,12,.T.,.T.,.T.)
sequenIni  C 000 0 MontaXML("secuencialInicio"  ,TRC->SEQINI	,,,,,12,.T.,.T.,.T.)
sequenfin  C 000 0 MontaXML("secuencialFin"		,TRC->SEQFIM	,,,,,12,.T.,.T.,.T.)
autoriz    C 000 0 MontaXML("autorizacion"		,TRC->AUTORIZ	,,,,,12,.T.,.T.,.T.)
Dtanuladof C 000 0 MontaXML("detalleAnulados"	,				,,,,,8 ,.F.,.T.,.T.)

[XXX Finalização]
AnuladosF  C 000 0 MontaXML("anulados"			,				,,,,,4 ,.F.,.T.,.T.)
IVAF       C 000 0 MontaXML("iva"				,				,,,,,4 ,.F.,.T.,.T.)

[XXX - Nome do Arquivo]
(ARQ) &('_aTotal[7]')

...