BProc de Viewer

Agustin_Reynoso
Thu, 19 Oct 2023 13:48:42 +0000
Bproc

12 min
@AcademiaFinnegans

¿Qué es?

Es una herramienta que permite agregar acciones a las grillas de las vistas. Estas acciones permiten ejecutar un script en lenguaje java o llamar a una api, enviando los items seleccionados.

¿Cómo funciona?

Un BProc de Viewer puede ser asignado a una sola vista, donde se configuran acciones y equipos y los usuarios permitidos van a poder acceder a ejecutar las distintas acciones que conforman el BProc. Estas acciones son independientes entre sí, por lo que pueden ser ejecutadas individualmente.

Configuración de un BProc Viewer

Puede ser asignado usando cualquier tipo de vista de maestros o documentos del sistema, cuyas acciones pueden aplicarse sobre uno, varios, o todos los registros/filas seleccionados de una vista, dependiendo de la modalidad de selección configurada para cada BProc de Viewer.

Vistas:

Un BProc solo puede asignarse a una sola Vista a la Vez para su uso.

La clase de vista puede ser tanto de Maestros como de Documentos.

Equipos:

Se pueden establecer qué usuarios pueden ejecutar o no los BProcs, a través de sus equipos de pertenencia. Estos equipos se pueden asignar a cada BProc que se desarrolle desde el configurador. En el caso de no configurar ningún equipo, entonces por default todos los usuarios podrán ejecutar el BProc.

Actividades:

Son las distintas acciones que pueden ejecutarse de una vista, perteneciente a un BProc Viewer determinado.

Cada actividad que declaro en un BProc va a agregar un botón accionario en una viewer

Detalle de la configuración de una Actividad:

Modalidades de Ejecución de Acciones:

1. Un Registro

Lo que permite: Ejecutar la acción exclusivamente sobre un único registro que debe estar seleccionado en la vista.

Comportamiento: Al ser ejecutada con un solo registro seleccionado, la acción se inicia de manera inmediata, sin mostrar un pop-up de validación.

2. Selección Múltiple

Lo que permite: Ejecutar la acción sobre uno o varios registros que estén seleccionados.

Comportamiento: Siempre que se ejecuta, el sistema solicitará confirmación mediante un pop-up para prevenir afectaciones masivas involuntarias. La leyenda es: “Acabas de seleccionar N registros ¿Deseas continuar?”

3. Todos los registros

Lo que permite: Ejecutar la acción siempre sobre la totalidad de los registros de la vista. Esta modalidad ignora cualquier selección que el usuario pueda tener en la grilla.

Comportamiento: Al ser ejecutada, el sistema solicitará confirmación mediante un pop-up, indicando que la acción afectará a todos los elementos. La leyenda es: “Acabas de seleccionar N registros ¿Deseas continuar?”

Dependiendo de lo que requiera la actividad se configura la modalidad de acción a utilizar

Tipo de Acción: puede ser

Un llamado a una API a la cual se accede a través de una URL configurada en la Acción, donde el sistema envía al ejecutarse la acción, dentro del Post, la lista de los elementos seleccionados y los parámetros ingresados requeridos por el propio BProc a través de un formulario.

Un Script de SQL, cuyo código se escribe como texto en la propia configuración de la Acción del BProc, el cual debe codificarse siguiendo algunos lineamientos adicionales a SQL.

Parámetros: Una acción puede tener o no parámetros y estos pueden tener un valor por default, estos se detallan más adelante en este mismo documento.

Pasos a seguir

Crear un BProc de Viewers:

1. Acceder al maestro de BProcs (donde están todos los BProcs)

2. Una vez en la pantalla de BProc, elegir la acción “Nuevo”:

3. Completar los campos (sección general): Una vez seleccionado para crear un nuevo BProc, completar los campos correspondientes:

Nombre: Nombre del BProc

Código: Código de identificación del BProc

Activo: Estado del BProc, si es activo o inactivo.

Tipo: Tipo de BProc, seleccionamos “Viewer”.

Aplicación: Seleccionar la aplicación a la que pertenezca nuestro BProc.

Descripción: Descripción del BProc.

Viewer: La vista en la que queremos visualizar nuestro BProc.

