Con los flujos de trabajo puedes reescribir cómo se aprueba un proceso/flujo de trabajo en particular en EspoCRM.
Puede configurar varios niveles de aprobación para un flujo de trabajo de EspoCRM. Para permitir que varias personas envíen varias solicitudes y que varios usuarios las aprueben, EspoCRM requiere que complete las condiciones del flujo de trabajo. EspoCRM realiza un seguimiento de los permisos antes del envío.
Considere un escenario donde se requieren varios niveles de aprobación para una cotización. Un vendedor (usuario con rol de «Vendedor») crea una cotización. Posteriormente, un cliente potencial (usuario con rol de «Gerente de Ventas») la aprueba o la rechaza. Si el cliente potencial la aprueba, el gerente regional (usuario con rol de «Gerente Regional») la aprueba o la rechaza.
Para crear un flujo de trabajo y reglas de transición vaya a:
Inicio > Configuración > Flujo de trabajo
1. Requisitos previos
Antes de crear un flujo de trabajo, se recomienda crear lo siguiente primero:
- Acciones del flujo de trabajo
- Estados del flujo de trabajo como Aprobado, Cancelado, etc.
2. Cómo crear un flujo de trabajo
- Vaya a la lista de Flujo de trabajo, haga clic en Nuevo.
- Ingrese un nombre para el flujo de trabajo y seleccione el DocType en el que se aplicará.
-
Ingrese los diferentes estados del flujo de trabajo. Ingrese el estado del documento, seleccione el campo que desea actualizar en la columna «Actualizar campo» e ingrese el valor que se actualizará en «Actualizar valor».
Los estados del flujo de trabajo pueden tener diferentes colores según el estado. Por ejemplo: Verde para éxito. Estados del documento: Guardado = 0, Enviado = 1, Cancelado = 2.
Introduzca las reglas de transición.
2.2 Cosas a tener en cuenta al crear un flujo de trabajo
-
Crear un flujo de trabajo en EspoCRM básicamente anula el flujo de trabajo habitual de Guardar y Enviar. Por lo tanto, el documento funcionará según su flujo de trabajo y no según el flujo de trabajo predefinido. Por lo tanto, es posible que no aparezca el botón/opción Enviar si no lo ha especificado en el flujo de trabajo que cree.
Si no aplica un flujo de trabajo a un documento y este se puede enviar, tendrá el flujo de trabajo predeterminado con los estados: Borrador – Enviado – Cancelado. Si aplica un flujo de trabajo a un documento que se puede enviar, el usuario deberá gestionar esos estados predeterminados.
-
No se puede cancelar un documento a menos que se envíe.
-
Si desea dar la opción de cancelar, deberá escribir un paso de transición de flujo de trabajo que indique que, una vez enviado, puede cancelar.
-
Si los campos de la columna Actualizar campo no se actualizan, se creará un nuevo campo personalizado con el nombre que establezca en el campo ‘Campo de estado del flujo de trabajo’.
2.3 Otras opciones para un flujo de trabajo
- Está activo: al marcar esta opción, todos los demás flujos de trabajo para el DocType seleccionado quedan inactivos.
- No anular el estado: el estado de este flujo de trabajo no anulará el estado del documento (Cotización) en la vista de lista.
- Enviar alertas por correo electrónico: se enviarán correos electrónicos al usuario con las próximas acciones posibles del flujo de trabajo.
3. Características
3.1 Habilitar o deshabilitar el estado del flujo de trabajo opcional
En Estados, el estado de flujo de trabajo opcional significa que el estado puede no ser parte de la aprobación final.
Por ejemplo, estados como Cancelado o Rechazado pueden ser opcionales.
3.2 Condiciones
También puede agregar una condición para que la transición sea aplicable. Por ejemplo, si un ejecutivo de ventas crea una cotización con un total de $100,000 o más, un rol específico debe aprobarla. Para que esto suceda en la transición, puede establecer una propiedad para la condición
doc.grand_total <= 100000
Aquí grand_totalse muestra el nombre del campo «Total general» de la cotización. Para verlo, vaya a Menú > Personalizar.
Esto puede extenderse a cualquier propiedad del documento.
Funciones permitidas:
- frappe.db.get_value
- frappe.db.get_list
- sesión de frappé
- frappe.utils.now_datetime
- frappe.utils.get_datetime
- frappe.utils.add_to_date
- frappe.utils.now
Ejemplos:
doc.creation > frappe.utils.add_to_date(frappe.utils.now_datetime(), days=-5, as_string=True, as_datetime=True)
4. Ejemplo de un proceso de aprobación de cotización
Cuando un usuario de ventas guarda una cotización, el estado del documento cambia a «Borrador» y cuando se hace clic en enviar, el estado cambia a «Aprobación pendiente por parte del gerente de ventas»:
Al iniciar sesión, el gerente de ventas puede aprobar o rechazar. Si se aprueba, el estado del documento cambia a «Aprobación pendiente por el gerente regional».
Cuando el Gerente Regional abre la cotización, finalmente puede “Aprobarla” o “Rechazarla”.





