Vous êtes ici :
Exécution de flux dans des transactions
Les flux sont exécutés dans des transactions qui regroupent les opérations dans une seule unité. Lorsqu'une opération échoue, la transaction complète est annulée pour préserver l'intégrité des données. Cela inclut les déclencheurs Apex, les règles d'escalade et toutes les interviews de flux dans la transaction.
Salesforce applique les limitations du gouverneur dans chaque transaction afin d'éviter l'épuisement des ressources partagées. Comme de multiples organisations Salesforce partagent des ressources, Salesforce empêche une organisation de consommer toutes les ressources et d'en priver les autres organisations. Nous pouvons comparer cela à un service wi-fi collectif auquel chaque copropriétaire d'un immeuble est connecté. Si votre voisin peut utiliser toute la bande passante sans limite, vous ne pouvez pas vous connecter (ou télécharger à volonté). Les limitations de gouverneur par transaction permettent d'équilibrer l'utilisation des ressources.
À compter de la version Winter ’26, vous pouvez configurer tous les types de flux afin de déterminer à l'exécution si une nouvelle transaction est requise pour exécuter l'action avec succès. Auparavant, seuls les flux d'écran avaient un contrôle des transactions. Pour des flux déclenchés par un enregistrement, vous pouvez appliquer un contrôle de transaction à des actions dans un parcours asynchrone ou planifié, mais pas dans un parcours à exécuter immédiatement.
| Action configurée dans | Comportement par défaut de l'action |
|---|---|
| Winter ‘26 ou supérieur | Laisser le flux décider (recommandé) |
| Summer ‘25 ou antérieur | Toujours continuer dans la transaction actuelle |
L'option de contrôle de la transaction est disponible pour l'action sous le paramètre Avancé dans toutes les actions personnalisées, et pour les actions standard uniquement si elles effectuent un appel externe.
Settings Description
configurez des actions permettant au flux de déterminer automatiquement à l'exécution si une nouvelle transaction est requise pour réussir l'action.
| Paramètres | Description |
|---|---|
| Laisser le flux décider (recommandé) | Le flux détermine à l'exécution si une nouvelle transaction est requise pour exécuter l'action avec succès. Si cette action implique un appel externe et que la transaction actuelle a des opérations en attente, la transaction actuelle est engagée avant d'exécuter l'action dans une nouvelle transaction. Lors du débogage du flux, l'action est toujours exécutée dans la transaction actuelle et peut entraîner une erreur en cas d'appel externe. |
| Toujours démarrer une nouvelle transaction | Avant l'exécution de cette action, la transaction actuelle est engagée. L'action est ensuite exécutée dans une nouvelle transaction. Si l'action échoue pour une raison quelconque, Salesforce ne peut pas annuler les opérations de la transaction précédente. Les exécutions de débogage ne sont pas prises en charge. |
| Toujours continuer dans la transaction actuelle | Cette action est toujours exécutée dans la transaction actuelle. Si l'action implique un appel externe alors que la transaction actuelle a des opérations en attente, le flux échoue. |
- Démarrage d'une transaction
Selon la méthode de distribution du flux, une transaction qui exécute une interview pour ce flux démarre de différentes façons. - Comment une transaction se termine
La fin d'une transaction dépend des éléments que contient le flux et si son lancement initial est dû à la modification d'un enregistrement.
Voir également :
Démarrage d'une transaction
Selon la méthode de distribution du flux, une transaction qui exécute une interview pour ce flux démarre de différentes façons.
| Méthode de distribution | La transaction démarre quand... |
|---|---|
| Générateur de processus1 | Un enregistrement est créé ou mis à jour. |
| URL du flux | L'URL est accédée. |
| Bouton ou lien personnalisé | Le bouton ou le lien est cliqué. |
| Page Visualforce | La page est accédée. |
Méthode Interview.start() |
Si la méthode démarre via un déclencheur Sinon, elle démarre lorsque la méthode (ou la méthode parente) est invoquée. La méthode |
| API REST (ressource Actions personnalisées ou Flux) | L'appel REST est effectué. Selon la méthode d'implémentation de l'appel REST, les limitations peuvent être partagées avec d'autres opérations. |
1Cela s'applique également si le flux distribué via une règle de workflow. Le programme pilote des actions de workflow de déclencheur de flux est fermé. Si vous avez déjà activé le pilote dans votre organisation, vous pouvez continuer à créer et à modifier des actions de workflow de déclencheur de flux. Si vous n'avez pas activé le pilote dans votre organisation, utilisez Flow Builder pour créer un flux déclenché par l'enregistrement ou utilisez le Générateur de processus pour lancer un flux à partir d'un processus.
Comment une transaction se termine
La fin d'une transaction dépend des éléments que contient le flux et si son lancement initial est dû à la modification d'un enregistrement.
La transaction se termine lorsque les conditions suivantes sont remplies :
- Un élément Écran, Action locale ou Attente est exécuté
- L'ordre d'exécution est terminé, si le flux a été déclenché lors de la création ou de la mise à jour d'un enregistrement
- Toutes les interviews de la transaction sont terminées
Si l'interview est l'une des nombreuses opérations effectuées dans une transaction, cette interview partage les limitations du gouverneur de la transaction avec les autres opérations.
Vous mettez à jour 100 requêtes via Data Loader. En raison de l'ordre d'exécution dans une transaction et des personnalisations dans votre organisation, les opérations ci-dessous sont exécutées.
| ÉTAPE | Opération de la transaction | Instruction DML utilisée | Requête SOQL utilisée |
|---|---|---|---|
| 1 | Les requêtes sont enregistrées dans la base de données, mais ne sont pas encore engagées. | Non | Non |
| 2 | Les règles d'attribution de requêtes sont exécutées. Le propriétaire de chaque requête est mis à jour. | Oui | Non |
| 3 | Les règles d'escalade de requêtes sont exécutées. Si une règle est ouverte depuis 10 jours, un e-mail est envoyé au propriétaire. | Non | Non |
| 4 | Le processus est démarré. | Non | Non |
| 5 | Le processus référence le compte de la requête. | Non | Oui |
| 6 | Si le compte est important, le processus utilise Chatter pour notifier le propriétaire du compte qu'une nouvelle requête est associée au compte. | Oui | Non |
| 7 | Le processus lance une interview de flux. | Non | Non |
| 8 | L'interview du flux référence le compte parent et le nombre de requêtes qu'il contient. | Non | Oui |
| 9 | L'interview du flux vérifie si le compte a plus de cinq requêtes ouvertes. | Non | Non |
| 10 | Dans la positive, l'interview du flux référence le responsable de la division du compte, puis publie dans le fil Chatter du compte pour notifier le responsable de la division et le propriétaire du compte. | Oui | Oui |
| 11 | Dans la négative, l'interview du flux publie dans le fil Chatter du compte pour notifier uniquement le propriétaire du compte. | Oui | Non |

