Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFIN - FINANCIERO
Función:
RutinaNombre TécnicoFecha
RECEIPT.SERVICE.TLPPServicio para obtener los recibos
 
País:Todos
Ticket:N/A
Requisito/Story/Issue (informe el requisito vinculado):DMINA-24102


02. 
DESCRIPCIÓN

En el PE F887ROT se requiere adaptar la funcionalidad para que determine si el recibo no tiene registros en la tabla Encabezado del recibo (FJT) el PE sea posicionado en la tabla Cobros Diversos (SEL).


03. INFORMACIÓN ADICIONAL

Se realizan los cambios en los siguientes fuentes:

  • Servicio para obtener los recibos (receipt.service.tlpp) Se realizan cambios en el fuente en el cual se verifica la existencia del recibo en la tabla Encabezado del recibo (FJT) en caso de que no haya datos se posiciona en la tabla Recibos de Cobro (SEL), habilitando un nuevo parámetro en el PE F887ROT el cual informa a cliente si se está posicionando en la tabla SEL o FJT.


  1. Realizar un respaldo del repositorio (RPO).
  2. Aplicar el parche correspondiente al issue DMINA-24102.
  3. Validar que las rutinas actualizadas en el repositorio, coincidan con las descritas en el encabezado del presente Documento Técnico, así como las fechas.
  4. Crear la función de usuario "Nueva opción en Buscar Recibo" (F887ROT) el cual retornará un arreglo con el nombre de la nueva opción y una función de usuario que será ejecutada al dar clic en la nueva opción y el encargado de realizar acciones sobre el recibo posicionado.
  5. Dentro del módulo Financiero ejecutar la rutina TOTVS Recibo (Actualizaciones | Cuentas por cobrar).
  6. En la sección Buscar recibo, especifique los criterios de consulta.
  7. Localice el recibo a modificar (Verificar que el recibo no contenga datos en la tabla Encabezado del recibo (FJT)).
    1. Dar clic en la nueva opción agregada por el PE F887ROT en la lista de opciones por recibo.
  8. Verifique que se hayan realizado las acciones al recibo correctamente a través de la función enviada en el PE F887ROT.

Importante

  • El Punto de Entrada F887ROT proporciona una herramienta para que los usuarios puedan realizar acciones en el recibo seleccionado. Sin embargo, la decisión de realizar estas acciones son responsabilidad del cliente.
  • El sistema no válida ni verifica la información alterada o consultada por el usuario. Por lo tanto, el cliente debe asegurarse de que los cambios realizados en el recibo sean correctos y no generen problemas posteriores.
  • Al ejecutar la función de usuario, los datos del recibo seleccionado vienen en memoria, por lo cual el cliente puede hacer uso de ellas. Ejemplo:
    • FJT->FJT_CLIENT == '000001'  o SEL->EL_CLIENTE == '000001'. Las variables de memoria se posicionarán con prioridad en la tabla FJT (Encabezado de recibo). En caso de que el recibo no cuente con datos en dicha tabla, se actualizaran las variables de memoria a datos de la tabla de SEL (Recibos de cobro).
  • La función de usuario retornada en el PE F887ROT debe estar compilada en RPO, de lo contrario marcará error.

¡IMPORTANTE!

La presente solución aplica para versión 12.1.2210 o superior.


DescripciónActualizaciones
Nombre del programa fuente:RECEIPT.SERVICE.TLPP
Parámetros recibidos
NombreTipoDescripción
PARAMIXB[1]Carácter

Parámetro que permite al usuario verificar en qué tabla se está realizando el posicionamiento para determinar las acciones a realizar.

Las únicas opciones mandadas en este parámetro son:

  1. FJT  (Encabezado del recibo)
  2. SEL (Cobros Diversos).
Punto de entrada:F887ROT
Respuesta:Arreglo que contiene el nombre de la nueva opción habilitada y la función que se ejecutara al dar clic en ella.


Nombre

Tipo

Descripción

Obligatorio

aRet[1]CTítulo de la nueva opción que se habilitara en Buscar Recibos.Si
aRet[2]CFunción de usuario que será ejecutada al dar clic en la nueva opciónSi
Ejemplo de PE F887ROT y función de usuario
#Include 'Protheus.ch'

User Function F887ROT

    Local aData	As Array

    aData := {"CANCEL FORZA","EjemploPE"} //{Nombre de la nueva opción,Funcion a ejecutarse}

Return aData


User Function EjemploPE()
    Local aRet := {}
    
    IF PARAMIXB[1] == "FJT"
        IF FJT->FJT_CLIENT == '000001'  //Cancelara recibos que pertenezcan a este cliente
            RecLock("FJT",.F.)
	        Replace FJT_CANCEL With "1"
	        MsUnLock()
            aRet:={.T.,"PE Ejecutado correctamente"} //{.T.,Mensaje personalizado}
        ELSE
            aRet:={.F.,"ESTE CLIENTE NO PERMITE MODIFICACIONES"} //{.F.,Mensaje personalizado}
        ENDIF
    ELSEIF PARAMIXB[1] == "SEL"
        IF SEL->EL_CLIENTE == '000001'  //Cancelara recibos que pertenezcan a este cliente
            RecLock("SEL",.F.)
	        Replace EL_CANCEL With .T.
	        MsUnLock()
            aRet:={.T.,"PE Ejecutado correctamente"} //{.T.,Mensaje personalizado}
        ELSE
            aRet:={.F.,"ESTE CLIENTE NO PERMITE MODIFICACIONES"} //{.F.,Mensaje personalizado}
        ENDIF
    ELSE    
            aRet:={.F.,"NO SE LOCALIZARON DATOS (FJT y SEL)"} //{.T.,Mensaje personalizado}
    ENDIF
Return aRet  

04. ASUNTOS RELACIONADOS