Treinamento SEED
Processo proposto Relembrando a descrição do processo mostrado durante o treinamento
Um colaborador solicita a compra de materiais;
Seu gerente aprova a solicitação da compra;
O Administrativo realiza 3 cotações;
O Solicitante avalia as cotações e escolhe um fornecedor;
O Administrativo faz a compra;
O Financeiro efetua o pagamento;
O Solicitante recebe o material;
Documentação do processo Na primeira etapa do curso, fizemos o desenho e a documentação do processo de compras
proposto. Lembre-se que todos os passos aqui descritos serão feitos na aba “Modelagem” do
sistema, então, após o login, acesse essa aba:
Figura 1 Acesso à modelagem de processos
Grupo de processos
Crie um novo grupo de processos. Clique na aba “Grupo de processos”, na seção à esquerda da
tela e depois no botão de adição. Dê a ele o nome “Suprimentos”.
Figura 2 Criação de grupo de processo
Processo
Crie um novo processo. Clique na aba “Processos”, na seção à esquerda da tela e depois no
botão de adição. Dê a ele o nome de “Compras” e selecione o grupo “Suprimentos”.
Figura 3 Criação do processo
Para vermos a documentação do processo antes de sua automatização, clique na aba “Versão
do processo” e marque que a documentação será pública.
Figura 4 Marcando documentação como pública
Diagrama do processo
O sistema automaticamente cria uma raia e um papel chamados “Solicitante”. O papel será
importante para a automatização que será feita mais adiante. Crie duas novas raias de nomes
“Gerente” e “Administrativo”, deixando a opção de “Papel executor” na opção “Nenhum papel
associado”, como na figura 6.
Figura 5 Criar nova raia
Figura 6 Propriedades da nova raia
Figura 7 Raias criadas
Coloque um evento inicial simples na raia Solicitante. Você pode clicar no botão de eventos
iniciais na barra de ferramentas e depois em um espaço em branco da raia ou clicar com o
botão direito em um espaço em branco da raia e selecionar o evento do menu que será
exibido.
Figura 8 Evento inicial criado
Desenhe os demais elementos do processo. Para inserir novos elementos, selecione o
elemento de origem, clique na seta ao lado direito do elemento, arraste até o local onde
deseja inserir o novo elemento e selecione o tipo de novo elemento que deseja inserir do
menu que será exibido.
No final, seu diagrama deve semelhante a esse:
Figura 9 Processo final
Para o sub processo “Realizar compra”, escolha o tipo de atividade “Sub processo embutido”.
Uma janela será exibida. Como não há itens na lista (ainda não foi criado nenhum sub processo
embutido para o nosso processo) clique no botão de adição e preencha os dados:
Figura 10 Criar novo sub processo embutido
Figura 11 Dados do sub processo
Para inserir o evento de erro intermediário na borda do sub processo “Realizar Compra”,
clique com o botão direito no sub processo e escolha a opção de evento de erro intermediário:
Figura 12 Inserir evento de erro na borda
O evento de erro de borda não possui uma seta de conexão, então para conectá-lo ao evento
de mensagem, primeiro crie o evento de mensagem (como criou o evento inicial desse
processo), depois escolha o elemento de conexão na barra de ferramentas, clique no evento
de borda e depois no evento de mensagem.
Figura 13 Conexão na barra de ferramentas
Clique no botão “+” do sub processo, insira as raias e faça o desenho, de forma que fique
semelhante ao abaixo. No momento de criação das raias, deixe o campo de papel executor
com o valor “Nenhum papel associado”. Para renomear a raia “Raia 1” que já será criada junto
ao sub processo, pressione o botão “F2” ou clique com o botão direito na raia e escolha a
opção “Renomear” do menu.
Figura 14 Sub processo "Realizar compra"
Documentação das atividades
Após o desenho, pode-se documentar o processo e cada uma das suas atividades. Para isso,
clique duas vezes na atividade, clique no botão de edição na aba “Propriedades”, localizada à
direita da tela e finalmente na aba “Documentação” da janela que será exibida:
Figura 15 Documentar atividade
Acrescente os textos abaixo nas documentações das atividades:
- Atividade “Solicitar compra de materiais”
O colaborador indica a quantidade de itens que deseja comprar e
sua descrição e informa, opcionalmente, a data desejada de
recebimento dos itens. Após realizar o pedido, o colaborador
pode acompanhar o processo de cotação e compra do pedido.
- Atividade “Aprovar solicitação”
O gerente analisa os itens a serem comprados indicados pelo
colaborador, podendo aprovar ou não o pedido. Caso seja
aprovado, o pedido segue para o Administrativo que realizará a
cotação. Caso contrário, o gerente deverá obrigatoriamente
justificar a negativa e o pedido retorna ao solicitante que
poderá refazer o pedido, ou cancelá-lo.
- Atividade “Realizar cotação”
O administrativo, a partir do pedido já aprovado pelo gerente,
realiza três cotações dos itens, que será analisada
posteriormente pelo solicitante. Ele deverá indicar o fornecedor
selecionado e o valor total previsto para a compra.
- Atividade “Refazer solicitação ou cancelar”
Uma vez que o gerente não aprovou a solicitação de compra, o
colaborador pode refazê-la ou cancelá-la, indicando novamente a
quantidade de itens que deseja comprar e sua descrição.
- Atividade “Selecionar fornecedor”
O solicitante, a partir da lista de três fornecedores cotados
pelo administrativo, escolhe apenas uma opção, que seguirá para
a efetiva compra.
- Atividade “Receber material”
Após realizada a compra pelo administrativo, e passado o tempo
da previsão de entrega, o solicitante deverá confirmar o
recebimento do material, para que o processo seja finalizado.
- Atividade “Efetuar compra”
O executor deve contactar o fornecedor e fechar a compra de
acordo com o valor enviado na cotação anteriormente, informando
a data prevista para a entrega.
Caso haja algum problema, como o valor não poder mais ser
cumprido, a compra não deve ser realizada.
- Atividade “Efetuar pagamento”
O executor deve realizar o pagamento do material de acordo com o
valor para o fornecedor.
Uma vez que todas as atividades e processos estiverem documentadas, a mesma pode ser
visualizada no módulo “Processos”.
Figura 16 Documentação no módulo "Processos"
Automação do processo Agora que o processo já foi definido e documentado, vamos começar a automação do mesmo.
Controle de usuários
O primeiro passo será criar as funções e os grupos de usuários. Isso será feito no módulo
Usuários:
Figura 17 Acesso ao módulo de usuários
Crie os grupos de usuários necessários. Para simplificar, iremos criar um para cada papel do
processo, mas não é necessário que seja assim. Clique na aba “Grupos” localizada à esquerda
da tela e no botão de adicionar para incluir um novo grupo. Crie os grupos Administrativo,
Colaborador, Financeiro e Gerente.
Figura 18 Criação de grupos
Se desejar, você pode criar novas funções e associá-las com os grupos. As funções são
normalmente equivalentes aos cargos das pessoas nas empresas, enquanto que os grupos tem
a ver com a função das pessoas nos processos. Para simplificar, vamos utilizar a função já
existente (Administrador de Processos) e associar todos os grupos a ela, marcando-os como
obrigatórios. Isso fará com que seu usuário seja incluído em todos esses grupos e possa
desempenhar todos os papéis no nosso processo. Clique na aba “Funções” e então na função
“Administrador de Processos”. Associe todos os grupos e marque-os como obrigatórios:
Figura 19 Editando uma função
Papéis
Vamos criar agora os papéis que fazem parte do nosso processo. Serão quatro papéis, de
acordo com a tabela abaixo:
Nome Grupos e Usuários Nível de autorização
Administrativo Administrativo Gerenciar os seeds
Financeiro Financeiro Ver os seeds
Gerente Gerente Ver os seeds
Solicitante Colaborador Ver os seeds
Para adicionar um papel, clique na aba “Papéis” que fica à direita da tela (dentro da aba
“Processo”) e então no botão de adição. Para esse processo de exemplo, vamos utilizar apenas
grupos predefinidos. Para o papel de solicitante, marcaremos também a opção “Restringir o
papel automaticamente a apenas um participante”. Dessa forma apenas o usuário que abriu a
instância de processo poderá executar as atividades desse papel.
Figura 20 Criação de papéis
Depois que os papéis foram criados, configure as raias de forma que cada raia tenha um papel
executor. Para configurar o papel executor das raias, clique com o botão direito no nome da
raia e escolha a opção “Propriedades” e então clique no botão de edição na aba
“Propriedades”, localizada à direita da tela. Escolha o papel cujo nome é o mesmo da raia. Essa
configuração fará com que todas as atividades humanas tenham o mesmo papel executor da
raia na qual estão inseridas.
Figura 21 Configurando papel na atividade
Tipos de atributos
O próximo passo é inserir os campos no nosso processo. Sem eles os processos serão apenas
caixas e não será possível tomar as decisões necessárias no fluxo. Primeiro, vamos definir dois
tipos de atributos para as tabelas que existirão no nosso processo: A tabela de materiais e a
tabela com a lista de fornecedores a serem escolhidos, cujos nomes serão “Lista de materiais”
e “Lista de cotações”, respectivamente.
Para isso, clique na aba “Tipos de atributos” à esquerda da tela e então no botão de adição. Na
tela apresentada, preencha o nome do atributo e escolha o tipo de dado “atributo composto”.
Clique em salvar para habilitar as demais abas da janela.
Figura 22 Inserção de tipo de atributo
Na aba “Avançado”, escolha “tabela” como componente visual de entrada e saída. Na aba
“Atributos”, clique no botão de adição para inserir dois atributos de acordo com a tabela
abaixo:
Tipo de atributo Rótulo Identificador Somente Leitura Obrigatório
número inteiro Quantidade quantidade Não Sim
texto Descrição descrição Não Sim
Figura 23 Inserção de atributos
Insira também um tipo de atributo para a lista de fornecedores, de acordo com a tabela
abaixo:
Tipo de atributo Rótulo Identificador Somente Leitura Obrigatório
texto Fornecedor fornecedor Sim Não
dinheiro Valor total valorTotal Sim Não
sim ou não Escolhido? escolhido Não Sim
Agora podemos adicionar os atributos do processo. Para isso clique na aba “Atributos”,
localizada à direita da tela, dentro da aba “Processo” e então no botão de adição. Insira os
atributos de acordo com a tabela abaixo:
Tipo de atributo Rótulo Identificador
Lista de materiais Lista de Materiais listaDeMateriais
data Data desejada dataDesejada
sim ou não Aprovado? aprovado
texto longo Justificativa da reprovação justificativaDaReprovacao
sim ou não Cancelar solicitação? cancelarSolicitacao
data e hora Previsão de entrega previsaoDeEntrega
texto Fornecedor escolhido Fornecedor Escolhido
dinheiro Valor da compra valorDaCompra
Lista de cotações Lista de cotações listaDeCotacoes
sim ou não Compra realizada? compraRealizada
O próximo passo é colocar os atributos em cada atividade para que sejam preenchidos ou
visualizados na execução das mesmas. Para isso, clique duas vezes na atividade, na aba de
atributos à direita da tela e então no botão de adição. Deixe a opção “Utilizar atributo do
processo” marcada e escolham os atributos na lista, para cada atividade.
Figura 24 Inserir atributo do processo na atividade
Atividade Atributo Somente leitura Obrigatório
Solicitar compra de materiais
Lista de materiais Não Não
Data desejada Não Não
Aprovar solicitação Lista de materiais Sim Não
Data desejada Sim Não
Aprovado? Não Sim
Justificativa da reprovação Não Não
Refazer solicitação ou cancelar
Justificativa da reprovação Não Não
Lista de materiais Não Não
Data desejada Não Não
Cancelar solicitação? Não Sim
Realizar a cotação Lista de materiais Sim Não
Selecionar fornecedor Lista de cotações Não Não
Efetuar compra Fornecedor escolhido Sim Não
Valor da compra Sim Não
Previsão de entrega Não Sim
Compra realizada? Não Sim
Efetuar pagamento Fornecedor escolhido Sim Não
Valor da compra Sim Não
Para a atividade “Realizar cotação”, vamos criar atributos específicos da atividade, pois ela
será executada três vezes para cada instância e isso evitará que uma atividade interfira na
outra. As instruções são as mesmas para a inserção dos atributos do processo, mas ao invés de
deixar marcada a opção “Utilizar atributo do processo”, marque “Criar atributo para essa
atividade”. Crie os dois atributos necessários de acordo com a tabela abaixo:
Tipo de atributo Rótulo Identificador Somente Leitura Obrigatório
texto Fornecedor fornecedor Não Sim
dinheiro Valor total valorTotal Não Sim
Validações e manipulações
Vamos preencher as validações das atividades em que não basta indicar que um campo é ou
não obrigatório e os scripts que irão manipular os dados dos processos.
Aprovar solicitação
Precisamos inserir a validação para que o executor não reprove o pedido sem fornecer uma
justificativa. Clique duas vezes na atividade e na aba “Propriedades”, clique no botão de
edição. Acesse a aba “Validação” da janela que será exibida e insira o código abaixo.
Figura 25 Inserção de validação
validacao = true;
if (!aprovado && (justificativaDaReprovacao == null ||
justificativaDaReprovacao == "")) {
Utils.addErrorMessage("Você deve fornecer uma justificativa
se reprovar a compra.");
validacao = false;
}
return validacao;
Realizar a cotação
Podemos realizar várias cotações para um mesmo produto, por isso essa atividade é múltipla.
Nesse processo de compras, assumimos que sempre teremos três cotações e que a cotação
será feita para todos os produtos solicitados. Para incluir a multiplicidade na atividade, clique
duas vezes na atividade, em seguida no botão editar. Na aba “Multiplicidade”, selecione a
opção “múltiplas instancias”, o tipo de sincronização deve ser “Todas” (para aguardar que
todas as cotações sejam realizadas antes de prosseguir com a compra) e o número de
instancias da atividade deve ser 3.
Figura 26 Inserção de multiplicidade da atividade
Se a compra não for realizada por algum motivo, o fluxo volta a essa atividade. Se isso
acontecer, temos que limpar nossa lista de cotações feita anteriormente para que novas
possam ser realizadas. Clique duas vezes na atividade e então no botão de adição da aba
“Atribuições de entrada” à direita da tela. Coloque o script abaixo.
Figura 27 Inserção de atribuição de entrada
listaDeCotacoes.clear();
Na atribuição de saída temos que colocar os valores inseridos na lista de cotações. Para isso,
siga as instruções para a atribuição de entrada, mas utilizando a aba “Atribuições de saída” e
insera o seguinte script:
listaDeCotacoes.add(["fornecedor": fornecedor, "valorTotal":
valorTotal]);
Selecionar fornecedor
É preciso garantir que apenas um fornecedor seja escolhido nessa atividade. Para isso, insira o
seguinte script na validação:
escolhido = false;
validacao = true;
foreach(cotacao : listaDeCotacoes) {
if (cotacao.escolhido) {
if (escolhido && validacao) {
Utils.addErrorMessage("Apenas um fornecedor deve ser
escolhido.");
validacao = false;
} else if (!escolhido) {
escolhido = true;
}
}
}
return validacao;
Uma vez selecionado, os dados do fornecedor e o valor da compra devem ser copiados para os
atributos criados no processo para isso. Então, na atribuição de saída dessa atividade, insira o
script:
foreach(cotacao : listaDeCotacoes) {
if (cotacao.escolhido) {
fornecedorEscolhido = cotacao.fornecedor;
valorDaCompra = cotacao.valorTotal;
}
}
Aguarda previsão de entrega
Para esse evento de tempo intermediário, o processo irá esperar a previsão de entrega
preenchida em uma atividade do sub processo “Realizar compra”. Clique no botão de edição
da aba “Propriedades”, à direita da tela e insira o script:
return previsaoDeEntrega;
Envio de e-mail para compra bem sucedida
No fluxo em que a compra não dá erro, configure o evento de envio de mensagem, clicando no
botão de edição da aba “Propriedades”. Siga os valores da tabela abaixo.
Figura 28 Edição de propriedades de evento de mensagem
Campo Conteúdo
De: return "[email protected]";
Para: return seed.requestor.email;
Assunto: return "Compra " + seed.id + " realizada";
Mensagem: return "Olá, " + seed.requestor.name + " sua
solicitação de compra número " + seed.id + " foi
realizada. A previsão para a entrega dos materiais é
no dia " + Utils.formatDate(previsaoDeEntrega) + ".";
Para a mensagem quando a compra não for realizada, mudam apenas os campos assunto e
mensagem:
Campo Conteúdo
De: return "[email protected]";
Para: return seed.requestor.email;
Assunto: return "Compra " + seed.id + " não realizada";
Mensagem: return "Olá, " + seed.requestor.name + ". A
solicitação de compra número " + seed.id + " não foi
realizada e uma nova cotação será providenciada.";
Decisões
Todas as atividades tem seus atributos e as devidas validações, então o passo final é inserir as
condições de decisão nos gateways do processo. Marque o caminho feliz (o mais comum)
como padrão e insira a condição no outro caminho. Clique duas vezes na bola do fluxo que
deseja configurar.
Aprovar solicitação
Insira a seguinte condição no fluxo de reprovação:
aprovado == false
Figura 29 Fluxo de reprovação
Cancelamento do pedido
Insira a seguinte condição no fluxo de cancelamento do pedido:
cancelarSolicitacao == true
Figura 30 Fluxo de cancelamento do pedido
Compra não realizada
Insira a seguinte condição no fluxo de compra não realizada, do sub processo “Realizar
compra”:
compraRealizada == false
Figura 31 Fluxo de compra não realizada
Agora o processo já pode ser executado! Lembre-se, para que todos os usuários vejam o
processo, publique-o, senão apenas os que estiverem na equipe de teste poderão vê-lo.
Indicador e meta Agora que o processo está funcionando, adicione o indicador e crie a meta, para realizar a
gestão do nosso processo.
Indicador
Para incluir um indicador, clique no botão de adição na aba “Indicadores” localizado à direita
da tela. Preencha os dados conforme a figura abaixo. Se preferir configure um intervalo de
atualização menor para conseguir visualizar melhor a atualização dos valores. Abaixo da figura
segue o código da expressão de cálculo. O indicador irá calcular o tempo que o processo está
ou ficou parado na atividade de reprovação.
Figura 32 Inserção de indicador
prazo = 0.0;
endDate = currentDate;
if(aprovarSolicitacao != null){
if(aprovarSolicitacao.endDate != null) {
endDate = aprovarSolicitacao.endDate;
} else {
endDate = currentDate;
}
prazo = Utils.secondsDiff(endDate,
aprovarSolicitacao.creationDate )/3600.0;
}
return prazo;
Na aba “Faixas” insira os valores de cada um dos estados do indicador. Segue abaixo sugestões
de valores.
Estado Nome Valor inicial Valor final
OK Esperado 12
Alerta Próximo ao limite 12 16
Erro Passou o prazo 16
Na aba papéis, insira os papéis do processo que poderão ver o indicador.
Meta
Nossa meta será referente ao orçamento da empresa e utilizará os valores das compras dos
processos finalizados. Clique na aba de “Metas” localizada à esquerda da tela e então no botão
de adição. Insira os dados conforme figura abaixo e o código a seguir.
Figura 33 Inserção de meta
despesaTotal = 0.0;
foreach(seed : Utils.getSeeds("CLOSED", beginDate, endDate,
["compras"])){
despesaTotal += seed.valorDaCompra;
}
return despesaTotal;
Não se esqueça de habilitar a prévia para que você consiga ver o resultado mais facilmente.
Coloque um intervalo menor (em minutos) para que o cálculo da meta seja feito e seja possível
verificar o resultado.
Insira as faixas como foi feito nos indicadores. Segue abaixo sugestões de valores.
Estado Nome Valor inicial Valor final
OK OK 500
Alerta Alerta 500 1000
Erro Passou da meta 1000
Defina a equipe de testes que poderá visualizar a meta e também os grupos de usuários nas
respectivas abas. Para visualizar a meta, insira um gadget do tipo “Medidor de metas” no
Dashboard.
Dashboard O dashboard é o módulo em que se tem uma visão gerencial das instâncias de processos. Há 5
tipos de gadgets. Eles podem ser adicionados, clicando na seta no botão “Novo gadget” e
escolhendo o tipo desejado.
Figura 34 Inserir um novo gadget
Dependendo da opção escolhida, a configuração do gadget será diferente.
Gráfico de Pizza
Nesse gráfico de pizza vamos ver a divisão de processos abertos entre os estados de
indicadores. Dê o nome de “Indicadores de compras abertas” para ele e clique no botão
“próximo”. Escolha o filtro “Estado do seed” e no mesmo a opção “Aberto”.
Figura 35 Configuração de filtros
Como agrupador, escolha a opção “Estado do indicador” e nos agregadores, a opção
“Quantidade de seeds”.
Figura 36 Escolha de agrupadores
Figura 37 Escolha de agregadores
O gadget será exibido no seu dashboard. Ao clicar em uma das fatias você poderá ver quais
instâncias fazem parte da mesma na aba “Seeds”.
Figura 38 Gráfico de pizza
Tabela de seeds
A tabela de seeds tem a configuração muito semelhante à configuração do gráfico de pizza. A
única diferença é a possibilidade de escolher mais de um opção para agregadores e
agrupadores. Cada uma das opções resultará em uma coluna da tabela.
Figura 39 Agrupadores
Figura 40 Agregadores
A tabela será exibida no seu dashboard. Clicando duas vezes em uma linha te levará ao módulo
“Seeds” onde serão listados as instâncias que compõem aquela linha.
Figura 41 Tabela de seeds
Medidor de metas
A meta é o gadget mais simples de ser configurado pois possui apenas uma tela de
configuração. Dê o nome de “Orçamento” e escolha a meta que cadastramos anteriormente,
escolhendo exibir a prévia, já que o resultado consolidado demorará de acordo com a
configuração feita.
Figura 42 Configuração de medidor de metas