---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Workflow : global

# Workflow : global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 9 minutes de lecture

L'include de script Workflow fournit des méthodes qui interagissent avec le moteur de workflow.

Utilisez ces méthodes pour manipuler les workflows.

## Workflow : broadcastEvent(String contextId, String eventName) {#ariaid-title2}

Envoie l'événement spécifié (message) dans le contexte du workflow pour qu'il soit transmis aux activités d'exécution.
L'utilisation typique de cette méthode est d'activer les activités qui attendent qu'une action se produise avant de poursuivre. Pour plus d'informations sur l'utilisation de broadcastEvent, [reportez-vous à la section Fonctions spécifiques aux événements du workflow](https://www.servicenow.com/docs/access?context=r_WorkflowEventSpecificFunctions&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US).

Pour obtenir la liste des événements prêts à l'emploi disponibles, consultez [Événements de workflow dans le système de base](https://www.servicenow.com/docs/access?context=r_WorkflowEventsInTheBaseSystem&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US).
{#r_WF-broadcastEvent_S_S__table_oqb_tqr_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| contextId | Chaîne | ID de contexte. |
| eventName | Chaîne | Le nom de l'événement. |
[Tableau 1. Paramètres]

{#r_WF-broadcastEvent_S_S__table_oqb_tqr_nt} {#r_WF-broadcastEvent_S_S__table_pqb_tqr_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 2. Renvoie]

{#r_WF-broadcastEvent_S_S__table_pqb_tqr_nt}  

    //where current is a task record with a workflow context
          var wf = new Workflow().getRunningFlows(current);
          while(wf.next()) {     
              new Workflow().broadcastEvent(wf.sys_id, 'resume');
          }

## Workflow : annuler (enregistrement GlideRecord) {#ariaid-title3}

Annule tous les workflows en cours d'exécution sur cet enregistrement en diffusant l'événement cancel aux activités de tous les workflows en cours d'exécution sur cet enregistrement.
{#r_WF-cancel_GR__table_qqb_tqr_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| enregistrement | GlideRecord | GlideRecord sur n'importe quelle table. Tous les workflows exécutés sur cet enregistrement seront annulés. |
[Tableau 3. Paramètres]

{#r_WF-cancel_GR__table_qqb_tqr_nt} {#r_WF-cancel_GR__table_rqb_tqr_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 4. Renvoie]

{#r_WF-cancel_GR__table_rqb_tqr_nt}  

    //get workflow helper
          var workflow = new Workflow();
          //cancel all the workflows, where current is a task record with a workflow context
          workflow.cancel(current);
          gs.addInfoMessage(gs.getMessage("Workflows for {0} have been cancelled", current.getDisplayValue()));

## Workflow : cancelContext(contexte GlideRecord) {#ariaid-title4}

Annule ce contexte d'exécution en diffusant un cancel événement aux activités de ce contexte de workflow.
{#r_WF-cancelContext_GR__table_sqb_tqr_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| contexte | GlideRecord | GlideRecord du contexte en cours d'exécution à annuler. |
[Tableau 5. Paramètres]

{#r_WF-cancelContext_GR__table_sqb_tqr_nt} {#r_WF-cancelContext_GR__table_tqb_tqr_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 6. Renvoie]

{#r_WF-cancelContext_GR__table_tqb_tqr_nt}  

    // If a workflow has started for this item, cancel it, where current is a task record with a workflow context
          if ((current.stage == 'Request Cancelled') && current.context 
              && !current.context.nil()) {
          var w = new Workflow();
          var now_GR = new GlideRecord('wf_context');
          
          if (now_GR.get(current.context)) 
              w.cancelContext(now_GR);
          }

## Workflow : deleteWorkflow(GlideRecord actuel) {#ariaid-title5}

Supprime tous les workflows de l'enregistrement.
{#r_WF-deleteWorkflow_GR__table_wp5_d1s_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| current | GlideRecord | GlideRecord pour lequel l'appelant veut supprimer tous les workflows. Il peut s'agir de n'importe quel enregistrement sur n'importe quelle table. |
[Tableau 7. Paramètres]

{#r_WF-deleteWorkflow_GR__table_wp5_d1s_nt} {#r_WF-deleteWorkflow_GR__table_xp5_d1s_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 8. Renvoie]

{#r_WF-deleteWorkflow_GR__table_xp5_d1s_nt}  

    //where current is a task record with a workflow context
          var wkfw = new Workflow();
          wkfw.deleteWorkflow(current);
        
## Workflow : fireEvent(GlideRecord, eventRecord, String, eventName, Object, eventParms) {#ariaid-title6}

Déclenche l'événement nommé d'un workflow en cours d'exécution sur l'enregistrement d'entrée.
Utilisé dans les activités Coordonnateur d'approbation, Minuteur, Verrou et quelques autres.
{#r_WF-fireEvent_GR_S__table_kqb_tqr_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| eventRecord | GlideRecord | Enregistrement d'événement répertorié dans la table Activités d'exécution du workflow \[wf_executing\]. |
| eventName | Chaîne | Nom de l'événement à envoyer au workflow en cours d'exécution. |
| eventParms | Objet | Facultatif. Paramètres au format JSON utilisés par l'événement. |
[Tableau 9. Paramètres]

{#r_WF-fireEvent_GR_S__table_kqb_tqr_nt} {#r_WF-fireEvent_GR_S__table_lqb_tqr_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 10. Renvoie]

{#r_WF-fireEvent_GR_S__table_lqb_tqr_nt}  

    // where current is a task record with a workflow context
      var w = new Workflow(); 
      w.fireEvent(current, 'execute');

## Workflow : fireEventById(String eventRecordId, String eventName) {#ariaid-title7}

Déclenche l'événement nommé sur l'enregistrement spécifié par l'ID d'enregistrement.
Utilisé dans les activités Coordonnateur d'approbation, Minuteur, Verrou et quelques autres.
{#r_WF-fireEventById_S_S__table_mqb_tqr_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| eventRecordId (ID de l'enregistrement) | Chaîne | La sys_id de l'enregistrement Glide. |
| eventName | Chaîne | Nom de l'événement à envoyer au workflow en cours d'exécution. |
[Tableau 11. Paramètres]

{#r_WF-fireEventById_S_S__table_mqb_tqr_nt} {#r_WF-fireEventById_S_S__table_nqb_tqr_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 12. Renvoie]

{#r_WF-fireEventById_S_S__table_nqb_tqr_nt}  

    var wkfw = new Workflow();
          wkfw.fireEventById('f2400ec10b0a3c1c00ca5bb5c6fae427','Timer');

## Workflow : getContexts(enregistrement GlideRecord) {#ariaid-title8}

Renvoie tous les contextes de workflow pour un enregistrement spécifié.
{#r_WF-getContexts_GR__table_sp5_d1s_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| enregistrement | [GlideRecord](https://servicenow-prod.fluidtopics.net/cg986w0IhAlYk2dRuHcT4Q#c_GlideRecordAPI "L’API GlideRecord est utilisée pour les opérations de base de données.") | GlideRecord pour lequel l'appelant souhaite une liste de tous les contextes de workflow. Il peut s'agir de n'importe quel enregistrement de n'importe quelle table pour lequel l'appelant souhaite exécuter les contextes de workflow. |
[Tableau 13. Paramètres]

{#r_WF-getContexts_GR__table_sp5_d1s_nt} {#r_WF-getContexts_GR__table_tp5_d1s_nt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | GlideRecord dans la table Contexte du workflow \[wf_context\] filtré pour tous les contextes de workflow pour l'enregistrement spécifié (quel que soit l'état, tel que en cours d'exécution, annulé, terminé). |
[Tableau 14. Renvoie]

{#r_WF-getContexts_GR__table_tp5_d1s_nt}  

    //where current is a task record with a workflow context
    var wkfw = new Workflow();
    var context = wkfw.getContexts(current);
    while (context.next())
      gs.print(context.started);

## Workflow : getEstimatedDeliveryTime(String workflowId) {#ariaid-title9}

Obtient le temps estimé pour qu'un workflow se termine.
{#r_WF-getEstimatedDeliveryTime_S__table_yp5_d1s_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| workflowId | Chaîne | Sys_id du workflow (table wf_workflow) pour obtenir la durée d'exécution estimée. |
[Tableau 15. Paramètres]

{#r_WF-getEstimatedDeliveryTime_S__table_yp5_d1s_nt} {#r_WF-getEstimatedDeliveryTime_S__table_zp5_d1s_nt__entry__2}

| Type | Description |
|-|-|
| Chaîne | Valeur d'affichage à partir d'une durée GlideDuration (par exemple, 3 jours), ou vide si inconnue. |
[Tableau 16. Renvoie]

{#r_WF-getEstimatedDeliveryTime_S__table_zp5_d1s_nt}  

    var wkfw = new Workflow();
          gs.print(wkfw.getEstimatedDeliveryTime('b99a866a4a3623120074c033e005418f'));

2 jours

## Workflow : getEstimatedDeliveryTimeFromWFVersion(GlideRecord wfVersion) {#ariaid-title10}

Obtenez le temps d'exécution écoulé estimé pour la version du workflow.
{#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_aq5_d1s_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| wfVersion | GlideRecord | GlideRecord sur la table wf_workflow_version d'une version de workflow spécifique pour laquelle l'appelant souhaite l'estimation en cours d'exécution. |
[Tableau 17. Paramètres]

{#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_aq5_d1s_nt} {#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_bq5_d1s_nt__entry__2}

| Type | Description |
|-|-|
| Chaîne | Valeur d'affichage à partir d'une durée GlideDuration (par exemple, 3 jours), ou vide si inconnue. |
[Tableau 18. Renvoie]

{#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_bq5_d1s_nt}  

    //where current is a task record with a workflow context
          var wkfw = new Workflow();
          var context = wkfw.getContexts(current);
          gs.print(wkfw.getEstimatedDeliveryTimeFromWFVersion(context.wf_version));

## Workflow : getReturnValue(String workflowID, Number amount, Boolean result) {#ariaid-title11}

Obtient la valeur de retour de workflow appropriée pour l'ID de workflow de l'entrée. Il s'agit soit du workflow extrait par l'utilisateur actuel, soit du workflow publié avec la date la plus récente.
Il s'agit soit du workflow extrait par l'utilisateur actuel, soit du workflow publié avec la date la plus récente. Cette méthode est disponible à partir de la version Fuji.
{#r_WF-getReturnValue_S_N_B__table_w2y_bjp_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du workflow | Chaîne | Le sys_id du workflow (table wf_workflow) |
| calculer le montant de | Numéro | calculer le montant de |
| résultat | Booléen | Vrai, si vrai |
[Tableau 19. Paramètres]

{#r_WF-getReturnValue_S_N_B__table_w2y_bjp_mt} {#r_WF-getReturnValue_S_N_B__table_x2y_bjp_mt__entry__2}

| Type | Description |
|-|-|
| ??? | Valeur de retour du workflow telle que spécifiée par l'activité Valeur de retour. Les workflows sans activité Valeur de retour renvoient une valeur null. |
[Tableau 20. Renvoie]

{#r_WF-getReturnValue_S_N_B__table_x2y_bjp_mt}  

    var wkfw = new Workflow();
          wkfw.getReturnValue('context');

Sortie :

    *** Script: b99a866a4a3623120074c033e005418f
          
## Workflow : getRunningFlows(enregistrement GlideRecord) {#ariaid-title12}

Obtient tous les contextes de workflow en cours d'exécution pour l'enregistrement d'entrée.
L'enregistrement d'entrée est un enregistrement de n'importe quelle table pour lequel l'appelant souhaite exécuter les contextes de workflow.
{#r_WF-getRunningFlows_GR__table_qp5_d1s_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| enregistrement | GlideRecord | GlideRecord de l'enregistrement pour lequel l'appelant souhaite obtenir la liste de tous les workflows en cours d'exécution. |
[Tableau 21. Paramètres]

{#r_WF-getRunningFlows_GR__table_qp5_d1s_nt} {#r_WF-getRunningFlows_GR__table_rp5_d1s_nt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | GlideRecord sur la table wf_context et filtré pour tous les contextes de workflow en cours d'exécution. |
[Tableau 22. Renvoie]

{#r_WF-getRunningFlows_GR__table_rp5_d1s_nt}  

    //where current is a task record with a workflow context
          var wf = new Workflow().getRunningFlows(current);
          while(wf.next()) {     
              new Workflow().broadcastEvent(wf.sys_id, 'pause');
          }

## Workflow : getVersion(String workflowID) {#ariaid-title13}

Obtient la version de workflow appropriée pour l'ID de workflow d'entrée. Il s'agit soit du workflow extrait par l'utilisateur actuel, soit du workflow publié avec la date la plus récente.
Il s'agit soit du workflow extrait par l'utilisateur actuel, soit du workflow publié avec la date la plus récente.
{#r_WF-getVersion_S__table_y2y_bjp_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du workflow | Chaîne | Le sys_id du workflow (table wf_workflow) |
[Tableau 23. Paramètres]

{#r_WF-getVersion_S__table_y2y_bjp_mt} {#r_WF-getVersion_S__table_z2y_bjp_mt__entry__2}

| Type | Description |
|-|-|
| aucun |   |
[Tableau 24. Renvoie]

{#r_WF-getVersion_S__table_z2y_bjp_mt}  

    var wkfw = new Workflow();
          wkfw.getVersion('b99a866a4a3623120074c033e005418f');

## Workflow : getVersionFromName(String workflowName) {#ariaid-title14}

Renvoie la version de workflow appropriée pour le nom du workflow d'entrée.
Consultez getVersion() pour plus d'informations.
{#r_WF-getVersionFromName_S__table_y2y_bjp_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom du workflow | Chaîne | Nom du workflow (table wf_workflow) |
[Tableau 25. Paramètres]

{#r_WF-getVersionFromName_S__table_y2y_bjp_mt} {#r_WF-getVersionFromName_S__table_z2y_bjp_mt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 26. Renvoie]

{#r_WF-getVersionFromName_S__table_z2y_bjp_mt}  

    var wkfw = new Workflow();
          wkfw.getVersionFromName('Emergency Change');

## Workflow : getWorkflowFromName(String workflowName) {#ariaid-title15}

Renvoie le sys_id du workflow associé au nom de workflow spécifié.
{#r_WF-getWorkflowFromName_S__table_afy_bjp_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| nom du workflow | Chaîne | Nom du workflow. |
[Tableau 27. Paramètres]

{#r_WF-getWorkflowFromName_S__table_afy_bjp_mt} {#r_WF-getWorkflowFromName_S__table_bfy_bjp_mt__entry__2}

| Type | Description |
|-|-|
| Chaîne | Le sys_id du workflow associé au nom transmis. |
[Tableau 28. Renvoie]

{#r_WF-getWorkflowFromName_S__table_bfy_bjp_mt}  

    var wflw = new Workflow();
          gs.print(wflw.getWorkflowFromName('Emergency Change'));

## Workflow : hasWorkflow(enregistrement GlideRecord) {#ariaid-title16}

Détermine si des contextes de workflow sont associés à un enregistrement spécifié.
Cela inclut les contextes de workflow en cours d'exécution et terminés.
{#r_WF-hasWorkflow_GR__table_iqb_tqr_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| enregistrement | GlideRecord | GlideRecord à la loupe. Ce GlideRecord peut provenir de n'importe quelle table. |
[Tableau 29. Paramètres]

{#r_WF-hasWorkflow_GR__table_iqb_tqr_nt} {#r_WF-hasWorkflow_GR__table_jqb_tqr_nt__entry__2}

| Type | Description |
|-|-|
| Booléen | Vrai, si l'enregistrement a un workflow associé ; sinon, renvoie la valeur Faux. |
[Tableau 30. Renvoie]

{#r_WF-hasWorkflow_GR__table_jqb_tqr_nt}  

    var wkfw = new Workflow();
          gs.print(wkfw.hasWorkflow('f2400ec10b0a3c1c00ca5bb5c6fae427'));

faux

## Workflow : restartWorkflow(GlideRecord current, booléen maintainStateFlag) {#ariaid-title17}

Recalcule les approbations et les tâches d'un workflow en ajoutant de nouvelles approbations et tâches, sans réinitialiser les approbations ni les tâches actuelles.
Vous pouvez utiliser cette méthode pour effectuer des tâches telles que l'ajout d'une société à une demande de changement, sans réinitialiser les approbations actuelles pour les sociétés déjà présentes dans le workflow.
{#r_WF-restartWorkflow_GR_B__table_up5_d1s_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| current | GlideRecord | GlideRecord de l'enregistrement que ce workflow exécute. Cela peut être fait par n'importe quel enregistrement sur n'importe quelle table. |
| maintainStateFlag (en anglais seulement) | Booléen | Marqueur indiquant s'il faut maintenir toutes les approbations et tâches dans leur état actuel. Valeurs valides : * vrai : maintenir toutes les approbations et tâches dans leur état actuel. * faux : mettre à jour tous les états d'approbation et de tâche. {#r_WF-restartWorkflow_GR_B__ul_fwb_fh3_2nb} |
[Tableau 31. Paramètres]

{#r_WF-restartWorkflow_GR_B__table_up5_d1s_nt} {#r_WF-restartWorkflow_GR_B__table_vp5_d1s_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 32. Renvoie]

{#r_WF-restartWorkflow_GR_B__table_vp5_d1s_nt}  
Cet exemple montre le workflow en cours de redémarrage avec le fichier d'approbation qui passe de Rejeté à Demandé.

    (function(){
      var comment = 'Workflow Restarted - the Approval Field changing from Rejected to Requested';
      var gLock = new GlideRecordLock(current);
        gLock.setSpinWait(50);
      if (gLock.get()) {
        new Workflow().restartWorkflow(current, false);
        current.setDisplayValue('approval_history', comment);
      }
    })

## Workflow : runFlows(enregistrement GlideRecord, opération de chaîne) {#ariaid-title18}

Exécute tous les workflows pour un enregistrement donné dans une table donnée et ses tables descendantes.
Des exemples d'utilisation peuvent être vus dans les includes de script \<\< SNC : exécuter les workflows parents \>\> et \<\< SNC : exécuter les workflows parents (approbation) \>\>.
{#r_WF-runFlows_GR_S__table_u2y_bjp_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| enregistrement | GlideRecord | GlideRecord par rapport auquel exécuter les workflows. |
| operation | Chaîne | Opération de base de données. Valeurs valides : * insérer * mettre à jour * supprimer {#r_WF-runFlows_GR_S__ul_mt2_yds_ckb} |
[Tableau 33. Paramètres]

{#r_WF-runFlows_GR_S__table_u2y_bjp_mt} {#r_WF-runFlows_GR_S__table_v2y_bjp_mt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 34. Renvoie]

{#r_WF-runFlows_GR_S__table_v2y_bjp_mt}  

    var now_GR = new GlideRecord('wf_test');
    now_GR.addQuery('parent', current.parent);
    now_GR.addQuery('sys_id','!=',current.sys_id);
    now_GR.query();
    while(now_GR.next()) {
        new Workflow().runFlows(now_GR, 'update');
    }

## Workflow : startFlow(String workflowId, GlideRecord current, String operation, Array vars) {#ariaid-title19}

Démarre un workflow spécifié.
Reportez-vous à l'include de script WorkflowScheduler et à la règle métier \<\< Start Workflow \>\> sur la table sc_req_item pour des exemples d'utilisation.
{#r_WF-startFlow_S_GR_S_A__table_f3h_hx4_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| workflowId | Chaîne | Le sys_id du workflow à démarrer. Cette sys_id fait référence à la table wf_workflow. |
| current | GlideRecord | Enregistrement à utiliser comme actuel dans ce workflow. Cela se fait normalement depuis le Table champ des propriétés du workflow pour ce workflow. |
| operation | Chaîne | Opération à effectuer sur current. Valeurs possibles : insérer, mettre à jour, supprimer. |
| variables | Tableau | Collection de variables à ajouter au workflow |
[Tableau 35. Paramètres]

{#r_WF-startFlow_S_GR_S_A__table_f3h_hx4_mt}  

    ////where current is a task record with a workflow context
          var w = new Workflow();
          var context = w.startFlow(id, current, current.operation(), getVars());

## Workflow : startFlowFromContextInsert(contexte GlideRecord, opération de chaîne) {#ariaid-title20}

Méthode d'aide pour la règle Auto start on contextmétier .
{#r_WF-startFlowFromContextInsert_GR_S__table_h3h_hx4_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| contexte | GlideRecord | GlideRecord sur la table wf_context d'un nouvel enregistrement (l'enregistrement \<\< actuel \>\> dans la règle métier). |
| operation | Chaîne | Opération de base de données en cours d'exécution. L'un des insert, update, delete. |
[Tableau 36. Paramètres]

{#r_WF-startFlowFromContextInsert_GR_S__table_h3h_hx4_mt} {#r_WF-startFlowFromContextInsert_GR_S__table_i3h_hx4_mt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 37. Renvoie]

{#r_WF-startFlowFromContextInsert_GR_S__table_i3h_hx4_mt}  

    //where current is a task record with a workflow context
          current.name = current.workflow_version.name;
          current.started_by.setValue(gs.userID());
          
          if (gs.nil(current.id)) {
            var now_GR = new GlideRecord('wf_workflow_execution');
            now_GR.name = current.name;
            now_GR.insert();
          
            current.table = 'wf_workflow_execution';
            current.id = now_GR.sys_id;
          }
          
          var wf = new Workflow();
          wf.startFlowFromContextInsert(current, current.operation())

## Workflow : startFlowRetroactive(String workflowId, Number retroactiveMSecs, GlideRecord current, String operation, Array, ???) {#ariaid-title21}

Utilisé par la règle Start Workflow métier sur la table task_sla. Cela démarre un workflow et les arguments supplémentaires de cette méthode sont utilisés par l'activité \<\< Timer \>\> pour mettre en pause l'exécution du workflow pendant un certain temps.
{#r_WF-startFlowRetroactive_S_N_GR_S_A__table_j3h_hx4_mt__entry__3}

| Nom | Type | Description |
|-|-|-|
| ID du workflow | Chaîne | Le sys_id du workflow à démarrer. Cette sys_id fait référence à la table wf_workflow. |
| MSecs rétroactifs | Numéro | Retard, en millisecondes, utilisé par le minuteur d'activité. |
| current | GlideRecord | GlideRecord de l'enregistrement à utiliser comme actuel dans ce workflow. Cela provient normalement du Table champ des propriétés du workflow pour ce workflow |
| operation | Chaîne | Opération de base de données en cours d'exécution. L'un des insert, update, delete. |
| variables | Tableau | Collection de variables à ajouter au workflow. |
| withSchedule | ??? | Calendrier utilisé par le minuteur d'activité |
[Tableau 38. Paramètres]

{#r_WF-startFlowRetroactive_S_N_GR_S_A__table_j3h_hx4_mt} {#r_WF-startFlowRetroactive_S_N_GR_S_A__table_k3h_hx4_mt__entry__2}

| Type | Description |
|-|-|
| GlideRecord | Un GlideRecord sur la table wf_context sur l'enregistrement inséré pour ce contexte de workflow nouvellement créé. |
[Tableau 39. Renvoie]

{#r_WF-startFlowRetroactive_S_N_GR_S_A__table_k3h_hx4_mt}  

    // is this a retroactive start?
          ////where current is a task record with a workflow context
          var msecs = new GlideDateTime().getNumericValue() - current.start_time.getGlideObject().getNumericValue();
          
          // treat this as a retroactive workflow start if the SLA started more than 5 seconds ago
          var w = new Workflow();
          if (msecs <= 5000)
            w.startFlow(id, current, current.operation());
          else
            w.startFlowRetroactive(id, msecs, current, current.operation());
          
          // update the record in case the workflow changed some values
          current.update();
          
        
## Workflow : workflow() {#ariaid-title22}

Constructeur de la classe de workflow .
{#r_WF_Workflow__table_t3b_vwl_nt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 40. Paramètres]

{#r_WF_Workflow__table_t3b_vwl_nt} {#r_WF_Workflow__table_u3b_vwl_nt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 41. Renvoie]

{#r_WF_Workflow__table_u3b_vwl_nt}  

    var w = new Workflow();


