Configurar as etapas e os estágios de fluxo de trabalho em tempo real

Ao criar fluxos de trabalho, você tem a opção de conter a lógica que deseja para executar em estágios e etapas.

  • Estágios. Os estágios facilitam a leitura da lógica de fluxo de trabalho em tempo real e a explicam. No entanto, os estágios não afetam a lógica ou o comportamento dos fluxos de trabalho. Se um processo tiver estágios, todas as etapas no processo deverão estar contidas em um estágio.
  • Passos. As etapas são uma unidade de lógica de negócios em um fluxo de trabalho. As etapas podem incluir condições, ações, outras etapas ou uma combinação desses elementos.

Ações que os processos do fluxo de trabalho em tempo real podem executar

Os processos do fluxo de trabalho em tempo real podem executar as ações listadas na seguinte tabela.

Ação Descrição
Criar linha Cria uma linha para uma tabela e atribui os valores que você escolher aos atributos.
Atualizar linha Você pode atualizar a linha em que o fluxo de trabalho em tempo real está sendo executado, qualquer uma das linhas vinculadas a essa linha em um relacionamento N:1 ou qualquer linha criada pelas etapas anteriores.
Atribuir linha Você pode atribuir a linha em que o fluxo de trabalho em tempo real está sendo executado, qualquer uma das linhas vinculadas a essa linha em um relacionamento N:1 ou qualquer linha criada pelas etapas anteriores.
Enviar Email Envia um email. Você pode optar por criar uma mensagem de email ou usar um modelo de email configurado para a tabela da linha em que o fluxo de trabalho em tempo real está sendo executado ou qualquer tabela que tenha uma relação N:1 com a tabela, ou a tabela para qualquer linha criada pelas etapas anteriores.
Iniciar Fluxo de Trabalho Filho Inicia um fluxo de trabalho em tempo real configurado como um subprocesso.
Alterar Status Altera o status da linha em que o processo está sendo executado, qualquer uma das linhas vinculadas a essa linha em um relacionamento N:1 ou qualquer linha criada pelas etapas anteriores.
Parar Fluxo de Trabalho Interrompe o fluxo de trabalho atual. Você pode definir o status de Com Êxito ou Cancelado e especificar uma mensagem de status.

Quando os fluxos de trabalho em tempo real são configurados para um evento, interromper um fluxo de trabalho em tempo real com um status de cancelado impedirá que a ação do evento seja concluída. Acesse Usar fluxos de trabalho em tempo real para obter mais informações.
Etapa personalizada Os desenvolvedores podem criar etapas do fluxo de trabalho em tempo real personalizadas que definem ações. Não há etapas personalizadas disponíveis por padrão.

Definição de valores de linha

Ao criar uma linha, é possível definir valores para ela. Ao atualizar uma linha, é possível definir, anexar, incrementar, diminuir, multiplicar ou limpar valores.

Ao selecionar Definir Propriedades, é aberta uma caixa de diálogo mostrando o formulário padrão da tabela.

Na parte inferior da caixa de diálogo, você verá uma lista de colunas adicionais não presentes no formulário.

Para qualquer coluna, você pode definir um valor estático definido pelo fluxo de trabalho.

No lado direito da caixa de diálogo, o Assistente de Formulário permite definir ou acrescentar valores dinâmicos do contexto da linha atual. Isso inclui valores de linhas relacionadas que podem ser acessadas a partir dos relacionamentos muitos-para-um (N:1) da tabela.

As opções disponíveis no Assistente de Formulário dependem da coluna selecionada no formulário. Ao definir um valor dinâmico, você verá um espaço reservado amarelo conhecido como "slug" que mostra onde os dados dinâmicos estão incluídos. Se você deseja remover o valor, selecione o slug e exclua-o. Para colunas de texto, você pode usar uma combinação de dados estáticos e dinâmicos.

Com valores dinâmicos, você não sabe se uma coluna ou uma tabela relacionada tem o valor a ser definido. Você pode definir várias colunas para tentar definir o valor e classificá-las em ordem usando as setas verdes. Se a primeira coluna não tiver dados, experimente a segunda coluna e assim por diante. Se nenhuma coluna tiver dados, é possível especificar um valor padrão a ser usado.

Definir condições para ações do fluxo de trabalho em tempo real

As ações que você aplica geralmente dependem de condições. Os processos do fluxo de trabalho em tempo real oferecem várias maneiras de definir condições e criar a lógica de ramificação para obter os resultados desejados. Você pode verificar os valores da linha em que o processo do fluxo de trabalho em tempo real está sendo executado, de qualquer linha vinculada a essa linha com um relacionamento N:1, ou valores no próprio processo.

Tipo de Condição Descrição
Verificar Condição Uma instrução lógica "if-<condition> then".

Você pode verificar os valores atuais da linha em que o fluxo de trabalho em tempo real está sendo executado, qualquer uma das linhas vinculadas a essa linha em um relacionamento N:1 ou qualquer linha criadas por etapas anteriores. Com base nesses valores, será possível definir etapas adicionais quando a condição for verdadeira.

