Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagephp
firstline1
linenumberstrue
#Include 'protheus.ch'
#Include 'parmtype.ch'
 
/*/{Protheus.doc} M486VLDCMP
Punto de Entrada utilizado para definir que en la rutina MATA410
se deshabilitarán las validaciones de Facturación Electrónica.
 
@type User function
@author TOTVS ERP
@return cVldEnRut, String, Nombre de la rutina de Pedidos de Venta
/*/
User function M486VLDCMP()
    Local cVldEnRut := ""
     
    cVldEnRut := "MATA410"
     
Return cVldEnRut

3.

...

13 Transmisión de guías de remisión desde la rutina de Remisión MATA462N

Se solicita en la rutina Generac. Form. de Remisión (MATA462N), activar la funcionalidad definida por la Superintendencia Nacional de Aduanas y de Administración Tributaria (SUNAT), para realizar la generación del XML y transmisión de las Guías de Remisión Electrónicas (GRE).

...

CampoF2_LOJA
Secuencia

002

Cnt. DominioF2_LOJENT
Tipo1 - Primario
ReglaLxPerCliL("F2_LOJENT")
Posiciona2 - No

3.

...

14 Puntos de Entrada

Se activa el Punto de Entrada M486FECVEN, el cual permite la generación del nodo cbc:DueDate para informar la Fecha de Vencimiento (nodo que sólo aplica para Factura de Venta). Ejemplo del Punto de Entrada:

Se debe retornar valor de tipo carácter con el nodo de acuerdo a lo definido por la SUNAT.

Informações

