133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para...
Transcript of 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para...
![Page 1: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/1.jpg)
Nuevo pattern de
PXTools -
PXFlowControllerIng. Juan Marcelo Bustamante Lamas
#GX2487
![Page 2: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/2.jpg)
Nuestra Empresa
• Conocemos GeneXus desde su versión 3.3
• Comenzamos el trabajo en Web con GeneXus desde 2002
• En el 2006 comenzamos a brindar soporte de migraciones de aplicaciones Win a Web y creamos nuestro producto PXTools.
• Tenemos Presencia en 8 países de América
• Tenemos más de 20 clientes que utilizan PXTools
• Superamos las 100 licencias otorgadas.
![Page 3: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/3.jpg)
El Contexto inicial
• Resolver el dialogo Modal en migraciones Win a Web.– El código posterior a una llamada de una IG se ejecuta antes de la IG.
– Múltiples invocaciones a IGs se pierden quedando solo la última.
• Posibles soluciones– Reingeniería de procesos.
– Programación manual basado en máquina de estados.
![Page 4: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/4.jpg)
Características de la solución
• Definir el flujo de un proceso en una instancia de pattern.
• Facilitar el salvado de contexto de variables al pasar entre distintas interfaces.
• Integración con GXFlow.– Poder invocar a más de una IG en una sola tarea del WorkFlow.
– Precarga automática de ciertas variables del Flow.
• Control de Cierre de Ventana.
• Impresión de Texto en Cliente masivo.
• Confirms.
![Page 5: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/5.jpg)
Ejemplo1 TClientes.Call(TrnMode.Update ,&CliNro )
2 Do 'Cargo Nombre Cliente'
3 &CountDirecciones = 0
4 For Each
5 Where CliNro = &CliNro
6 Defined By CDrNro
7 &CountDirecciones += 1
8 EndFor
9 If &CountDirecciones > 0
10 &Msg = "¿Desea Actualizar las Direcciones de " + CliNom.Trim() + "?"
11 Confirm(&Msg)
12 If Confirmed()
13 For Each
14 Where CliNro = &CliNro
15 TCliDir.Call(TrnMode.Update ,&CliNro ,CDrNro )
16 EndFor
17 EndIf
18 EndIf
19 Do 'Verifico Contactos‘
20
![Page 6: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/6.jpg)
Ejemplo21 Sub 'Cargo Nombre Cliente'
22 For Each
23 Where CliNro = &CliNro
24 &CliNom = CliNom
25 EndFor
26 EndSub
27
28 Sub 'Verifico Contactos'
29 &CountContactos = 0
30 For Each
31 Where CliNro = &CliNro
32 &CountContactos += 1
33 EndFor
34 If &CountContactos
35 &Msg = "¿Desea Actualizar los Contactos de " + &CliNom.Trim() + "?"
36 Confirm(&Msg)
37 If Confirmed()
38 For Each
39 Where CliNro = &CliNro
40 Defined By CCtNro
41 TCliCon.Call(TrnMode.Update ,&CliNro ,CCtNro )
42 EndFor
43 EndIf
44 EndIf
45 EndSub
![Page 7: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/7.jpg)
¿ Cómo funciona?
• Declarar bloques de Código– Cada bloque terminará invocando a una IG.
– Cada IG puede ser un conjunto de pantallas.
• Solo una se ejecutará al finalizar el bloque
– Los bloques son definidos con código GeneXus.
![Page 8: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/8.jpg)
¿Cómo funciona?1 TClientes.Call(TrnMode.Update ,&CliNro )
2 Do 'Cargo Nombre Cliente'
3 &CountDirecciones = 0
4 For Each
5 Where CliNro = &CliNro
6 Defined By CDrNro
7 &CountDirecciones += 1
8 EndFor
9 If &CountDirecciones > 0
10 &Msg = "¿Desea Actualizar las Direcciones de " + CliNom.Trim() + "?"
11 Confirm(&Msg)
12 If Confirmed()
13 For Each
14 Where CliNro = &CliNro
15 TCliDir.Call(TrnMode.Update ,&CliNro ,CDrNro )
16 EndFor
17 EndIf
18 EndIf
19 Do 'Verifico Contactos‘
20
![Page 9: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/9.jpg)
¿ Cómo funciona?
• Declarar bloques de Código– Cada bloque terminará invocando a una IG.
– Cada IG puede ser un conjunto de pantallas.
• Solo una se ejecutará al finalizar el bloque
– Los bloques son definidos con código GeneXus
• Las IG son declaradas con Acciones especialmente consideradas en la instancia.– Las acciones se ejecutan en un Bloque con Comandos específicos del
PXFLowController. Los comandos pueden ser:
• ControllerAction <Action Name>
• ControllerConfirm <Confirm Name>
• ControllerGotoLine <Line Number>
• ControllerReturn
![Page 10: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/10.jpg)
¿Cómo funciona?
![Page 11: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/11.jpg)
Algunas features
• Integración con GXFlow.– Precarga de Variables.
– Control de Cola de Mensajes.
• Control de Cierre de Ventana.
• Impresión de Texto en Cliente masivo.
• Confirms.
![Page 12: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/12.jpg)
Algunas Features
![Page 13: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/13.jpg)
Algunas features
• Integración con GXFlow.– Precarga de Variables.
– Control de Cola de Mensajes.
• Control de Cierre de Ventana.
• Impresión de Texto en Cliente masivo.
• Confirms.
• Invocación a IG dentro de una iteración.
![Page 14: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/14.jpg)
Algunas Features
![Page 15: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/15.jpg)
Algunas features
• Integración con GXFlow.– Precarga de Variables.
– Control de Cola de Mensajes.
• Control de Cierre de Ventana.
• Impresión de Texto en Cliente masivo.
• Confirms.
• Invocación a IG dentro de una iteración.
• Soporte de Subrutinas con IGs.
![Page 16: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/16.jpg)
Algunas Features
![Page 17: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/17.jpg)
Conclusión
• Ventajas– No es necesario realizar reingeniería de procesos.
– Bajo tiempo de implementación.
• Futuro– Automatizar la generación de la instancia en migraciones Win a Web.
– Parseo sintáctico del Lenguaje GeneXus.
![Page 18: 133 nuevo pattern de px tools - pxflow-controller - control de flujo entre interfaces gráficas para la web](https://reader033.fdocuments.co/reader033/viewer/2022051400/55a05d6d1a28ab522e8b4569/html5/thumbnails/18.jpg)
¿Preguntas?