Reglas predeterminadas en Jitterbit App Builder
Las reglas Predeterminadas son una finalidad de regla que se utiliza para rellenar automáticamente uno o más campos con un valor. Por ejemplo, una regla Predeterminada puede establecer un campo Fecha a la fecha actual, o establecer un campo Precio basándose en un valor consultado de una tabla relacionada.
Un ejemplo completo con valores de demostración para crear una regla Predeterminada y luego registrarla en un panel se encuentra en la sección Reglas predeterminadas de Introducción a App Builder - Lección 7: Más sobre reglas.
Crear una regla predeterminada
-
En App Workbench > Reglas, haz clic en + Regla. Se abre el Generador de reglas.
-
Siguiendo las convenciones de nomenclatura de App Builder, ingresa un nombre para la regla, utilizando el patrón
NombreTabla (Predeterminado NombreColumna). -
En el campo Finalidad, desplázate para localizar la opción Predeterminada bajo Caso especial y selecciónala.

-
En el campo Destino, selecciona la tabla u objeto de negocio al que deben aplicarse los valores predeterminados. Consulta Dirigirse a una tabla u objeto de negocio a continuación para decidir cuál usar.
-
Haz clic en Crear. App Builder tardará unos momentos en crear la regla.
-
En la pestaña Columnas, añade la lógica que determina el valor predeterminado para cada columna que deseas establecer como predeterminada. Por ejemplo, podrías hacer clic en + Columna e ingresar la expresión
Now()para establecer un campo de fecha a la fecha y hora actual utilizando la función de base de datos Now(), o añadir una tabla relacionada en la pestaña Tablas y seleccionar una de sus columnas para consultar un valor de ella. -
Haz clic en Resultados en el panel Regla para confirmar que la regla devuelve el valor que esperas.
Dirigirse a una tabla u objeto de negocio
Una regla Predeterminada debe dirigirse a su tabla base u a un objeto de negocio construido sobre esa misma tabla. Esta elección determina su comportamiento:
-
Cuando el destino es una tabla: Una regla Predeterminada que se dirige a una tabla solo puede establecer valores predeterminados en columnas físicas, no en columnas calculadas, pero se aplica a todos los objetos de negocio construidos sobre esa tabla. Por ejemplo, una regla Predeterminada dirigida a la tabla
Orderpodría establecerQuantitya1yPricea5. Si un objeto de negocio construido sobreOrdertiene una columna calculada comoLineTotal(Quantity*Price), esa columna muestraNULLhasta que se guarde el registro, ya que la base de datos solo la calcula una vez que se escriben los valores predeterminados. -
Cuando el destino es un objeto de negocio: Una regla Predeterminada que se dirige a un objeto de negocio, como
Order (Source), puede establecer valores predeterminados tanto en columnas físicas como en columnas calculadas en memoria, y sus valores calculados se recalculan en vivo en la interfaz de usuario a medida que el usuario cambia campos relacionados, incluso antes de guardar el registro. Por ejemplo, siQuantityse establece por defecto a1,Pricese establece por defecto a5, y una columnaLineTotalcalculada (Quantity*Price) se establece por defecto junto con ellas,LineTotalinicialmente muestra5. CambiarQuantitya2antes de guardar recalcula inmediatamenteLineTotala10. Después de guardar, editarQuantitynuevamente a3recalculaLineTotala15.
Nota
Una regla Predeterminada que se dirige a una tabla puede registrarse en esa tabla o en cualquier objeto de negocio construido sobre ella. Una regla Predeterminada que se dirige a un objeto de negocio específico solo puede registrarse en ese mismo objeto de negocio, no en la tabla subyacente ni en un objeto de negocio diferente construido sobre la misma tabla. En todos los casos, el destino de la regla y lo que registres en él deben estar relacionados; por ejemplo, una regla Predeterminada para datos de Order no puede registrarse en la tabla Customer ni en un objeto de negocio Customer.
Registrar una regla Predeterminada
Una regla Predeterminada no tiene efecto hasta que se registra, ya sea en la tabla a la que se dirige o en un panel creado sobre el objeto de negocio al que se dirige.
En una tabla
Registrar una regla Predeterminada en su tabla la aplica a cada objeto de negocio creado en esa tabla:
-
En App Workbench > Tablas, localiza y selecciona la tabla.
-
Haz clic en Más > Predeterminados. Se abre el diálogo Predeterminados.
-
Haz clic en Registrar. Se abre el diálogo Predeterminado.
-
En el campo Tipo, selecciona Regla.
-
En el campo Regla, selecciona la regla Predeterminada que creaste.
-
En el campo Vinculación, selecciona un tipo de vinculación. Consulta Vinculación a continuación para obtener más información.
-
Haz clic en Guardar.
En un panel
Registrar una regla Predeterminada en un panel la aplica solo dentro de ese panel:
-
Navega al panel donde deseas registrar la regla, de una de dos formas:
-
Desde la vista previa de la aplicación, navega a la página que contiene el panel y abre el Live Designer haciendo clic en el icono de menú en la esquina superior derecha y seleccionando Live Designer.
-
Desde App Workbench, abre la pestaña Páginas y selecciona la página que contiene el panel.
-
-
Si estás en Live Designer, selecciona el panel en la vista previa para completar el diseñador con sus opciones, luego haz clic en Más > Predeterminados. Si estás en App Workbench, selecciona el panel en Diseño de Panel de Página, luego haz clic en Más > Predeterminados. Se abre el diálogo Predeterminados:

