Árvore de páginas

Versões comparadas

Chave

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

...

Totvs custom tabs box
tabsPre-codiciones,Flujo de prueba,Punto de entrada M486PECADE
idspaso01,paso02,paso04
Totvs custom tabs box items
defaultyes
referenciapaso01
  • Realizar un respaldo del repositorio del ambiente (archivo .rpo).
  • Descargar y aplicar el paquete de actualización (patch) del issue DMICNS-2443824862.
  • Desarrollar y compilar el punto de entrada M486PECADE.

    Informações
    titlePE M486PEFORP

    En el caso de que se requiera modificar los totales de la forma de pago para considerar las retenciones, se puede personalizar el nodo PaymentTerms con 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.


Informações
titleAcceso a tablas

Cabe mencionar que al momento de la ejecución de los puntos 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

Totvs custom tabs box items
defaultno
referenciapaso02
  • 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? = 0000000000142
      • ¿Factura Final? = 0000000000042
      • 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 contenga la información indicada en los puntos de entrada M486PECADE
Totvs custom tabs box items
defaultno
referenciapaso04

Descripción

Punto de entrada para personalizar la sección AllowanceCharge (Cargos/Descuentos) a nivel encabezado de la factura en el XML de factura electrónica de Perú 

Rutina:

M486NFXML.PRW

Función

M486PECADE

Parámetros
ParamIXB[1]Arreglo que contiene la información del encabezado de la factura 
ParamIXB[2]Arreglo que contiene información de anticipos 
ParamIXB[3] Arreglo que contiene información de cargos y descuentos

Retorno:

Variable del tipo carácter que contiene la estructura del XML correspondiente a los nodos cac: AllowanceCharge 
Bloco de código
languagec#
themeEclipse
titleM486PECADE
linenumberstrue
#include 'protheus.ch'
  
User Function M486PECADE()
	Local aEnc     := PARAMIXB[1] //Carácter Moneda del documento
	Local aDocAnt  := PARAMIXB[2] //Carácter Tipo de Pago (1-Contado,2-Crédito)
    Local aImpAfe  := ParamIXB[3] //Numerico Acumulado de saldo de pagos
    Local cXMLRet  := ""
    Local nMultp   := 0.03
	Local CCRLF    := (chr(13) + chr(10))

    cXMLRet += '	<cac:AllowanceCharge>'	 + cCRLF
	cXMLRet += '		<cbc:ChargeIndicator>false</cbc:ChargeIndicator>'	 + cCRLF
	cXMLRet += '	    <cbc:AllowanceChargeReasonCode listAgencyName="PE:SUNAT" listName="Cargo/descuento" listURI="urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo53">62</cbc:AllowanceChargeReasonCode>'	 + cCRLF
	cXMLRet += '		<cbc:MultiplierFactorNumeric>'+ alltrim(STR(nMultp,10,2)) + '</cbc:MultiplierFactorNumeric>'	 + cCRLF
	cXMLRet += '		<cbc:Amount currencyID="' + aEnc[4] + '">'+ alltrim(STR(aEnc[5] * nMultp,10,2))  +'</cbc:Amount>'	 + cCRLF
	cXMLRet += '		<cbc:BaseAmount currencyID="' + aEnc[4] + '">' + alltrim(STR(aEnc[5],10,2))  + '</cbc:BaseAmount>'	 + cCRLF
	cXMLRet += '	</cac:AllowanceCharge>'	 + cCRLF	

Return cXMLRet

...