4. Carga de Actividades: Para que un BProc funcione hay que cargarle actividades. Estas actividades son los botones (con acciones correspondientes a cada botón) que luego vamos a ver en la vista que elegimos en la configuración general.

5. Completar los campos en la pantalla “Nuevo actividad”

Nombre: Nombre que le asignamos a nuestra actividad

Descripción: descripción de la actividad.

Actualizar formulario al finalizar: Se actualiza el formulario de ejecución, una vez que haya finalizado el proceso.

Tipo de acción: Elegimos entre API y Script.

Modalidad de ejecución: dependiendo de su concepción y requerimiento, seleccionamos una de las modalidades descritas anteriormente.

Url: Este campo aparecerá o no según elijamos API o Script. En caso de elegir API, este campo será obligatorio y pedirá un Url.
La api también permite abrir una página especificada por el servicio en una pestaña nueva en las actividades de tipo API.
La api a la que se llame debe devolver una respuesta con Content-Type: application/json y en el cuerpo de la respuesta tiene que enviar un json con una key llamada redirectURL con la url que se va a abrir en una nueva pestaña.
Ejemplo de respuesta de la API:
{
“redirectURL”: “https://finneg.com”
}

URL de Anulación: Permite anular/reversionar una acción mediante la función de anulación, Adjunte una api que realizará la anulación/reversión de un lote de procesos ejecutados.

En cambio, al elegir Script, se ve la pantalla de la siguiente manera:

Y al ingresar a la solapa, se puede ingresar un script/código en la actividad:

Contamos con la posibilidad de configurar un Script de Anulación: Ingrese el script/código que permitirá revertir/anular los procesos deseados.

Para mas informacion sobre el campo “URL de anulacion” y “Script de anulacion” ingresar a Anulación / Reversión de Bproc de Viewer

6. Carga de parámetros: Hacer click en el botón de “+” para cargar nuevos parámetros

Los campos son:

Orden: Orden de cómo aparecen luego los parámetros en el pop-up a la hora de ejecutar el BProc.

Nombre: Nombre del parámetro que veremos en el pop-up.

Editable: Permitir o denegar la edición del parámetro.

Requerido: Convertir el parámetro en un campo obligatorio.

Visible: permite al administrador especificar si el parámetro debe ser mostrado a los usuarios finales en el form de parámetros.

Tipo Widget: Tipo de dato del parámetro (Textbox, Integer, Long, Float, CheckBox, fecha, Selector).

Valor por defecto: Valor que veremos por defecto en el pop-up.

Descripción: Descripción del parámetro, se podrá observar en modo de tooltip en el pop-up.

(Para ver cómo rellenar los campos correspondientes a API y Script revisar el formato de Especificación técnica que se encuentra mas adelante).

Equipos

¿Qué hace la solapa de equipos? Permite restringir o darle seguridad a este BProc y determinar qué equipos están autorizados a usarlo, en caso de no seleccionar ningún equipo, será visible por todos.

1. Para utilizar el campo “Equipos”: una vez creado nuestro BProc, clickear en la solapa “Equipos”

2. Clickear en el botón “+”

3. Buscar los equipos

4. Elegir el/los equipo/s que queremos que tengan permiso a nuestro BProc. Luego clickear en aceptar.

Aclaración: Al seleccionar un equipo, ese equipo tiene permiso para todas las acciones de un BProc. No podemos dividir las acciones entre equipos. Si queremos que diferentes equipos tengan acciones distintas, debemos crear dos BProcs: uno para cada equipo. Por ejemplo, si hay 5 acciones y seleccionamos dos equipos, ambos tendrán permiso para ejecutar las mismas 5 acciones.

Ventajas de disponer de BProc de Viewers

La integración de aplicaciones con BProc puede ofrecer varios beneficios significativos para una organización. Aquí hay algunos de los beneficios clave de utilizar una herramienta sistémica para lograr esta integración:

Ampliación de funcionalidad: Puedes agregar nuevas características y funcionalidades a tu propia aplicación sin tener que desarrollarlas desde cero. Esto te permite ofrecer más valor a tus usuarios o clientes de manera más rápida y eficiente.

Ahorro de tiempo y recursos: En lugar de construir todas las funciones internamente, puedes aprovechar las aplicaciones existentes que ya han sido desarrolladas y probadas por terceros y reutilizarlas. Esto ahorra tiempo, dinero y esfuerzo en desarrollo.

Mejora de la experiencia del usuario: La integración de aplicaciones de terceros puede enriquecer la experiencia del usuario al proporcionarles acceso a servicios y características adicionales de uso muy particular y especial, que de otro modo no estarían disponibles en GO.

Acceso a datos y servicios externos: Puedes conectarte a fuentes de datos externas o servicios para enriquecer tus propios datos o proporcionar servicios adicionales a tus usuarios. Esto es especialmente valioso en aplicaciones que requieren acceso a información en tiempo real o datos actualizados constantemente.

Escalabilidad: A medida que tu negocio crece y necesitas más funciones, muchas de ellas muy particulares de cada cliente, el BProc permite agregar nuevas integraciones con aplicaciones de terceros para satisfacer esas necesidades.

Mayor competitividad: La capacidad de integrar rápidamente nuevas funciones y servicios especializados, puede hacer que tu aplicación sea más competitiva en el mercado, ya que puedes adaptarte más rápidamente a las demandas cambiantes de los usuarios y las tendencias.

Configuración del BProc (funcionalidad):

Su función es administrar el uso o configuración de uso de parte del usuario. Sería la extensión de esas solapas para poder editar lo que de forma estándar no se puede. Si el BProc no tiene actividades y parámetros creados previamente, nunca podremos acceder a la configuración, por ende, esta funcionalidad solamente aplica una vez creado nuestro BProc.

1. Click en Configuración

2. Dentro de la pantalla “General”, editar el checkbox “Activo”. Sirve para declarar si el BProc es activo o inactivo.

En los parámetros, configurar:

Actividad: nombre que le asignamos a nuestra actividad.

Activo: estado de la actividad, si está activo o inactivo.

Actualizar el formulario al terminar: Se actualiza el formulario de ejecución, una vez que haya finalizado el proceso.

Parámetros: son los valores por default que va a tener una acción en una actividad.

3. Abrir nuestro BProc:

4. Deslizar la barra de la derecha y seleccionar la actividad en la cual queremos acceder a los parámetros:

5. Elegir la actividad, en este caso elegimos “Actividad1” y se despliega esta pantalla:

6. Seleccionar el parámetro que queremos revisar/editar, en este caso, “Param1” y se visualizará la siguiente pantalla:

Cada parámetro tiene campos propios, como observamos en la captura, estos son:

Orden: Orden de cómo aparecen luego los parámetros en el pop-up a la hora de ejecutar el BProc.

Nombre: Nombre del parámetro que veremos en el pop-up.

Editable: Permitir o denegar la edición del parámetro.

Requerido: Convertir el parámetro en un campo obligatorio.

Visible: permite al administrador especificar si el parámetro debe ser mostrado a los usuarios finales en el form de parmetros.

Tipo Widget: Tipo de dato del parámetro (Textbox, Integer, Long, Float, CheckBox, fecha, Selector).

Descripción: Descripción del parámetro, se podrá observar en modo de tooltip en el pop-up.

Y por último, permite editar el campo Equipos:

El campo equipos, explicado anteriormente, también puede editarse una vez creado nuestro BProc.

Especificación técnica:

BProc de Viewer del tipo Script

En el campo Script, se debe codificar un fragmento de código en Java que interactúa con la base de datos y realiza operaciones a través de llamadas de mensajes SQL.

Ejemplo de aplicación:

En el siguiente ejemplo se realizan operaciones de inserción en una tabla llamada “FAFAuditoria” con un mensaje específico y una fecha y hora del sistema. Este mensaje se forma concatenando el texto “BProc de Script funciona! “ con el número de componente del primer registro seleccionado de la vista de Pedidos de Venta. Si el usuario ejecuta el BProc sin haber seleccionado ningún registro, se concatena al texto anterior el valor ingresado por el usuario en uno de los parámetros del BProc.

Codificación:

String sessionID = params.getSessionID();

DBHelper dbh = params.getDBHelper();

