Cette documentation a été traduite automatiquement par IA.
L'approbation est une forme de processus spécifiquement conçue pour être initiée et traitée manuellement afin de déterminer l'état de données pertinentes. Elle est généralement utilisée pour la gestion de processus d'automatisation de bureau ou d'autres tâches de décision humaine. Par exemple, vous pouvez créer et gérer des flux de travail manuels pour des scénarios tels que les « demandes de congé », les « approbations de remboursement de dépenses » et les « approbations d'achat de matières premières ».
Le plugin d'Approbation offre un type de flux de travail (déclencheur) dédié, « Approbation (événement) », ainsi qu'un nœud « Approbation » spécifique à ce processus. En combinant ces éléments avec les collections et les blocs personnalisés uniques de NocoBase, vous pouvez créer et gérer rapidement et de manière flexible divers scénarios d'approbation.
Lorsque vous créez un flux de travail, sélectionnez le type « Approbation » pour créer un processus d'approbation :

Ensuite, dans l'interface de configuration du flux de travail, cliquez sur le déclencheur pour ouvrir une fenêtre contextuelle et effectuer des configurations supplémentaires.
Le plugin d'Approbation de NocoBase est conçu pour la flexibilité et peut être utilisé avec n'importe quelle collection personnalisée. Cela signifie que la configuration de l'approbation n'a pas besoin de reconfigurer le modèle de données, mais réutilise directement une collection existante. Par conséquent, après être entré dans la configuration du déclencheur, vous devez d'abord sélectionner une collection pour déterminer quelle création ou mise à jour de données de collection déclenchera ce flux de travail :

Ensuite, dans le formulaire de création (ou de modification) des données de la collection correspondante, liez ce flux de travail au bouton de soumission :

