Árvore de páginas

Versões comparadas

Chave

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

...

Totvs custom tabs box items
defaultyes
referenciaPre-condiciones
Aviso
titleAviso

Esto solo es un ejemplo de como configurar correctamente las reglas de dependencia (XXA), Disparadores y/o modos de edición "When" (X3_WHEN)

CONFIGURACIÓN PARA PRUEBA DEL WHEN

  1. Por medio del Módulo Configurador (SIGACFG) :
    1. Crear el campo con las siguientes características:
      1. Sección campó 
        1. Campo = EL_WHEN
        2. Tipo = 1-Caracter
        3. Tamaño = 5
        4. Formato = @!
        5. Contexto = 1 - Si
        6. Propiedad = 1 - Modificar
      2. Sección informaciones
        1. Tit. Español = Campo when
        2. Desc. Español = Campos que se activa si se cumple el when
      3. Sección Opciones
        1. Inic. Estándar = ""
        2. Modo Edición = U_WHENRET()   

          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: 

          1.  b.

          Ambos ejemplos retornan un valor booleano, el cual indica (.T.) si se activa el campo, ya que la condición se cumple o de lo contrario el campo permanece bloqueado (.F.)

      4. Sección Uso
        1. Usado (x)
        2. Browse (x)
  2. Compilar la siguiente función de usuario:
    1. Esta función tiene la funcionalidad de determinar si se bloquea o no un campo dependiendo el valor del campo Tipo Documento (EL_TIPODOC).

CONFIGURACIÓN PARA PRUEBA DE REGLAS DE DEPENDENCIA

  1. Por medio del Módulo Configurador (SIGACFG):
    1. Crear el campo (Contra dominio) con las siguientes características:
      1. Sección campó 
        1. Campo = EL_DEPEN
        2. Tipo = 1-Caracter
        3. Tamaño = 5
        4. Formato = @!
        5. Contexto = 1 - Si
        6. Propiedad = 1 - Modificar
      2. Sección informaciones
        1. Tit. Español = DEPENDENCIA
        2. Desc. Español = Campos que se activa si se cumple la regla de dependencia
      3. Sección Opciones
        1. Inic. Estándar =""  
      4. Sección Uso
        1. Usado (x)
        2. Browse (x)
  2. Realizamos la configuración del campo (Dominio) Valor (EL_VALOR):
    1. Editamos la pestaña Reglas de dependencia (XXA):
      1. Secuencia = 501
      2. Contra dominio = EL_DEPEN
      3. Tipo = 3 - Pre y Post validación (Para más información, consulte el siguiente link: XXA - Reglas de Dependencia entre Campos)


Aviso
titleIMPORTANTE

Pueden ser mezcladas reglas de dependencia con when, por ejemplo:

  1. Se puede configurar un campo B (Contra dominio) que tenga una regla de dependencia de campo A (Dominio) pero a su vez el campo B tenga un WHEN (X3_WHEN) en donde indica que el campo Tipo Valor (EL_TIPODOC) retorne true solamente cuando se seleccione una forma de pago de tipo Efectivo. En este caso, el campo B solamente se activará cuando las combinaciones de estas dos condiciones sea verdadera (En caso de que él contra dominio tenga una validación (X3_VALID) está también tiene que ser validada y retornar un valor verdadero).

Pueden ser mezclados campos de diferentes tablas.

  1. 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.


Aviso
titleWhen y campos con propiedad Visualizar

Anteriormente, en la rutina de Cobros Diversos (FINA087A), los campos del encabezado de recibo se bloqueaban colocando un WHEN en la tabla SEL - Cobros Diversos. Actualmente, para bloquear campos en el encabezado de recibo en el programa TOTVS Recibo (FINA998), los WHEN deben ser colocados en la nueva tabla FJT - Encabezado de Recibo.

