Línea de Producto: | Microsiga Protheus | ||||||
Segmento: | Servicios - Mercado Internacional | ||||||
Módulo: | SIGAFAT - Facturación | ||||||
Función: |
| ||||||
Situación/Requisito: | Se solicita la apertura del Punto de Eentrada M485NFDET para modificar detalle del XML (NFAEXMLECU) y que se desarrolle nuevo punto de entrada Entrada M485NFDET permitir modificación de detalle en generación de XML para transmisión de documentos electrónicos y además se requiere desarrollar un nuevo Punto de Entrada para modificar encabezado de XML para documentos electrónicos de Factura de Venta (NF), Notas de Débito (NDC) y Nota de Crédito (NCC). | ||||||
Solución/Implementación: | En la rutina de Generación de XML de Documentos Electrónicos para país Ecuador (NFAEXMLECU), se realiza la apertura de los siguientes Puntos de Entrada siguientesEntrada para permitir modificación de estructura en nodo Detalle:
Los siguientes puntos de entrada, reemplazan las sección "Encabezado" del XML. Asegúrese de generar las secciones que abarca este elemento, ya que de no generar correctamente la estructura del encabezado podrían ocurrir errores de esquema al enviar el XML a TSS o bien al enviar el documento a signature. Se recomienda precausión en su uso.
Se realiza la apertura de los siguientes Puntos de Entrada para permitir modificación de estructura de archivo XML en nodo Encabezado.
Importante: Asegúrese de generar las secciones de acuerdo al estándar solicitado por Sinature, ya que podrían ocurrir errores de esquema al enviar el XML a TSS o al enviar el documento a Signature. | ||||||
Requisito (Issue): | DMINA-4904 (v 11.8) | ||||||
Versión: | 11.8 |
A continuación se describe el uso y ejemplos de cómo utilizar los puntos de entrada mencionados en este documento técnico:
Descripción: | M485DETNF.- Personalización de los valores del detalle en los documentos electrónicos Factura de Venta. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir documento | ||||||||
Programa Fuente: | NFAEXMLECU.PRW | ||||||||
Función: | NFAEXMLECU | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
10} //Descuento
Return aM485DET
Descripción: | M485DNDC.- Personalización de los valores del detalle en los documentos electrónicos Nota de Débito. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir documento | ||||||||
Programa Fuente: | NFAEXMLECU.PRW | ||||||||
Función: | NFAEXMLECU | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
10} //Descuento
Return aM485DET
Descripción: | M485DNCC.- Personalización de los valores del detalle en los documentos electrónicos Nota de Crédito. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir documento | ||||||||
Programa Fuente: | NFAEXMLECU.PRW | ||||||||
Función: | NFAEXMLECU | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
10} //Descuento
Return aM485DET
Descripción: | M485ENDC.- Personalización de los valores del Encabezado en los documentos electrónicos Nota de Débito. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir documento | ||||||||
Programa Fuente: | NFAEXMLECU.PRW | ||||||||
Función: | NFAEXMLECU | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Local cRet := ""
Local cFilPE := PARAMIXB[1] //Filial
Local cDocPE := PARAMIXB[2] //Num. Documento
Local cSerPE := PARAMIXB[3] //Serie
Local cEspPE := PARAMIXB[4] //Especie
Local cCliPE := PARAMIXB[5] //Clientes
Local cLojPE := PARAMIXB[6] //Tienda
cRet := "<Encabezado>" + chr(13)+ chr(10)
cRet += " <IdDoc>" + chr(13)+ chr(10)
cRet += " <Ambiente>1</Ambiente>" + chr(13)+ chr(10)
cRet += " <TipoEmision>1</TipoEmision>" + chr(13)+ chr(10)
cRet += " <ContenidoTC></ContenidoTC>" + chr(13)+ chr(10)
cRet += " <Tipo>03</Tipo>" + chr(13)+ chr(10)
cRet += " <Serie>A</Serie>" + chr(13)+ chr(10)
cRet += " <Numero>000000001</Numero>" + chr(13)+ chr(10)
cRet += " <Estado>ORIGINAL</Estado>" + chr(13)+ chr(10)
cRet += " <FechaEmis>2018-11-29T16:37:00Z</FechaEmis>" + chr(13)+ chr(10)
cRet += " <Establecimiento>001</Establecimiento>" + chr(13)+ chr(10)
cRet += " <PtoEmis>001</PtoEmis>" + chr(13)+ chr(10)
cRet += " </IdDoc>" + chr(13)+ chr(10)
cRet += " <Emisor>" + chr(13)+ chr(10)
cRet += " <TipoContribuyente>5368</TipoContribuyente>" + chr(13)+ chr(10)
cRet += " <RegimenContable>SI</RegimenContable>" + chr(13)+ chr(10)
cRet += " <IDEmisor>20517833101</IDEmisor>" + chr(13)+ chr(10)
cRet += " <NmbEmisor>EMPRESA 001</NmbEmisor>" + chr(13)+ chr(10)
cRet += " <NombreEmisor>" + chr(13)+ chr(10)
cRet += " <PrimerNombre>EMPRESA NOMBRE</PrimerNombre>" + chr(13)+ chr(10)
cRet += " </NombreEmisor>" + chr(13)+ chr(10)
cRet += " <DomFiscal>" + chr(13)+ chr(10)
cRet += " <Calle>cALLE Y NUMERO</Calle>" + chr(13)+ chr(10)
cRet += " <Departamento>CU</Departamento>" + chr(13)+ chr(10)
cRet += " <Distrito>CU</Distrito>" + chr(13)+ chr(10)
cRet += " <Ciudad>CU</Ciudad>" + chr(13)+ chr(10)
cRet += " <Municipio>CU</Municipio>" + chr(13)+ chr(10)
cRet += " <Pais>218</Pais>" + chr(13)+ chr(10)
cRet += " <CodigoPostal>01259030</CodigoPostal>" + chr(13)+ chr(10)
cRet += " </DomFiscal>" + chr(13)+ chr(10)
cRet += " <LugarExped>" + chr(13)+ chr(10)
cRet += " <Calle>AV. BRAZ LEME, 1631</Calle>" + chr(13)+ chr(10)
cRet += " </LugarExped>" + chr(13)+ chr(10)
cRet += " </Emisor>" + chr(13)+ chr(10)
cRet += " <Receptor>" + chr(13)+ chr(10)
cRet += " <DocRecep>" + chr(13)+ chr(10)
cRet += " <TipoDocRecep>04</TipoDocRecep>" + chr(13)+ chr(10)
cRet += " <NroDocRecep>1791287118001</NroDocRecep>" + chr(13)+ chr(10)
cRet += " </DocRecep>" + chr(13)+ chr(10)
cRet += " <NmbRecep>NOMBRE DE TU EMPRESA</NmbRecep>" + chr(13)+ chr(10)
cRet += " </Receptor>" + chr(13)+ chr(10)
cRet += " <Transporte>" + chr(13)+ chr(10)
cRet += " <MedioTransporte>" + chr(13)+ chr(10)
cRet += " <MetodoTransp>MetodoTransp</MetodoTransp>" + chr(13)+ chr(10)
cRet += " </MedioTransporte>" + chr(13)+ chr(10)
cRet += " </Transporte>" + chr(13)+ chr(10)
cRet += " <Totales>" + chr(13)+ chr(10)
cRet += " <Moneda>USD</Moneda>" + chr(13)+ chr(10)
cRet += " <SubTotal>500.00</SubTotal>" + chr(13)+ chr(10)
cRet += " <MntDcto>0</MntDcto>" + chr(13)+ chr(10)
cRet += " <VlrPagar>560.00</VlrPagar>" + chr(13)+ chr(10)
cRet += " <MontoPropina>0.00</MontoPropina>" + chr(13)+ chr(10)
cRet += " </Totales>" + chr(13)+ chr(10)
cRet += " <Impuestos>" + chr(13)+ chr(10)
cRet += " <TipoImp>2</TipoImp>" + chr(13)+ chr(10)
cRet += " <CodTasamp>2</CodTasamp>" + chr(13)+ chr(10)
cRet += " <TasaImp>18.00</TasaImp>" + chr(13)+ chr(10)
cRet += " <MontoBAseImp>1500.00</MontoBAseImp>" + chr(13)+ chr(10)
cRet += " <MontoImp>160.00</MontoImp>" + chr(13)+ chr(10)
cRet += " </Impuestos>" + chr(13)+ chr(10)
cRet += "</Encabezado>"
Return cRet
Descripción: | M485ENCNF.- Personalización de los valores del Encabezado en los documentos electrónicos Factura de Venta. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir documento | ||||||||
Programa Fuente: | NFAEXMLECU.PRW | ||||||||
Función: | NFAEXMLECU | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Local cRet := ""
Local cFilPE := PARAMIXB[1] //Filial
Local cDocPE := PARAMIXB[2] //Num. Documento
Local cSerPE := PARAMIXB[3] //Serie
Local cEspPE := PARAMIXB[4] //Especie
Local cCliPE := PARAMIXB[5] //Clientes
Local cLojPE := PARAMIXB[6] //Tienda
cRet := "<Encabezado>" + chr(13)+ chr(10)
cRet += " <IdDoc>" + chr(13)+ chr(10)
cRet += " <Ambiente>1</Ambiente>" + chr(13)+ chr(10)
cRet += " <TipoEmision>1</TipoEmision>" + chr(13)+ chr(10)
cRet += " <ContenidoTC></ContenidoTC>" + chr(13)+ chr(10)
cRet += " <Tipo>01</Tipo>" + chr(13)+ chr(10)
cRet += " <Serie>A</Serie>" + chr(13)+ chr(10)
cRet += " <Numero>000000001</Numero>" + chr(13)+ chr(10)
cRet += " <Estado>ORIGINAL</Estado>" + chr(13)+ chr(10)
cRet += " <FechaEmis>2018-11-29T16:37:00Z</FechaEmis>" + chr(13)+ chr(10)
cRet += " <Establecimiento>001</Establecimiento>" + chr(13)+ chr(10)
cRet += " <PtoEmis>001</PtoEmis>" + chr(13)+ chr(10)
cRet += " </IdDoc>" + chr(13)+ chr(10)
cRet += " <Emisor>" + chr(13)+ chr(10)
cRet += " <TipoContribuyente>5368</TipoContribuyente>" + chr(13)+ chr(10)
cRet += " <RegimenContable>SI</RegimenContable>" + chr(13)+ chr(10)
cRet += " <IDEmisor>20517833101</IDEmisor>" + chr(13)+ chr(10)
cRet += " <NmbEmisor>EMPRESA 001</NmbEmisor>" + chr(13)+ chr(10)
cRet += " <NombreEmisor>" + chr(13)+ chr(10)
cRet += " <PrimerNombre>EMPRESA NOMBRE</PrimerNombre>" + chr(13)+ chr(10)
cRet += " </NombreEmisor>" + chr(13)+ chr(10)
cRet += " <DomFiscal>" + chr(13)+ chr(10)
cRet += " <Calle>cALLE Y NUMERO</Calle>" + chr(13)+ chr(10)
cRet += " <Departamento>CU</Departamento>" + chr(13)+ chr(10)
cRet += " <Distrito>CU</Distrito>" + chr(13)+ chr(10)
cRet += " <Ciudad>CU</Ciudad>" + chr(13)+ chr(10)
cRet += " <Municipio>CU</Municipio>" + chr(13)+ chr(10)
cRet += " <Pais>218</Pais>" + chr(13)+ chr(10)
cRet += " <CodigoPostal>01259030</CodigoPostal>" + chr(13)+ chr(10)
cRet += " </DomFiscal>" + chr(13)+ chr(10)
cRet += " <LugarExped>" + chr(13)+ chr(10)
cRet += " <Calle>AV. BRAZ LEME, 1631</Calle>" + chr(13)+ chr(10)
cRet += " </LugarExped>" + chr(13)+ chr(10)
cRet += " </Emisor>" + chr(13)+ chr(10)
cRet += " <Receptor>" + chr(13)+ chr(10)
cRet += " <DocRecep>" + chr(13)+ chr(10)
cRet += " <TipoDocRecep>04</TipoDocRecep>" + chr(13)+ chr(10)
cRet += " <NroDocRecep>1791287118001</NroDocRecep>" + chr(13)+ chr(10)
cRet += " </DocRecep>" + chr(13)+ chr(10)
cRet += " <NmbRecep>NOMBRE DE TU EMPRESA</NmbRecep>" + chr(13)+ chr(10)
cRet += " </Receptor>" + chr(13)+ chr(10)
cRet += " <Transporte>" + chr(13)+ chr(10)
cRet += " <MedioTransporte>" + chr(13)+ chr(10)
cRet += " <MetodoTransp>MetodoTransp</MetodoTransp>" + chr(13)+ chr(10)
cRet += " </MedioTransporte>" + chr(13)+ chr(10)
cRet += " </Transporte>" + chr(13)+ chr(10)
cRet += " <Totales>" + chr(13)+ chr(10)
cRet += " <Moneda>USD</Moneda>" + chr(13)+ chr(10)
cRet += " <SubTotal>500.00</SubTotal>" + chr(13)+ chr(10)
cRet += " <MntDcto>0</MntDcto>" + chr(13)+ chr(10)
cRet += " <VlrPagar>560.00</VlrPagar>" + chr(13)+ chr(10)
cRet += " <MontoPropina>0.00</MontoPropina>" + chr(13)+ chr(10)
cRet += " </Totales>" + chr(13)+ chr(10)
cRet += " <Impuestos>" + chr(13)+ chr(10)
cRet += " <TipoImp>2</TipoImp>" + chr(13)+ chr(10)
cRet += " <CodTasamp>2</CodTasamp>" + chr(13)+ chr(10)
cRet += " <TasaImp>18.00</TasaImp>" + chr(13)+ chr(10)
cRet += " <MontoBAseImp>1500.00</MontoBAseImp>" + chr(13)+ chr(10)
cRet += " <MontoImp>160.00</MontoImp>" + chr(13)+ chr(10)
cRet += " </Impuestos>" + chr(13)+ chr(10)
cRet += "</Encabezado>"
Return cRet
Descripción: | M485ENCC.- Personalización de los valores del Encabezado en los documentos electrónicos Nota de Crédito. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir documento | ||||||||
Programa Fuente: | NFAEXMLECU.PRW | ||||||||
Función: | NFAEXMLECU | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...
Local cRet := ""
Local cFilPE := PARAMIXB[1] //Filial
Local cDocPE := PARAMIXB[2] //Num. Documento
Local cSerPE := PARAMIXB[3] //Serie
Local cEspPE := PARAMIXB[4] //Especie
Local cCliPE := PARAMIXB[5] //Clientes
Local cLojPE := PARAMIXB[6] //Tienda
cRet := "<Encabezado>" + chr(13)+ chr(10)
cRet += " <IdDoc>" + chr(13)+ chr(10)
cRet += " <Ambiente>1</Ambiente>" + chr(13)+ chr(10)
cRet += " <TipoEmision>1</TipoEmision>" + chr(13)+ chr(10)
cRet += " <ContenidoTC></ContenidoTC>" + chr(13)+ chr(10)
cRet += " <Tipo>04</Tipo>" + chr(13)+ chr(10)
cRet += " <Serie>A</Serie>" + chr(13)+ chr(10)
cRet += " <Numero>000000001</Numero>" + chr(13)+ chr(10)
cRet += " <Estado>ORIGINAL</Estado>" + chr(13)+ chr(10)
cRet += " <FechaEmis>2018-11-29T16:37:00Z</FechaEmis>" + chr(13)+ chr(10)
cRet += " <Establecimiento>001</Establecimiento>" + chr(13)+ chr(10)
cRet += " <PtoEmis>001</PtoEmis>" + chr(13)+ chr(10)
cRet += " </IdDoc>" + chr(13)+ chr(10)
cRet += " <Emisor>" + chr(13)+ chr(10)
cRet += " <TipoContribuyente>5368</TipoContribuyente>" + chr(13)+ chr(10)
cRet += " <RegimenContable>SI</RegimenContable>" + chr(13)+ chr(10)
cRet += " <IDEmisor>20517833101</IDEmisor>" + chr(13)+ chr(10)
cRet += " <NmbEmisor>EMPRESA 001</NmbEmisor>" + chr(13)+ chr(10)
cRet += " <NombreEmisor>" + chr(13)+ chr(10)
cRet += " <PrimerNombre>EMPRESA NOMBRE</PrimerNombre>" + chr(13)+ chr(10)
cRet += " </NombreEmisor>" + chr(13)+ chr(10)
cRet += " <DomFiscal>" + chr(13)+ chr(10)
cRet += " <Calle>cALLE Y NUMERO</Calle>" + chr(13)+ chr(10)
cRet += " <Departamento>CU</Departamento>" + chr(13)+ chr(10)
cRet += " <Distrito>CU</Distrito>" + chr(13)+ chr(10)
cRet += " <Ciudad>CU</Ciudad>" + chr(13)+ chr(10)
cRet += " <Municipio>CU</Municipio>" + chr(13)+ chr(10)
cRet += " <Pais>218</Pais>" + chr(13)+ chr(10)
cRet += " <CodigoPostal>01259030</CodigoPostal>" + chr(13)+ chr(10)
cRet += " </DomFiscal>" + chr(13)+ chr(10)
cRet += " <LugarExped>" + chr(13)+ chr(10)
cRet += " <Calle>AV. BRAZ LEME, 1631</Calle>" + chr(13)+ chr(10)
cRet += " </LugarExped>" + chr(13)+ chr(10)
cRet += " </Emisor>" + chr(13)+ chr(10)
cRet += " <Receptor>" + chr(13)+ chr(10)
cRet += " <DocRecep>" + chr(13)+ chr(10)
cRet += " <TipoDocRecep>04</TipoDocRecep>" + chr(13)+ chr(10)
cRet += " <NroDocRecep>1791287118001</NroDocRecep>" + chr(13)+ chr(10)
cRet += " </DocRecep>" + chr(13)+ chr(10)
cRet += " <NmbRecep>NOMBRE DE TU EMPRESA</NmbRecep>" + chr(13)+ chr(10)
cRet += " </Receptor>" + chr(13)+ chr(10)
cRet += " <Transporte>" + chr(13)+ chr(10)
cRet += " <MedioTransporte>" + chr(13)+ chr(10)
cRet += " <MetodoTransp>MetodoTransp</MetodoTransp>" + chr(13)+ chr(10)
cRet += " </MedioTransporte>" + chr(13)+ chr(10)
cRet += " </Transporte>" + chr(13)+ chr(10)
cRet += " <Totales>" + chr(13)+ chr(10)
cRet += " <Moneda>USD</Moneda>" + chr(13)+ chr(10)
cRet += " <SubTotal>500.00</SubTotal>" + chr(13)+ chr(10)
cRet += " <MntDcto>0</MntDcto>" + chr(13)+ chr(10)
cRet += " <VlrPagar>560.00</VlrPagar>" + chr(13)+ chr(10)
cRet += " <MontoPropina>0.00</MontoPropina>" + chr(13)+ chr(10)
cRet += " </Totales>" + chr(13)+ chr(10)
cRet += " <Impuestos>" + chr(13)+ chr(10)
cRet += " <TipoImp>2</TipoImp>" + chr(13)+ chr(10)
cRet += " <CodTasamp>2</CodTasamp>" + chr(13)+ chr(10)
cRet += " <TasaImp>18.00</TasaImp>" + chr(13)+ chr(10)
cRet += " <MontoBAseImp>1500.00</MontoBAseImp>" + chr(13)+ chr(10)
cRet += " <MontoImp>160.00</MontoImp>" + chr(13)+ chr(10)
cRet += " </Impuestos>" + chr(13)+ chr(10)
cRet += "</Encabezado>"
Return cRet
Descripción: | M485XMLECU.- Personalización de los valores del Encabezado en los documentos electrónicos para Ecuador. | ||||||||
Ubicación: | Actualizaciones / Facturación / Transmisión Electrónica. | ||||||||
Eventos: | Transmitir documento | ||||||||
Programa Fuente: | MATA485 | ||||||||
Función: | getFact | ||||||||
Retorno: |
|
Ejemplo:
#Include 'Protheus.ch'
...