try {

selectedRecords = params.get(“selectedRecords”);

String message = params.get(“MENSAJEPARAMETRO”);

if (selectedRecords.size() > 0) {

String newMessage = String.valueOf(selectedRecords.get(0).get(“NUMERODOCUMENTO”).getAsInt());

dbh.executeCommnad(“insert into FAFAuditoria (Mensaje, Fecha) VALUES(‘BProc de Script funciona! " + newMessage + "’, GETDATE())”);

} else {

dbh.executeCommnad(“insert into FAFAuditoria (Mensaje, Fecha) VALUES(‘BProc de Script funciona! " + message + "’, GETDATE())”);

}

} catch (Exception e) {

throw e;

}

Descripción de instrucciones relevantes:

Se usan para para poner o informar la ejecución del código dentro del contexto de una sesión y base de datos. Ambos siempre deben informarse

String sessionID = params.getSessionID();

DBHelper dbh = params.getDBHelper();

Se asigna al objeto selectedRecords de la clase List, los elementos seleccionados por el usuario al momento de ejecutar el BProc

selectedRecords = params.get(“selectedRecords”);

Continúa…

Se asigna al en objeto message el valor de texto ingresado por el usuario en el parámetro “Mensaje”, cuyo nombre interno. es “MENSAJEPARAMETRO”

String message = params.get(“MENSAJEPARAMETRO”)

Este método devuelve la cantidad de registros seleccionados

selectedRecords.size();

Se toma a continuación el valor del documento de identidad del primer registro seleccionado

get(0) → Apunta al primer registro seleccionado, dado que el contador comienza con el cero

NUMERODOCUMENTO → Es el nombre interno configurado para la columna de la vista “Nro Comprobante”

El texto lo toma como entero numérico y lo convierte a Texto para que pueda ser concatenado luego

String newMessage = String.valueOf(selectedRecords.get(0).get(“NUMERODOCUMENTO”).getAsInt());

Este comando permite ejecutar una sentencia SQL, en este caso inserta en la tabla de log un texto y la fecha y hora del sistema

dbh.executeCommand(“insert into FAFAuditoria(Mensaje, Fecha) VALUES(‘BProc de Script funciona! " + newMessage + "’, GETDATE())”);

Este ejemplo hace referencia a esta vista de Pedidos de Venta y campo de documento de comprobante:

BProc de Viewer del tipo API

En el campo URL del BProc, el desarrollador indica aquí la ubicación del recurso que representa la API, donde puede también, aplicar parámetros del tipo hardcodeado como en cualquier URL.

El sistema al ejecutar el BProc, envía adicionalmente en el Post información en formato Json. Este dispone de todos los parámetros con los valores ingresados por el usuario, y la lista con todos los campos de los registros seleccionados por el usuario al ejecutar el BProc.

Es importante a la hora de desarrollar una API que esté preparada para recibir esta estructura de información y darle el debido tratamiento.

El formato JSON dispone de tres atributos principales:

actividadID: es el ID asociado a la actividad del BProc que se usa para llamar a la API

params: contiene todos los parámetros y los valores ingresados por el usuario por pantalla previo a ejecutar el BProc

selectedRecords: contiene una lista de registros, cada registro contiene a su vez todos los datos de columna de la vista, identificándose a través de su nombre interno.

Ejemplo:

Incluye 7 parámetros cuyos datos fueron ingresados por pantalla por el usuario, y una vista con 5 columnas visibles

{

“actividadID”: 1046,

“params”: {

“ParamText”: “textodefault”,

“ParamCheckBox”: “true”,

“ParamLong”: “11”,

“ParamSelector”: “486”,

“ParamFecha”: “2023-10-03T03:00:00.000Z”,

“ParamInt”: “45”,

“ParamFloat”: “1.2”

},

“selectedRecords”: [

{

“TRANSACCIONTIPONOMBRE”: “Operación”,

“TRANSACCIONID”: “12365”,

“NUMEROINTERNO”: “159”,

“EMPRESAID”: “16”,

“FECHA”: “08-10-2023”,

},

{

“TRANSACCIONTIPONOMBRE”: “Operación”,

“TRANSACCIONID”: “12366”,

“NUMEROINTERNO”: “160”,

“EMPRESAID”: “16”,

“FECHA”: “08-10-2023”

}

]

}

Nombres Internos de Columnas de Vistas

Recordar que los nombres internos de las columnas se pueden obtener desde la opción de configuración de cada campo de la vista.