01. DATOS GENERALES

Producto:

Línea de producto:

Segmento:

Módulo:

Función:
RutinaNombre Técnico
M486NFXML.PRWGeneración de XML de factura electrónica
País:Perú
Ticket:24902150
Requisito/Story/Issue (informe el requisito vinculado):DMICNS-24862


02. DESCRIPCIÓN

Se requiere que el sistema permita ajustar el nodo <cac:PaymentTerms> para considerar el monto correspondiente a las retenciones

03. INFORMACIÓN ADICIONAL

En la rutina generación de XML de factura electrónica (M486NFXML), se activa el punto de entrada M486PEFORP para las facturas de venta.

  • Realizar un respaldo del repositorio del ambiente (archivo .rpo).
  • Descargar y aplicar el paquete de actualización (patch) del issue DMICNS-24438.
  • Desarrollar y compilar el punto de entrada M486PEFORP.
  • En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Clientes.
  • En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Tipo Entrada Salida.
    • Configurar una TES con IGV con Tipo de Afectación del IGV (FC_TIPOIGV).
  • En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
    • Incluir un nuevo documento usando el cliente y la TES con tipo de afectación.
  • En el módulo facturación (SIGAFAT), ir al menú Actualizaciones | Facturación | Documentos Electrónicos (MATA467N).
    • Informar los parámetros de la rutina. Ejemplo:
      1. ¿Tipo de Documento? = Factura
      2. ¿Serie? = A
      3. ¿Estatus? = 0
      4. ¿Fecha Inicial? = 01/06/2025
      5. ¿Fecha Final? = 31/12/2025
  • Dar clic en la opción "Transmitir".
    • Informar los parámetros para la transmisión del documento. Ejemplo:
      • ¿Serie de la Factura? = A
      • ¿Factura Inicial? = 0000000000047
      • ¿Factura Final? = 0000000000047
    • Dar clic en "OK", para iniciar con la transmisión.
  • Al finalizar el proceso, la rutina muestra el mensaje "Transmisión exitosa".
  • El estatus del documento cambia a "Documento autorizado".
  • Validar que el XML

Descripción

Punto de entrada para Permite personalizar la sección cac:PaymentTerms 
(Formas de Pago) en el XML de factura electrónica de Perú

Rutina:

M486NFXML.PRW

Función

M486PEFORP

Parámetros
ParamIXB[1]Carácter - Moneda del documento
ParamIXB[2]Carácter - Tipo de Pago  (1-Contado,2-Crédito) 
ParamIXB[3] Númerico - Acumulado de saldo de pagos 
ParamIXB[4] Array - Arreglo con identificador, valor y fecha de vencimiento de cada cuota.  
ParamIXB[5] Númerico - Total de Detracciones del documento

ParamIXB[6]

Númerico - Total de Impuestos del documento

Retorno:

Variable del tipo carácter que contiene la estructura del XML correspondiente a los nodos cac:PaymentTerms 
#include 'protheus.ch'
  
User Function M486PEFORP()
	Local cMoeda    := PARAMIXB[1] //Carácter Moneda del documento
	Local cTipoPag  := PARAMIXB[2] //Carácter Tipo de Pago (1-Contado,2-Crédito)
    Local nTotal    := ParamIXB[3] //Numerico Acumulado de saldo de pagos
    Local aFVence   := ParamIXB[4] //Array Arreglo con identificador, valor y fecha de vencimiento de cada cuota.
    Local nDetra    := ParamIXB[5] //Numerico Total de Detracciones del documento
	Local nImp      := ParamIXB[6] //Numerico Total de Impuestos del documento
	Local cXMLRet := ""
    Local nRet:= 0

    nRet:= nTotal *0.03

    cXMLRet := M486FOPAGO(cMoeda,cTipoPag,nTotal-nRet,aFVence,nDetra,nImp)

Return cXMLRet  

Cabe mencionar que al momento de la ejecución del punto de entrada, se puede acceder a las tablas de Clientes (SA1) y Documentos de Salida(SF2), por lo que se podrán utilizar campos que ya existen de estas tablas o campos nuevos que sean agregados y definir la regla para el armado del nodo






04. ASUNTOS RELACIONADOS