01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||||||||
Segmento: | Backoffice | ||||||||||||
Módulo: | SIGAFIS - Libros Fiscales | ||||||||||||
Función: |
| ||||||||||||
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.
Clave | Descripción |
---|---|
04 | RUC |
05 | CÉDULA |
06 | PASAPORTE / IDENTIFICACIÓN TRIBUTARIA DEL EXTERIOR |
07 | CONSUMIDOR FINAL |
19 | PLACA 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.
- Ingresar al módulo Libros Fiscales (SIGAFIS)
- Ir al menú "Miscelanea | Cálculos | Arch. Magnéticos" (MATA950)
- 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.
- Dar clic en Confirmar e informar los campos requeridos en el Wizard, continuar hasta la generación del archivo.
- Abrir el documento generado en la ubicación y con el nombre indicados en el punto 3.
- 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:
?{"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]')
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.¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
- Documento de Referencia:
Anexo Transaccional Simplificado (ATS) - Ecuador