Este cambio fue atendido en el issue DMINA-9732 (Ticket # 9343803)

Nota: Las actualizaciones presentadas a continuación son compatibles con versiones mayor o igual a 12.1.17

1. Se recomienda realizar un respaldo del repositorio de objetos (RPO) antes de aplicar el paquete de actualización (patch).

2. Aplicar el paquete de actualización (patch), el cual contiene las siguientes rutinas:

RutinaNombre TécnicoFecha
M486CBXMLXML para Comunicado de Baja.08/07/2020
M486NCCXMLXML para Nota de Crédito.17/07/2020
M486NDCXMLXML para Nota de Débito.17/07/2020
M486NFXMLXML para Factura/Boleta de Venta.17/07/2020
M486RNFXMLXML para Guía de Remisión.08/07/2020
M486XFUNFunciones genéricas para Facturación Electrónica.22/07/2020

M486FECVEN

Bloco de código
languagephp
firstline1
linenumberstrue
#include 'protheus.ch'
 
User Function M486FECVEN()
      Local cXMLVen := ""
      Local cFecVen := "2020-07-31" + Alltrim(SF2->F2_SERIE) + "-" + Alltrim(SF2->F2_DOC)
      Local cCRLF  := (chr(13)+chr(10))
 
      cXMLVen += ' <cbc:DueDate>' + cFecVen + '</cbc:DueDate>' + cCRLF
Return cXMLVen

Image Modified

Se activa la generación del nodo cbc:ElectronicMail para informar el email al cual se hará el envío de documentos electrónicos una vez realizada la transmisión con el OSE denominado RSM, el dato informado corresponde al campos Email (A1_EMAIL) configurado en el Cliente.

Informações

Este cambio fue atendido en el issue DMINA-9679 (Ticket # 9304949)

Image Modified

Se activa el Punto de Entrada M486PEREF para definir la regla de negocio que aplicará para la generación del nodo cac:BillingReference en las Notas de Crédito de Cliente cuando el documentos origen no existe en Protheus:

NOTA:  Se debe retornar un arreglo con la Serie, Folio, Tipo de Documento (Catálogo N.° 01 de la SUNAT) y Fecha de Emisión del documento que será relacionado a la nota de Crédito.

M486PEREF

Bloco de código
languagephp
firstline1
linenumberstrue
#include 'protheus.ch'
 
User Function M486PEREF()
    Local cEs := PARAMIXB[1] //Especie
    Local cDc  := PARAMIXB[2] //Documento
    Local cSe  := PARAMIXB[3] //Serie
    Local cCl  := PARAMIXB[4] //Cliente
    Local cLo  := PARAMIXB[5] //Loja
    Local cSero := "F009"
    Local cDocO := RTRIM(cNFOri)
    Local cTpDocu  := "01"
    Local cDtEmisi := "2020-07-31"
     
Return {cSero,cDocO,cTpDocu,cDtEmisi}

Image Modified

Procedimiento de Utilización

1. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Documentos Electrónicos (MATA486)

2. Ejecutar la acción Transmitir.

3. Informar en los parámetros las Serie y Folio de la Factura de Venta generada previamente, presionar Ok.

4. Validar que la transmisión haya sido exitosa.

5. Desde Otras acciones ejecutar la acción Imprimir PDF,y validar que en la representación gráfica del documentos en la razón social del cliente se visualicen correctamente los caracteres especiales.

4. PUNTOS DE ENTRADA

4.1 PE - M486PENF

Descripción:

M486PENF.- Generación personalizada de XML de Factura Electrónica

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir.

Programa Fuente:

MATA486.PRW

Función:

M486SENDDOC

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML

Carácter

Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Factura de Venta.

Si

Ejemplo:

#Include 'Protheus.ch'

User Function M486PENF()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc        := PARAMIXB[1] // Sucursal que el documento.

Local cNumDoc    := PARAMIXB[4] // Número de Documento

Local cCodCli       := PARAMIXB[3] // Código de Cliente

Local cCodLoj       := PARAMIXB[4] // código de tienda

Local cSerieDoc   := PARAMIXB[2] // Serie

Local cEspDoc      := PARAMIXB[5] // Especie

cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

cXML += '<Invoice>' + cCRLF         

// Código necesario para creación del XML

cXML += '</Invoice>' + cCRLF  

Return cXML

4.2 PE - M486PENC

Descripción:

M486PENC.- Generación personalizada de XML de Nota de Crédito

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir.

Programa Fuente:

MATA486.PRW

Función:

M486SENDDOC

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML

Carácter

Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Nota de Crédito

Si

Ejemplo:

#Include 'Protheus.ch'

User Function M486PENC()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc        := PARAMIXB[1] // Sucursal que emitió el documento.

Local cNumDoc    := PARAMIXB[4] // Número de Documento

Local cCodCli       := PARAMIXB[3] // Código de Cliente

Local cCodLoj       := PARAMIXB[4] // código de tienda

Local cSerieDoc   := PARAMIXB[2] // Serie

Local cEspDoc      := PARAMIXB[5] // Especie

cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

cXML += '<CreditNote>' + cCRLF         

// Código necesario para creación del XML

cXML += '</CreditNote>' + cCRLF  

Return cXML

4.4 PE - M486PEND

Descripción:

M486PEND.- Generación personalizada de XML de Nota de Débito

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir.

Programa Fuente:

MATA486.PRW

Función:

M486SENDDOC

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML

Carácter

Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Factura de Venta.

Si

Ejemplo:

#Include 'Protheus.ch'

User Function M486PEND()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )  

Local cFilDoc        := PARAMIXB[1] // Sucursal que emitió el documento.

Local cNumDoc    := PARAMIXB[4] // Número de Documento

Local cCodCli       := PARAMIXB[3] // Código de Cliente

Local cCodLoj       := PARAMIXB[4] // código de tienda

Local cSerieDoc   := PARAMIXB[2] // Serie

Local cEspDoc      := PARAMIXB[5] // Especie

cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

cXML += '<DebitNote>' + cCRLF         

// Código necesario para creación del XML

cXML += '</DebitNote>' + cCRLF  

Return cXML

4.5 PE - M486PECR

Descripción:

M486PECR.- Generación personalizada de XML de Comprobante de Retención

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir.

Programa Fuente:

MATA486.PRW

Función:

M486SENDDOC

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML

Carácter

Cadena XML La estructura del XML según los lineamientos establecidos por la SUNAT para Factura de Venta.

Si

Ejemplo:

#Include 'Protheus.ch'

User Function M486PECR()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc        := PARAMIXB[1] // Sucursal que emitió el documento.

Local cNumDoc    := PARAMIXB[2] // Número de Documento

Local cSerieDoc   := PARAMIXB[3] // Serie

Local cCodProv     := PARAMIXB[4] // Código de Proveedor

Local cCodLoj       := PARAMIXB[4] // código de tienda

cXML := '<?xml version="1.0" encoding="UTF-8"?>' + cCRLF

cXML += '<Retention>' + cCRLF         

// Código necesario para creación del XML

cXML += '</Retention>' + cCRLF  

Return cXML

4.6 PE - M486PDFGEN

Descripción:

M486PDFGEN.- Generación personalizada de Impresión Gráfica de Documentos

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Imprimir PDF.

Programa Fuente:

MATA486.PRW

Función:

MenuDef

Retorno:N/A

Ejemplo:

#Include 'Protheus.ch'

User Function M486PDFGEN()

MsgAlert("Aquí debe colocar lógica para imprimir pdf ")

Return 

4.7 PE - M486NF

Descripción:

M486NF.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta

Ubicación:

Actual/ Faturamento/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

M486XMLNF

Función:

fGenXMLNF

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML


Carácter

String XML con la sintaxis conforme se describe en ejemplo


...

Ejemplo:

#Include 'Protheus.ch'

User Function M486NF()

Local cXML := ""

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          

cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

Return cXML

4.8 PE - M486NCC

Descripción:

M486NCC.- Adicionar información que no es obligatoria para la SUNAT para el documento Nota de Crédito

Ubicación:

Actual/ Faturamento/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

M486NCCXML

Función:

fGenXMLNCC

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML


Carácter

String XML con la sintaxis conforme se describe en ejemplo


...

Ejemplo:

#Include 'Protheus.ch'

User Function M486NFE()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc       := PARAMIXB[1] // Sucursal

Local cNumDoc       := PARAMIXB[2] // Número de Documento

Local cSerieDoc:= PARAMIXB[3] // Serie

Local cEspDoc       := PARAMIXB[4] // Especie

Local cCodCli       := PARAMIXB[5] // Código de Cliente

Local cCodLoj       := PARAMIXB[6] // código de loja          

cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

Return cXML

4.9 PE - M486NDC

Descripción:

M486NDC.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta Exportación

Ubicación:

Actual/ Faturamento/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

M486NDCXML

Función:

fGenXMLNDC

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML


Carácter

String XML con la sintaxis conforme se describe en ejemplo


...

Ejemplo:

#Include 'Protheus.ch'

User Function M486NFE()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc       := PARAMIXB[1] // Sucursal

Local cNumDoc       := PARAMIXB[2] // Número de Documento

Local cSerieDoc:= PARAMIXB[3] // Serie

Local cEspDoc       := PARAMIXB[4] // Espécie

Local cCodCli       := PARAMIXB[5] // Código de Cliente

Local cCodLoj       := PARAMIXB[6] // código de loja          

cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

Return cXML

4.10 PE - M486NFE

Descripción:

M486NFE.- Adicionar información que no es obligatoria para la SUNAT para el documento Factura/Boleta de Venta Exportación

Ubicación:

Actual/ Faturamento/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

M486XMLNF

Función:

fGenXMLNF

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXML


Carácter

String XML con la sintaxis conforme se describe en ejemplo


...


Ejemplo:

#Include 'Protheus.ch'

User Function M486NFE()

Local cXML := ""

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          

cXML += '<cbc:Note>Nombre campo: dato a enviar</cbc:Note> ' + cCRLF

Return cXML

4.11 PE - M486FECVEN

Descripción:

M486FECVEN.- Generar el nodo cbc:DueDate de acuerdo a la definición de la SUNAT para el documento Factura de Venta.

Ubicación:

Actual/ Faturamento/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

M486FECVEN

Función:

fGenXMLNF

Retorno:

Nombre

Tipo

Descripción

Obligatorio

cXMLVen


Carácter

String XML con la sintaxis para la la generación del nodo cbc:DueDate de acuerdo a la definición de la SUNAT


...

Ejemplo:

#Include 'Protheus.ch'

User Function M486FECVEN()
      Local cXMLVen := ""
      Local cFecVen := "2020-07-31" + Alltrim(SF2->F2_SERIE) + "-" + Alltrim(SF2->F2_DOC)
      Local cCRLF := (chr(13)+chr(10))

      cXMLVen += ' <cbc:DueDate>' + cFecVen + '</cbc:DueDate>' + cCRLF
Return cXMLVen

4.12 PE - M486PEREF

Descripción:

M486PEREF .- definir la regla de negocio que aplicará para la generación del nodo cac:BillingReference en las Notas de Crédito de Cliente cuando el documentos origen no existe en Protheus.

Ubicación:

Actual/ Faturamento/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

M486PEREF

Función:

fGenXMLNF

Retorno:

Nombre

Tipo

Descripción

Obligatorio

aRet


Array

Arreglo con los datos necesarios para nodo incluídos dentro de el nodo cac:BillingReference:

aRet[1] = Serie del documento que modifica (cbc:ID)

aRet[2] = Folio de documento eue modifica (cbc:ID)

aRet[3] = Fecha de emisión del documento que modifica (cbc:IssueDate)

aRet[4] =  Tipo de documento que modifica, debiedo ser un valor del Catálogo No. 1 de la SUNAT (cbc:DocumentTypeCode)

...

Ejemplo:

#Include 'Protheus.ch'

User Function M486PEREF()
      Local cEs := PARAMIXB[1] //Especie
      Local cDc := PARAMIXB[2] //Documento
      Local cSe := PARAMIXB[3] //Serie
      Local cCl := PARAMIXB[4] //Cliente
      Local cLo := PARAMIXB[5] //Loja
      Local cSero := "F009"
      Local cDocO := RTRIM(cNFOri)
      Local cTpDocu := "01"
      Local cDtEmisi := "2020-07-31"

Return {cSero,cDocO,cTpDocu,cDtEmisi}

4.13 PE - M485NCC

Descripción:

M485NCC.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Nota de Crédito.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir.

Programa Fuente:

NFAEXMLPER.PRW

Función:

NFAEXmlPER

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo.

Si

Ejemplo:

#Include 'Protheus.ch'

User Function M485NCC()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc       := PARAMIXB[1] // Filial

Local cNumDoc       := PARAMIXB[2] // Número de Documento

Local cSerieDoc:= PARAMIXB[3] // Serie

Local cEspDoc       := PARAMIXB[4] // Especie

Local cCodCli       := PARAMIXB[5] // Código de Cliente

Local cCodLoj       := PARAMIXB[6] // código de tienda         

...

cXML += '<Personalizados>' + cCRLF

cXML += '    <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF

cXML += '    <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF

cXML += '    <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF

cXML += '</Personalizados>' + cCRLF

Return cXML

4.15 PE - M485NDC

Descripción:

M485NDC.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Nota de Débito.

Ubicación:

Actualizaciones / Facturación/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

NFAEXMLPER.PRW

Función:

NFAEXmlPER

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo


Si

Ejemplo:

#Include 'Protheus.ch'

User Function M485NDC()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc       := PARAMIXB[1] // Filial

Local cNumDoc       := PARAMIXB[2] // Número de Documento

Local cSerieDoc:= PARAMIXB[3] // Serie

Local cEspDoc       := PARAMIXB[4] // Especie

Local cCodCli       := PARAMIXB[5] // Código de Cliente

Local cCodLoj       := PARAMIXB[6] // código de tienda      

cXML += '<Personalizados>' + cCRLF

cXML += '    <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF

cXML += '    <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF

cXML += '    <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF

cXML += '</Personalizados>' + cCRLF

Return cXML

4.16 PE - M485NF

Descripción:

M485NF.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Factura Electrónica y Boleta de Venta.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir

Programa Fuente:

NFAEXMLPER.PRW

Función:

NFAEXmlPER

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo


Si

Ejemplo:

#Include 'Protheus.ch'

User Function M485NF()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc       := PARAMIXB[1] // Filial

Local cNumDoc       := PARAMIXB[2] // Número de Documento

Local cSerieDoc:= PARAMIXB[3] // Serie

Local cEspDoc       := PARAMIXB[4] // Especie

Local cCodCli       := PARAMIXB[5] // Código de Cliente

Local cCodLoj       := PARAMIXB[6] // código de tienda        

cXML += '<Personalizados>' + cCRLF

cXML += '    <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF

cXML += '    <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF

cXML += '    <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF

cXML += '</Personalizados>' + cCRLF

Return cXML

4.17 PE - M485NFE

Descripción:

M485NFE.- Adicionar información que no es obligatoria ante la SUNAT para el documento de Factura Electrónica Exportación.

Ubicación:

Actualizaciones / Facturación/Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

NFAEXMLPER.PRW

Función:

NFAEXmlPER

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo.


Si

Ejemplo:

#Include 'Protheus.ch'

User Function M485NFE()

Local cXML := ""

Local cCRLF  := (chr(13)+chr(10) )

Local cFilDoc       := PARAMIXB[1] // Filial

Local cNumDoc       := PARAMIXB[2] // Número de Documento

Local cSerieDoc:= PARAMIXB[3] // Serie

Local cEspDoc       := PARAMIXB[4] // Especie

Local cCodCli       := PARAMIXB[5] // Código de Cliente

Local cCodLoj       := PARAMIXB[6] // código de tienda          

cXML += '<Personalizados>' + cCRLF

cXML += '    <campoNumero name="CampoNumerico">1</campoNumero>' + cCRLF

cXML += '    <campoString name="CampoTexto">Esto es un texto</campoString>' + cCRLF

cXML += '    <campoFecha name="CampoTexto">2016-01-31</campoFecha>' + cCRLF

cXML += '</Personalizados>' + cCRLF

Return cXML

4.18 PE - M486DIRREC

Descripción:

M486DIRREC.- Generación personalizada de Nodos correspondientes a la Dirección del adquiriente o usuario en XML.

Ubicación:

Actualizaciones / Facturación / Transmisión Electrónica.

Eventos:

Transmitir.

Programa Fuente:

MATA486.PRW

Función:

M486XMLREC

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML

Carácter

Cadena XML con datos adicionales  según se describe en ejemplo.

Si

El Punto de Entrada M486DIRREC debe retornar una cadena que contenga todos los nodos que el usuario desee incluir para el nodo cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity correspondientes a la información de la Dirección de adquiriente.

Bloco de código
titleEjemplo de Punto de Entrada M486DIRREC
User Function M486DIRREC()
    Local aArea     := GetArea()         // Se reserva el área de trabajo 
    Local cXML      := ""                // Cadena de retorno
    Local cCRLF     := (chr(13)+chr(10)) // Salto de línea
    
    cXML += '				<cac:RegistrationAddress>'+ cCRLF
    cXML += '					<cbc:ID schemeName="Ubigeos">' + RTRIM(SA1->A1_CEP) + '</cbc:ID>' + cCRLF
    cXML += '					<cbc:AddressTypeCode listName="Establecimientos anexos">0000</cbc:AddressTypeCode>'+ cCRLF
    cXML += '				   	<cbc:CitySubdivisionName>-</cbc:CitySubdivisionName>'+ cCRLF
    cXML += '            		<cbc:CityName><![CDATA[' + RTRIM(SA1->A1_MUN) + ']]></cbc:CityName>'+ cCRLF
    cXML += '              		<cbc:CountrySubentity><![CDATA[' + RTRIM(M486VALSX5("12",SA1->A1_EST)) + ']]></cbc:CountrySubentity>'+ cCRLF
    cXML += '               		<cbc:District><![CDATA[' + RTRIM(SA1->A1_BAIRRO) + ']]></cbc:District>'+ cCRLF
    cXML += '            		<cac:AddressLine>'+ cCRLF
    cXML += '                		<cbc:Line><![CDATA[' + RTRIM(SA1->A1_END) + ']]></cbc:Line>'+ cCRLF
    cXML += '              		</cac:AddressLine>'+ cCRLF
    cXML += '               		<cac:Country>'+ cCRLF
    cXML += '                		<cbc:IdentificationCode listName="Country">PE</cbc:IdentificationCode>'+ cCRLF
    cXML += '					</cac:Country>'+ cCRLF
    cXML += '          		</cac:RegistrationAddress>' + cCRLF

    RestArea(aArea)
Return cXML

4.19 PE - M486RNF

Descripción:

M486RNF .- Permite realizar ajustes al XML de Guía de Remisión Electrónica.

Ubicación:

Actualizaciones / Facturación/ Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

NFAEXMLPER.PRW

Función:

fGenXMLRNF

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo.


Si

...

Informações
titleImportante
Informações
titleInformación

El Punto de Entrada M486RNF recibe como parámetro la opción de tipo Caracter, mediante el cual se tienen disponibles las siguientes opciones:

Si opción es "N", se permite la generación del Nodo de Observaciones.

Si opción es "P", permite la generación del nodo de Número de Bultos o Pallets, de igual manera se pueden generar los indicadores utilizando los tag cbc:SpecialInstructions.

Si opción es "S", permite la generación del tag cbc:HandlingInstructions con la descripción del Motivo de Traslado.

Si opción es "DA", permite la generación del tag cbc:AddressTypeCode con el código de establecimiento de llegada.

Si opción es "CO", permite la generación del tag cac:Package con los datos de Número de Contenedor y Número de Precinto.

Si opción es "R", permite la generación del tag cbc:DocumentType con la descripción del tipo de Documento de Referencia, recibiendo el segundo parámetro con el código del tipo de documento de referencia.

Si opción es "PU", permite la generación del tag cbc:CompanyID el número de MTC del Transportista.

Se debe retornar en un string los nodos generados de acuerdo a lo permitido por la guía de Guías de Remisión Electrónica definido por la SUNAT.

Se tiene acceso disponible a los campos de la tabla SF2 - Encabezado de Fact. de Salida por el posicionamiento previo a la tabla, y es importante realizar las bifurcaciones de manera correcta para la generación de los nodos y en caso de requerir utilizar el Motivo de Traslado se puede utilizar el campo Motivo Tras (F2_MODTRAD).

4.20  PE - M486DETRNF

Descripción:

M486DETRNF .- Permite modificar los datos de Unidad de medida del bien (/DespatchAdvice/cac:DespatchLine/cbc:DeliveredQuantity@unitCode), Cantidad del bien (/DespatchAdvice/cac:DespatchLine/cbc:DeliveredQuantity), Descripción detallada del bien (/DespatchAdvice/cac:DespatchLine/cac:Item/cbc:Description) y Código del bien (/DespatchAdvice/cac:DespatchLine/cac:Item/cac:SellersItemIdentification/cbc:ID) de las Guías de Remisión Electrónicas.

Ubicación:

Actualizaciones / Facturación/ Transmisión Electrónica

Eventos:

Transmitir

Programa Fuente:

M486RNFXML.PRW

Función:

M486XMLTRA

Respuesta:

Nombre

Tipo

Descripción

Obligatorio

cXML


Caracter

Cadena XML con los datos adicionales según se describe en ejemplo.


Si

...

Informações
titleImportante

En el Punto de Entrada M486DETRNF, se debe retornar un arreglo con 4 posiciones, y se recomienda que se retornen con el valor Nil las posiciones que no se van a actualizar.

Se reciben como parámetros los datos Filial del Documento, Número de Documento, Serie del Documento, Especie del Documento, Código de Cliente, Loja del Cliente, Número de ítem y Código del Producto.

Las posiciones a retornar corresponden a la generación de los siguientes datos:

PosiciónDatoNodoTipo
1Cantidad del bien/DespatchAdvice/cac:DespatchLine/cbc:DeliveredQuantityNumérico
2Unidad de medida del bien/DespatchAdvice/cac:DespatchLine/cbc:DeliveredQuantity@unitCodeCaracter
3Descripción detallada del bien/DespatchAdvice/cac:DespatchLine/cac:Item/cbc:DescriptionCaracter
4Código del bien/DespatchAdvice/cac:DespatchLine/cac:Item/cac:SellersItemIdentification/cbc:IDCaracter

5. DESCARGA DEL EJECUTABLE SUNATSERVICECONN

Procedimiento de Descarga

A continuación se detallan los pasos para descargar el último ejecutable SunatServiceConn.exe que se encuentra disponible y que es utilizado para la transmisión de Guías de Remisión Electrónicas, Transmisión Electrónica Directa a SUNAT a través de TSS y usando el OSE denominado TCI.

Ingresar a la Central de Descargas y Actualizaciones:

https://suporte.totvs.com/portal/p/10098/download#company/

Seleccionar la opción, TOTVS Línea Protheus, y dar clic en la opción "Artefactos Generales del Producto".

Image Modified

Dar clic en la opción "Rdmake Estándar".

Image Modified

De las opciones desplegadas; buscar la opción "Localizaciones" y dar clic en ella.

Image Modified

Dar clic en en el botón "Haga download del archivo".

Image Modified

Tras completarse la descarga del archivo; descomprimir el contenido,

...

e1 ir a la ruta RDMAKES_LOCALIZACIONES\Peru\SunatServiceConn y aquí se podrá obtener la última versión disponible del ServiceSunatConn.exe, así como las dll´s, requeridas para su correcta funcionalidad.

Image Modified

6. TABLAS UTILIZADAS

  • SA1 - Clientes
  • SM0 - Empresas
  • F3H - Definición de catálogos.
  • F3I - Mantenimiento de catálogos.
  • SB1 - Productos.
  • SAH - Unidades de medida.
  • SFB - Impuestos variables.
  • SFP - Control de Formularios..
  • SF1 - Documentos de entrada.
  • SD1 - Items de documentos de entrada.
  • SF2 - Documentos de salida.
  • SD2 - Items de documentos de salida.
  • SYA - Países.
  • SF4 - Tipos de Entrada/salida
  • SFC - Vinculo TES vs. Impuestos.
  • SC5- Encabezado de Pedidos de Venta.
  • CTO - Monedas.
  • SFC - Detalle Tipos de Entrada/Salida (impuestos).

...