Entendiendo las reglas de validación

Este artículo se ha traducido del inglés mediante IA y puede contener errores. Sus comentarios nos ayudarán a mejorar.

Esta página explica cómo funcionan las reglas de validación en ActivityInfo y qué revisar cuando encuentre registros inválidos.

Cómo funcionan las reglas de validación

Las reglas de validación en ActivityInfo definen si un registro es válido en cualquier momento.

Como resultado:

  • Un registro que era válido cuando se creó puede volverse inválido más tarde
  • Pueden aparecer errores de validación aunque nadie haya editado los datos

Este comportamiento está siempre presente en ActivityInfo, pero se hace visible en la tabla interactiva, donde se muestran muchos registros a la vez y las celdas inválidas se resaltan inmediatamente.

Reglas de validación que usan fechas

Cuando las reglas de validación dependen de la fecha o la hora actual.

Funciones como:

Estas funciones devuelven valores diferentes a medida que pasa el tiempo. Por lo tanto, las reglas de validación que utilizan estas funciones cambiarán su resultado con el tiempo.

Ejemplo

SESSION_DATE >= ADDDATE(TODAY(), -7) &&
SESSION_DATE < ADDDATE(TODAY(), 7)

Esta regla requiere que la fecha de la sesión esté dentro de los siete días a partir de hoy. La regla puede cumplirse cuando el registro se añade por primera vez, pero semanas más tarde el mismo registro puede quedar fuera de este rango y volverse inválido.

Al ver los datos en la tabla interactiva, esto puede hacer que muchos registros muestren errores de validación al mismo tiempo.

Validación de la entrada de datos frente a la validez a largo plazo

Revise cada regla de validación y determine si su propósito es:

  • Ser siempre "true" durante la vida del registro.
  • Aplicarse solo cuando los datos se introducen por primera vez.

Reglas que siempre deben ser "true"

Algunas reglas de validación describen condiciones que deben permanecer "true" en todo momento, como:

  • Campos obligatorios
  • Relaciones lógicas entre campos (por ejemplo, una fecha de inicio anterior a una fecha de finalización)
  • Límites numéricos que nunca deben excederse

Estas reglas son muy adecuadas para la validación continua y se comportan de la misma manera en los formularios y en la tabla interactiva.

Si se introducen campos obligatorios después de que ya existan registros en el formulario, esos registros pueden volverse inválidos si no contienen valores que satisfagan los nuevos requisitos.

Reglas que deben aplicarse solo cuando se introducen los datos

Si una regla está destinada a validar los datos solo en el momento en que se introducen, esto debe hacerse explícito en la fórmula.

Un enfoque común es aplicar la regla de validación solo mientras el registro es nuevo.

IF(ISBLANK(_lastEditTime), START_DATE < TODAY(), TRUE)

Con esta regla:

  • Los registros nuevos deben cumplir el requisito de la fecha
  • Los registros existentes siguen siendo válidos a medida que pasa el tiempo

Esto evita que los datos históricos se vuelvan inválidos cuando se ven en la tabla interactiva.

Valores predeterminados en la tabla interactiva

En ActivityInfo, tanto las reglas de validación como los valores predeterminados influyen en la entrada de datos en los formularios y en la tabla interactiva, pero tienen propósitos diferentes y se comportan de manera distinta.

Los valores predeterminados ayudan a agilizar la entrada de datos. Rellenan automáticamente un campo cuando se crea un nuevo registro. Esto reduce el trabajo repetitivo y garantiza que los valores de uso común estén precargados. Sin embargo, los valores predeterminados se aplican una sola vez, en el momento de la creación del registro.

Las reglas de validación protegen la calidad de los datos. Definen las condiciones que los registros deben cumplir antes de poder ser guardados o enviados. Las reglas de validación se evalúan continuamente y pueden marcar los registros como inválidos si no cumplen los criterios definidos.

Los valores predeterminados se aplican cuando se crea un nuevo registro. No se reevalúan continuamente después de que el registro ha sido guardado.

Al utilizar la tabla interactiva, esta diferencia es importante:

  • Los valores predeterminados se rellenan una vez, en el momento de la creación
  • Las reglas de validación se evalúan continuamente

Valores predeterminados que usan TODAY() o NOW()

Los valores predeterminados también pueden usar funciones como TODAY() o NOW().

Cuando se utiliza como valor predeterminado, esta expresión establece el campo con la fecha actual en el momento en que se crea el registro. El valor no cambia después.

Esto hace que los valores predeterminados sean adecuados para capturar información en el momento de la entrada, como:

  • La fecha en que se creó un registro
  • El período de reporte en el momento de la entrada

Sin embargo, si una regla de validación también hace referencia al mismo campo, puede que más tarde se evalúe de forma diferente a medida que pasa el tiempo.

Antes de habilitar la tabla interactiva

Para evitar errores de validación inesperados:

  1. Revise todas las reglas de validación que hacen referencia a TODAY() o NOW()
  2. Revise los valores predeterminados que usan TODAY() o NOW()
  3. Confirme si cada regla debe aplicarse de forma permanente o solo en el momento de la entrada de datos
  4. Actualice las reglas de tiempo de entrada para incluir lógica condicional cuando sea apropiado

Resumen

La tabla interactiva no cambia el funcionamiento de las reglas de validación o los valores predeterminados. Hace visibles los registros que infringen las reglas de validación.

Las reglas de validación determinan si un registro es válido en cualquier momento. Los valores predeterminados determinan qué se rellena cuando se crea un registro. Diseñar ambos teniendo en cuenta esta distinción garantiza una transición fluida y evita la confusión de los usuarios.

Siguiente elemento
Añadir una carpeta