Cancelamento de um fluxo de trabalho

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • O cancelamento de um fluxo de trabalho interrompe sua execução e define o Estado do contexto de fluxo de trabalho como Cancelado. Para cancelar um fluxo de trabalho em execução, você pode usar o script cancelContext(context). É possível definir um script onCancel para limpar atividades de fluxo de trabalho não resolvidas.

    Antes de Iniciar

    Função necessária: administrador ou workflow_admin

    Por Que e Quando Desempenhar Esta Tarefa

    O cancelamento de um fluxo de trabalho tenta interrompê-lo normalmente pela inserção de um comando de cancelamento no mecanismo de fluxo de trabalho.

    Procedimento

    1. Navegar até Todos > Fluxo de trabalho > Contextos Ativos.
    2. Selecione um registro de contexto de fluxo de trabalho.
    3. Configure o layout do formulário para adicionar o campo Script em cancelamento ao formulário.
      Para obter informações detalhadas sobre como configurar o layout do formulário, consulte Configuring the form layout.
    4. Selecione o link relacionado Cancelar.
      Uma confirmação é exibida.
      Confirmação de cancelamento
    5. Clique em OK.
      O mecanismo de fluxo de trabalho tenta cancelar o fluxo de trabalho normalmente.
      Esperar o Cancelamento

      Se o fluxo de trabalho não responder ao comando de cancelamento, a opção "Forçar cancelamento" será exibida.

      Forçar cancelamento
    6. Clique em Forçar cancelamento para interromper o thread que o fluxo de trabalho está executando ativamente ou clique em Continuar esperando para esperar que o fluxo de trabalho seja cancelado normalmente.
      Aviso:
      Sempre que possível, permita o cancelamento normal do fluxo de trabalho. O cancelamento forçado pode deixar os fluxos de trabalho e os scripts relacionados no estado de não resolvido. Você pode usar um script em cancelamento para limpar artefatos não resolvidos de um fluxo de trabalho cancelado.

    Cancelamento de um fluxo de trabalho com o script cancelContext(context)

    Para cancelar um fluxo de trabalho em execução, você pode usar o script cancelContext(context). Este script pode ser útil nos casos em que um fluxo de trabalho deve ser cancelado em resposta a um evento ou quando um usuário precisa cancelar um fluxo de trabalho manualmente.

    Antes de Iniciar

    Função necessária: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    Para obter mais informações, consulte o Workflow - cancelContext(GlideRecord context).

    Definição de um script em cancelamento

    O cancelamento de um fluxo de trabalho pode deixar os registros trabalho e os scripts no estado de não resolvido. Por exemplo, o cancelamento de um fluxo de trabalho do catálogo de serviços pode deixar itens do catálogo no carrinho do usuário solicitante. Um administrador pode especificar um script em cancelamento que é executado quando o fluxo de trabalho faz a transição para o estado Cancelado. Esse script pode notificar usuários, registrar informações em log ou resolver o estado de qualquer script executado em uma atividade de fluxo de trabalho. O sys_id do contexto de fluxo de trabalho está disponível nesse script usando a variável context_sys_id.

    Por Que e Quando Desempenhar Esta Tarefa

    Os scripts em cancelamento são executados de forma assíncrona no escopo global. A carga de trabalho da instância determina quando o sistema programa e executa o script em cancelamento.
    Importante:
    Como o sistema executa scripts em cancelamento a partir do escopo global, ele não pode chamar ou executar inclusões de script com escopo.

    Procedimento

    1. Navegar até Todos > Fluxo de trabalho > Versões de Fluxo de Trabalho.
    2. Selecione uma versão do fluxo de trabalho da qual você fez check-out.
      As versões do fluxo de trabalho que não foram submetidas a check-out não são editáveis.
    3. Edite o campo Script em cancelamento.
      Pode ser necessário configurar o formulário para adicionar este campo.
    4. Clique em Atualizar.

    Exemplo

    Esse script de exemplo adiciona um comentário a um registro de Item solicitado [sc_req_item] indicando que o fluxo de trabalho da solicitação foi cancelado.
    var grContext = new GlideRecord("wf_context"); 
    grContext.get(context_sys_id); 
    var grReq = new GlideRecord("sc_req_item");
     
    // The current record may not exist, make sure it exists before modifying it.
    if (grReq.get(grContext.id)) {
        grReq.comments = "The workflow processing this item was Canceled. Contact your system administrator for further information.";
        grReq.update();
    }