Saltar al contenido

Datos Compartidos No Vinculantes Entre Paneles

En App Builder es posible compartir datos entre dos paneles sin necesidad de crear una unión cruzada en segundo plano en el objeto comercial. En este artículo, se mostrará un ejemplo de configuración de datos compartidos no vinculantes entre paneles, aprovechando la función Shared() función.

En este ejemplo, tenemos una lista de Proyectos y una lista de Empleados y queremos asignar un Empleado a un Proyecto simplemente haciendo clic en un botón de la lista. En este ejemplo, un Proyecto tiene un Título y un Empleado tiene un Nombre Completo. Después de completar el ejercicio de ejemplo, nuestra página se verá así:

Shareddata

Paso 1: Actualizar la Regla del Panel de Empleados

En este paso, actualizaremos la regla de negocio que respalda el panel Empleado para agregar una nueva columna que aproveche la función Compartida. Por ejemplo: agregue una columna a Empleado (Fuente) usando el valor shared('ProjectID'), Alias como ProjectID y Convierte el valor lógico en ID único.

Paso 2: Crear una Regla CRUD Cram

En este paso crearemos una regla CRUD Cram con las tablas Employee y Project, para insertar el Employee seleccionado en el Project usando la función Shared.

La regla CRUD tendrá la acción Cram y aprovechará las tablas Employee (E) y Project (P).

Columnas para configurar la regla:

  • E. EmployeeID apunta a EmployeeID
  • P. ProjectID apunta a ProjectID
  • NEWUUID() apunta a ProjectEmployeeID

Paso 3: Agregue la Regla CRUD a una Acción en el Objeto Comercial del Empleado

En este paso, agregaremos la regla CRUD Cram a una acción para un evento personalizado que crearemos con el nombre "AssignEmployee". Establezca el alcance de actualización en Global. Asocie este evento al objeto comercial Employee.

Para que esto funcione correctamente, necesitaremos configurar dos registros de enlace para la acción.

  1. EmployeeID a EmployeeID
  2. ProjectID a ProjectID

Paso 4: Agregar el Evento a un Botón

En este paso, agregaremos el evento personalizado AssignEmployee creado en el paso 2 a un control de botón llamado "Asignar" que agregaremos al panel de empleados en la página.

Paso 5: Configurar la Vinculación del Panel

En este paso, comparta el ProjectID a través del enlace del panel, asegurándose de que tanto el panel de empleados como el panel de empleados asignados al proyecto estén enlazados a proyectos. Deberá agregar la información de las columnas de enlace, que por defecto es un enlace regular, por lo que inicialmente seleccionará una columna aleatoria para el panel secundario (actual) y el ProjectID deseado como principal.

Después de agregar la información del panel de enlace, seleccione y abra el registro de columnas de enlace y cambie el valor de Tipo a Compartido.

Esto limitará la información del resultado solo al valor de la columna principal que desea compartir, que es ProjectID en este ejemplo. Haga clic en Guardar.

Ahora, cuando actualice la página y haga clic en el botón Asignar desde el panel de empleados, verá que el empleado seleccionado se agrega al proyecto seleccionado en el panel de empleados asignados al proyecto resultante. Tenga en cuenta que esto se logra sin tener que crear una unión cruzada en el objeto comercial de empleado. Las uniones cruzadas pueden utilizar una gran cantidad de recursos y, a veces, ralentizar el procesamiento de la aplicación.

Nota

Según el caso de uso o la frecuencia con la que se utiliza una columna compartida en las acciones, también es posible agregar el valor compartido a una selección de columna de objeto comercial o usarlo en instrucciones Where.