Outras operações da tarefa de regra de negócio

Outras operações

A tarefa de regra de negócio também permite executar algumas operações de rotina pré-desenvolvidas. Veja:

Modificar o valor de campo do formulário

Nessa opção, você poderá modificar o valor do campo do formulário sem o uso de regras de negócios. Você irá escolher o campo a ser modificado e definirá seu valor, usando textos fixos, textos dinâmicos (com o uso de tokens) ou um misto dos dois.

Os usos desse recurso são múltiplos.

Imagine que você possui um processo complexo, com muitos gateways, e deseja salvar no formulário um indicador de onde o processo passou ou onde está no momento. Você pode espalhar tarefas de regra de negócio pelo processo, modificando o valor de um campo de formulário que expresse o status do processo.

Outros exemplos consistem em usar esse recurso para salvar em campos do formulário outras informações sobre a solicitação, sobre o solicitante ou mesmo sobre o último executor de uma tarefa, usando tokens.

Dica: não é possível modificar valores de campos do tipo "Lista de seleção" (que permite marcar vários itens da lista), ou de campos em tabela multivaloradas (será preenchido somente a 1ª linha da tabela).

Copiar valores de campos do formulário

Nessa opção, você irá identificar o número de outra solicitação (do mesmo aplicativo ou mesmo de outro aplicativo). O número dessa solicitação pode ser uma variável, vinda de um campo de formulário, por exemplo, usando tokens.

Quando for executada, a regra irá copiar todos os valores de campos de formulário da solicitação referenciada para a solicitação atual, desde que os identificadores dos campos sejam os mesmos.

É importante destacar que:

  • Todos os campos cujos identificadores forem iguais serão copiados, inclusive se já eventualmente tiverem sido preenchidos na solicitação atual; nesse caso, serão reescritos

  • Se, depois de copiados, os valores do campo de formulário forem modificados, não haverá nova sincronização dos valores entre as solicitações (a não ser que utilizada uma nova tarefa de regra de negócio);

  • Se a solicitação referenciada não for encontrada, a tarefa será finalizada sem realizar a cópia, mas sem emitir nenhum erro.

Essa regra permite construir uma comunicação entre aplicativos diferentes, reutilizando valores de formulários entre aplicativos. Por exemplo, imagine que você tem um aplicativo de Cobrança e possui uma regra onde é necessário permitir que os usuários enviem e-mails de cobrança a qualquer momento para o cliente. Uma possibilidade seria criar um aplicativo acessório, chamado de "Notificação de cobrança", onde o ator digitaria o número do processo original de cobrança. Com base nesse número, os valores atuais do formulário seriam copiados e o e-mail enviado.

Requisitos para essa operação funcionar corretamente

  • O usuário que está executando uma tarefa predecessora a Regra de negócio deve ter a seguinte permissão:

    1. "Ver relatórios e informações de todas as execuções" no aplicativo da solicitação em que os dados serão copiados.

    2. "Editar modelo de processo do aplicativo e todas as execuções" no aplicativo em que deseja trazer os dados copiados (que está sendo usado no momento).

Cancelar uma solicitação em andamento

Nessa operação, você pode cancelar essa mesma solicitação de solicitação ou outra solicitação em andamento. O número da solicitação a ser cancelada pode ser um valor fixo ou um valor dinâmico, vindo de um token.

Você pode, por exemplo, criar um processo especial específico para que pessoas solicitem o cancelamento de outros processos, ao invés de usar os recursos nativos de cancelamento. Com isso, pode criar seu próprio workflow de cancelamento, incluindo rotinas de aprovação e de aviso do cancelamento.

Cancelar tarefas e eventos pendentes

Nessa operação, todas as tarefas e eventos (como eventos de timer, por exemplo) dessa mesma solicitação que estiverem pendentes serão cancelados. Ao contrário da regra anterior, a solicitação em si não será cancelada, e novas tarefas poderão ser criadas.

Por exemplo, imagine um cenário onde você tem um processo com diversas tarefas em andamento, em paralelo, usando um gateway paralelo. Com base em algum evento, você pode cancelar todas as tarefas que estiverem pendentes e continuar o processo em um único caminho.

Congelar uma solicitação em andamento

Nessa operação, você pode congelar essa mesma solicitação de solicitação ou outra solicitação em andamento. O número da solicitação a ser congelada pode ser um valor fixo ou um valor dinâmico, vindo de um token.

Você pode, por exemplo, criar um processo especial específico para que pessoas solicitem o congelamento de outros processos, ao invés de usar os recursos nativos de congelamento. Com isso, pode criar seu próprio workflow de congelamento, incluindo rotinas de aprovação e de aviso do congelamento.

Descongelar uma solicitação em andamento

Nessa operação, você pode descongelar essa mesma solicitação de solicitação ou outra solicitação já congelada. O número da solicitação a ser descongelada pode ser um valor fixo ou um valor dinâmico, vindo de um token.

Modificar o status de uma solicitação já finalizada

Nessa operação, você pode modificar o status de uma solicitação já finalizada. O número da solicitação a ter seu status modificado pode ser um valor fixo ou um valor dinâmico, vindo de um token.

Alterar o solicitante desta solicitação

Nessa operação, você pode modificar o solicitante desta solicitação. A identificação do novo solicitante pode ser o login do usuário correspondente ou seu ID. Essa informação pode ser fixa ou um valor dinâmico, vindo de um token.

Você pode, por exemplo, criar um processo que pode ser iniciado por alguma pessoa em nome de outra. Isso acontece bastante em processos de help desk / service management. O solicitante abre o ticket por e-mail ou telefone e o atendente registra a solicitação no sistema. No formulário de solicitação, poderia indicar quem é o verdadeiro solicitante e uma tarefa de regra de negócio na sequencia poderia modificar para o solicitante verdadeiro.

Após a execução desta regra de negócio, poderá ocorrer um comportamento específico caso o novo solicitante não pertença ao mesmo Time/Função do solicitante original. Nesses casos, ao visualizar as informações da solicitação (seja na execução de uma tarefa ou em seu detalhamento), o novo solicitante será exibido com o mesmo Time/Função do solicitante original. Isso ocorre por razões de rastreabilidade do sistema, sem impacto além da exibição dessas informações na solicitação em que a regra foi aplicada. Não haverá qualquer alteração nos Times/Funções do sistema; ou seja, o novo solicitante não será integrado ao Time/Função do solicitante original.

Adicionar uma nova mensagem nesta solicitação

Nessa operação, você pode adicionar uma mensagem nesta solicitação.

A mensagem a ser incluída pode ser fixa. Por exemplo, você deseja após o processo passar por uma determinada etapa registrar automaticamente uma mensagem de alerta na solicitação.

Ou a mensagem pode ser dinâmica, usando um token. Por exemplo, você deseja salvar o valor de um campo de formulário como uma mensagem na solicitação, antes que esse campo seja alterado por outra pessoa.

Cálculo com datas

Nessa operação você pode configurar um cálculo que envolve datas preenchidas no formulário.

É possível somar (+) ou subtrair (-) dias de uma data. O resultado desse cálculo sempre gera outra data que será preenchida em outro campo do formulário.

Sendo assim, a configuração se resume em:

  • Selecionar a data-base: data que será usada na soma ou subtração da quantidade dias. Digite uma data no formato dd/mm/aa, ou um token para obter a data de um campo do formulário.

  • Definir o número de dias: digite a quantidade de dias deverá ser somado ou subtraído da data-base. Para subtrair digite um número negativo: -20 Para somar digite um número positivo sem o sinal de +: 20. Utilize apenas números inteiros. Também é possível utilizar um token para obter a quantidade de dias de um campo do formulário.

  • Armazenar o resultado: selecione um campo do formulário que deverá armazenar o resultado do cálculo.

A partir desse cálculo você pode realizar diversas outras operações, como tornar essa data o prazo de finalização de uma tarefa humana ou evento de timer, validar via Gateway se ela é maior ou menor que o hoje e desviar o fluxo do processo, entre outras possibilidades.

Exemplo de configuração do cálculo com datas
Cálculo funcionando na prática

Dica: veja na prática essa demonstração de alguns casos de uso e como configurar essas operações.

Atualizado