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-20578 |
02. SITUACIÓN/REQUISITO
Se requiere habilitar la funcionalidad de disparadores, reglas de dependencia y la condición "When" en la parte del encabezado del recibo de cobro (FJT).
03. SOLUCIÓN
Se llevan a cabo modificaciones en los siguientes fuentes:
- Llamadas por JSTOADVPL (FINA998A): Se envían datos del encabezado para activar o desactivar campos en la forma de pago al abrirse.
- Controlador del servicio de cobradores (COLLECTOR.CONTROLLER.TLPP) y Servicio de cobradores (COLLECTOR.SERVICE.TLPP): Se habilita el Punto de Entrada para mostrar en el campo Cobrador (FJT_COBRAD) del cobrador relacionado con el cliente.
- Controlador del servicio para obtener los recibos (RECEIPT.CONTROLLER.TLPP) y Servicio para obtener los recibos (RECEIPT.SERVICE.TLPP): Se realizan cambios en los servicios que estaban implementados mediante llamadas REST TLPP, transformándolos en funciones.
- TOTVS Recibo (FINA998): Se envían datos mediante un método "post" a la función que devuelve las formas de pago.
- Controlador para obtener las formas de pago (PAYMENTFOR.CONTROLLER.TLPP) y Servicio para obtener las formas de pago (PAYMENTFORM.SERVICE.TLPP): Se transmiten datos del encabezado para poblar el objeto en las Formas de Pago, con el fin de habilitar o deshabilitar campos al abrir la Forma de Pago, así como en validaciones al cambiar valores dentro de la misma.
- Servicio para guardar los recibos (SAVE-RECEIPT.SERVICE.TLPP): Se transmiten datos del encabezado para completar el objeto antes de su almacenamiento.
- Realizar un respaldo del repositorio (RPO).
- Aplicar el parche correspondiente al issue DMINA-20578.
- Aplicar el paquete de expedición continua Financiero - Totvs Recibo MI con fecha de corte superior a este comunicado.
- Validar que las rutinas actualizadas en el repositorio, coincidan con las descritas en el encabezado del presente Documento Técnico.
- A través de la rutina “Productos”, ubicada en el módulo de SIGAFAT (Actualizaciones | Archivos), incluir un producto.
- A través de la rutina “Bancos”, ubicada en el módulo de SIGAFAT (Actualizaciones | Archivos), incluir un banco.
A través de la rutina “Clientes”, ubicada en el módulo de SIGAFAT (Actualizaciones | Archivos), incluir un cliente.
- A través de la rutina "Tipo de Entrada y Salida", ubicada en el módulo Facturación – SIGAFAT (Actualizaciones | Archivos), se debe tener una TES de salida configurada.
- A través de la rutina "Factura de Venta", ubicada en el módulo Facturación – SIGAFAT (Actualizaciones | Movimientos), capturar una Factura para el Cliente con el producto y la TES previamente configurada.
Aviso
La siguiente configuración es solamente un ejemplo para verificar el correcto funcionamiento de la solución, no es necesario configurarlo.
CONFIGURACIÓN PARA PRUEBA DE LA CONDICIÓN WHEN (FJT-ENCABEZADO DE RECIBO)
- Por medio del módulo Configurador de Prothues (SIGACFG) :
- Crear un campo con las siguientes características:
- Sección Campo
- Campo = FJT_WHEN
- Tipo = 1-Caracter
- Tamaño = 5
- Formato = @!
- Contexto = 1 - Si
- Propiedad = 1 - Modificar
- Sección Informaciones
- Tit. Español = Campo When
- Desc. Español = Campos que se activa si se cumple la condición When
- Sección Opciones
- Inic. Estándar = ""
Modo Edición = IIF(!VAZIO(FwFldGet("FJT_RECIBO")),.T.,.F.)
Importante
Importante
En el campo Modo Edición (X3_WHEN) puede ser ejecutada una función de usuario (Cómo se observa en el punto 2) o configurar directamente una condición lógica que retorne un valor booleano desde el Modo Edición del campo.
Ejemplo de Función de usuario y condición lógica desde el módulo configurador:
- b.
Ambos ejemplos retornan un valor booleano, el cual indica que se active el campo (.T.) si la condición se cumple, de lo contrario, el campo permanece bloqueado (.F.).
Pueden ser mezclados campos de diferentes tablas.
Puede hacerse uso de validaciones, reglas de dependencia, disparadores y condiciones "When" en las Formas de Pago (SEL), utilizando campos de la tabla Encabezado de recibo (FJT), como se ilustra en el siguiente ejemplo:
En el campo Prefijo (EL_PREFIXO), se configura la siguiente regla en el campo Modo Edición (X3_WHEN):
IIF(!VAZIO(FwFldGet("FJT_COBRAD")),.T.,.F.)
Esta regla indica que se activará solo si se ha informado el campo Cobrador (FJT_COBRAD) en el encabezado.
- Sección Uso
- Usado (x)
- Browse (x)
- Sección Campo
- Crear un campo con las siguientes características:
- Por medio del módulo Configurador de Prothues (SIGACFG) :
CONFIGURACIÓN PARA PRUEBA DE REGLAS DE DEPENDENCIA (FJT-ENCABEZADO DE RECIBO)
- Por medio del módulo Configurador de Protheus (SIGACFG):
- Crear el campo (Contra dominio) con las siguientes características:
- Sección Campo
- Campo = FJT_DEPEN
- Tipo = 1-Caracter
- Tamaño = 5
- Formato = @!
- Contexto = 1 - Si
- Propiedad = 1 - Modificar
- Sección Informaciones
- Tit. Español = DEPENDENCIA
- Desc. Español = Campos que se activa si se cumple la regla de dependencia
- Sección Opciones
- Inic. Estándar =""
- Sección Uso
- Usado (x)
- Browse (x)
- Sección Campo
- Crear el campo (Contra dominio) con las siguientes características:
- Realizar la configuración del campo Dominio Cliente (FJT_CLIENT), contra dominio Dependencia (FJT_DEPEN):
- Editar la pestaña Reglas de dependencia (XXA):
- Secuencia = 501
- Contra dominio = EL_DEPEN
- Tipo = 3 - Pre y Post validación (Para más información, consultar el documento: XXA - Reglas de Dependencia entre Campos)
- Editar la pestaña Reglas de dependencia (XXA):
Realizar la captura de un recibo de cobro en TOTVS Recibo (SIGAFIN >> Movimientos | Cuentas por Cobrar | TOTVS Recibo)
- Se ingresa a la opción de "Nuevo recibo".
- Capturar los datos del encabezado.
- Cliente: Indicar el cliente configurado en la sección Pre-condiciones.
- Seleccionar la Factura de Venta generada en la sección Pre-condiciones.
PRUEBA DE LA CONDICIÓN WHEN
- Verificar que el "Campo When" (EL_WHEN) se active solamente si se cumple la regla configurada (Si el campo recibo (FJT_RECIBO es diferente de vacío) en la función de usuario o en el módulo configurador.
- Llenar los campos marcados como obligatorios.
- Agregar una Forma de Pago.
- Confirmar la Forma de Pago y guardar el Recibo.
PRUEBA DE LA REGLA DE DEPENDENCIA
- Verificar que el campo "Dependencia" (EL_DEPEN) se active solamente si el campo Cliente (FJT_CLIENTE) tiene algún valor, de lo contrario permanecerá bloqueado.
- Llenar los campos marcados como obligatorios.
- Agregar una Forma de Pago.
- Guardar el Recibo.
04. INFORMACIÓN ADICIONAL
N/A
La presente solución aplica para versión 12.1.2210 o superior, siempre y cuando se tengan las rutinas actualizadas a la fecha indicada en la sección 01 - Datos Generales.¡IMPORTANTE!