01. DATOS GENERALES
Producto | TOTVS Backoffice | ||||||
---|---|---|---|---|---|---|---|
Línea de producto: | Línea Protheus | ||||||
Segmento: | Backoffice | ||||||
Módulo: | SIGAFIN - FINANCIERO | ||||||
Función: |
| ||||||
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.
- Realizar un respaldo del repositorio (RPO).
- Aplicar el parche correspondiente al issue DMINA-24102.
- Validar que las rutinas actualizadas en el repositorio, coincidan con las descritas en el encabezado del presente Documento Técnico, así como las fechas.
- 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.
- Dentro del módulo Financiero ejecutar la rutina TOTVS Recibo (Actualizaciones | Cuentas por cobrar).
- En la sección Buscar recibo, especifique los criterios de consulta.
- Localice el recibo a modificar (Verificar que el recibo no contenga datos en la tabla Encabezado del recibo (FJT)).
- Dar clic en la nueva opción agregada por el PE F887ROT en la lista de opciones por recibo.
- 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.
La presente solución aplica para versión 12.1.2210 o superior.
¡IMPORTANTE!
Descripción | Actualizaciones | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Nombre del programa fuente: | RECEIPT.SERVICE.TLPP | ||||||||||||
Parámetros recibidos |
| ||||||||||||
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.
|
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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas