Archives: 21/09/2018

Habilitar una entidad con Workflow para que tenga Autorizaciones

Para lograr que una entidad pueda empezar a utilizar las autorizaciones del Workflow se deben crear una serie de tablas y procedures para que esto pueda funcionar sin problemas, ademas de su configuracion pertinente en la parametrizacion del Workflow.

  • Crear la tabla “nombre_de_entidad_Autorizaciones” esta tabla servirá para guardar las autorizaciones de cada estado y su informacion la estructura es la siguiente:
    • Primary_Key’s de la tabla
    • Secuencia
    • Grupo_Usuario
    • FechaAutorizacion
    • EstadoDesde
    • EstadoHasta
    • EstadoIntermedio
    • AutorizacionFinalizada
  • Crear el procedure “Nombre_de_entidad_Autorizaciones_Insert. Este procedure hace el insert en la tabla “nombre_de_entidad_Autorizaciones”
  • Crear el procedure “Nombre_de_entidad_Autorizaciones_Get_Usuarios_Pendientes_Autorizar. Este procedure se encarga de notificar a los usuarios faltantes. Basarse en la estructura de “Cp_Requerimientos_Cabezal_Autorizaciones_Get_Usuarios_Pendientes_Autorizar”

Cambio de diseño para Workflow

Para hacer que el workflow funciones con las respectivas tablas de propiedades dejo este query como guia de lo que se debe hacer

[embeddoc url=”https://kb.baseglobal.com.ar/wp-content/uploads/2018/09/Estados-Cambio-de-diseño.txt” download=”all”]

  • Crear tabla de propiedades para esa entidad.
  • modificar procedure de insert de esta entidad agregando un Insert a la tabla de propiedades y otro a la tabla Gr_Estados_Entidades para que funcione el historico de estados
  • Crear procedure para recuperar el estado Actual
  • Crear o modificar la vista que recupera los registros de esa entidad para que muestre el estado actual y lo muestre con su color, nombre
  • Crear procedure que altere el estado actual de una entidad en la tabla Propiedades
  • Crear procedure que inserte un nuevo registro a la tabla Propiedades con el estado nuevo de la entidad
  • Modificar el procedure “gr_estados_entidades_insert” que guarda cada uno de los estados nuevos o que son cambiados en el historico de estados. Este procedure tiene un “Case When” por tabla de propiedades que se a agregar o modificar un estado.
  • Modificar el procedure “Gr_Codigos_Estado_Actual” para que el Workflow y las autorizaciones de estado pueda recuperar el estado actual. Esto es interno en el cambio de estado y autorizacion

Desarrollo y prueba de tareas nuevas de CloudService

Para el desarrollo y prueba de las tareas disparadas por Quartz hay una solucion en el SourceSafe preparada para el testing de esas tareas.

La Solucion es DebuggerScheluder.

Esta solucion tiene un proyecto de consola y una referencia a la dll de Quartz y con coneccion al INFORMAC_DESARROLLO que es desde donde levanta las tareas a disparar.

Para probar esto se debe cargar una tarea en IGGlobal Online y en la solucion de DebuggerScheluder.sln se debe agregar una clase que es disparada por Quartz. Esta clase debe ir en el proyecto “Scheduling” de dicha solucion en la carpeta “Jobs” el nombre de la clase debe ser identico al nombre con que se dio de alta en el Online, tener en cuenta que quartz usa “Reflection” para correr las tareas.

El archivo “job.controller.js” en IGGlobal Online tiene todo lo que es la configuracion de las tareas que se van a disparar y en “SchedulerController.vb” esta como se guardan las tareas en las tablas de Quartz.

La funcion “getClassType” en SchedulerController.vb convierte el tipo de tarea a disparar en una clase que Quartz luego va a dispara usando reflection, ese mismo nombre es el que se usara en “DebuggerScheluder.sln”

 


WORKFLOW

Configuración y uso de Workflow

IMPORTANTE!
Nuevas Entidades

Luego de crear una nueva entidad en la solución y para que la misma permita ser configurada en Workflow; se deberá agregar su nombre, gestión y tabla en DB (tabla: Qy_Entidades)


Configuración de Estados

Temas importantes.

  • Secuencia en “0” pasa para todos si aprueba la regla
  • Secuencia distinta de 0 pasa si aprueba la regla solo un nivel, a menos que el check de No requerir secuencia este desactivado
  • En las transiciones si se le pone seguridad a una sola transición inmediatamente queda activado la seguridad para todas las demas transiciones por lo tanto se debera configurar para todas.
  • En caso de no validarse la regla deberán autorizar otros usuarios

Modalidades de Secuencia

  • Si todos tienen secuencia igual (mayor a 0) deberán autorizar todos para que el estado cambie al finalizado, siempre y cuando todos cumplan la regla
  • Si todos tiene secuencia 0 el primero en cumplir la regla ya pasa al estado final (esto por si uno de los eslabones no esta presente)
  • Si la secuencia es consecutiva (1,2,3) deberán autorizar en ese orden todos para que el estado cambie al finalizado, siempre y cuando todos cumplan la regla, y este activado el check de requerir secuencia.
  • Si la secuencia es consecutiva (1,2,3) pero esta desactivado el check de requerir secuencia puede autorizar cualquiera siempre y cuando se cumpla la regla
  • TENER EN CUENTA QUE LAS AUTORIZACIONES SEA POR EL CAMPO QUE FUERE SOLO FUNCIONAN CON EL CABEZAL DE ESA ENTIDAD

Estados que permiten Edición y Eliminación.

Los campos de permitir edición y eliminación que vienen de la QY no se pueden modificar en workflow vienen por defecto de la QY_Estados.

En cambio los estados cargados en GR_Estados si se les puede configurar esta opción.


Numeracion de Estados.

  • Menores a 1000 son de la QY_Estados
  • Mayores a 1000 y menores a 5000 son estados intermedios (los da de alta el sistema automaticamente para los estados de autorizacion)
  • Los mayores a 5000 los da de alta el usuario y van a la GR_estados