Histórico da Página
...
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", para se permite la generación del Nodo de Observacionesy . Si opción es "P" para , 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 Utilizando la opción "P" de la generación del nodo de Número de Bultos o Pallets, se pueden generar los nodos 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). |
...
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, Número de Contenedor y Número de Precinto If Alltrim(SF2->F2_MODTRAD) == "0801" //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>' + ReturncCRLF EndIf Return cXMLPE |
Card documentos Informacao La presente solución aplica para versión 12.1.33 o superior. Titulo ¡IMPORTANTE!
...