Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFIS - Libros Fiscales
Función:
RutinaNombre técnicoFecha
GERXMLA1Funciones genéricas XML para ATS03/02/2022
ArchivoNombre técnicoFecha
EQUATF.INIEstructura de Archivo Transaccional Simplificado (ATS)03/02/2022
País:Ecuador (EQU)
Ticket:13206414
Requisito/Story/Issue (informe el requisito vinculado):DMINA-14717


02. SITUACIÓN/REQUISITO

Al realizar la generación del Anexo Transaccional Simplificado (ATS), se observa que existen reinterpretaciones para la generación del contenido del elemento tpIdCliente (sección Ventas), el cual reasigna el contenido con las opciones "04", "05", "06" o "07" en lugar de tomar directamente del Cliente el contenido del campo Tipo Doc (A1_TIPDOC).

03. SOLUCIÓN

En la rutina Funciones genéricas XML para ATS (GERXMLA1) se actualiza la función LFeqXMLanV() para asignar el valor del elemento tpIdCliente con el contenido del campo Tipo Doc (A1_TIPDOC) para los documentos de salida; además se añade a la tabla temporal de documentos de salida los campos para los elementos tipoCliente y denoCli los cuales son informados con el contenido de los campos Tipo (A1_TIPO) y Nombre (A1_NOME), ya que son requeridos cuando el elemento tpIdCliente es "06".

IMPORTANTE

La tabla genérica "TB" debe contar con la siguiente configuración de acuerdo a lo definido por el Servicio de Rentas Internas (SRI) en la Tabla 2 de la Ficha Técnica del Anexo Transaccional Simplificado.

ClaveDescripción
04RUC
05CÉDULA
06PASAPORTE / IDENTIFICACIÓN
TRIBUTARIA DEL EXTERIOR
07 CONSUMIDOR FINAL
19PLACA o RAMV/CPN
  • Realizar un respaldo del Repositorio (.rpo)
  • Realizar un respaldo del archivo de Estructura de Archivo Transaccional Simplificado (ATS) (EQUATF.INI que se encuantra en la carpeta system del ambiente)
  • Aplicar el parche correspondiente al issue DMINA-14717.
    • Validar que las rutinas actualizadas coincidan con las indicadas en la sección Función del punto 01. DATOS GENERALES
  • Realizar la actualización del archivo de Estructura de Archivo Transaccional Simplificado (ATS) como se indica en la sección 04. INFORMACIÓN ADICIONAL
  • Contar con un Cliente que tenga informado lo siguiente:
    • Tipo Doc - Informar tipo de identificación "04".
    • RUC - Informar un RUC válido.
  • Incluir una Factura de Venta para el cliente del punto anterior.
  1. Ingresar al módulo Libros Fiscales (SIGAFIS)
  2. Ir al menú "Miscelanea | Cálculos | Arch. Magnéticos" (MATA950)
  3. Informar los parámetros requeridos indicando lo siguiente:
    • Periodo de fechas que incluya la factura generada en los Pre-requisitos
    • Instrucción Normativa EQUATF.
    • Nombre del archivo a generar.
    • Ruta donde será generado el archivo XML para ATS.
  4. Dar clic en Confirmar e informar los campos requeridos en el Wizard, continuar hasta la generación del archivo.
  5. Abrir el documento generado en la ubicación y con el nombre indicados en el punto 3.
  6. En el XML ubicar el registro correspondiente al RUC del Cliente (mediante el elemento idCliente), donde el elemento tpIdCliente contendrá el valor "04".


04. INFORMACIÓN ADICIONAL

Se realizan las siguientes actualizaciones al archivo Estructura de Archivo Transaccional Simplificado (ATS) (EQUATF.INI), se recomienda editar el archivo de estructura actualizando las secciones de acuerdo al modelo siguiente, en donde las líneas resaltadas se agregaron o fueron modificadas:

EQUATF.INI

?{"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" ,GXMLCarEsp(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 IIF(TRB->TIPDOC $ "04|05|06", MontaXML("parteRelVtas","NO" ,,,,,12,.T.,.T.,.T.), "")
tipoCli C 000 0 IIF(TRB->TIPDOC $ "06" , MontaXML("tipoCliente" ,TRB->TIPCLIE ,,,,,12,.T.,.T.,.T.), "")
denoCli C 000 0 IIF(TRB->TIPDOC $ "06" , MontaXML("denoCli" ,GXMLCarEsp(TRB->DENOCLI) ,,,,,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 IIf(TEX->TPIDCLIEXT == "21", MontaXML("tipoCli" ,TEX->TIPCLIE ,,,,,12,.T.,.T.,.T.), "")
denomexpor C 000 0 IIf(TEX->TPIDCLIEXT == "21", MontaXML("denoExpCli" ,GXMLCarEsp(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 == 'SI', 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]')



¡IMPORTANTE!

Solución disponible para versión 12.1.17, 12.1.27 o superior que cuente con las rutinas actualizadas con una versión igual o superior a las indicadas en el presente documento técnico.


05. ASUNTOS RELACIONADOS

  • Documento de Referencia:
    Anexo Transaccional Simplificado (ATS) - Ecuador