En este ejemplo, crearemos 2 aplicaciones del tipo "Búsqueda" y 1 aplicación del tipo "Formulario".
En las aplicaciones de filtro, usaremos las tablas "clientes" y "pedidos", sin embargo, seleccionaremos solo unos pocos campos de cada tabla y haremos ajustes en algunos de ellos.
Para usar las tablas mencionadas anteriormente, simplemente cree un nuevo proyecto y use el proyecto "Samples" listo para usar en ScriptCase.
1. Creamos la primera aplicación del tipo Búsqueda usando la tabla "customers", y seleccionaremos solo el campo "customerid" para ser utilizado en la aplicación.
2. A continuación, iremos a la opción "Campos", pues cambiaremos el tipo de campo "customerid" a 'Selectr' y activaremos la opción "Usar Select2".
3. Aún en la página de configuración del campo, bajemos un poco más hasta "Método de lookup" para escribir un código SQL, donde seleccionamos los campos 'customerid' y 'companyname' de la tabla 'customers' y clasificamos los registros en el campo 'companyname'.
4. Dado que la idea es acceder al Formulario pasando por 2 aplicaciones "Búsqueda" de antemano, tendremos que redirigir la aplicación "search_customers" a "search_orders" (que crearemos a continuación), a través del evento onValidate, pasando lo siguiente parámetros a continuación en la macro sc_redir():
5. Una vez hecho esto, crearemos la segunda aplicación del tipo "Búsquerda", donde esta vez usaremos la tabla de 'orders' y realizaremos los ajustes necesarios. En este caso, se seleccionaron dos campos: 'orderid' y 'employeeid'.
6. Con la creación de la segunda aplicación del tipo “Búsqueda”, ajustaremos los campos 'orderid' y 'employeeid' para que sean del tipo 'Select', sin embargo, a diferencia de la aplicación anterior, no activaremos el opción "Usar Select2".
7. En el evento onScriptInit, definiremos el campo 'customerid' como de solo lectura, usando la macro sc_field_readonly(), y luego asignaremos en la variable $customer, la variable global [customer_id], y luego asignaremos al campo {customerid} la variable $customer.
8. Aún en la configuración de los campos, escribiremos un código SQL donde pasaremos como parámetro dentro del campo 'customerid' que también está presente en la tabla 'orders', la variable global [customer_id], que fue creada en el evento onScriptInit en el paso anterior. A continuación, podemos ver el código en el Método de lookup para cada campo:
9. Una vez hecho esto, crearemos el Formulario usando la tabla 'orders'. El detalle para crear este Formulario es que configuraremos los campos {customerid} y {employeeid} para que sean de tipo 'Select', además de habilitar también la opción "Usar Select2".
10. Después de todos estos ajustes, iremos a la aplicación "search_orders", y en la opción "Enlaces entre Aplicaciones", enlazaremos la aplicación con los "form_orders" que acabamos de crear.
- En el menú lateral de la aplicación, seleccionamos la opción "Enlaces entre aplicaciones":
- Como no se ha creado ningún enlace, hacemos clic en "Haga clic aquí" para crear uno nuevo:
- Dejamos marcada la opción "Enlace de Aplicación" y pulsamos en "Siguiente":
- Seleccionamos la aplicación "form_orders" y volvemos a hacer clic en "Siguiente":
- De acuerdo con la configuración que definimos anteriormente, todo ya estará configurado correctamente, solo confirme para completar el enlace.
- Finalmente, hacemos clic en "Guardar", y se creará el enlace:
11. Ejecutamos la aplicación "search_customers" para que sea redirigida a "search_orders", que luego será redirigida a "form_orders", como definimos en el paso anterior.
- Definimos el parámetro de búsqueda y luego "Customerid", y hacemos clic en "Búsqueda":
- Definimos el filtro para los campos {orderid} y {employeeid} y hacemos clic en "Búsqueda":
- Luego, se ejecutará el Formulario con los registros según los filtros previamente definidos: