Difference between revisions of "Ejemplos de flujos de trabajo"

From SinergiaCRM - Wikisuite
Jump to navigation Jump to search
Line 214: Line 214:
  
  
== Dar de baja una relación cuando se da de baja un compromiso de pago ==
+
== Dar de baja una relación con persona cuando se da de baja un compromiso de pago ==
  
 
Hay casos en los que cuando a una persona se le crea un compromiso de pago y este tiene cierta periodicidad, se da de alta al mismo tiempo una relación con persona de tipo "Socio" o "Donante", por ejemplo. Esto se puede hacer manualmente o automáticamente si se usa un [https://wikisuite.sinergiacrm.org/index.php?title=Formularios#Formularios_de_captaci.C3.B3n_de_fondos| Formulario de captación de fondos].
 
Hay casos en los que cuando a una persona se le crea un compromiso de pago y este tiene cierta periodicidad, se da de alta al mismo tiempo una relación con persona de tipo "Socio" o "Donante", por ejemplo. Esto se puede hacer manualmente o automáticamente si se usa un [https://wikisuite.sinergiacrm.org/index.php?title=Formularios#Formularios_de_captaci.C3.B3n_de_fondos| Formulario de captación de fondos].

Revision as of 11:20, 7 October 2021

Introducción

Para facilitar el aprendizaje del uso del módulo de flujos de trabajo a continuación se presentan un conjunto de ejemplos de automatismos que se pueden crear desde el propio módulo y que pueden servir como referencia a las entidades usuarias, ya sea para su réplica o adaptación, ya sea como fuente de inspiración.


Poner en mayúsculas nombres y apellidos

Se desea modificar el formato de texto de los campos Nombre y Apellidos para que aparezcan escritos completamente en mayúsculas.


FdT CC Nombre y apellidos en mayúsculas.jpg


  • Módulo base: Personas.
  • Acciones: Calcular campos:
    • Crear parámetro Apellidos ({P0}).
    • Crear parámetro Nombre ({P1}).
    • Aplicar fórmula sobre el campo Apellidos: {uppercase({P0})}
    • Aplicar fórmula sobre el campo Nombre: {uppercase({P1})}
Actualmente en un caso como este los textos con caracteres especiales se evalúan de forma incorrecta. Pendiente de revisión.


Poner mayusculas nombre y apellido.jpg


Poner mayusculas nombre y apellido 2.jpg


Crear un contador numérico (código de socio o similar)

Se desea tener un campo que genere automáticamente un número secuencial o contador que actúe como código de socio, de registro, etc.


FdT CC Código socio.jpg


  • Actuaciones previas: Crear el campo de texto Código de socio en Relaciones con Persona.
  • Módulo base: Relaciones con Personas.
  • Propiedades: Ejecutar una sola vez sobre registros de nueva creación.
  • Condiciones: Que Código de Socio sea nulo (esté vacío) y que el Tipo de relación sea Socio/a.
  • Acciones: Calcular campos:
    • No son necesarios parámetros.
    • Aplicar fórmula sobre el campo Código de Socio usando la función GlobalCounterPerModule(name; numberLength), donde name es el nombre del contador y numberLength la longitud en caracteres del código devuelto: {GlobalCounterPerModule(CodigoSocio; 4)}.


Código socio.jpg


Código socio 2.jpg


  • Si ya existe un número N de registros numerados puede incorporarse la función add y así empezar a contar desde N+1.
  • El código final no tiene por qué ser estrictamente numérico: se puede combinar con texto, parámetros, etc. Por ejemplo: "Factura" + año + código secuencial.


Programar una llamada y enviar un email cuando se da de alta un nuevo interesado

Al dar de alta un nuevo interesado en el CRM (puede ser vía formulario web, vía la propia aplicación, etc.) se desea enviarle un correo de bienvenida y programar una llamada para conocer de primera mano su interés en la organización.


Flujos6.jpg


  • Propiedades: el flujo se ejecutará únicamente sobre los nuevos registros del módulo Interesados.
  • Condiciones: en este caso no se exige ninguna condición específica, las acciones se harán sobre todos los nuevos interesados.
  • Acciones: por un lado, crear un registro en el módulo Llamadas y vincularlo al registro de Interesados en cuestión, marcando la casilla Relacionar con el módulo del Flujo de Trabajo y estableciendo la fecha de la llamada para tres días después del alta así como el asunto de la llamada. Por el otro, enviar un correo a la dirección del nuevo interesado (Registro de correo electrónico), seleccionando la plantilla adecuada. En este caso, la inserción de variables en la plantilla de correo permitiría personalizar el cuerpo del mensaje para cada interesado, indicando, por ejemplo, su nombre.


Calcular la duración de una relación con persona / organización

Se desea calcular la duración en días de una relación con persona.


FdT CC Duración relación.jpg


  • Actuaciones previas: Crear en el módulo Relaciones con Personas el campo Duración.
  • Módulo: Relaciones con Personas.
  • Condiciones: Fecha de baja anterior o igual a Hoy, de modo que el cálculo se realizará para los registros que tengan cerrada la relación.
  • Acciones: Calcular campos:
    • Crear parámetro con la Fecha de alta ({P0}).
    • Crear parámetro con la Fecha de baja ({P1}).
    • Crear fórmula sobre el campo Duración: {datediff({P1};{P0}; days)} (devolverá un resultado en días).


Duración relaciones.jpg


Duración relaciones 2.jpg


Jugando con la función if y la función now podría generarse una fórmula que sirviera para todos los registros, tengan o no fecha de baja.


Enviar un agradecimiento a las personas asociadas al cumplir 10 años

Se desea enviar un correo de felicitación y agradecimiento a los socios que cumplen 10 años como tales. Al mismo tiempo, se desea notificar esta situación al departamento de atención a los socios para que puedan llevar a cabo otras acciones de fidelización, agradecimiento, homenaje, etc.


Flujos9.jpg


  • Propiedades: el flujo se ejecutará sobre Todos los registros del módulo Relaciones con Personas.
  • Condiciones: la persona debe tener una relación de tipo socia activa (sin fecha de baja) y cuya fecha de alta sea 10 años atrás.
  • Acciones: se enviará un mensaje a la dirección de correo electrónico de la persona relacionada con el registro sobre el que se ejecuta el flujo. Se enviará otro mensaje a todos los usuarios del CRM que se encuentren en el rol de Atención a socios.


Felicitar a las personas asociadas por su cumpleaños

Se desea enviar un correo de felicitación a los socios en el día de su cumpleaños.


Flujos10.jpg


  • Propiedades: el flujo se ejecutará sobre Todos los registros del módulo Personas. Se activa la casilla Ejecuciones múltiples para que un mismo socio sea felicitado todos los años.
  • Condiciones: la persona debe tener asociado el tipo de relación Socio. Es interesante observar el uso de la cláusula Uno de. Dado que el campo Tipo de relación en el módulo Personas es multiselección, debe usarse esta cláusula para que socios que tengan otros tipos de relación activos sean reconocidos como tales. Además se usa el parámetro Aniversario para indicar que la comparación se verificará en todos los casos en los que coincidan día y mes con la fecha indicada, omitiéndose el año.
  • Acciones: se enviará un mensaje a la dirección de correo electrónico del registro sobre el que se ejecuta el flujo.


Incorporar el estado del proyecto a las relaciones con personas

A pesar de que replicar campos entre diferentes módulos no es una práctica recomendada porque siempre existe un cierto riesgo de inconsistencia, a veces, por razones prácticas, se desea poder ver en un módulo el valor de un campo de otro módulo. La acción de los flujos de trabajo que permite calcular campos puede ayudar en este tipo de situaciones. En este ejemplo se añadirá al módulo Relaciones con Personas el campo Estado del proyecto con el que se relaciona cada registro.


FdT CC Estado Proyecto en Relación con Persona.jpg


  • Actuaciones previas: Crear en el módulo Relaciones con Personas el campo Estado proyecto, de tipo desplegable y con la misma lista de valores que el campo Estado del módulo Proyectos.
  • Módulo: Relaciones con Personas.
  • Propiedades: el flujo se ejecutará en la tarea programada nocturna para garantizar una actualización/sincronización diaria del campo calculado.
  • Condiciones: no se establecen condiciones porque se desea aplicar el flujo sobre todos los registros.
  • Acciones: Mediante Calcular campos, crear un parámetro relacionado con el campo Estado de Proyectos ({R0}). Aplicar sobre el campo Estado Proyecto la fórmula {R0} para que, simplemente, se copie el valor de un campo al otro.


Incorporar estado proyecto Relación Persona.jpg


Incorporar estado proyecto Relación Persona 2.jpg


Incorporar estado proyecto Relación Persona 3.jpg


Añadir un donante a una Lista de público objetivo (LPO)

Cuando una persona adquiere la condición de donante se la debe incorporar a una lista de público objetivo determinada a fin de usarla en campañas posteriores.


Flujos7.jpg


  • Propiedades: el flujo se ejecutará sobre Todos los registros (creados o modificados) del módulo Personas. Aquí cabe tener en cuenta que un donante que pierda la condición de tal no será eliminado automáticamente de la LPO ni por este ni por otro flujo de trabajo, por lo que debería realizarse una desvinculación manual.
  • Condiciones: la persona debe tener asociado el tipo de relación Donante. Es interesante observar el uso de la cláusula Múltiple. Dado que el campo Tipo de relación en el módulo Personas es multiselección, debe usarse esta cláusula para que donantes que tengan otros tipos de relación activos sean reconocidos como tales.
  • Acciones: se debe crear una relación con el módulo Lista de público objetivo, añadiendo la persona a la lista seleccionada. Es interesante observar que en este caso la acción seleccionada, Modificar registro, no tiene efecto alguno sobre el registro del módulo Personas y sirve exclusivamente como vía de acceso a la creación de un registro de relación entre los módulos de Personas y Listas de Público Objetivo.


Generar un aviso por devolución de un recibo

En caso de recibir una devolución de un recibo y que así quede registrada en el CRM (ya sea por edición manual, ya sea por carga automática del fichero bancario) se desea reasignar el pago al usuario encargado de los impagos y notificarle el hecho por correo electrónico.


Flujos8.jpg


  • Propiedades: el flujo se ejecutará de forma múltiple (por si un mismo pago es devuelto en más de una ocasión) sobre los Registros modificados del módulo Pagos.
  • Condiciones: el Estado del pago debe ser Impagado y su Fecha de devolución debe haber cambiado.
  • Acciones: se modificará el registro del pago, reasignándolo a un usuario concreto (el encargado de gestionar los impagos), y se notificará el hecho por correo al mismo usuario.


Aplicar el IVA en un pago

El módulo Pagos tiene el campo Importe, que se quiere complementar con los campos IVA a aplicar, Importe IVA e Importe total para emular los datos que aparecerían en una factura.


FdT CC Calcular IVA.jpg


  • Actuaciones previas:
    • Crear el campo IVA a aplicar como desplegable en Compromisos de Pago y en Pagos .
    • Crear los campos Importe IVA e Importe total en Pagos.
  • Módulo base: Pagos.
  • Condiciones: Que se produzca una modificación en el Importe (base) del pago.
  • Acciones: Calcular campos:
    • Crear parámetro relacionado de Compromiso de Pago: IVA a aplicar {R0}.
    • Crear parámetro Importe ({P0}).
    • Aplicar fórmula sobre el campo IVA a aplicar: {R0}
    • Aplicar fórmula sobre el campo Importe IVA: {multiply({divide({R0};100)}; {P0})}
    • Aplicar fórmula sobre el campo Importe total: {add({multiply({divide({R0};100)}; {P0})}; {P0})}


Calcular IVA e importes en Pago.jpg


Calcular IVA e importes en Pago 2.jpg


Si en un compromiso no se indicara el IVA a aplicar, en el pago el Importe IVA sería 0 y el Importe total sería igual al Importe (base).


Construir el campo Nombre de un módulo de forma automática

En algunos módulos de SinergiaCRM el campo Nombre se genera de forma automática mediante la concatenación de diferentes campos del registro, eximiendo al usuario de tener que introducir un valor manualmente. Esto suele hacerse cuando ese nombre no tiene un valor semántico propio (un compromiso de pago, una inscripción, etc.). En módulos propios creados por la entidad podría darse una necesidad parecida (para el campo Nombre o para cualquier otro) que puede ser resuelta mediante el uso de flujos de trabajo con campos calculados.


FdT Nombre automático.jpg


  • Acciones previas: Crear el campo Nombre automático, de tipo texto, en el módulo Relaciones con Personas.
  • Módulo base: Relaciones con Personas.
  • Condiciones: Ninguna. También se podría añadir que la condición sea que el Nombre tenga valor "nulo". Así, si alguien ha puesto información, ya no se completaría, por ejemplo.
  • Acciones: Calcular Campos.
    • Crear parámetro con la Persona ({P0}).
    • Crear parámetro con el Tipo de relación ({P1}).
    • Crear parámetro con la Fecha de alta ({P2}).
    • Aplicar fórmula sobre el campo Nombre automático: REL. PERSONA: {P0} - {P1} - {P2}.

Los textos que se incluyen en la fórmula se trasladarán al resultado final concatenados con los parámetros evaluados.


Calcular nombre automático en módulo.jpg


Calcular nombre automático en módulo 2.jpg


Dar de baja una relación con persona cuando se da de baja un compromiso de pago

Hay casos en los que cuando a una persona se le crea un compromiso de pago y este tiene cierta periodicidad, se da de alta al mismo tiempo una relación con persona de tipo "Socio" o "Donante", por ejemplo. Esto se puede hacer manualmente o automáticamente si se usa un Formulario de captación de fondos.

Siguiendo esta lógica, tendría sentido que al darse de baja el compromiso de pago, se desee también que automáticamente se dé de baja la relación con persona. Sin embargo, aunque la creación de ambos registros puede ser automática simultáneamente, no hay manera de dar de baja el compromiso de pago y que también se dé de baja la relación si no es con un flujo de trabajo. En los ejemplos que se detallan a continuación se muestran dos maneras de hacerlo.

En ambos casos antes hace falta crear previamente un campo desplegable en el módulo Personas con los valores "-vacío-"; "Pendiente baja por impago"; "Confirmada baja por impago". Se puede llamar "Controlador impagos", por ejemplo.


Creacion campo control.jpg


1) Dar de baja un compromiso de pago y una relación con persona cuando un pago ha estado marcado como "Impagado" por motivo "x"


FdT pago impagado.jpg


  • Módulo base: Pago
  • Propiedades: Ejecutar al guardar y en registros modificados.
  • Condiciones: el pago debe tener el estado a "Impagado" y tener cualquier cambio (o los valores que se desee) en los campos "Motivo de devolución SEPA" y "Motivo de devolución C19". El compromiso de pago debe de tener la fecha de baja vacía.
  • Acciones: Modificar registro de Personas modificando el valor del desplegable creado a Personas con "Pendiente baja por impago" y modificar compromiso de pago con fecha de baja "Hoy", o cuando se desee.

El paso siguiente es revisar manualmente los impagos para confirmar si ha sido una cosa puntual y el compromiso de pago debe de seguir activo o si es una bajas consistente. En el primer caso se deberá cambiar manualmente el compromiso de pago y borrar la fecha de baja para que siga generando los pagos pertinentes.

En el segundo caso, si se desea proceder con la baja de la relación, se deberá cambiar el valor del desplegable del módulo de Personas a "Confirmada baja por impago". Esto se puede hacer manualmente a cada registro de persona afectado o haciendo una actualización masiva seleccionando previamente todos los registros que se desee modificar.

Este paso intermedio con validación manual es necesario para evitar que se den de baja definitivamente compromisos de pago y relaciones con personas por culpa de un impago por un error puntual.


FdT Baja relacion persona.jpg


  • Módulo base: Relaciones con Personas
  • Propiedades: Ejecutar en el planificador y en todos los registros. No marcar ejecuciones repetitivas.
  • Condiciones: la persona debe tener el valor "Confirmada baja por impago" en el desplegable creado anteriormente. Además la relación con persona debe ser de tipo "x", tener la fecha de baja en blanco y estar activo.
  • Acciones: Modificar registro de relación con personas. Añadiendo como fecha de baja "hoy" y un motivo si se desea. También modificará el registro de persona y devolverá el valor del desplegable a "-vacío-".


2) Dar de baja la relación con persona de tipo "x" cuando se da de baja un compromiso de pago.