Na instrução "if-<condition> then", você pode usar os seguintes operadores: Equals, Does Not Equal, Contains Data, Does Not Contain Data, Under e Not Under.

Observação:Abaixo e Não Abaixo são operadores hierárquicos. Eles só podem ser usados em tabelas que possuem um relacionamento hierárquico definido. Se você estiver tentando usar esses operadores nas tabelas que não têm a relação hierárquica definida, confira a mensagem de erro: "Você está usando um operador hierárquico em uma tabela que não tem uma relação hierárquica definida. Crie a tabela hierárquica (marcando um relacionamento como hierárquico) ou use um operador diferente.”

Para obter mais informações sobre relacionamentos hierárquicos, acesse Definir e consultar dados relacionados hierarquicamente. Uma captura de tela que segue a tabela é um exemplo da definição do processo de fluxo de trabalho em tempo real que usa os operadores hierárquicos Under e Not Under.
Ramificação Condicional Em uma expressão lógica "else-if-then", o editor utiliza o texto “Caso contrário, se <condição> então:”

Selecione uma condição de verificação definida anteriormente e você pode adicionar um branch condicional para definir etapas adicionais quando a condição de verificação retornar false.
Ação Padrão Uma declaração lógica "else". O editor usa o texto “Caso contrário:”

Selecione uma condição de verificação, ramificação condicional, condição de espera ou branch de espera paralela que você definiu anteriormente e você pode usar uma ação padrão para definir etapas para todos os casos que não correspondem aos critérios definidos em elementos de condição ou branch.
Condição de Espera Os fluxos de trabalho em tempo real não podem usar condições de espera. No entanto, as condições de espera podem ser usadas com fluxos de trabalho em segundo plano. Mais informações: Definir condições para ações do fluxo de trabalho em segundo plano
Ramificação Paralela de Espera Define uma condição de espera alternativa para o fluxo de trabalho em tempo real com o correspondente conjunto de etapas adicionais que serão realizadas somente quando o critério inicial for atendido. Você pode usar ramificações de espera paralelas para criar limites de tempo na lógica de fluxo de trabalho em tempo real. Eles ajudam a impedir que o fluxo de trabalho em tempo real aguarde indefinidamente até que os critérios definidos em uma condição de espera sejam atendidos.
Etapa personalizada Os desenvolvedores podem criar etapas do fluxo de trabalho em tempo real personalizadas que definem condições. Não há nenhuma etapa personalizada disponível por padrão.

A captura de tela a seguir contém um exemplo de definição do processo de fluxo de trabalho com os operadores hierárquicos Sob e Não Sob. No nosso exemplo, nós aplicamos dois descontos em dois grupos de contas diferentes. Em Adicionar etapa, nós selecionamos Checar condição para especificar a condição se-então que contém os operadores de Abaixo de ou Não abaixo de. A primeira condição se-então aplica-se a todas as contas que estão sob a conta da Alpine Ski House. Essas contas recebem um desconto de 10% nas compras de produtos e serviços. A segunda condição de se-então aplica-se a todas as contas que Não estão na conta da Alpine Ski House e recebem um desconto de 5%. Em seguida, nós selecionamos Atualizar linha para definir a ação a ser executada com base na condição.

Processo do fluxo de trabalho com operadores subordinado/não subordinado.

Iniciando fluxos de trabalho em tempo real antes ou depois de alterar o status

Ao configurar Opções para Processos Automáticos para fluxos de trabalho em tempo real, as opções Iniciar quando para o evento de alteração de status permite selecionar Depois ou Antes para quando o status é alterado. A opção padrão é Depois.

Quando você seleciona Antes, você está dizendo que deseja que a lógica no fluxo de trabalho em tempo real seja aplicada antes que os dados que mudam o status sejam salvos. Isso oferece a capacidade de verificar os valores antes de outra lógica ser aplicada depois da operação e evitar que uma lógica adicional seja executada. Por exemplo, você pode ter lógica adicional em um plug-in ou uma ação personalizada de fluxo de trabalho em tempo real que pode iniciar ações em outro sistema. Ao parar o processamento adicional, você pode evitar casos em que os sistemas externos são afetados. Aplicar fluxos de trabalho em tempo real antes desse evento também significa que outras ações de fluxo de trabalho ou plug-in em tempo real que possam salvar dados não precisam ser "revertidas" quando a operação for cancelada.

