Cette documentation a été traduite automatiquement par IA.
NocoBase intègre des actions de données courantes (ajout, suppression, modification, consultation, etc.). Lorsque ces actions ne suffisent pas pour des besoins métier complexes, vous pouvez utiliser des événements d'action personnalisée dans un flux de travail. En liant cet événement à un bouton "Déclencher le flux de travail" dans un bloc de page, un flux de travail d'action personnalisée sera déclenché lorsque l'utilisateur cliquera dessus.
Lors de la création d'un flux de travail, sélectionnez "Événement d'action personnalisée" :

v.1.6.0+
Le type de contexte détermine les boutons de bloc auxquels le flux de travail peut être lié :

Lorsque le type de contexte est Enregistrement unique ou Plusieurs enregistrements, vous devez sélectionner la collection à laquelle lier le modèle de données :

Si vous devez utiliser les données d'association de la ligne de données déclenchée dans le flux de travail, vous pouvez sélectionner ici les champs d'association profonds :

Ces champs seront automatiquement préchargés dans le contexte du flux de travail après le déclenchement de l'événement, les rendant ainsi disponibles pour une utilisation dans le flux de travail.
La configuration des boutons d'action dans les différents blocs varie en fonction du type de contexte configuré dans le flux de travail.
v.1.6.0+
Dans la barre d'actions et les autres blocs de données, vous pouvez ajouter un bouton "Déclencher le flux de travail" :



Après avoir ajouté le bouton, liez le flux de travail sans contexte créé précédemment. Voici un exemple utilisant un bouton dans la barre d'actions :


Dans n'importe quel bloc de données, un bouton "Déclencher le flux de travail" peut être ajouté à la barre d'actions pour un enregistrement unique, par exemple dans les formulaires, les lignes de tableau, les détails, etc. :



Après avoir ajouté le bouton, liez le flux de travail créé précédemment :


Ensuite, un clic sur ce bouton déclenchera l'événement d'action personnalisée :

v.1.6.0+
Dans la barre d'actions d'un bloc de tableau, lorsque vous ajoutez un bouton "Déclencher le flux de travail", une option supplémentaire vous permet de sélectionner le type de contexte : "Pas de contexte" ou "Plusieurs enregistrements" :

Lorsque "Pas de contexte" est sélectionné, il s'agit d'un événement global et ne peut être lié qu'à des flux de travail de type "Pas de contexte".
Lorsque "Plusieurs enregistrements" est sélectionné, vous pouvez lier un flux de travail de type "Plusieurs enregistrements", qui peut être utilisé pour des actions en masse après avoir sélectionné plusieurs enregistrements (actuellement pris en charge uniquement par les tableaux). Les flux de travail disponibles sont limités à ceux configurés pour correspondre à la collection du bloc de données actuel :

Lorsque vous cliquez sur le bouton pour déclencher l'action, certaines lignes de données du tableau doivent être cochées ; sinon, le flux de travail ne sera pas déclenché :

Par exemple, nous avons une collection "Échantillons". Pour les échantillons dont le statut est "Collecté", nous devons proposer une action "Soumettre pour inspection". Cette action vérifiera d'abord les informations de base de l'échantillon, puis générera un "Enregistrement d'inspection" et enfin modifiera le statut de l'échantillon en "Soumis". Cette série de processus ne peut pas être réalisée par de simples clics sur des boutons "ajouter, supprimer, modifier, consulter", c'est pourquoi un événement d'action personnalisée peut être utilisé pour l'implémenter.
Tout d'abord, créez une collection "Échantillons" et une collection "Enregistrements d'inspection", puis saisissez des données de test de base dans la collection "Échantillons" :

Ensuite, créez un flux de travail "Événement d'action personnalisée". Si vous avez besoin d'un retour d'information rapide sur le processus d'opération, vous pouvez choisir le mode synchrone (en mode synchrone, vous ne pouvez pas utiliser de nœuds de type asynchrone comme le traitement manuel) :

Dans la configuration du déclencheur, sélectionnez "Échantillons" pour la collection :

Organisez la logique du processus en fonction des exigences métier. Par exemple, n'autorisez la soumission pour inspection que si le paramètre de l'indicateur est supérieur à 90 ; sinon, affichez un message pertinent :