Après cela, lorsqu'un utilisateur soumet ce formulaire, le flux de travail d'approbation correspondant sera déclenché. Les données soumises sont non seulement enregistrées dans la collection correspondante, mais elles sont également capturées (sous forme d'instantané) dans le processus d'approbation pour que les approbateurs ultérieurs puissent les consulter et les utiliser.
Si un processus d'approbation permet à l'initiateur de le retirer, vous devez activer le bouton « Retirer » dans la configuration de l'interface de l'initiateur :

Une fois activée, une approbation initiée par ce flux de travail peut être retirée par l'initiateur avant qu'un approbateur ne la traite. Cependant, après qu'un approbateur d'un nœud d'approbation ultérieur l'ait traitée, elle ne pourra plus être retirée.
Après avoir activé ou supprimé le bouton de retrait, vous devez cliquer sur « Enregistrer » et « Soumettre » dans la fenêtre contextuelle de configuration du déclencheur pour que les modifications prennent effet.
Enfin, vous devez configurer l'interface du formulaire de l'initiateur. Cette interface sera utilisée pour les actions de soumission lors de l'initiation depuis le bloc du centre d'approbation et lors de la réinitiation après un retrait. Cliquez sur le bouton de configuration pour ouvrir la fenêtre contextuelle :

Vous pouvez ajouter à l'interface de l'initiateur un formulaire de saisie basé sur la collection liée, ou un texte descriptif (Markdown) pour des invites et des conseils. Le formulaire est obligatoire ; sinon, l'initiateur ne pourra effectuer aucune action après être entré dans cette interface.
Après avoir ajouté un bloc de formulaire, comme dans une interface de configuration de formulaire classique, vous pouvez ajouter des composants de champ de la collection correspondante et les organiser comme vous le souhaitez pour structurer le contenu à remplir dans le formulaire :

En plus du bouton de soumission directe, vous pouvez également ajouter un bouton d'action « Enregistrer comme brouillon » pour prendre en charge un processus de stockage temporaire :

Dans un flux de travail d'approbation, vous devez utiliser le nœud « Approbation » dédié pour configurer la logique opérationnelle permettant aux approbateurs de traiter (approuver, rejeter ou retourner) l'approbation initiée. Le nœud « Approbation » ne peut être utilisé que dans les flux de travail d'approbation. Consultez le Nœud d'approbation pour plus de détails.
Après avoir configuré et activé un flux de travail d'approbation, vous pouvez le lier au bouton de soumission du formulaire de la collection correspondante, permettant ainsi aux utilisateurs d'initier une approbation lors de la soumission :

Après avoir lié le flux de travail, lorsqu'un utilisateur soumet le formulaire actuel, une approbation est initiée.
Actuellement, le bouton pour initier une approbation ne prend en charge que le bouton « Soumettre » (ou « Enregistrer ») dans un formulaire de création ou de mise à jour. Il ne prend pas en charge le bouton « Soumettre au flux de travail » (lequel ne peut être lié qu'à un « Événement après action »).
Le Centre des tâches à faire offre un point d'entrée unifié permettant aux utilisateurs de consulter et de traiter leurs tâches en attente. Les approbations initiées par l'utilisateur actuel et ses tâches en attente sont accessibles via le Centre des tâches à faire dans la barre d'outils supérieure, et les différents types de tâches en attente peuvent être consultés via la navigation latérale gauche.





Pour initier depuis un bloc de données, vous pouvez effectuer un appel comme suit (en prenant l'exemple du bouton de création de la collection posts) :
Ici, 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, le flux de travail d'approbation de la collection posts 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, tout comme les requêtes envoyées depuis l'interface régulière, des informations d'authentification doivent être fournies, y compris l'en-tête Authorization ou le paramètre token (le jeton obtenu lors de la connexion), et l'en-tête X-Role (le nom du rôle actuel de l'utilisateur).
Si vous devez déclencher un événement pour des données liées en relation un-à-un dans cette action (le un-à-plusieurs n'est pas encore pris en charge), vous pouvez utiliser ! dans le paramètre pour spécifier les données de déclenchement pour le champ d'association :
Après un appel réussi, l'événement d'approbation pour la collection categories correspondante sera déclenché.
Lorsque vous déclenchez un événement après action via l'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.
Paramètres
collectionName : Le nom de la collection cible pour l'initiation de l'approbation. Obligatoire.workflowId : L'ID du flux de travail utilisé pour initier l'approbation. Obligatoire.data : Les champs de l'enregistrement de la collection créé lors de l'initiation de l'approbation. Obligatoire.status : Le statut de l'enregistrement créé lors de l'initiation de l'approbation. Obligatoire. Les valeurs possibles sont :
0 : Brouillon, indique l'enregistrement sans soumission pour approbation.1 : Soumettre pour approbation, indique que l'initiateur soumet la demande d'approbation, entrant dans le processus d'approbation.Lorsqu'une approbation initiée (ou retirée) est à l'état de brouillon, vous pouvez l'enregistrer ou la soumettre à nouveau via l'API suivante :
L'initiateur peut retirer un enregistrement actuellement en cours d'approbation via l'API suivante :
Paramètres
<approval id> : L'ID de l'enregistrement d'approbation à retirer. Obligatoire.Une fois que le flux de travail d'approbation entre dans un nœud d'approbation, une tâche à faire est créée pour l'approbateur actuel. L'approbateur peut accomplir la tâche d'approbation via l'interface ou en appelant l'API HTTP.
Les tâches à faire sont des enregistrements d'approbation. Vous pouvez obtenir tous les enregistrements d'approbation de l'utilisateur actuel via l'API suivante :
Ici, approvalRecords est une ressource de collection, vous pouvez donc utiliser des conditions de requête courantes telles que filter, sort, pageSize et page.
Paramètres
<record id> : L'ID de l'enregistrement à traiter pour approbation. Obligatoire.status : Le statut du processus d'approbation. 2 pour « Approuver », -1 pour « Rejeter ». Obligatoire.comment : Remarques pour le processus d'approbation. Facultatif.data : Modifications apportées à l'enregistrement de la collection au niveau du nœud d'approbation actuel après approbation. Facultatif (uniquement effectif en cas d'approbation).Avant la version v1.9.0, le retour utilisait la même API que l'« Approbation » et le « Rejet », avec "status": 1 représentant un retour.
À partir de la version v1.9.0, le retour dispose d'une API distincte :
Paramètres
<record id> : L'ID de l'enregistrement à traiter pour approbation. Obligatoire.returnToNodeKey : La clé du nœud cible vers lequel retourner. Facultatif. Lorsqu'une plage de nœuds de retour est configurée dans le nœud, ce paramètre peut être utilisé pour spécifier à quel nœud retourner. Si non configuré, ce paramètre n'a pas besoin d'être transmis, et le système retournera par défaut au point de départ pour que l'initiateur puisse soumettre à nouveau.Paramètres
<record id> : L'ID de l'enregistrement à traiter pour approbation. Obligatoire.assignee : L'ID de l'utilisateur à qui déléguer. Obligatoire.Paramètres
<record id> : L'ID de l'enregistrement à traiter pour approbation. Obligatoire.assignees : Une liste d'ID d'utilisateurs à ajouter comme signataires. Obligatoire.order : L'ordre du signataire ajouté. -1 indique avant « moi », 1 indique après « moi ».