Ação Quando iniciar Explicação
Linha criada Após Somente Após está disponível. A linha não terá um identificador exclusivo até que o estágio interno MainOperation seja concluído, assim, não pode ocorrer antes de a linha ser criada.
Alterações de status de linha Antes
Após
Corresponde a uma operação de atualização que fornece a capacidade de aplicar lógica de fluxo de trabalho em tempo real antes ou depois das alterações de status. Antes corresponde ao estágio de pré-operação. Após corresponde ao estágio de pós-operação.
Linha atribuída Antes
Após
Corresponde a uma operação de atualização que fornece a capacidade de aplicar lógica de fluxo de trabalho em tempo real antes ou depois das alterações de status. Antes corresponde ao estágio de pré-operação. Após corresponde ao estágio de pós-operação.
Alteração em colunas de linha Antes
Após
Corresponde a uma operação de atualização que fornece a capacidade de aplicar lógica de fluxo de trabalho em tempo real antes ou depois das alterações de status. Antes corresponde ao estágio de pré-operação. Após corresponde ao estágio de pós-operação.
Linha excluída Antes Somente Antes está disponível. A exclusão de linha corresponde ao estágio pré-operacional. Depois que a MainOperation ocorre, a linha é excluída e não há mais nenhuma alteração de status que possa ocorrer.

Para obter mais informações sobre os estágios de pré-operação, operação principal e pós-operação, consulte Pipeline de execução de eventos.

Usando fluxos de trabalho em tempo real

É possível configurar os fluxos de trabalho em tempo real, mas você deve usá-los com cuidado. Os fluxos de trabalho em segundo plano são geralmente recomendados porque permitem que o sistema os aplique quando há recursos disponíveis no servidor. Isso ajuda a facilitar o trabalho do servidor e ajuda a manter o melhor desempenho para qualquer pessoa que utilize o sistema. A desvantagem é que as ações definidas por fluxos de trabalho em segundo plano não são imediatas. Você não pode prever quando eles são aplicados, mas geralmente leva alguns minutos. Para a maioria da automação dos processos empresariais, isso pode ocorrer porque as pessoas que usam o sistema não precisam estar cientes de que o processo está em execução.

Use fluxos de trabalho em tempo real quando um processo de negócios exige alguém para ver imediatamente os resultados do processo ou se você deseja habilitar o cancelamento de uma operação. Por exemplo, talvez você queira definir determinados valores padrão para uma linha na primeira vez que ela for salva ou se deseja garantir que algumas linhas não sejam excluídas.

Converter entre fluxo de trabalho em tempo real e em segundo plano

Você pode modificar um fluxo de trabalho em tempo real em um fluxo de trabalho em segundo plano escolhendo Converter para um fluxo de trabalho em segundo plano na barra de ferramentas.

Você pode modificar um fluxo de trabalho em segundo plano em um fluxo de trabalho em tempo real escolhendo Converter para um fluxo de trabalho em tempo real na barra de ferramentas. Se o fluxo de trabalho em segundo plano usar uma condição de espera, ele se tornará inválido e você não poderá ativá-lo até remover a condição de espera.

Iniciando fluxos de trabalho em tempo real antes ou depois de alterar o status

Ao configurar Opções para Processos Automáticos para fluxos de trabalho em tempo real, as opções Iniciar quando para o evento de alteração de status permite selecionar Depois ou Antes para quando o status é alterado. A opção padrão é Depois.

Ao selecionar Antes, você está dizendo que deseja que a lógica no fluxo de trabalho em tempo real seja aplicada antes que os dados que alteram o status sejam salvos. Isso fornece a capacidade de verificar os valores antes que outra lógica seja aplicada após a operação e impede que outras lógicas sejam executadas. Por exemplo, você pode ter uma lógica adicional em um plug-in ou em uma ação personalizada de fluxo de trabalho em tempo real que pode iniciar ações em outro sistema. Ao parar o processamento adicional, você pode evitar casos em que os sistemas externos são afetados. Aplicar fluxos de trabalho em tempo real antes do evento também significa que outras ações de fluxos de trabalho em tempo real ou de plug-ins que possam ter dados já salvos não precisem ser "revertidas" quando a operação é cancelada.

Usando a ação 'Interromper Fluxo de Trabalho' com fluxos de trabalho em tempo real

Ao aplicar uma ação Parar Fluxo de Trabalho em um fluxo de trabalho em tempo real, você tem a opção de especificar uma condição de status que pode ser Com Êxito ou Cancelado. Ao definir o status como cancelado, você impede a operação. Uma mensagem de erro contendo o texto da mensagem de status da ação de parada será exibida ao usuário com o cabeçalho Erro do Processo de Negócios.

Configurando quem executa o fluxo de trabalho em tempo real

No designer de fluxo de trabalho, você pode definir quem o fluxo de trabalho deve ser executado como "O proprietário do fluxo de trabalho" ou "O usuário que fez alterações no registro". Para alterar o proprietário do registro para outro usuário, abra a guia Administração no editor de fluxo de trabalho e use a pesquisa para selecionar um novo proprietário para o fluxo de trabalho. Você precisa da função de segurança do Administrador do Sistema ou do Personalizador de Sistema ou de uma função que contenha o prvChangeOwnerIdOfWorkflow privilégio para alterar o proprietário do fluxo de trabalho.

Próximas etapas

Monitorar e gerenciar processos de fluxo de trabalho em tempo real
Práticas recomendadas para processos de fluxo de trabalho em tempo real