Árvore de páginas

Versões comparadas

Chave

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

01. DATOS GENERALES


Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:SIGAFIN - Financiero 
Función:
Rutina (s)Nombre TécnicoFecha
FINA086Anulación de Orden de Pago
18
25/
16
06/2024
FINA085AOrden de Pago18/06/2024
País:México
Ticket:N/A
Requisito/Story/Issue (informe el requisito vinculado):DMINA-22956


02. SITUACIÓN/REQUISITO

El Cliente recibe los CFDI del Complemento para la Recepción de Pagos que le emite su Proveedor al efectuar el pago de una Factura, sin embargo, dentro del sistema, al capturar dicho pago (Orden de Pago), no es posible vincular o relacionar los archivos (XML y PDF) recibidos.

...

  • Desde la rutina de Anulación de Orden de Pago (fina086FINA086), en el menú "Otras Acciones" se agregan las siguientes opciones:

...

  • En la rutina de Anulación de Orden de Pago (Fina086FINA086) se realizan los siguientes ajustes:
    • Se crea la función fa086OPXML() para generar una pantalla que permita seleccionar un archivo XML (Complemento de Recepción de Pago) extrayendo la información del Folio Fiscal, Fecha de Timbrado y documentos relacionados al pago.

    • Se crea la función fn086VlMkO() para realizar la validación de la Orden de Pago seleccionada y posiciona el registro en tabla temporal TRB.

    • Se crea la función fa086OPGR()  para generar la estructura de aHeader y aCols (Tabla SEK) que será utilizada por el getDados y mostrados en la pantalla de captura de XML.

    • Se crea la función fa086BsXml() para permitir seleccionar un archivo de tipo XML desde un directorio local.

    • Se crea la función fa086VlXML() para realizar la validación del archivo XML antes extraer y mostrar su contenido en el browse.

    • Se crea la función fn086VlDcx() para realizar la validación de la información extraída del archivo XML vs contra la información de la Orden Pago.

    • Se crea la función fa086GrXML() para crear el directorio informado en el parámetro MV_XMLPAGO, guardar los archivos XML y PDF e informar los campos Folio Fiscal (EK_UUID), Fecha Timbre (EK_FECTIMC) y Archivo XML (EK_XMLCP) generando una relación con la Orden de pago.

    • Se crea la función fn086RvXml() para generar una ventana de dialogo diálogo e indicar al usuario si desea realizar la reversión de la asociación entre la orden de pago y el complemento de recepción de pago, también, valida si la orden de pago selecciona seleccionada cuenta con dicha asociación, de ser así, realiza la reversión.

    • Se crea la función fn086DlXML() para realizar el borrando borrado de la información contenida en los campos Folio Fiscal (EK_UUID), Fecha Timbre (EK_FECTIMC),  Archivo XML (EK_XMLCP) y el borrado de los archivos XML y PDF del directorio configurado en el parámetro MV_XMLPAGO

    • Dentro de la función Cancela(), se valida si las Ordenes Órdenes de Pago seleccionadas contienen asociación con un complemento de recepción de pago, de ser así, mostrará una ventana de dialogo e diálogo y lo indicará al usuario, si éste confirma, se accederá a la función fn086DlXML() para realizar el borrando borrado de la información asociada al complemento de recepción de pago.

  • En la rutina de de Orden de Pago (Fina085aFINA085A) se realizan los siguientes ajustes:
    • En las funciones Fina085a(), A085APgAut(), Fa085Grava(), Fa085Tela() y GravaPagos() se eliminan las líneas de código relacionadas al campo Folio Fiscal (EK_UUID).


Totvs custom tabs box
tabsPre-condiciones, Procedimiento
idspaso1,paso2
Totvs custom tabs box items
defaultyes
referenciapaso1
  1. Realizar un respaldo del repositorio (archivo .rpo)
  2. Aplicar el parche correspondiente al issue DMINA-22956.
  3. Validar que las rutinas actualizadas coincidan con las indicadas en la sección 01. Datos Generales del presente Documento Técnico.
  4. Disponer del archivo XML del Complemento de Recepción de Pago proporcionado por el Proveedor.
  5. Contar con las Facturas de Entrada correspondientes al Complemento.
  6. Realizar la Orden de Pago de las cuotas correspondientes a los pagos realizados en el Complemento.