FdT baja compromiso de pago.jpg


  • Módulo base: Compromisos de Pago
  • Propiedades: Ejecutar al guardar y en registros modificados. No marcar ejecuciones repetitivas.
  • Condiciones: el compromiso de pago debe de tener una fecha de baja. *
  • Acciones: Modificar registro de persona cambiando el valor del desplegable a "Confirmada baja por impago".

* Se pueden añadir más condiciones si se desea que esta acción se ejecute únicamente cuando el compromiso de pago sea de tipo "Cuota", por ejemplo.


A continuación se deberá configurar un flujo de trabajo como el último que se ha presentado en el apartado anterior con las mismas características, que repetimos aquí:

  • Módulo base: Relaciones con Personas
  • Propiedades: Ejecutar en el planificador y en todos los registros. No marcar ejecuciones repetitivas.
  • Condiciones: la persona debe tener el valor "Confirmada baja por impago" en el desplegable creado anteriormente. Además la relación con persona debe ser de tipo "x" y tener la fecha de baja en blanco.
  • Acciones: Modificar registro de relación con personas. Añadiendo como fecha de baja "hoy" y un motivo si se desea. También modificará el registro de persona y devolverá el valor del desplegable a "-vacío-".


En ambos casos, para asegurarse que los flujos han realizado el trabajo correctamente se pueden crear un informe "de control" para comprobar si hay relaciones con personas del tipo "x" activas sin compromiso de pago activo.

Se recomienda probar primero los flujos de trabajo en un entorno test para asegurarse que se comportan de la manera deseada y evitar que causen una perdida de información.


Volver al índice