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 est répété tant que la condition spécifiée est remplie.
Type de la condition - Champ du document
Le cycle vérifiera les champs du document.
Type de condition - Valeur de variable
Le cycle vérifie les paramètres et variables de processus d’entreprise spécifiés.
Type de condition - Code PHP
Un code est spécifié comme condition.
Type de condition - Vrai
Dans ce cas, le cycle sera toujours exécuté.