Attentes et approbations
Suspendre un travail jusqu’à une décision, une information ou une échéance.
Une attente fait partie du travail
Un Flow peut attendre une décision, une information ou un événement. Cette attente possède une identité et un état conservé. Fermer l’interface ne transforme pas une attente en échec et ne doit pas perdre le point de reprise.
| Attente | Valeur attendue | Reprise |
|---|---|---|
| Approbation | Décision d’un membre autorisé | Appliquer la branche correspondante |
| Information | Donnée ou résultat déclaré | Revérifier les conditions |
| Événement | Signal reconnu pour cette exécution | Continuer l’étape concernée |
| Échéance | Politique temporelle déclarée | Signaler ou exécuter l’effet admis |
Exemple : revue du responsable
Après rédaction, la proposition attend une revue. Le responsable consulte le résultat, ses sources et les critères. Approuver autorise la finalisation; Demander une correction renvoie le travail au périmètre concerné. La décision conserve son auteur et son contexte.
Éviter les reprises ambiguës
Une réponse tardive ne doit pas s’appliquer à une nouvelle version de la demande sans vérification. Un événement répété ne doit pas finaliser deux fois la même soumission. Le moteur contrôle l’identité de l’attente, la version et la décision déjà enregistrée.
Choisir une fiche ou un résultat
Une entrée de référence utilise la Query déclarée par l’attente pour proposer les fiches ou résultats admissibles. Dans Clients/Soumissions, une revue peut exiger un résultat de la proposition sélectionnée plutôt qu’un identifiant collé. Surface résout les paramètres de la Query depuis le contexte d’exécution; l’interface ne fournit pas les valeurs privées de ces paramètres.
Le choix conserve la Revision exacte de l’élément. Surface revérifie son admissibilité, les droits courants et l’attente avant d’accepter le signal. Un choix modifié ou devenu inadmissible doit être revu. Une entrée qui exige un résultat vérifie aussi ses preuves natives de Task et d’Action : une fiche de type ou de texte semblable ne la remplace pas. L’approbation et l’expiration ne peuvent pas décider toutes deux de la même attente.
Présenter la prochaine action
Le suivi indique ce qui est attendu, qui peut intervenir et ce qui se passera ensuite. Une attente sans explication ressemble à un blocage; une attente clairement présentée permet à l’usager de poursuivre le travail.
Exemples appliqués : Attendre une décision
L’événement d’approbation reprend le travail; l’expiration reste explicite et bornée.
Configuration
Fragment à placer dans flowBlueprints[].composition.steps[]. Propriétés et valeurs admises.
{
"key": "review",
"kind": "wait",
"inputs": [],
"arrival": "active-only",
"ordering": "first-committed",
"eventKey": "quote-approved",
"recipient": "initiator",
"timeoutMilliseconds": 86400000,
"onExpiration": "fail"
}
Variante et raccordement
Fragment à placer dans flowBlueprints[].composition.inputs. Propriétés et valeurs admises.
[
{
"key": "client",
"type": "surface-reference",
"provenance": "caller",
"minimum": 1,
"maximum": 1
},
{
"key": "need",
"type": "text",
"provenance": "caller",
"minimum": 1,
"maximum": 1
}
]
Exemple de disposition UI
La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.
- Qualifier le besoin
- Préparer la proposition
- Attendre la décision
- Conserver le résultat
La proposition et ses sources restent accessibles pendant l’attente.