-
Haz clic en Registrar. Se abre el diálogo Predeterminado:
-
En el campo Tipo, selecciona Regla.
-
En el campo Regla, selecciona la regla Predeterminada que creaste.
-
En el campo Vinculación, selecciona un tipo de vinculación. Consulta Vinculación a continuación para obtener más información.
-
(Opcional) En el campo Orden, ingresa un número para determinar en qué orden se ejecutará la regla, si el panel tiene más de una regla registrada. Si el panel solo tiene una regla, el valor predeterminado es
10. -
Deja marcada la casilla Activo para aplicar la regla. Si deseas desactivarla sin eliminarla, desmarca esta casilla.
-
Haz clic en Guardar.
Actualiza la página. Para probar si la regla Predeterminada funciona, crea un nuevo registro en esa tabla o panel. El campo debe completarse automáticamente.
Vinculación
La vinculación de una regla Predeterminada determina qué datos del registro existente se utilizan para calcular el valor predeterminado:
-
Vinculación implícita utiliza la clave principal del registro en memoria, por lo que siempre coincide exactamente con un registro.
-
Vinculación explícita coincide en una columna distinta a la clave principal, como una clave externa. Por ejemplo, podrías vincular explícitamente un valor predeterminado de
FletealIDTransportistaseleccionado en un panel dePedido, de modo queFletetenga un valor predeterminado basado en el transportista que seleccione el usuario.
Advertencia
Una vinculación explícita debe configurarse de modo que su regla devuelva exactamente un registro para un conjunto determinado de criterios de vinculación, o App Builder genera un error "demasiadas filas". Si encuentras este error, intenta agregar una cláusula DISTINCT a la regla; si eso no reduce los resultados a un registro, reformula la consulta de la regla para que lo haga.
Consulta Vinculación implícita y explícita para obtener más información.
Cuándo se ejecutan las reglas Predeterminadas
-
En un evento Nuevo (cuando se crea un registro por primera vez), App Builder ejecuta la lógica predeterminada completa antes de insertar el registro en la base de datos, inicializando columnas físicas para cada regla Predeterminada y columnas calculadas para reglas que se dirigen a un objeto de negocio.
-
En un evento de Actualización (cuando se edita un registro existente), App Builder no vuelve a aplicar los valores de columna iniciales de una regla de Valor predeterminado, por lo que no sobrescribirá un valor que el usuario ya haya cambiado. Sin embargo, las columnas calculadas de valores predeterminados que apuntan a un objeto de negocio se recalculan cada vez que cambia un campo del que dependen, tanto antes como después de que se guarde el registro por primera vez. Los valores predeterminados vinculados explícitamente se comportan de la misma manera: se ejecutan nuevamente cada vez que cambia su campo vinculado, independientemente de si el registro ya se ha guardado.