NOTA: Cuando un campo es bloqueado mediante un WHEN, no se le puede asignar ningún valor. Si se desea que el campo no sea editable por parte del cliente, pero que aún se pueda asignar un valor, debe declararse el campo con la propiedad "Visualizar".

Ejemplo de un campo que se desea colocar como no editable, pero donde sí se pueden asignar valores por disparadores o inicializadores estándar:

Aviso
titleAviso

Si hace uso de la tabla de Tipos de Títulos (SES), para la correcta función de los disparadores, validaciones y when de Totvs Recibo, es necesario informar el campo Gen.en RC/OP (ES_RCOPGER).


2.

...

5 - Configuración de validaciones de Campos de la Tabla FJT

Con la actualización de mostrar las consultas estándar nativas de Protheus en el Totvs Recibo, se tienen que tener en cuenta las siguientes actualizaciones al diccionario de datos, 

con la finalidad de no perder la integridad de datos ni la configuración que se tenía.


Modificar el campo Serie (FJT_SERIE) 

CampoFJT_SERIE 
WhenSuperGetMv("MV_SERREC",.F.,.F.)     
F3RN2
Val. SistemaExistCpo("SX5","RN"+FwFldGet("FJT_SERIE"))


Modificar el campo Recbibo (FJT_RECIBO)

CampoFJT_RECIBO
Val. SistemaFA998Vld( FwFldGet("FJT_SERIE"), FwFldGet("FJT_RECIBO")) 


Modificar el campo Modalidad (FJT_NATURE)

CampoFJT_NATURE
Val. SistemaExistCpo("SED")


Modificar el campo Cliente (FJT_CLIENT)

CampoFJT_CLIENT
Val. SistemaExistCpo("SA1")


Modificar el campo FJT_LOJA  

CampoFJT_LOJA  
Val. SistemaExistCpo("SA1",FwFldGet("FJT_CLIENT")+ FwFldGet("FJT_LOJA"),1)   


Modificar el campo Cobrador (FJT_COBRAD)

CampoFJT_COBRAD
Val. SistemaExistCpo("SAQ")


Modificar el campo Recbibo (FJT_EMISSA)

CampoFJT_EMISSA
Inicializador Estandarddatabase

Consulta Estándar (SXB)

RN2

Actualización consulta estándar en el archivo SXB - Consulta Estándar:


Alias

Tipo

Secuencia

Columna

Descripción

Contenido

RN2  

1

01DBRN2SX5                                                                                                
RN2 20101Tabla + Clave
RN2 40101Clave X5_CHAVE      
RN2 40102Descripcion X5_DESCRI               
RN2 501

SX5->X5_CHAVE         
RN2 502

SX5->X5_DESCRI 
RN2 601

RN


2.6 - Restricciones importantes


Totvs custom tabs box items
defaultyes
referenciaRestricciones
Aviso
titleCampos LookUp

Los campos con formato tipo LookUp no permiten el uso de consultas estándar o consultas específicas, esto se debe a que estos campos cuentan con una configuración especifica de mejora de performance cuando existen muchos registros de bancos en una base de datos, proporciona el uso de una pantalla con paginación y filtros avanzados para la búsqueda de un registro en específico, pero estos campos no están preparados para el consumo de consultas estándar o consultas específicas.


El formato de los campos es el siguiente:


Algunos de estos campos en Totvs Recibo son:

Busca Banco (EL_BANCOS), Busca Banco Cheque (EL_BCOCHQS), Cliente (FJT_CLIENT).

Aviso
titleCampos Combo Normal

Algunos campos de tipo combo normal están preparados para el uso de consultas estándar, como por ejemplo los campos que hacen un consumo a la tabla SX5 como es el caso del campo Serie (FJT_SERIE). Es importante mencionar que únicamente se tiene la funcionalidad para aceptar consultas estándar, pero no consultas específicas para estos campos.




En caso de que se requiera el uso de consultas estándar o consultas específicas, se recomienda utilizar la versión Grid de formas de pago que será liberada en el primer semestre de 2024.

...