Versão disponível: a partir da 4.7
A multiplicidade é um recurso do SankhyaFlow que possibilita ao modelador configurar a abertura de uma determinada Tarefa de Usuário quantas vezes forem necessárias, de forma paralela ou sequencial.
A Multiplicidade Sequencial executa sequencialmente uma mesma Tarefa de Usuário diversas vezes dentro do fluxo, antes da próxima etapa do processo.
Esse recurso é utilizado quando uma mesma tarefa precisa ser executada por uma pessoa e, na sequência, existe a necessidade de outra(s) pessoa(s) também realizar(em) a mesma tarefa.
Como exemplo, podemos citar uma liberação em cascata. Em uma política de desconto nas vendas, pode ser que uma determinada faixa de valores de desconto seja aprovada de gestor a gestor, ou seja, uma mesma atividade seja aprovada sequencialmente porém, o segundo gestor somente aprova caso o primeiro tenha aprovado, o terceiro somente após o segundo e assim por diante.
Nessa documentação trataremos sobre nosso Caso de Uso, a Configuração de uma Tarefa de Usuário com Multiplicidade Sequencial, as Demais configurações do Caso de Uso, Outras informações sobre Multiplicidade Sequencial e os Resultados.
Caso de Uso
A empresa Beta Ltda utiliza o SankhyaFlow em seu processo de compras que está representado na imagem abaixo:
Processo de Compras com Multiplicidade Sequencial |
Esse processo contempla as etapas de "Solicitação de compras": Aprovação da Solicitação, Cotação dos produtos para garantir os melhores preços e Aprovação da compra utilizando a multiplicidade sequencial para realizar as alçadas de aprovações:
Tabela de alçadas de aprovação da empresa Beta Ltda |
Sendo assim, quando os itens aprovados das cotações forem de até R$10.000,00, o fluxo irá executar a multiplicidade e instanciar a primeira tarefa para o Coordenador de Suprimentos.
Na situação que a compra tiver um valor de R$15.000,00, será instanciada uma tarefa para o Coordenador de Suprimentos e, na sequência, será criada uma instância para o Gerente Administrativo Financeiro, pois a compra excede o valor de R$10.000,00.
Se a compra tiver um valor acima de R$50.000,00, haverá a criação da tarefa "Aprovar compra" por 4 vezes, respeitando a tabela acima, ou seja, será criada a primeira tarefa para o Coordenador de Suprimentos e quando finalizada essa atividade, serão criadas as tarefas até a última atividade, sendo ela do Diretor Presidente.
Configuração de uma Tarefa de Usuário com Multiplicidade Sequencial
De acordo com a tabela acima, para que a aprovação da compra seja direcionada aos responsáveis por cada nível de aprovação, devemos configurar na Tarefa de Usuário "Aprovar compra", a multiplicidade sequencial:
Inserindo a Multiplicidade Sequencial |
Após definir que a Tarefa de Usuário terá a multiplicidade do tipo sequencial, precisamos definir a quantidade de instâncias que serão geradas. Nesse caso de uso, a quantidade vem em função do valor total das cotações aprovadas, ou seja, dependendo do valor de compra, será gerada de 1 a 4 tarefas sequencialmente; para isso, precisamos escrever um script que retornará um valor. Lembrando que esse script será dependente do script abordado no tópico Demais configurações do Caso de Uso.
O script será:
Script quantidade de tarefas |
var resultado = getCampo("VALORTOTAL"); |
Demais configurações do Caso de Uso
Em função do caso de uso, podemos ter vários usuários donos da tarefa "Aprovar cotação"; sendo assim, é necessário um script que abarque esse cenário:
var query = getQuery(); |
Observação: para mais detalhes sobre as configurações de usuários candidatos dinâmicos acesse a documentação Candidato executante dinâmico.
Para facilitar a escrita do script de Quantidade de Instâncias, conforme apresentamos no tópico Configuração de uma Tarefa de Usuário com Multiplicidade Sequencial , vamos configurar um outro script na Tarefa de Usuário "Realizar cotação", para somar o valor total das cotações aprovadas e categorizar nas faixas de aprovação do Coordenador de Suprimentos ao Diretor. Para isso, utilizaremos o recurso de Eventos:
Configuração de Evento |
var query = getQuery(); |
Nota: para verificar mais informações sobre as configurações de eventos, acesse a documentação Eventos de Processos e Eventos de Tarefa.
Outras informações sobre Multiplicidade Sequencial
Podemos definir uma expressão em JavaScript ou Groovy na "Condição de Parada"; caso essa expressão retorne verdadeiro, ao finalizar uma execução de uma tarefa com multiplicidade sequencial, a próxima execução que viria a ser criada não será mais, encerrando então a multiplicidade sequencial da tarefa:
Configuração Condição de Parada |
Resultados
Um responsável fará o lançamento de uma Solicitação de compras. Se ele for o mesmo responsável pelo Centro de Resultado, a próxima atividade já será a de Realizar Cotação.
Lançamento da Solicitação de compras |
Após lançada, a tarefa seguinte é a do responsável por fazer as cotações com os parceiros fornecedores:
Tarefa de Usuário "Realizar Cotação" |
Com a cotação feita, lançada e confirmada, ela seguirá para a Aprovação. Nesse faixa de valor, demandará a confirmação de todos os gestores conforme a tabela do caso de uso, ou seja, acima de R$50.000,00 todos precisam aprovar para a solicitação de compras ser concluída.
- Primeiro usuário: Carvalho, Coordenador de Suprimentos.
Aprovação de Compra |
Após a aprovação da compra, é instanciada uma nova tarefa para o segundo aprovador.
- Segundo usuário: Amanda, Gerente Administrativo Financeiro.
Aprovação de Compra |
Após a aprovação da compra, é instanciada uma nova tarefa para o terceiro aprovador.
- Terceiro usuário: Júlia, Diretor Administrativo Financeiro.
Aprovação de Compra |
Após a aprovação da compra, é instanciada uma nova tarefa para o quarto aprovador.
- Quarto usuário: Juliane, Diretor Presidente.
Aprovação de Compra |
Comentários
0 comentário
Por favor, entre para comentar.