Árvore de páginas

Versões comparadas

Chave

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

...

Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:

SIGAFIS - Libros Fiscales

SIGAFAT - Facturación

Función:

   

Rutina(s)Nombre TécnicoFecha
LOCXNFNotas FiscalesXX16/XX11/XXXX2021
LOCXEQUFunciones genéricas Notas Fiscales EcuadorXX16/XX11/XXXX2021
GERXMLA1Funciones genéricas XML para ATSXX16/XX11/XXXX2021
FISA814Carga de catálogos en formato .csvXX16/XX11/XXXX2021
MATA468NGeneración de NotasXX16/XX/XXXX11/2021

   

Archivo relacionadoNombre TécnicoFecha
EQUATF.INIEstructura de Archivo Transaccional Simplificado (ATS)
XX
16/
XX
11/
XXXX
2021

   

País:Ecuador
Ticket:12438024
Requisito/Story/Issue (informe el requisito vinculado):DMINA-13780

...

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


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]')

...