Le nœud "Message de réponse" peut être utilisé dans les événements d'action personnalisée synchrones pour renvoyer un message d'information au client. Il ne peut pas être utilisé en mode asynchrone.
Après avoir configuré et activé le flux de travail, revenez à l'interface du tableau et ajoutez un bouton "Déclencher le flux de travail" dans la colonne d'actions du tableau :

Ensuite, dans le menu de configuration du bouton, choisissez de lier un flux de travail et ouvrez la fenêtre contextuelle de configuration :

Ajoutez le flux de travail activé précédemment :

Après avoir soumis, modifiez le texte du bouton pour qu'il corresponde au nom de l'action, par exemple "Soumettre pour inspection". Le processus de configuration est maintenant terminé.
Pour l'utiliser, sélectionnez n'importe quelle donnée d'échantillon dans le tableau et cliquez sur le bouton "Soumettre pour inspection" pour déclencher l'événement d'action personnalisée. Conformément à la logique organisée précédemment, si le paramètre de l'indicateur de l'échantillon est inférieur à 90, le message suivant s'affichera après le clic :

Si le paramètre de l'indicateur est supérieur à 90, le processus s'exécutera normalement, générant un "Enregistrement d'inspection" et modifiant le statut de l'échantillon en "Soumis" :

À ce stade, un événement d'action personnalisée simple est terminé. De même, pour les entreprises ayant des opérations complexes telles que le traitement des commandes ou la soumission de rapports, les événements d'action personnalisée peuvent être utilisés pour leur mise en œuvre.
Le déclenchement des événements d'action personnalisée ne se limite pas aux actions de l'interface utilisateur ; il peut également être déclenché via des appels d'API HTTP. Plus précisément, les événements d'action personnalisée offrent un nouveau type d'action pour toutes les actions de collection afin de déclencher des flux de travail : trigger, qui peut être appelé en utilisant l'API d'action standard de NocoBase.
Un flux de travail déclenché par un bouton, comme dans l'exemple, peut être appelé de cette manière :
Étant donné que cette action concerne un enregistrement unique, lors de son appel sur des données existantes, vous devez spécifier l'ID de la ligne de données, en remplaçant la partie <:id> dans l'URL.
Si l'appel est destiné à un formulaire (par exemple pour la création ou la mise à jour), vous pouvez omettre l'ID pour un formulaire qui crée de nouvelles données, mais vous devez transmettre les données soumises comme contexte d'exécution :
Pour un formulaire de mise à jour, vous devez transmettre à la fois l'ID de la ligne de données et les données mises à jour :
Si un ID et des données sont transmis simultanément, la ligne de données correspondant à l'ID sera d'abord chargée, puis les propriétés de l'objet de données transmis seront utilisées pour écraser la ligne de données originale afin d'obtenir le contexte de données de déclenchement final.
Si des données d'association sont transmises, elles seront également écrasées. Soyez particulièrement prudent lors du traitement des données entrantes si le préchargement des éléments de données d'association est configuré, afin d'éviter des écrasements inattendus des données d'association.
De plus, le paramètre d'URL triggerWorkflows est la clé du flux de travail ; plusieurs clés de flux de travail sont séparées par des virgules. Cette clé peut être obtenue en survolant le nom du flux de travail en haut du canevas du flux de travail :

Après un appel réussi, l'événement d'action personnalisée pour la collection samples correspondante sera déclenché.
Étant donné que les appels externes doivent également être basés sur l'identité de l'utilisateur, lors d'un appel via l'API HTTP, comme pour les requêtes envoyées depuis l'interface normale, vous devez fournir des informations d'authentification. Cela inclut l'en-tête de requête Authorization ou le paramètre token (le jeton obtenu lors de la connexion), ainsi que l'en-tête de requête X-Role (le nom du rôle actuel de l'utilisateur).
Si vous devez déclencher un événement pour une donnée d'association un-à-un (les associations un-à-plusieurs ne sont pas encore prises en charge) dans cette action, vous pouvez utiliser ! dans le paramètre pour spécifier les données de déclenchement du champ d'association :
Après un appel réussi, l'événement d'action personnalisée pour la collection categories correspondante sera déclenché.
Lorsque vous déclenchez un événement d'action via un appel d'API HTTP, vous devez également prêter attention à l'état d'activation du flux de travail et à la correspondance de la configuration de la collection ; sinon, l'appel pourrait échouer ou entraîner une erreur.