Línea de producto: | Microsiga Protheus. | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Segmento: | Servicios - Mercado Internacional. | ||||||||||
Módulo: | SIGAFAT - Facturación. | ||||||||||
Función: |
| ||||||||||
Issue: | DMINA-7508 | ||||||||||
Versiones | 12.1.17 | 12.1.23 | 12.1.25 |
Se solicita la activación de Puntos de Entrada en la generación del XML para los documentos Factura/Boleta de Venta (NF), Nota de Crédito (NCC), Notas de Débito (NDC) y Guías de Remisión (RFN), para realizar el envío de información adicional en la transmisión electrónica utilizando el Operados de Servicios Electrónicos (OSE) denominado RSM.
Se realiza la activación de los siguientes Puntos de Entrada para el envío de información adicional:
Acceder a la rutina Documentos Electrónicos (MATA486), ubicada en la ruta Actualizaciones | Facturación | Documentos Electrónicos.
Nota: Para la generación de documentos de exportación se debe utilizar un Cliente cuya Región (A1_EST) sea igual a EXTRANJERO (EX).
Cada Punto de Entrada recibe como parámetros Sucursal, Número de Documento, Serie del Documento, Especie, Código del Cliente y Código de la Tienda, y retorna la estructura indicada en la cadena de caracteres que se genera dentro del Punto de Entrada.
a) Ejemplo del punto de entrada para Factura de Venta (M486ENF):
User function M486ENF()
Local cRet := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Sucursal
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc := PARAMIXB[3] // Série
Local cEspDoc := PARAMIXB[4] // Espécie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de loja
cRet += ' <ext:UBLExtension>' + cCRLF
/*** Regla de negocio extracción de información adicional a enviar en el XML ***/
cRet += ' </ext:UBLExtension>' + cCRLF
Return cRet
b) Ejemplo del punto de entrada para Boleta de Venta (M486EBV):
User function M486EBV()
Local cRet := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Sucursal
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc := PARAMIXB[3] // Série
Local cEspDoc := PARAMIXB[4] // Espécie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de loja
cRet += '<ext:UBLExtension>' + cCRLF
/*
Regla de negocio extracción de información adicional a enviar en el XML
*/
cRet += '</ext:UBLExtension>' + cCRLF
Return cRet
c) Ejemplo del punto de entrada para Factura de Venta de Exportación (M486EBV):
User function M486ENFE()
Local cRet := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Sucursal
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc := PARAMIXB[3] // Série
Local cEspDoc := PARAMIXB[4] // Espécie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de loja
cRet += '<ext:UBLExtension>' + cCRLF
/*
Regla de negocio extracción de información adicional a enviar en el XML
*/
cRet += '</ext:UBLExtension>' + cCRLF
Return cRet
d) Ejemplo del punto de entrada para Nota de Débito (M486ENDC):
User function M486ENDC()
Local cRet := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Sucursal
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc := PARAMIXB[3] // Série
Local cEspDoc := PARAMIXB[4] // Espécie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de loja
cRet += '<ext:UBLExtension>' + cCRLF
/*
Regla de negocio extracción de información adicional a enviar en el XML
*/
cRet += '</ext:UBLExtension>' + cCRLF
Return cRet
e) Ejemplo del punto de entrada para Nota de Crédito (M486ENDC):
User function M486ENCC()
Local cRet := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Sucursal
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc := PARAMIXB[3] // Série
Local cEspDoc := PARAMIXB[4] // Espécie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de loja
cRet += '<ext:UBLExtension>' + cCRLF
/*
Regla de negocio extracción de información adicional a enviar en el XML
*/
cRet += '</ext:UBLExtension>' + cCRLF
Return cRet
f) Ejemplo del punto de entrada para Guía de Remisión (M486EGR):
User function M486EGR()
Local cRet := ""
Local cCRLF := (chr(13)+chr(10) )
Local cFilDoc := PARAMIXB[1] // Sucursal
Local cNumDoc := PARAMIXB[2] // Número de Documento
Local cSerieDoc := PARAMIXB[3] // Série
Local cEspDoc := PARAMIXB[4] // Espécie
Local cCodCli := PARAMIXB[5] // Código de Cliente
Local cCodLoj := PARAMIXB[6] // código de loja
cRet += '<ext:UBLExtension>' + cCRLF
/*
Regla de negocio extracción de información adicional a enviar en el XML
*/
cRet += '</ext:UBLExtension>' + cCRLF
Return cRet
Los Puntos de Entrada de cada uno de los documentos agregará la información dentro del nodo ext:UBLExtension.