Totvs custom tabs box items
defaultno
referenciapaso2
  • Asociar una Orden de Pago con el Complemento de Recepción de Pago por medio del archivo XML.

    Acceder al módulo Financiero (SIGAFIN) , menú Actualizaciones | Cuentas por Pagar | Anular Ord. Pago (FINA086)

    • Seleccionar una a Orden de Pago correspondiente. Ir al menú “Otras acciones” y seleccionar la opción “Asociar XML”.



    •  En la siguiente pantalla, dar clic en el botón “Buscar Archivo” y seleccionar el archivo XML del Complemento de Recepción de Pago correspondiente a la Orden de Pago.

       


    • Dar clic en el botón “Salvar”.
      Se Será cargada la información del Folio Fiscal, Fecha de Timbrado y los documentos relacionados al Complemento de Recepción de Pago.

    • Dar clic en el botón “Confirmar” para copiar los archivos (XML y PDF) a la carpeta indicada en el parámetro MV_XMLPAGO y generar la relación con la Orden de Pago mediante los campos Folio Fiscal (EK_UUID), Fecha Timbre (EK_FECTIMC) y Archivo XML (EK_XMLCP).



    • Revisar los archivos creados en la carpeta del servidor.
      Los archivos son renombrados con la siguiente nomenclatura:
      OP_NúmeroOP_RFCReceptor. XML o .PDF

    • Revisar la tabla d Ordenes de Órdenes de Pago (SEK) y comprobar que los campos han sido almacenados correctamente:

      • Folio Fiscal (EK_UUID) : Folio Fiscal del Complemento de Recepción de Pago.

      • Fecha Timbre(EK_FECTIMC) : Fecha timbrado del Complemento de Recepción de pago.

      • Archivo XML(EK_XMLCP) : Ruta donde son almacenados los archivos XML y PDF del Complemento de Recepción de Pago.




  • Revertir la asociación de la Orden de Pago con el XML del Complemento de Recepción de Pago.

    Acceder al módulo Financiero (SIGAFIN) , menú Actualizaciones | Cuentas por Pagar | Anular Ord. Pago (Fina086)

    • Seleccionar una Orden de Pago. Ir , ir al menú “Otras acciones” y seleccionar la opción “Revertir XML”.


    • Será mostrado un mensaje de confirmación indicando lo siguiente:



    • Confirmar el mensaje.
    • El sistema notificará con un mensaje la reversión de la asociación de la Orden de Pago con el Complemento de Pago.



    • Revisar que los archivos relacionados a con la Orden de Pago hayan sido borrados de la carpeta del servidor.
    • Revisar la tabla de Órdenes de Pago (SEK) y comprobar que la información relacionada al Complemento de Pago haya sido borrada de los campos Folio Fiscal (EK_UUID), Fecha Timbre (EK_FECTIMC) y Archivo XML (EK_XMLCP).


  • Cancelar una Orden de Pago asociada a un Complemento de Recepción de Pago (XML).

    Acceder al módulo Financiero (SIGAFIN) , menú Actualizaciones | Cuentas por Pagar | Anular Ord. Pago (Fina086)

    • Seleccionar una Orden de Pago que cuente con relación XML y dar clic en el botón “Confirmar”.
    • Será mostrado un mensaje de confirmación indicando lo siguiente:



      Si se confirma, la Orden de Pago será cancelada y la información relacionada al Complemento será borrada (archivos XML y PDF e información de los campos Folio Fiscal (EK_UUID), Fecha Timbre (EK_FECTIMC) y Archivo XML (EK_XMLCP)), si se rechaza, no se realizará ninguna acción.

    • Confirmar la anulación.



    • La Orden de Pago cambia de estatus a “Orden de Pago Anulada”.

    • Revisar que los archivos relacionados a la Orden de Pago hayan sido borrados de la carpeta del servidor.

    • Revisar la tabla de Órdenes de Pago (SEK) y comprobar que la información relacionada al Complemento de Pago haya sido borrada de los campos Folio Fiscal (EK_UUID), Fecha Timbre (EK_FECTIMC) y Archivo XML (EK_XMLCP).


...

Creación de campos en el archivo SX3 -Campos:

Tabla SEK - Ordenes Órdenes de Pago

Crear el campo EK_XMLCP

...

Parámetros recibidos:

  • N/A

Retorno:

  • N/A

Ejemplo 

1

2

3

4

5

6

7

8

9

10

11

#Include 'Protheus.ch'


User Function F086GRCP()

    Local aArea:= SEK->(GetArea())


   IF AllTrim(SEK->EK_TIPO) == "TF" .AND. SEK->EK_LA =="S"

     F086ACTCT2()

   EndIf


   SEK->(RestArea(aArea))

Return


Card documentos
InformacaoLa presente solución aplica para versión 12.1.2210 o superior.
Titulo¡IMPORTANTE!

...