En la sección de edición de procesos dentro del personalizador encontramos la cabecera de la aplicación con las flechas de navegación y el título de la ventana donde nos encontramos, además del menú en la parte superior derecha.
El área de trabajo está dividida en dos secciones. En la parte izquierda se encuentra la opción para seleccionar el proceso a personalizar, junto a un botón para crear nuevos procesos personalizados.
Si se desea buscar un proceso, se puede escribir el nombre o parte de éste en la lista desplegable y pulsar intro, lo que mostrará en la lista aquellos procesos que cumplan con la selección:
Para ver el proceso en sí, basta con desplegar los nodos de la lista.
Debajo del selector de procesos se encuentra el apartado dedicado a la configuración del mismo.
En este se muestran los datos del proceso, permitiendo la edición de los mismos en caso de ser posible:
- Id: campo de solo lectura. Como en el resto del personalizador, está compuesto por el prefijo AHOR cuando se trata de un proceso estándar, y por el prefijo PERS cuando se trata de un proceso personalizado.
- Área: área a la que va a pertenecer el proceso. Una vez guardado el proceso no se podrá editar. Este campo se utiliza para dotar de un sentido funcional a los procesos y permitir su selección posterior de una forma más organizada. No tiene repercusión alguna sobre el comportamiento del proceso.
- Descripción: texto que saldrá en la lista de procesos en el resto de secciones del personalizador para poder identificarlo y seleccionarlo de forma sencilla.
- Etiqueta: texto que saldrán en el botón del proceso. De esta forma se podrá tener varios procesos con una misma etiqueta, y se utilizará el campo descripción para poder distinguir entre ellos desde los diferentes selectores del personalizador.
- Acciones rápidas: permite asignar teclas de acceso rápido a la ejecución del proceso. Consultar el artículo TPV - Teclas de acceso rápido para ampliar la información.
- Refresca: establece si se debe refrescar el ticket, la caja o la aplicación completa. Es decir, una vez se ejecute la acción asociada al proceso se procederá a refrescar el ticket (recargando las líneas e importes), la caja (refrescando el listado de ticket y otros elementos) o la aplicación completa (refrescando toda la TPV). Hay procesos, como la inserción de línea, que requieren un refresco del ticket para mostrar en pantalla la nueva línea incluida, mientras que otros no requieren ningún refresco.
- Ejecución: permite definir el marco de ejecución del proceso. En un entorno Offline, algunos procesos deben ejecutarse sobre la API Offline (local a la TPV), mientras que otros sólo pueden ejecutarse en la API Online (que trabaja sobre la base de datos central), y unos terceros dependen de si el ticket se ha creado en la tienda (cobro) o se ha recuperado de central (abono). Por ejemplo, la apertura de la caja se marcará como Offline porque es un proceso que siempre se realizará sobre la API Oflline (siempre que se trabaje en un entorno de TPV Offline, en el resto de los casos la ejecución siempre es online, independientemente de lo que establezca este parámetro); la creación de clientes siempre se marcará Online porque los clientes se crean en central y luego, por mensaje, se descargan en la base de datos de la tienda; la impresión del ticket se marcará como Ticket, porque dependiendo de donde se ha creado el ticket se podría lanzar la impresión por la base de datos central o de la tienda.
- Icono: es el icono asociado al proceso y que se visualizará en el botón de la TPV. Este icono es el genérico y podría modificarse luego al asignarse a un menú desde el editor de menús. La forma de cambiarlo es con el menú contextual (botón derecho) sobre el icono.
- Activado: indica si el proceso está activado o no. Un proceso AHOR (estándar) no se podrá desactivar utilizando el botón, lo hará automáticamente al activar un proceso PERS asociado al estándar. Siempre tiene que haber un único proceso activo, estándar o personalizado, por ello, si se activa un proceso se desactivará el otro proceso de la misma familia que estuviera activo. Si se desactiva un proceso personalizado, se activará, automáticamente el estándar.
- Aplicar seguridad: indica si se va a comprobar que el usuario que está ejecutando la acción es administrador o está autorizado para ello. Este paso se detalla más adelante. Disponible desde la versión 4.4.2300 hotfix 24.
- Ayuda: información acerca del proceso. Se puede utilizar para dejar comentarios descriptivos de cara a que otros usuarios que utilicen el personalizador sepan cuál es su función.
- Botón condiciones: el funcionamiento de las condiciones se explica en el siguiente documento TPV - Condiciones
En la parte inferior izquierda se encuentra la sección de componentes del proceso. Estos componentes son los subprocesos ejecutados por el proceso, en el orden concreto en el que aparecen en la sección. Puesto que la ejecución de los subprocesos es una ejecución encadenada donde los datos de salida de uno deben coincidir con los datos de entrada del siguiente, el orden es sumamente importante.
Pulsando sobre uno de los iconos genéricos se abrirá el editor del subproceso correspondiente. En este caso los subprocesos no tienen iconos distintivos puesto que no lo requieren a nivel visual en la TPV, son tareas que ejecuta internamente.
En la parte derecha del área tenemos el selector de pasos del proceso, o selector de subprocesos, compuesto tanto por un campo de texto para permitir filtrar, como por un árbol con todos los subprocesos existentes, tanto estándar como personalizados.
Para facilitar la búsqueda de estos pasos se incluye una categorización genérica que los agrupa funcionalmente y que tiene dependencia directa con la forma en la que la TPV ejecuta el subproceso (este tipo se asocia en la creación del subproceso):
- Proceso: son subprocesos que ejecutan un procedimiento almacenado. Por ejemplo, el subproceso "Crear Ticket" tiene como principal función ejecutar el procedimiento almacenado pTPV_Crear_Ticket.
- Vista estándar: las ventana que todavía no son personalizables pero sí cargan datos de la base de datos tienen asociado un proceso de tipo vista estándar. Por ejemplo, "Generar Anticipo" es un proceso que abre una ventana con una plantilla HTML y sus datos asociados. Esta ventana, a pesar de no ser editable, requiere la asignación de un subproceso para ser mostrada por la TPV. Este tipo de subproceso, por tanto, sólo son usados por fábrica y deben evitarse en la medida de lo posible puesto que tenderán a desaparecer en futuros hotfixes.
- Ventana de sistema: son los componentes estándar que ejecuta la TPV y contemplan prácticamente toda su funcionalidad. Cualquier elemento estándar que se muestra en la TPV es de tipo ventana sistema. Es decir, estos subprocesos están para poder ser reutilizados en personalizaciones nuevas, pero no se recomienda su personalización.
- Guardado de formularios: son subprocesos que lanzan procedimientos de guardado, normalmente asociados a los botones Guardar de las ventanas de edición. Por ejemplo, clientes y contactos.
- Vista personalizador: son la evolución de la vista estándar, es decir, los subprocesos que lanzan los modelos (pantallas) generados desde el editor de modelos. Por ejemplo, "Nuevo Cliente".
- Grid personalizador: son los subprocesos que lanzan las tablas de la TPV, generadas y modificadas desde el editor de grids. Cuando a un subproceso de tipo Grid personalizador se le asocia un Grid, ese subproceso abrirá un buscador mostrando la tabla especificada.
Una vez encontrado el subproceso en el árbol mencionado, se puede arrastrar con el ratón al módulo Componentes del proceso para incluirlo como paso adicional en la ejecución del mismo.
Crear una nueva personalización
Una vez descrito el entorno del editor de procesos, a continuación, se explica cómo crear un proceso personalizado a partir de un proceso estándar.
Es importante tener en cuenta que el personalizador posibilita un nivel de independencia tal que, funcionalmente, sería posible crear personalizaciones sin sentido. Es decir, el usuario podría decidir abrir el cajón después de guardar un cliente añadiendo el subproceso de apertura de cajón tras del subproceso de modificar cliente. La TPV no lleva a cabo comprobaciones lógicas, tiene que ser el usuario el que entienda lo que está haciendo.
Pasando al ejemplo, en primer lugar se procede a la selección del proceso estándar que va a personalizarse, en este caso se escoge Modificar Cliente y la personalización consiste simplemente en cambiar datos del mismo.
NOTA: En la captura anterior, se visualiza el proceso Modificar Cliente con un icono de tipo rueda dentada o engranaje de color verde, esto indica que se trata de un proceso estándar activo. Los procesos estándar no pueden ser desactivados a menos que exista uno personalizado, si un proceso estándar se intenta desactivar, la aplicación nos informa a través de una notificación. La única forma de desactivar un proceso estándar es activando un proceso personalizado, y la aplicación desactiva el estándar de forma automática.
Al seleccionar el proceso Modificar Cliente para el ejemplo observamos que en la pantalla de configuración de proceso se han cumplimentado los campos de forma automática, en este momento se puede modificar algunos datos como la descripción, etiqueta, el modo de refresco o la ejecución del mismo.
Al pulsar con botón derecho sobre el icono aparece un menú contextual que permite asignar un icono diferente.
Si se pulsa esta opción, se abre la librería de iconos que permite escoger entre una gran variedad. Los iconos que se encuentran al principio de la librería corresponden a los que utiliza la TPV de forma estándar.
Cualquier cambio en alguno de los campos permitidos, al pulsar el botón guardar situado en la parte inferior, generará el correspondiente proceso Personalizado asignándole un identificador PERS. Para el ejemplo modificaremos la descripción por "Modificar cliente PERS".
El proceso personalizado aparece activado por defecto y la aplicación procede a desactivar el proceso estándar. Si se quiere desactivar, se pulsa sobre el botón desactivar y, automáticamente, se habilita el proceso estándar asociado en caso de tenerlo.
Para diferenciar qué proceso se encuentra activado, la aplicación utiliza los colores verde y gris, siendo verde para destacar el estado del proceso activo y gris para el estado desactivado. Se puede buscar el proceso personalizado o estándar desplegando el selector y buscando su sección.
Aplicar seguridad (Disponible desde la versión 4.4.2300 hotfix 24)
Este interruptor permite aplicar seguridad en la ejecución de los procesos. Es decir, comprobar que el usuario es administrador o que cumple unos criterios personalizados para poder ejecutar el proceso.
Si se activa el interruptor de 'Aplicar seguridad', al ejecutar el proceso en cuestión se mostrará una ventana para pedir la contraseña del usuario que inició sesión. En la captura siguiente, podemos ver el resultado al pulsar en nuevo ticket.
Si el usuario introduce la contraseña correcta, el proceso continuará su ejecución. Si la contraseña es incorrecta, se mostrará un mensaje indicando que hay un error en el inicio de sesión. Esta ventana de petición de contraseña no desparecerá hasta que se introduzca la contraseña correcta(continuando entonces la ejecución del proceso) o se pulse en fuera de ella(cancelando la ejecución del proceso).
Para personalizar los usuarios que pueden ejecutar un proceso concreto, se debe editar el procedimiento almacenado pTPV_Validacion_Permisos_Usuario_Personalizado de forma que, además de devolver el Return correspondiente según queramos que continúe o no el proceso, asignemos la siguiente línea si el resultado es correcto:
Actúa como visible (Disponible desde la versión 4.4.2400 Hotfix 60)
Este interruptor permite controlar la forma en que se presentará el proceso en caso de que no se cumplan las condiciones asociadas al mismo.
Si alguna de las condiciones no se cumple y "Actúa como visible" está habilitado, el proceso se mostrará visible pero sombreado. Es decir, el usuario podrá verlo pero no podrá ejecutarlo
En caso de que "Actúa como visible" esté deshabilitado, el proceso no se mostrará en la TPV al no cumplir alguna de las condiciones que tenga asociado.
Reordenar un paso del proceso
Dentro del módulo Componentes del proceso se puede utilizar el ratón para seleccionar uno de los pasos (subprocesos) y, sin soltarlo, moverlo a la posición que se desee dentro del proceso.
Esta acción, si bien posible, requiere del profundo conocimiento de los propios subprocesos. Puesto que es una ejecución secuencial y podrían tener dependencias en parámetros de entrada y salida entre ellos, no todo está permitido. Es decir, por mucho que el personalizador permita incluir el subproceso de cobro después del subproceso modificar cliente, es obvio que este esperará una serie de condiciones que no se van a cumplir en tiempo de ejecución, dando error al usarlo desde la TPV pero no mostrándose ningún aviso ni error a la hora de guardar la personalización.
Será el usuario el que, en todo momento, deberá tener el conocimiento absoluto a nivel técnico y funcional de lo que va a ejecutarse en el proceso que está personalizando, asegurando el correcto funcionamiento del mismo antes de su despliegue en un entorno productivo.
Eliminar un paso del proceso
También es posible la eliminación de subprocesos utilizando la opción eliminar del menú contextual, pero al igual que en el punto anterior es imprescindible que el usuario sepa el efecto funcional que va a tener dicha decisión.
Eliminar un proceso
El botón Eliminar sólo aparecerá en el caso de que se esté trabajando con un proceso personalizado. Si se está trabajando con un proceso Estándar sólo se mostrará el botón Guardar.
< TPV - Editor de menús |