Histórico da Página
01. DATOS GENERALES
Producto |
| ||||||
---|---|---|---|---|---|---|---|
Línea de producto: |
| ||||||
Segmento: |
| ||||||
Módulo: | SIGAFAT - Facturación | ||||||
Función: |
| ||||||
País: | Perú (PER) | ||||||
Ticket: | 17336421 | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-19961 |
02. SITUACIÓN/REQUISITO
Se solicita la activación de Puntos de Entrada que permitan realizar los siguientes ajustes en el XML de Guías de Remisión Electrónicas (GRE) del País Perú:
- Agregar el nodo de Observaciones (Texto): /DespatchAdvice/cbc:Note
- Agregar el nodo de Número de Bultos o Pallets: /DespatchAdvice/cac:Shipment/cbc:TotalTransportHandlingUnitQuantity
- Agregar el nodo de Número de Contenedor: /DespatchAdvice/cac:Shipment/cac:TransportHandlingUnit/cac:Package/cbc:ID
- Agregar el nodo de Número de Precinto: /DespatchAdvice/cac:Shipment/cac:TransportHandlingUnit/cac:Package/cbc:TraceID
- 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).
03. SOLUCIÓN
En la rutina de XML de Guías de Remisión Electrónicas - Perú (M486RNFXML), se realizaron los siguientes ajustes:
Se activó el Punto de Entrada M486RNF:
Para permitir agregar el nodo /DespatchAdvice/cbc:Note de Observaciones (Texto).
Para permitir modificar el nodo /DespatchAdvice/cac:Shipment/cbc:TotalTransportHandlingUnitQuantity de Número de Bultos o Pallets.
Informações | ||
---|---|---|
| ||
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). |
Se activó el Punto de Entrada M486DETRNF:
Para permitir 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).
Informações | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
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:
|
Totvs custom tabs box | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
04. INFORMACIÓN ADICIONAL
Ejemplos de los Puntos de Entrada:
Bloco de código | ||
---|---|---|
| ||
#include "protheus.ch"
User Function M486DETRNF()
Local cFilDoc := PARAMIXB[1] //Filial
Local cNumDoc := PARAMIXB[2] //Número de Documento
Local cSerDoc := PARAMIXB[3] //Serie de Documento
Local cEspDoc := PARAMIXB[4] //Especie de Documento
Local cCodCli := PARAMIXB[5] //Codigo de Cliente
Local cCodLoj := PARAMIXB[6] //Codigo de la Tienda
Local cItem := PARAMIXB[7] //Ítem
Local cCodPro := PARAMIXB[8] //Código de Producto
Local aDetGRE := {Nil, Nil, Nil, Nil}
aDetGRE[1] := Nil //Cantidad
aDetGRE[2] := "PC" //Unidad de Medida
aDetGRE[3] := Nil //Descripción del Producto
aDetGRE[4] := Nil //Código del Producto
Return aDetGRE |
Bloco de código | ||
---|---|---|
| ||
#include "protheus.ch" User Function M486RNF() Local cXMLPE := ""
Local cCRLF := (chr(13)+chr(10))
Local cOpc := PARAMIXB[1] //Opción N - Notas, P - Pallets/Contenedor/Precinto
Local cCodDoc := IIf(cOpc=="R",PARAMIXB[2],"") //cbc:DocumentTypeCode
Local cDesTpD := ""
If cOpc == "N" //Observaciones
cXMLPE += ' <cbc:Note>Prueba del PE M486RNF</cbc:Note>' + cCRLF
ElseIf cOpc == "P" //número de Pallets
If Alltrim(SF2->F2_MODTRAD) == "01" //Importación
cXMLPE += ' <cbc:TotalTransportHandlingUnitQuantity>80</cbc:TotalTransportHandlingUnitQuantity>' + cCRLF
EndIf
ElseIf cOpc == "S" //Shipment
cXMLPE += ' <cbc:HandlingInstructions>DESCRIPCION DEL MOTIVO DE TRASLADO</cbc:HandlingInstructions>' + cCRLF
ElseIf cOpc == "DA" //Establecimiento
cXMLPE += ' <cbc:AddressTypeCode listAgencyName="PE:SUNAT" listName="Establecimientos anexos" listID="20552174918">3985</cbc:AddressTypeCode>' + cCRLF
ElseIf cOpc == "CO" //Número de Contenedor y Número de Precinto
cXMLPE += ' <cac:Package>' + cCRLF
cXMLPE += ' <cbc:ID>hlxu2142141</cbc:ID>' + cCRLF
cXMLPE += ' <cbc:TraceID>002jp00124</cbc:TraceID>' + cCRLF
cXMLPE += ' </cac:Package>' + cCRLF
ElseIf cOpc == "R" //AdditionalDocumentReference
If cCodDoc == "01"
cDesTpD := "FACTURA"
ElseIf cCodDoc == "50"
cDesTpD := EncodeUtf8("Declaración Aduanera de Mercancías")
EndIf
cXMLPE += ' <cbc:DocumentType>' + cDesTpD + '</cbc:DocumentType>' + cCRLF
ElseIf cOpc == "PU" //MTC
cXMLPE += ' <cbc:CompanyID>0200310CNG</cbc:CompanyID>' + cCRLF
EndIf Return cXMLPE |
Card documentos Informacao Utilice este box para resaltar información relevante y/o de destaqueLa presente solución aplica para versión 12.1.33 o superior. Titulo ¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
- Documento Técnico de Activación de Transmisión de GRE con API REST de SUNAT - Perú
Templatedocumentos