---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Fluxo de trabalho - Global

# Fluxo de trabalho - Global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 11 min. de leitura

A inclusão de script de fluxo de trabalho fornece métodos que fazem interface com o mecanismo de fluxo de trabalho.

Use esses métodos para manipular fluxos de trabalho.

## Fluxo de trabalho - broadcastEvent(cadeia de caracteres contextId, cadeia de caracteres eventName) {#ariaid-title2}

Envia o evento especificado (mensagem) para o contexto de fluxo de trabalho para passar para as atividades em execução.
O uso típico deste método é para habilitar atividades que aguardam a ocorrência de alguma ação antes de prosseguir. Para obter informações adicionais sobre como usar broadcastEvent, consulte [Funções específicas de evento de fluxo](https://www.servicenow.com/docs/access?context=r_WorkflowEventSpecificFunctions&version=xanadu&pubname=xanadu-build-workflows&ft:locale=en-US)de trabalho .

Para obter uma lista dos eventos OOB disponíveis, consulte [Eventos de fluxo de trabalho no sistema 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}

| Nome | Tipo | Descrição |
|-|-|-|
| contextId | Cadeia de caracteres | O ID de contexto. |
| eventName | Cadeia de caracteres | O nome do evento. |
[Tabela 1. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 2. Retorna]

{#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');
          }

## Fluxo de trabalho - cancel (registro GlideRecord) {#ariaid-title3}

Cancela todos os fluxos de trabalho em execução neste registro, transmitindo o evento cancel para atividades em todos os fluxos de trabalho em execução neste registro.
{#r_WF-cancel_GR__table_qqb_tqr_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| registro | GlideRecord | GlideRecord em qualquer tabela. Todos os fluxos de trabalho em execução neste registro serão cancelados. |
[Tabela 3. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 4. Retorna]

{#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()));

## Fluxo de trabalho - cancelContext(GlideRecord context) {#ariaid-title4}

Cancela este contexto de execução transmitindo um evento cancel para atividades neste contexto de fluxo de trabalho.
{#r_WF-cancelContext_GR__table_sqb_tqr_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| contexto | GlideRecord | GlideRecord do contexto em execução a ser cancelado. |
[Tabela 5. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 6. Retorna]

{#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);
          }

## Fluxo de trabalho - deleteWorkflow(GlideRecord current) {#ariaid-title5}

Exclui todos os fluxos de trabalho no registro.
{#r_WF-deleteWorkflow_GR__table_wp5_d1s_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| atual | GlideRecord | GlideRecord para o qual o solicitante deseja excluir todos os fluxos de trabalho. Pode ser qualquer registro em qualquer tabela. |
[Tabela 7. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 8. Retorna]

{#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);
        
## Fluxo de trabalho - fireEvent(GlideRecord eventRecord, cadeia de caracteres eventName, objeto eventParms) {#ariaid-title6}

Dispara o evento nomeado de um fluxo de trabalho em execução no registro de entrada.
Usado em Atividades Coordenador de aprovação, Temporizador, Bloqueioe alguns outros.
{#r_WF-fireEvent_GR_S__table_kqb_tqr_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| EventRecord | GlideRecord | Registro de eventos listado na tabela Atividades de execução de fluxo de trabalho \[wf_executing\]. |
| eventName | Cadeia de caracteres | O nome do evento a ser enviado para o fluxo de trabalho em execução. |
| eventParms | Objeto | Opcional. Parâmetros no formato JSON usados pelo evento. |
[Tabela 9. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 10. Retorna]

{#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');

## Fluxo de trabalho - fireEventById(cadeia de caracteres eventRecordId, cadeia de caracteres eventName) {#ariaid-title7}

Dispara o evento nomeado no registro especificado pelo ID de registro.
Usado em Atividades Coordenador de aprovação, Temporizador, Bloqueioe alguns outros.
{#r_WF-fireEventById_S_S__table_mqb_tqr_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| eventRecordId | Cadeia de caracteres | O sys_id do registro do glide. |
| eventName | Cadeia de caracteres | O nome do evento a ser enviado para o fluxo de trabalho em execução. |
[Tabela 11. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 12. Retorna]

{#r_WF-fireEventById_S_S__table_nqb_tqr_nt}  

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

## Fluxo de trabalho - getContexts(registro GlideRecord) {#ariaid-title8}

Retorna todos os contextos de fluxo de trabalho de um registro especificado.
{#r_WF-getContexts_GR__table_sp5_d1s_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| registro | [GlideRecord](https://servicenow-prod.fluidtopics.net/MVDQAzAUPvxIFzjBauTu9Q#c_GlideRecordAPI "A API GlideRecord é usada para operações de banco de dados.") | GlideRecord para o qual o solicitante deseja uma lista de todos os contextos de fluxo de trabalho. Pode ser qualquer registro em qualquer tabela para a qual o solicitante queira os contextos de fluxo de trabalho em execução. |
[Tabela 13. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| GlideRecord | GlideRecord na tabela Contexto de fluxo de trabalho \[wf_context\] filtrada para todos os contextos de fluxo de trabalho do registro especificado (em qualquer estado, como em execução, cancelado, concluído). |
[Tabela 14. Retorna]

{#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);

## Fluxo de trabalho - getEstimatedDeliveryTime(String workflowId) {#ariaid-title9}

Obtém o tempo estimado para a conclusão de um fluxo de trabalho.
{#r_WF-getEstimatedDeliveryTime_S__table_yp5_d1s_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| workflowId | Cadeia de caracteres | Sys_id do fluxo de trabalho (tabela wf_workflow) para obter o tempo de execução estimado. |
[Tabela 15. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Valor de exibição de um GlideDuration (por exemplo, 3 dias) ou em branco se for desconhecido. |
[Tabela 16. Retorna]

{#r_WF-getEstimatedDeliveryTime_S__table_zp5_d1s_nt}  

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

2 dias

## Fluxo de trabalho - getEstimatedDeliveryTimeFromWFVersion(GlideRecord wfVersion) {#ariaid-title10}

Obtenha o tempo de execução decorrido estimado para a versão do fluxo de trabalho.
{#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_aq5_d1s_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| wfVersion | GlideRecord | GlideRecord na tabela wf_workflow_version de uma versão de fluxo de trabalho específica para a qual o solicitante deseja a estimativa durante a execução. |
[Tabela 17. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Valor de exibição de um GlideDuration (por exemplo, 3 dias) ou em branco se for desconhecido. |
[Tabela 18. Retorna]

{#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));

## Fluxo de trabalho - getReturnValue(cadeia de caracteres workflowID, valor numérico, resultado booliano) {#ariaid-title11}

Obtém o valor de retorno do fluxo de trabalho apropriado para o ID do fluxo de trabalho de entrada. Este é o fluxo de trabalho submetido a check-out pelo usuário atual ou o fluxo de trabalho publicado com a data mais recente.
Este é o fluxo de trabalho submetido a check-out pelo usuário atual ou o fluxo de trabalho publicado com a data mais recente. Este método está disponível a partir da versão Fuji.
{#r_WF-getReturnValue_S_N_B__table_w2y_bjp_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| workflowID | Cadeia de caracteres | O sys_id do fluxo de trabalho (tabela wf_workflow) |
| valor | Número | valor |
| resultado | Booliano | Verdadeiro, se verdadeiro |
[Tabela 19. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| ??? | O valor de retorno do fluxo de trabalho conforme especificado pela atividade Valor de retorno. Fluxos de trabalho sem uma atividade de Valor de Retorno retornam um valor nulo. |
[Tabela 20. Retorna]

{#r_WF-getReturnValue_S_N_B__table_x2y_bjp_mt}  

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

Saída:

    *** Script: b99a866a4a3623120074c033e005418f
          
## Fluxo de trabalho - getRunningFlows(registro GlideRecord) {#ariaid-title12}

Obtém todos os contextos de fluxo de trabalho em execução no momento para o registro de entrada.
O registro de entrada é qualquer registro em qualquer tabela para a qual o solicitante deseja os contextos de fluxo de trabalho em execução.
{#r_WF-getRunningFlows_GR__table_qp5_d1s_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| registro | GlideRecord | GlideRecord do registro para o qual o solicitante deseja uma lista de todos os fluxos de trabalho em execução. |
[Tabela 21. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| GlideRecord | GlideRecord na tabela wf_context e filtrado para todos os contextos de fluxo de trabalho em execução. |
[Tabela 22. Retorna]

{#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');
          }

## Fluxo de trabalho - getVersion(cadeia de caracteres workflowID) {#ariaid-title13}

Obtém a versão de fluxo de trabalho apropriada para o ID do fluxo de trabalho de entrada. Este é o fluxo de trabalho submetido a check-out pelo usuário atual ou o fluxo de trabalho publicado com a data mais recente.
Este é o fluxo de trabalho submetido a check-out pelo usuário atual ou o fluxo de trabalho publicado com a data mais recente.
{#r_WF-getVersion_S__table_y2y_bjp_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| workflowID | Cadeia de caracteres | O sys_id do fluxo de trabalho (tabela wf_workflow) |
[Tabela 23. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| nenhum |   |
[Tabela 24. Retorna]

{#r_WF-getVersion_S__table_z2y_bjp_mt}  

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

## Fluxo de trabalho - getVersionFromName(cadeia de caracteres workflowName) {#ariaid-title14}

Retorna a versão de fluxo de trabalho apropriada para o nome do fluxo de trabalho de entrada.
Consulte getVersion() para obter mais informações.
{#r_WF-getVersionFromName_S__table_y2y_bjp_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| workflowName | Cadeia de caracteres | Nome do fluxo de trabalho (tabela wf_workflow) |
[Tabela 25. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 26. Retorna]

{#r_WF-getVersionFromName_S__table_z2y_bjp_mt}  

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

## Fluxo de trabalho - getWorkflowFromName(cadeia de caracteres workflowName) {#ariaid-title15}

Retorna o sys_id do fluxo de trabalho associado ao nome do fluxo de trabalho especificado.
{#r_WF-getWorkflowFromName_S__table_afy_bjp_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| workflowName | Cadeia de caracteres | Nome do fluxo de trabalho. |
[Tabela 27. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O sys_id do fluxo de trabalho associado ao nome passado. |
[Tabela 28. Retorna]

{#r_WF-getWorkflowFromName_S__table_bfy_bjp_mt}  

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

## Fluxo de trabalho - hasWorkflow(registro GlideRecord) {#ariaid-title16}

Determina se um registro especificado tem contextos de fluxo de trabalho associados a ele.
Isso inclui contextos de fluxo de trabalho em execução e concluídos.
{#r_WF-hasWorkflow_GR__table_iqb_tqr_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| registro | GlideRecord | GlideRecord sob escrutínio. Este GlideRecord pode ser de qualquer tabela. |
[Tabela 29. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Booliano | Verdadeiro, se o registro tiver fluxo de trabalho associado; caso contrário, retorna Falso. |
[Tabela 30. Retorna]

{#r_WF-hasWorkflow_GR__table_jqb_tqr_nt}  

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

falso

## Fluxo de trabalho - restartWorkflow(GlideRecord current, booliano manterStateFlag) {#ariaid-title17}

Recalcula as aprovações e tarefas de um fluxo de trabalho adicionando novas aprovações e tarefas, sem redefinir as aprovações e tarefas atuais.
Você pode usar este método para executar tarefas como adicionar uma empresa a uma solicitação de mudança, sem redefinir as aprovações atuais para empresas que já estão no fluxo de trabalho.
{#r_WF-restartWorkflow_GR_B__table_up5_d1s_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| atual | GlideRecord | GlideRecord do registro que este fluxo de trabalho está executando. Isso pode ser feito por qualquer registro em qualquer tabela. |
| manterStateFlag | Booliano | Sinalizador que indica se todas as aprovações e tarefas devem ser mantidas em seu estado atual. Valores válidos: * verdadeiro: mantém todas as aprovações e tarefas no estado atual. * falso: atualiza todos os estados de aprovação e tarefa. {#r_WF-restartWorkflow_GR_B__ul_fwb_fh3_2nb} |
[Tabela 31. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 32. Retorna]

{#r_WF-restartWorkflow_GR_B__table_vp5_d1s_nt}  
Este exemplo mostra o fluxo de trabalho sendo reiniciado com a mudança do arquivo de aprovação de Rejeitado para Solicitado.

    (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);
      }
    })

## Fluxo de trabalho - runFlows(registro GlideRecord, operação de cadeia de caracteres) {#ariaid-title18}

Executa todos os fluxos de trabalho para um determinado registro em uma determinada tabela e suas tabelas descendentes.
O uso de amostra pode ser visto nas Inclusões de script "SNC - Executar fluxos de trabalho primários" e "SNC - Executar fluxos de trabalho primários (aprovação)".
{#r_WF-runFlows_GR_S__table_u2y_bjp_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| registro | GlideRecord | GlideRecord para executar fluxos de trabalho. |
| operação | Cadeia de caracteres | Operação de banco de dados. Valores válidos: * inserir * atualizar * excluir {#r_WF-runFlows_GR_S__ul_mt2_yds_ckb} |
[Tabela 33. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 34. Retorna]

{#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');
    }

## Fluxo de trabalho - startFlow(cadeia de caracteres workflowId, GlideRecord atual, operação de cadeia de caracteres, variáveis de matriz) {#ariaid-title19}

Inicia um fluxo de trabalho especificado.
Consulte a inclusão de script WorkflowScheduler e a regra de negócio "Iniciar fluxo de trabalho" na tabela sc_req_item para obter exemplos de uso.
{#r_WF-startFlow_S_GR_S_A__table_f3h_hx4_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| workflowId | Cadeia de caracteres | O sys_id do fluxo de trabalho a ser iniciado. Este sys_id se refere à tabela wf_workflow. |
| atual | GlideRecord | O registro a ser usado como atual neste fluxo de trabalho. Normalmente, é do campo Table das propriedades de fluxo de trabalho para este fluxo de trabalho. |
| operação | Cadeia de caracteres | A operação a ser executada em current. Valores possíveis: inserir, atualizar, excluir. |
| variáveis | Matriz | Coleção de variáveis a serem adicionadas ao fluxo de trabalho |
[Tabela 35. Parâmetros]

{#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());

## Fluxo de trabalho - startFlowFromContextInsert (contexto GlideRecord, operação de cadeia de caracteres) {#ariaid-title20}

Método auxiliar para regra de negócio Auto start on context.
{#r_WF-startFlowFromContextInsert_GR_S__table_h3h_hx4_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| contexto | GlideRecord | GlideRecord na tabela wf_context de um novo registro (o registro "atual" na regra de negócio). |
| operação | Cadeia de caracteres | Operação de banco de dados em execução. Um de insert, update, delete. |
[Tabela 36. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 37. Retorna]

{#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())

## Fluxo de trabalho - startFlowRetroactive(cadeia de caracteres workflowId, número retroativoMSecs, GlideRecord atual, operação de cadeia de caracteres, matriz, ???) {#ariaid-title21}

Usado pela regra de negócio Start Workflow na tabela task_sla. Isso inicia um fluxo de trabalho e os argumentos extras para este método são usados pela atividade "Temporizador" para pausar a execução do fluxo de trabalho por algum tempo.
{#r_WF-startFlowRetroactive_S_N_GR_S_A__table_j3h_hx4_mt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| workflowID | Cadeia de caracteres | O sys_id do fluxo de trabalho a ser iniciado. Este sys_id se refere à tabela wf_workflow. |
| MSecs retroativos | Número | Atraso em milissegundos usado pelo Temporizadorde atividades . |
| atual | GlideRecord | GlideRecord do registro a ser usado como atual neste fluxo de trabalho. Normalmente, é do campo Table das propriedades deste fluxo de trabalho |
| operação | Cadeia de caracteres | Operação de banco de dados em execução.Uma de insert, update, delete. |
| variáveis | Matriz | Coleção de variáveis a serem adicionadas ao fluxo de trabalho. |
| withSchedule | ??? | Programação usada pelo Temporizadorde atividades |
[Tabela 38. Parâmetros]

{#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}

| Tipo | Descrição |
|-|-|
| GlideRecord | Um GlideRecord na tabela wf_context no registro inserido para este contexto de fluxo de trabalho recém-criado. |
[Tabela 39. Retorna]

{#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();
          
        
## Fluxo de trabalho - Workflow() {#ariaid-title22}

Construtor da classe Fluxo de trabalho.
{#r_WF_Workflow__table_t3b_vwl_nt__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 40. Parâmetros]

{#r_WF_Workflow__table_t3b_vwl_nt} {#r_WF_Workflow__table_u3b_vwl_nt__entry__2}

| Tipo | Descrição |
|-|-|
| vazio |   |
[Tabela 41. Retorna]

{#r_WF_Workflow__table_u3b_vwl_nt}  

    var w = new Workflow();


