Al crear una nueva plantilla de proceso de negocio, puedes agregar acciones de tipo Control del flujo.
Ejecución paralela
Esta acción permite la ejecución simultánea de múltiples ramas de acciones. Si alguna de las ramas no se ejecuta dentro de la estructura de Ejecución paralela, el flujo de trabajo se detendrá hasta que se complete su ejecución.
Esperar por un evento
Esta acción pausa la ejecución de un flujo de trabajo y espera a que un usuario realice una acción.
El único parámetro de la acción es El evento puede ser enviado por. Elige un grupo de usuarios que puedan ejecutar este comando.
A continuación, se presenta un breve ejemplo del uso de esta acción. Después de completar el bloque de acción, el flujo de trabajo se detendrá y esperará a que el usuario decida qué rama seguirán los eventos.
Para ejecutar un comando,
- Ve a la sección de Automatización > Flujos de trabajo.
- Busca y abre el elemento creado.
- Ve a la pestaña Procesos de negocios.
- Selecciona un comando y haz clic en Ejecutar comandos.
Iterator
Esta acción enumera los valores de fuentes de valores múltiples. Puedes crear un ciclo de acciones que se ejecutarán para cada valor, una por una.
Selecciona una variable de múltiples valores, un campo de elemento o una constante en los parámetros de la acción.
Después de eso, puedes organizar la ejecución de un conjunto de acciones similares para todos los valores seleccionados ingresados en el campo o variable.
Por ejemplo, si tienes una variable del tipo Enlace al empleado que contiene una lista de usuarios de la cuenta, y necesitas crear una tarea para cada uno de estos usuarios de forma secuencial, selecciona la variable en los parámetros del iterador y agrega la acción Crear tarea a la construcción.
Para usar cada vez el siguiente valor de la variable de valores múltiples en el ciclo, inserta el elemento Valor de los Resultados adicionales del Iterador.
Mientras esté enlazado
No utilices la acción Mensaje de correo electrónico cuando pruebes el bucle.
Si hay un error y el proceso se repite sin cesar, la acción se ejecutará 1000 veces y se enviarán 1000 correos electrónicos desde tu cuenta. En este caso no habrá forma de detener el envío.
Asegúrate de que la estructura de la acción funcione correctamente y luego utilízala para enviar correos electrónicos.
La estructura ejecuta sus subacciones siempre que se cumple una condición determinada. En otras palabras, el ciclo funciona mientras la condición es válida (true
), en caso contrario (false
) el ciclo finaliza.
Hay diferentes tipos de condiciones:
Campo del elemento. Campo de elemento. El bucle seguirá funcionando mientras coincidan los parámetros relacionados con los campos del elemento.
Valor variable. El bucle seguirá funcionando mientras coincidan los parámetros relacionados con las variables del flujo de trabajo. Puedes utilizar los valores de las variables y los parámetros de la plantilla en este tipo.
Mixto. Establece una condición para diferentes fuentes utilizando esta rama de acción. Por lo tanto, no es necesario crear ramas de acción independientes para comprobar cada condición. Puedes seleccionar variables, campos de elementos o constantes y especificar condiciones para ellos.
Código PHP. El código se indica como condición. Si el código PHP indicado devuelve el valor true
, el bucle seguirá funcionando. Si se devuelve false
, el ciclo finalizará.
Este tipo está disponible únicamente en la versión de Bitrix24 En Premisa.
Solo un usuario con derechos de administrador puede configurar el código PHP.
Verdad. El bucle se ejecutará siempre.
Acción paralela pendiente
Esta estructura te permite dirigir un flujo de trabajo a diferentes ramas dependiendo del evento que ocurre antes. En otras palabras, la acción que ocurre antes en cualquier rama, aparecerá en la ejecución de la cadena debajo de dicha acción.
Para elegir una rama de acción en esta estructura, utiliza la acción Esperar por un evento o Detener ejecución.
La acción Detener ejecución te permite reanudar un flujo de trabajo en un momento determinado en caso de que no se ejecute ningún comando. De lo contrario, el flujo de trabajo simplemente se detendrá y esperará la ejecución de cualquier comando dentro de la estructura.
Condición
La estructura te permite dirigir un flujo de trabajo a diferentes ramas según las condiciones preestablecidas. Hay varios tipos de condiciones.
Campo del elemento. La rama de acción de la condición se ejecutará si coinciden los parámetros relacionados con los campos del elemento.
Valor variable. La rama de acción de la condición se ejecutará si coinciden los parámetros relacionados con las variables del flujo de trabajo. Puedes utilizar los valores de las variables y los parámetros de la plantilla en este tipo de condición.
Mixto. Establece una condición para diferentes fuentes utilizando esta rama de acción. Por lo tanto, no es necesario crear ramas de acción independientes para comprobar cada condición. Puedes seleccionar variables, campos de elementos o constantes y especificar condiciones para ellos.
Verdad. La rama de acción se ejecutará inmediatamente y la condición siempre se cumplirá. Este tipo de condición resulta útil si no se cumple ninguna de las otras condiciones.
Código PHP. El código se indica como condición. Este tipo está disponible únicamente en la versión de Bitrix24 En Premisa.
El código de la condición debe dar como resultado una expresión lógica (true
o false
). Si el código PHP indicado devuelve el valor true
, se ejecutará la rama de acción por debajo de dicha condición. Si se devuelve false
, se comprobará la siguiente condición.
Nota:
- Solo un usuario con derechos de administrador puede configurar un código PHP.
- Solo se puede utilizar un código PHP para este tipo de condición. Los parámetros del tipo
{=Variable:Variable2_printable}
no son compatibles.
Campos del elemento modificados. Si el flujo de trabajo se ejecuta automáticamente cuando se modifica, existe una opción para verificar los cambios de campo del elemento. La rama de acción se ejecutará si ingresas algunas modificaciones en un campo.
Puedes utilizar este tipo de condición solo después de una configuración adicional del módulo. Sigue las instrucciones a continuación.
Configurar el tipo de condición Campos del elemento modificados (para desarrolladores)
Para utilizar este tipo de condición, debes aplicar la configuración en el lado del módulo. Al iniciar un flujo de trabajo, es necesario pasar una matriz de campos modificados usando el parámetro CBPDocument::PARAM_MODIFIED_DOCUMENT_FIELDS
:
CBPDocument::StartWorkflow( $arDocumentState["TEMPLATE_ID"], BizProcDocument::getDocumentComplexId($arParams["IBLOCK_TYPE_ID"], $arResult["ELEMENT_ID"]), array_merge($arBizProcParametersValues[$arDocumentState["TEMPLATE_ID"]], array( CBPDocument::PARAM_TAGRET_USER => "user_".intval($GLOBALS["USER"]->GetID()), CBPDocument::PARAM_MODIFIED_DOCUMENT_FIELDS => $modifiedFields )), $arErrorsTmp );
Además, debes implementar compatibilidad con este tipo de condición en un documento para verlo en el editor de flujo de trabajo:
public static function isFeatureEnabled($documentType, $feature) { return in_array($feature, array(\CBPDocumentService::FEATURE_MARK_MODIFIED_FIELDS)); }
Establecer estado
Esta acción te permite cambiar el estado del flujo de trabajo.
Plantilla de proceso de negocio impulsado por estado
Además, esta acción tiene la opción Anular el estado actual. Mueve inmediatamente un elemento al estado especificado sin esperar a que se complete el anterior.