Commande
L'action suspend l'exécution du processus jusqu'à ce que l'utilisateur sélectionne manuellement une autre option pour continuer.
Paramètres
La commande peut être exécutée par - qui exécutera la commande.
Exemple d'utilisation d'une action
Dans cet exemple, le processus d’entreprise s'arrêtera et attendra que l'utilisateur sélectionne une commande pour continuer.
Pour faire cela, l’utilisateur doit accéder dans l'élément créé (tous les processus d’entreprise et leurs éléments peuvent être trouvés sur la page Processus d’entreprise dans les Actualités). Et dans l'onglet Processus d’entreprise, sélectionnez la commande.
Condition
L’action vous permet de diriger un processus d'entreprise selon différents scénarios, en fonction des conditions prédéfinies.
Type de la condition - Champ du document
Cette branche d'action de condition est exécutée si les paramètres liés aux champs de document coïncident.
Type de condition - Valeur de variable
Cette branche de condition vérifie les paramètres et les variables du processus d’entreprise.
Type de condition - Vrai
Cette branche d'action est immédiatement exécutée. La condition est toujours remplie.
Type de condition - Code PHP
Le code est indiqué comme condition.
Si le code PHP indiqué renvoie une valeur vrai
, la branche d'actions correspondante est exécutée ; si faux
est renvoyé, la condition suivante est vérifiée.
Type de condition - A été modifié
Si un processus d’entreprise est démarré lorsque le document est modifié, il est possible de définir les champs modifiés à l'intérieur de ce document. La branche de conditions sera exécutée si des modifications ont été apportées au champ.
Comment configurer ce type de condition (pour le développeur)
Pour que ce type de condition puisse être utilisé, vous avez besoin d'une mise en œuvre du côté du module qui fonctionne avec le processus. Au démarrage du processus, vous devez transmettre un tableau de champs modifiés via le paramètre 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 );
Et pour que la nouvelle condition apparaisse dans l'éditeur de configuration, vous devez implémenter son soutien dans le document :
public static function isFeatureEnabled($documentType, $feature) { return in_array($feature, array(\CBPDocumentService::FEATURE_MARK_MODIFIED_FIELDS)); }
Attente parallèle de l'opération
L'action vous permet de diriger un processus d'entreprise sur différentes branches en fonction de l'événement qui se produit le plus tôt.
Pour exécuter une branche d'actions dans cette construction, les actions Commande ou Pause d'exécution doivent être les premières à être utilisées.
L'action Pause vous permet de poursuivre l'exécution du processus d’entreprise après un certain temps au cas quand aucune commande ne serait exécutée. Sinon, le processus d’entreprise s'arrêtera et s'attendra à l'exécution d'une commande.
Exécution parallèle
L'action configure l'exécution parallèle des branches d'action. Si l'une des branches de la structure ne s'exécute pas, le processus d’entreprise s'arrête et attend son exécution.
Statut
L'action déplace le processus d’entreprise vers un autre statut.
L'option Interrompre l'exécution du statut actuel est également disponible dans l'action, ce qui vous permet de passer immédiatement au nouveau statut sans attendre que le statut précédent soit complètement exécuté.
Itérateur
Une action permet d'organiser le traitement d'une variable multiple. Utilisez-le pour créer un cycle d'actions qui s'exécutera avec sa valeur suivante.
Dans les paramètres d'action, spécifiez la variable avec laquelle vous prévoyez de travailler.
Après cela, vous pouvez facilement organiser un certain nombre d'actions similaires avec toutes les valeurs d'une variable multiple. Par exemple, vous avez une variable de type Utilisateur qui représente une liste d'employés. Et vous voulez créer séquentiellement à chacun d'eux une tâche. Spécifiez une variable de liste dans les paramètres de l'Itérateur et ajoutez l'action Tâche au cycle.
Cycle
Le cycle fonctionne tant que la condition définie reste vraie. Par exemple, envoyer des notifications aux employés d’un département jusqu’à ce que tous aient reçu le message. Toutes les actions du cycle s’exécutent en une seule étape, même si la condition change pendant le processus. Une fois l’étape terminée, le cycle vérifie à nouveau la condition : si elle est vraie, il continue ; sinon, il s’arrête.
N’utilisez pas l’action « Message e-mail » lors des tests du cycle. En cas d’erreur et si l’action se met en boucle, jusqu’à 1000 e-mails pourraient être envoyés au client, sans possibilité d’arrêter l’envoi.
Vérifiez d’abord que le cycle fonctionne correctement sans cette action, puis utilisez l’action « Message e-mail ».
Dénomination. S’affiche dans le constructeur de processus d’entreprise.
Type de la condition. Sélectionnez le type de condition adapté à votre tâche :
- Champ de l'élément - vérifie la valeur des champs du document.
- Mixte - vérifie plusieurs paramètres simultanément sans créer de conditions distinctes. Par exemple, vous pouvez surveiller les valeurs des variables, des champs de document et des constantes en définissant une seule condition. Cela simplifie la configuration et accélère le processus.
- Vrai - le cycle d’actions s’exécute immédiatement, sans vérification des conditions.
- Code PHP - la condition est définie sous forme de code. Seul un administrateur peut définir du code PHP. Disponible uniquement dans la version On-Premise de Bitrix24.
Dans la version Cloud de Bitrix24, un cycle peut s’exécuter au maximum 1000 fois. En cas de dépassement de cette limite :
- le cycle et tous ses sous-cycles se terminent avec une condition fausse,
- l’erreur est enregistrée dans le journal du processus d’entreprise,
- le processus d’entreprise continue son exécution.