You are on page 1of 50

Doc v.

1
Sumário
1 - Definindo a Estrutura de Dados do Processo .................................................................... 4
1.1 - Criação de Formulários Dinâmicos ............................................................................. 4
1.1.1 - Descrição dos campos do formulário: ................................................................. 6
1.1.2 - Criando os campos do Formulário ....................................................................... 6
1.1.3 - Entendendo as propriedades dos campos do formulário ................................... 8
1.1.4 - Definindo Tipos de Dados no Fusion ................................................................... 9
1.1.4.1 - Campos do tipo Texto ....................................................................................... 9
1.1.4.2 - Campos do tipo Usuário ................................................................................. 10
1.1.4.3 - Campos do tipo Arquivo ................................................................................. 10
1.1.4.4 - Campos do tipo Booleano .............................................................................. 10
1.1.4.5 - Campos do tipo Data ...................................................................................... 11
1.1.4.6 - Campos do tipo Hora ...................................................................................... 11
1.1.4.7 - Campos do tipo Inteiro ................................................................................... 11
1.1.4.8 - Campos do tipo Decimal ................................................................................. 11
1.1.4.9 - Campos do tipo Fórmula ................................................................................ 12
1.1.4.9.1 - Criando campo tipo Fórmula ....................................................................... 12
1.1.4.10 - Campos do tipo Fórmula Texto .................................................................... 13
1.1.4.11 - Campos do tipo Fórmula Data ...................................................................... 13
1.1.4.12 - Campos do tipo E-form (Formulários) .......................................................... 14
1.1.4.12.1 – Criando uma lista de itens ........................................................................ 15
1.1.4.12.2 – Criando uma lista com itens cadastráveis e selecionáveis ....................... 15
1.1.4.12.3 – Criando uma lista multi-seleção ............................................................... 16
2 - Criando o Modelo do Processo (BPM Studio) ................................................................ 17
2.1 - Associando a estrutura de dados do Processo ao Modelo do Processo ................. 19
2.3 - Painel de Componentes ............................................................................................ 19
2.3.1 - Raia .................................................................................................................... 19
2.3.2 - Evento de Início ................................................................................................. 20
2.3.3 - Usando atalhos para os componentes .............................................................. 20
2.3.4 - Evento de Fim .................................................................................................... 21
2.3.5 - Atividade ............................................................................................................ 21
2.3.5.1 - Tipos de Atividades ......................................................................................... 22
2.3.5.2 - Definindo a estrutura de dados da Atividade ................................................. 23
2.3.5.3 - Definindo o prazo de execução da Atividade ................................................. 24
2.3.5.4 - Definindo o Deadline para o prazo de execução da Atividade....................... 25
2.3.6 - Decisão Exclusiva ............................................................................................... 26
2.3.7 - Decisão Inclusiva................................................................................................ 27
2.3.8 - Decisão Paralela................................................................................................. 27
2.3.9 - Fluxo de Sequência ............................................................................................ 29
2.3.9.1 - Definindo Regras de Negócio no Fluxo de Sequência .................................... 30
2.3.10 - Temporizador .................................................................................................. 31
2.4 – Validando o modelo do processo ............................................................................ 32
2.5 – Liberando processo para execução ......................................................................... 32
2.6 – Consultando o Histórico das versões do processo. ................................................. 33
2.7 – Exportando e gerando a documentação do modelo do processo........................... 34
2.8 – Exportando e Importando Processo ........................................................................ 34
3 – Executando o Processo ................................................................................................... 36
3.1 – Minhas Tarefas......................................................................................................... 37
3.2 – Histórico e GPS do processo .................................................................................... 37
4 – Tutorial – Modelando Solicitação de Compras Simplificado .......................................... 39
4.1 – Modelando o formulário Principal........................................................................... 39
4.2 – Definindo as Raias e Atividades ............................................................................... 39
4.2.1 – Definindo os participantes das Raias .................................................................... 41
4.2 – Definindo as Regras de Negócio .............................................................................. 44
1 - Definindo a Estrutura de Dados do Processo
Um dos principais objetivos da automação de um Processo é a integração das
informações, portanto a fase de definição da estrutura de dados do processo é uma das mais
importantes. Nesta fase é necessário prever a estrutura de dados que carregará as
informações no fluxo do processo. Cada Atividade necessária para a execução do processo
deve ser detalhada em nível de estrutura de informação, isto é, quais são as informações
necessárias para a execução bem sucedida da atividade. As informações podem ser geradas
na execução do processo ou ter como origem outros sistemas. Portanto, é necessário pensar e
planejar as integrações com os sistemas legados. No Fusion as informações do processo que
tem como origem outros sistemas vão existir na forma de Formulários Externos e as
informações criadas a partir de formulários que irão ser armazenadas no banco de dados do
Fusion são chamadas de Formulários Dinâmicos.

1.1 - Criação de Formulários Dinâmicos


O Fusion possui uma interface fluida e amigável para criação de Formulários
Dinâmicos, dispondo de todos os tipos de dados necessários para a criação de Workflows
inteligentes, flexíveis e escaláveis. O Mecanismo para criação da estrutura de dados no banco
de dados é abstraído pelo Neo Hibernate, que é um mecanismo baseado no Java Hibernate. É
este que cria as tabelas e relacionamentos automaticamente no banco de dados. Processos
que demandem uma estrutura de dados muito complexa podem ser facilmente modelados no
Fusion, pois, possui mecanismos de associação e generalização-especialização na criação de
formulários permitindo estrutura de dados complexas. Por exemplo, Formulários podem
herdar campos já criados em outros formulários utilizando-se herança ou ainda criar
associações de Pai-Filho, aninhando formulários em vários níveis. Assim um formulário com
vários campos pode ter um campo que é outro formulário e assim sucessivamente. Para
criarmos um Formulário Dinâmico siga os seguintes passos.

Passo 1)Clique no ícone Formulários a seguir navegue até o item Configurar clique em
Dinâmicos

Passo 2) Clique em Novo


Passo 3)Preencha os campos Nome e Titulo;

Importante: Os nomes de campo que serão referenciados no código interno do


Fusion quando na construção de Adapters, Regras de Interface e Filtros e Fórmulas.
Devem ser nomeados de acordo com as convenções da linguagem Java, que é
linguagem utilizada no sistema Fusion. Por exemplo, dataAbertura, codigoCliente,
planoDeAcao. Observe que sempre começam com letra minúscula e nas junções de
palavras a primeira letra é maiúscula, facilitando a leitura do nome sem a necessidade
de espaço. Esta regra serve também para criação dos nomes dos campos que
popularão o formulário o que vermos a seguir.
1.1.1 - Descrição dos campos do formulário:
Campo Descrição
Nome: Informe aqui o nome do formulário, este campo não aceita caracteres
especiais nem espaços. Note também que não pode existir dois
formulários com o mesmo nome. Como boa prática aconselha-se usar um
prefixo associando o formulário ao processo em que é utilizado, no
exemplo acima temos wsvSolicitacaoViagem onde o prefixo wsv é a
abreviatura do nome do processo (Workflow de Solicitação de Viagens),
isto faz com que os formulários fiquem naturalmente agrupados. Leia
abaixo na seção Importante mais detalhes sobre a criação de campos que
serão utilizados internamente pelo Fusion.
Título: Este campo é que aparecerá para o usuário final neste caso, podemos usar
os caracteres especiais, por exemplo, “[WSV] – Solicitação de Viagens”.
Aqui como sugestão colocamos o prefixo WSV para organizar os
formulários associados ao mesmo processo.
E-Form Pai Aqui podemos definir que este formulário herdará as características de
outro formulário já existente. Assim este formulário além dos campos
criados nele, ainda herdará os campos do formulário Pai, estabelecendo
assim um mecanismo de herança. Muito cuidado com o uso deste
mecanismo, raramente é necessário. Pois tornará este formulário parte do
Pai. E não será possível imputar valores nele isolado do Pai.
Permitir inserção Valor padrão é “sim” se alterarmos para “Não” ele não aparecerá no
manual menu “Navegação” em consequência não podermos incluir valores nele.
Ícone Permite associar um ícone para representar o formulário na janela de
“Navegação”
Campos Estes serão os campos que definirão a estrutura de dados do formulário.
Adapter Permite a inserção de um Adapter Java para customizar o formulário.
Customização
Abstrato Valor padrão “Não” se alterado para sim, este formulário não poderá ser
instanciado diretamente. Como consequência também não aparecerá na
janela de “Navegação”
Categoria Permite organizar os formulários em Categorias, por exemplo, RH,
Financeiros, Qualidade, etc.
Abas Permite quebrar o formulário em abas, agrupando os campo por áreas
afins.

1.1.2 - Criando os campos do Formulário


Para criar os campos do formulário:
Passo 1)Clique em Novo no Painel Campos;
Passo 2) Defina as propriedades do campo;

Passo 3)Depois definir as propriedades clique em “OK” para salvar.


1.1.3 - Entendendo as propriedades dos campos do formulário
A tabela abaixo descreve as principais propriedades dos campos:
Campo Descrição
Ordem de Campo numérico que define a ordem em que o campo aparecerá no formulário,
Exibição sempre deixe bastante espaço entre um campo e o próximo, pois posteriormente se
houver a necessidade de inserir um novo campo não será necessário reordenar a lista.
Por exemplo, use intervalos de 10 em 10, ou seja se o primeiro é 10 então o próximo
será 20 e depois 30 e assim sucessivamente.
Nome Informe aqui o nome do campo, este campo não aceita caracteres especiais nem
espaços. Note também que, não podem existir dois campos com o mesmo nome no
mesmo formulário. Como boa prática leia abaixo, na seção Importante, mais detalhes
sobre a criação de campos que serão utilizados internamente pelo Fusion.
Titulo Este será o titulo do campo que aparecerá para o usuário final, neste caso, podemos
usar os caracteres especiais.
Descrição Descreve informações sobre o campo e seu preenchimento, útil como ajuda no
preenchimento para o usuário final. Pois o texto informado aqui aparecerá quando o
usuário deslizar o mouse sobre o ícone no final do campo .

Título do Define se este campo aparecerá como título do formulário.


E-form
Visível Define se o campo será visível ou não
Editável Define se o campo será editável pelo usuário, se não o campo não pode ser alterado
pelo usuário.
Indexável Define se o campo será usado na indexação do Fusion, ou seja, as buscas pelo
conteúdo deste campo será otimizada.
Filtravel Define se este campo poderá ser utilizado como filtro. Importante em caso de
relatórios e outras funcionalidades do sistema.
Obrigatório Define se o preenchimento deste campo pelo usuário será obrigatório ou não.
Valor Único Se sim, o valor deste campo não poderá se repetir, útil em case do ser utilizado como
código único.
Visível em Define se o campo será visível na Tabela exibida na “Navegação” dos formulários no
Tabela menu “Formulários”.
Adapter de Permite o uso de uma classe Java para customização deste campo. Deste modo será
Conversão possível definir propriedades únicas não presentes no produto padrão.
Regras de Permite habilitar e desabilitar ou esconder ou mostrar um campo dependendo de
Interface determinada condição. Ver a seção “Criando Regras de Interface para os campos do
formulário”.
Mascara Possibilita o uso de mascaras para entrada de dados. Por exemplo, mascaras para
valores monetários ($100.000, $600,000.00). Pesquisar por Java DecimalFormat.
Exibição Quando o campo é do tipo E-form, e pode possuir muitos campos, se este campo
Expandida estiver definido como “Sim” o Fusion exibirá todos os campos.
Tipo Define o tipo de dado (Informação ) que será armazenado neste campo. Ver
“Definindo Tipos de Dados no Fusion”
Valor Padrão Ao definir um valor padrão o Fusion exibirá este valor para o usuário, trazendo o
campo já preenchido.

Importante: Os nomes de campo que serão referenciados no código interno do


Fusion quando na construção de Adapters, Regras de Interface e Filtros e Fórmulas.
Devem ser nomeados de acordo com as convenções da linguagem Java, que é
linguagem utilizada no sistema Fusion. Por exemplo, dataAbertura, codigoCliente,
planoDeAcao. Observe que sempre começam com letra minúscula e as junções de
palavras a primeira letra é maiúscula, facilitando a leitura do nome sem a necessidade
de espaço.

1.1.4 - Definindo Tipos de Dados no Fusion


Dependendo do tipo de informação que queremos guardar devemos definir o tipo de
dado, ou seja, qual a natureza do conteúdo da informação a ser armazenada. Por exemplo,
para guardarmos texto de um campo “observação”, simplesmente definimos um campo do
tipo texto. Normalmente campos do tipo texto armazenam dados descritivos. Mas se
quisermos guardar um número? Ou uma imagem outro documento como planilha? Ou ainda
se quisermos guardar uma lista de valores? No Fusion todos estes tipos de dados devem ser
definidos de acordo com as informações que alimentarão o processo. Vamos ver
detalhadamente os tipos de dados permitidos no Fusion.
O tipo de Dado é uma propriedade do campo.

Importante: Depois de definido o tipo de dado e salvo o formulário, não será


possível alterar o tipo de dado. Se o tipo definido estiver errado, exclua o tipo errado e
crie outro com um nome diferente. Pois o Fusion não fará uma exclusão definitiva por
questões de segurança das informações, o campo excluído continuará existindo no
banco, e como não podem existir dois campos com o mesmo nome em um formulário
o Fusion acusará um erro na modelagem.

1.1.4.1 - Campos do tipo Texto


Campo utilizado para dados alfanuméricos, ou seja, letras e números veja na tabela abaixo as
propriedades do campo tipo Texto:

Propriedades Descrição
Valor Padrão Ao definir um valor padrão o Fusion exibirá este valor para o usuário, trazendo o
campo já preenchido.
Traduzível Se sim o texto será incluído em arquivo xml no padrão I18n para ser traduzido
para outros idiomas. Veja padrão i18n.
Área Define o tamanho da área para escrever o texto o padrão é um campo normal de
uma linha, para que seja multilinha mudar para “Sim”. Também o podemos optar
por um editor de texto avançado.

Senha Define que o texto a ser digitado será uma senha, assim o Fusion mostrará
apenas asterisco aumentando a segurança.
Valor Padrão(Após Atribuirá um valor para o campo após a criação do mesmo.
criação)
Tamanho Máximo Define o número de caracteres permitido no campo, padrão são 256 caracteres,
se houver a necessidade de aumentar ou diminuir o informe o numero de
caracteres desejados aqui.
Mascara Permite a Utilização das mascaras que já existem no Fusion, por exemplo,
telefone, cep, cpf.
1.1.4.2 - Campos do tipo Usuário
Este campo permite a inclusão de um usuário do Fusion como valor do campo. O campo do tipo
usuário traz todas as informações associadas ao usuário, por exemplo, nome completo, e-mail, telefone,
papel do usuário, grupo a que pertence etc.

Propriedades Descrição
Valor Padrão Pode ser alterado para “Usuário atual”, trazendo o campo já preenchido com o
usuário atual “logado” no sistema.
Autocompletar Se alterado para “Sim” , trará a função de ajuda de preenchimento do campo
trazendo os usuários que iniciem com a letra informada.
Criável/Remov Permite a opção criar ou remover um usuário.
ível

1.1.4.3 - Campos do tipo Arquivo


O Campo tipo Arquivo nos permite fazer o upload de arquivos para o repositório do Fusion.
Desse modo, podemos incluir no processo arquivos que sejam importantes para a execução das
atividades, como imagens, manuais, planilhas, etc. Qualquer tipo de arquivo pode ser carregado neste
campo.
A imagem abaixo mostra os campos do tipo Texto e Arquivo.

1.1.4.4 - Campos do tipo Booleano


O Campo tipo Booleano nos permite duas opções de seleção lógica, “Sim” ou “Não”. Sempre
que uma decisão do tipo “sim-não” for necessária. Por exemplo, em uma determinada atividade do
fluxo o gestor precisa autorizar uma compra ou uma viagem, para guardarmos a decisão usamos o
campo do tipo Boolean, que possui dos estados “true” (verdadeiro) ou “false” (falso). Se opção for “Sim”
aprova o estado do campo será “true”, se a decisão for “não” o estado do campo será “false”.

Propriedades Descrição
Tipo de Seleção Permite que a exibição do campo seja em forma de um “Como-box” ou “Check-
box”.
1.1.4.5 - Campos do tipo Data
Permite informar uma data manualmente ou selecionar um calendário com a data desejada.

Propriedades Descrição
Valor Padrão Podemos definir o valor padrão para “Data atual”, assim o campo já virá
preenchido com a data atual.

1.1.4.6 - Campos do tipo Hora


Permite informar o horário no formato hh:mm manualmente.
Propriedades Descrição
Valor Padrão Podemos definir o valor padrão para “Hora atual”, assim o campo já virá
preenchido com a hora atual.

1.1.4.7 - Campos do tipo Inteiro


Permite informar uma valor numérico inteiro (...,-3,-2,-1,0,2,3,..). O campo do tipo
Inteiro não permite números quebrados, por exemplo, 2,3. Portando pode ser utilizado como
um contador, para especificar quantidades inteiras.

Propriedades Descrição
Tamanho Define a quantidade de caracteres permitidos, por exemplo, 5 permitirá números
Máximo até 99999.
Separador de Exibirá os números com separador de milhar, por exemplo, 3.000.
Milhar

1.1.4.8 - Campos do tipo Decimal


Permite informar um valor numérico decimal. Utilizado para valores reais em ponto flutuante,
ou seja permite inteiros e não inteiros. Por exemplo, valores monetários R$ 35,67;
Propriedades Descrição
Tamanho Define a quantidade de caracteres permitidos, por exemplo, 5 permitirá números
Máximo até 9,999.
Número por Gera número por extenso. Ex., 3.500,00 (Três mil e quinhentos)
extenso
Número de Define o número de casas decimais a ser utilizado. Este valor não poderá ser
casas Decimais alterado depois que o formulário for salvo.

1.1.4.9 - Campos do tipo Fórmula


São campos utilizados para cálculo (é utilizado um script em JavaScript para realizar o cálculo),
substituindo as mascaras pelo valor em tela e em seguida executando a fórmula. Campos tipo fórmula
odem ser usados para um calculo específico ou para executar uma função sobre um determinado
campo.
Propriedades Descrição
Fórmula Neste campo escreveremos a fórmula a ser executada.
Função realiza operação sobre um campo tipo E-form lista, podendo utilizar, as
Agregadora funções SUM (somatória de uma lista da valores), AVG (média) ,MIN(valor
mínimo), MAX(valor máximo) e COUNT(contador).

Número de Define o número de casas decimais a ser utilizado. Este valor não poderá ser
casas Decimais alterado depois que o formulário for salvo.

1.1.4.9.1 - Criando campo tipo Fórmula


Vamos criar uma fórmula que some dois campos (Valor A, Valor B). Crie dois campos do
tipo Número Decimal e um campo do tipo Fórmula. Na propriedade Fórmula do campo Tipo
Formula, insira a expressão que fará a soma do Valor A e Valor B. Use sempre o Nome do
campo antecedido pelo símbolo $ para montar a expressão. Por exemplo, ($valorA + $valorB).
Outros operadores podem ser utilizados, para multiplicação use o símbolo “*”, para
divisão “/”. Use os parêntesis para definir a precedência das operações, por exemplo,
($valorA+$valorB)/$valorC.

Confira a imagem abaixo :

A imagem abaixo mostra a configuração final do formulário:


Deixe as demais propriedades com o valor padrão.
Importante: No campo tipo fórmula não usamos as chaves {}

O resultado final será:

1.1.4.10 - Campos do tipo Fórmula Texto


São campos utilizados para concatenar dois ou mais campos do tipo texto (é utilizado um script
em JavaScript para realizar o cálculo), substituindo as mascaras pelo valor em tela e em seguida
executando a fórmula.
Propriedades Descrição
Fórmula Neste campo escreveremos a fórmula a ser executada. Veja o exemplo
abaixo.

1.1.4.11 - Campos do tipo Fórmula Data

São campos utilizados para concatenar dois ou mais campos do tipo texto (é utilizado um script
em JavaScript para realizar o cálculo), substituindo as mascaras pelo valor em tela e em seguida
executando a fórmula.

Propriedades Descrição
Fórmula Neste campo escreveremos a fórmula a ser executada. Duas fuções podem ser
utilizadas a #dataDiff que retorna a diferença entre duas datas e dataAdd que
retorna a soma de duas datas.
Veja o exemplo abaixo.
a)Neste exemplo o valor de retorno será a diferença entre as duas datas.
b) Neste exemplo estamos somando 5 dias na data Atual, o valor de
retorno será a data acrescida de 5 dias. No valor do 5 na fórmula poderia
ser um campo inteiro informado pelo usuário.

Somente dias Se “sim” só leva em consideração os dias úteis, excluindo finais de semana e
Úteis feriados.
Tipo de Campo Inteiro (retorna em segundos) Texto (retorna por extenso ) Data(retorna uma
data)

1.1.4.12 - Campos do tipo E-form (Formulários)

No Fusion um formulário pode ter um campo cujo tipo pode ser outro formulário, este é um
recurso muito útil, pois permite criar estruturas de dados complexas facilmente, sem a necessidade de
programação ou customização. A possibilidade de associar formulários em relacionamento pai-filho
permite a reutilização de formulários, pois o mesmo formulário pode ser filho de diferentes formulários,
e ao mesmo tempo pode ser pai de outro e assim sucessivamente. Este recurso permite criação de listas
para cadastro de itens, lista de seleções de itens. Além disso, permite agrupar os dados de acordo com
algum critério em comum.

Propriedades Descrição
Selecionável Definirá se o usuário poderá selecionar itens da lista ou não
Lista Define se o formulário será uma Lista, onde poderão ser cadastrados ou
selecionados mais de um valor.
Campo de Permite definir um campo do formulário para ser usado no Autocomplete
Zoom
Autocompletar Permite que o usuário busque o valor da lista digitando em um campo e traz
sugestões de valores baseados nos caracteres que estão sendo digitados.
Criável/Remov Permite o usuário acrescentar e excluir itens da lista
ível
1.1.4.12.1 – Criando uma lista de itens

As configurações dos campos do tipo E-form permitem diferentes possibilidades, pois funcionam de
forma combinada, dependendo da combinação das propriedades teremos diferentes visualizações e
utilizações do mesmo formulário. Para criarmos uma lista do tipo “Combo-box” como na imagem abaixo
siga os próximos passos.

Note que a presença da lupa permite cadastrar novos itens. Se este não for o cenário, mude o
campo Criável/Removível para “Não”. Então o usuário não poderá cadastrar um novo item na lista.

Passo 1)Criar um formulário para cadastrarmos os itens da lista, note que este será um campo do
formulário principal (Pai). Observe que foram criados dois campos, um para guardar o código de cada
elemento da lista e outro para descrever o item, conforme imagem abaixo.

Passo 2)No formulário principal crie um novo campo do tipo E-Form, na propriedade E-Form
escolha na lista de eforms apresentados o formulário criado no passo 1.
Passo 3) Para que o formulário tenha a funcionalidade de uma “combo-box” as seguintes
propriedades precisam ter a seguinte configuração Lista “Não”, Selecionável “Sim”. Esta é a
configuração padrão, portanto nenhuma propriedade precisa ser alterada. A imagem abaixo mostra a
configuração padrão.

1.1.4.12.2 – Criando uma lista com itens cadastráveis e selecionáveis

Par criarmos uma lista com itens cadastráveis e selecionáveis conforme imagem abaixo, mude
as propriedades para Lista : “Sim” e Selecionável: “Sim”. Será apresentado um grid possibilitando
Adicionar itens já existentes ou criar um Novo item.
1.1.4.12.3 – Criando uma lista multi-seleção

Par criarmos uma lista com itens multi selecionáveis conforme imagem abaixo, mude as
propriedades para Lista : “Sim” e Selecionável: “Sim” e Tipo de lista: “Multi-seleção”.
2 - Criando o Modelo do Processo (BPM Studio)

Para criar um novo Workflow, clique no Ícone “Processos” em seguida no item


“Configurar” e “Workflow/BPM”.
Conforme imagem abaixo :

Em seguida clique no botão “Novo”.

O Workflow/BPM Studio abrirá para modelagem do processo.

Ao criar um novo Workflow informe os dados iniciais no Painel de Propriedades veja


imagem abaixo :

A tabela abaixo descreve os detalhes da configuração inicial do novo Workflow.


Campo Descrição
Nome: Informe o nome do Workflow aqui por ex.: “[WSV/RDV] – Solicitação de Viagens”
Importante: aqui temos uma exceção, pois na maioria dos campos do Fusion o
campo nome não aceita caracteres especiais.
Título: Este campo é que aparecerá para o usuário final neste caso, podemos usar o
mesmo valor acima por ex: “[WSV/RDV] – Solicitação de Viagens”.
Descrição: Escreva neste campo uma descrição resumida do fluxo.

Categoria: É um campo que permite classificar os Workflows em categorias, por ex: RH,
Gestão, Qualidade etc. Este campo é de ordem informativa não sendo
obrigatório.
Tipo de No Fusion podemos ter três tipos de Processo:
Processo Usuário-> são processos iniciados por usuários do Fusion e são o tipo padrão.
Sistema-> são processos iniciados por outros fluxos (subprocessos) ou outros
sistemas.
Aprovação-> são processos iniciados a partir do GED, quando um novo
documento é cadastrado no Fusion/GED. O fluxo pode ser iniciado
automaticamente quando um documento está configurado para ter “Aprovação”
nas configurações do Tipo de Documento no GED(Ver documentação
Fusion/GED).
Executável Os processos podem ser modelados apenas para documentação sem automatiza-
los, para isto, basta deixar o valor deste campo com o valor “não”. Se o objetivo é
a automação do processo então este campo deve ser modificado para “sim”,
deste modo os demais campos para configuração da automação do Workflow
serão exibidos.
Controle Aqui configuramos as questões de segurança relativas ao acesso a configuração
de Acesso: do workflow. Podemos restringir ou permitir o acesso dependendo do perfil do
usuário (Ver configurações de Segurança no Fusion).

Importante: O painel de propriedades é sensível ao contexto, isto é, dependendo do


componente selecionado os campos de propriedades serão alterados de acordo com as
propriedades do componente, incluindo a área de modelagem, que representa o processo
como um todo.

1 – Área de Modelagem – Nesta área é desenhado o processo, ela será o contêiner dos
componentes do Painel dos Componentes.
2- Painel de Propriedades – Nele são mostradas as propriedades específicas de cada
componente, as propriedades mostradas dependem do componente em foco.
3- Painel Superior – Nele encontramos as funções que operam no processo como um
todo, por exemplo, salvar o processo, liberar o processo, validar, zoom in e out no modelo do
processo, etc.
4 – Painel de Componentes – Nele encontramos os elementos construtores do modelo do
processo.
2.1 - Associando a estrutura de dados do Processo ao Modelo do Processo

A Estrutura de dados do Processo define quais informações estarão disponíveis para o


Workflow, tanto os dados provenientes do banco do Fusion (Formulários Dinâmicos) ou dos
sistemas legados (Formulários Externos). A raiz de toda esta estrutura é o Formulário Principal
do processo, cada processo só possui um formulário principal, portando todos os dados que
devem estar disponíveis no processo precisam ser relacionados ao formulário principal como
campos deste, em forma de formulários filhos. Portanto, podemos ter inúmeros formulários
no processo, no entanto, só podemos ter um Formulário Principal.
Para associarmos um formulário ao processo, ou seja, definirmos o Formulário Principal,
siga os passos abaixo:
Passo 1)Clique em um ponto vazio da Área de Modelagem;
Passo 2) Vá ao Painel de Propriedades, clique na propriedade Executável, mude o valor
para “Sim” , o valor padrão é “Não”, portanto ao mudar para “sim”, os demais campos serão
exibidos. Veja imagem a baixo.

Passo 3) Nas propriedades que foram exibidos após a mudança no valor para “Sim”, clique
na propriedade Formulários. O Fusion apresentará uma janela de Formulários escolha o
formulário Principal do Processo clicando no nome do mesmo.

2.3 - Painel de Componentes

O Painel de componentes traz os elementos principais para criarmos o modelo do


processo.

2.3.1 - Raia

A raia é o componente que define quem executará (Participante) e o que executará


(Atividade) delimitando o escopo de executores e tarefas ou atividades que estes poderão
realizar.
Os executores serão definidos no campo “Participantes” no Painel de Propriedades.
Para dar um nome a Raia, de um duplo clique nela ou no Painel de Propriedades clique no
campo “Nome” e informe o nome da Raia, normalmente define-se o nome da Raia com
substantivos, por exemplo, Solicitantes, Financeiro, Direção, etc.
Os participantes podem ser usuários, papéis ou grupos criados no menu “Administração ->
Segurança” na parametrização do sistema.
Podemos definir quais serão os participantes na modelagem do processo, ou ainda
dinamicamente, na execução do processo. Para que os participantes do processo sejam
informados dinamicamente, um campo do tipo Usuário/Papel/Grupo deve ser criado no
formulário principal do processo e na modelagem do fluxo especificar...
Para criar uma raia clique no componente “Raia” no Painel de Componentes e arraste para
cima da área de modelagem.

2.3.2 - Evento de Início

Todo fluxo possui um único início. Portanto o Evento de Início define a porta de entrada do
Workflow. Para criar um Evento de Início, clique no componente no Painel de Componentes e
arraste para cima da Raia. Para dar um nome ao componente dê um duplo clique no mesmo e
informe o nome ou no Painel de Propriedades no campo “Nome”.

2.3.3 - Usando atalhos para os componentes

Ao selecionar uma atividade podemos criar os demais componentes diretamente


através dos ícones de atalho, assim podemos modelar de forma fluida e rápida. Ao selecionar a
atividade e clicar no ícone desejado o componente é criado e automaticamente conectado
com o componente selecionado. Desse modo, não é necessário clicar no Painel de
Componentes e arrasta-lo para a Raia e depois estabelecer as conexões.
Imagem abaixo realça os ícones de atalho para a criação dos componentes do fluxo.

2.3.4 - Evento de Fim

Um fluxo pode possui um ou mais fins. Ou seja, dependendo do caminho percorrido pelo
fluxo, diferentes finalizações podem ocorrer. Assim mais de um fim podem existir. Para criar
um Evento de Fim, clique no componente no Painel de Componentes e arraste para cima da
Raia. Para dar um nome ao componente dê um duplo clique no mesmo e informe o nome ou
no Painel de Propriedades no campo “Nome”.

2.3.5 - Atividade

As Atividades representam as tarefas que serão realizadas pelo processo, nela


configuramos o tipo de atividade, prazo de execução, se é uma tarefa de aprovação, se haverá
notificação por e-mail e se é uma execução múltipla, ou seja, a mesma tarefa será executada
múltiplas vezes por pessoas diferentes.
Para criar uma Atividade, clique no componente “Atividade” no Painel de
Componentes e arraste para cima da Raia. Para dar um nome a Atividade, de um duplo clique
na caixa da atividade ou no Painel de Propriedades da Atividade, clique no campo “Nome”.
Neste caso o campo “Nome” permite caracteres especiais e espaços. Por exemplo, “Solicitar
Viagem”, “Realizar Aprovação”, “Verificar Solução”, etc. Por convenção se utiliza verbos no
infinitivo para nomear as atividades. Ex. Solicitar, preencher, aprovar, etc.

2.3.5.1 - Tipos de Atividades

Para selecionar o tipo de atividade, deslize o mouse sobre o ícone da chave na parte
inferior da caixa da atividade ou ainda no Painel de Propriedades da atividade, clique no
campo “Tipo de Atividade”. Certifique-se que a atividade está selecionada.

Tipo de Descrição
Atividade
Atividade a ser executada por usuário do Fusion
Atividade de Envio de e-mail, envia e-mail de notificação a usuários
/grupo/papéis do Fusion ou para pessoas externas não usuárias do
Fusion. A configuração desta atividade exige alguns cuidados como ter
um template de e-mail. (um arquivo servlet java .jsp. Para mais detalhes
consultar o Manual Técnico ver item, 7 – Customizando Modelo de E-
mail)
São atividades que serão executadas fora do Fusion. Por exemplo,
fazer uma chamada telefônica ou registrar algo em outro sistema etc.
São atividades de sistema onde é feito algum processamento em
background utilizando-se de adapters java. São utilizados sempre que
desejarmos funcionalidades que o produto padrão não possui. Por ex.:
Integrações com outros sistemas onde o Fusion atualiza dados em uma
tabela externa de acordo com informações do processo. Para mais
detalhes consultar o Manual Técnico ver item, 2.2 – Desenvolvendo
adapters para Workflows.
Esta atividade permite a execução de outro processo, permitindo a
modularização de Workflows muito complexos dividindo-os em
subprocessos.
2.3.5.2 - Definindo a estrutura de dados da Atividade

Também é na Atividade onde definimos estrutura do formulário de dados que cada


executor terá a disposição. É onde definimos quais informações serão disponibilizadas e para
quem. Portanto, as questões de segurança e validação dos dados do formulário, por exemplo,
quais são os campos de preenchimento obrigatório, quais campos serão apenas informativos e
quais serão editados também são definidos nas Atividades.
Para definir quais dados estarão disponíveis no formulário da Atividade de Usuário,
primeiramente o Formulário Principal do Processo já deve estar disponível, ou seja, já está
definido. Ver Definindo a estrutura de dados do Processo. Siga os próximos passos para
definir a estrutura de dados da atividade:

Passo 1) Clique na Atividade desejada, se o Formulário Principal já foi definido, o ícone de


formulário aparecerá no canto superior esquerdo da atividade, conforme atividade abaixo:

Passo 2) Clique no ícone do Formulário. O Fusion trará a Formulário Principal do Processo.

Passo 3) De um duplo clique no nome do campo no Painel de Campos Disponíveis, e o


mesmo será exibido na Atividade corrente. O campo será mostrado no Painel de Campos
Selecionados. Siga o mesmo passo para definição dos demais campos a serem exibidos na
atividade corrente.

Passo 4) Defina se o campo será Editável, ou seja, o executor da Atividade poderá alterar o
valor do campo em tempo de execução do processo. Para isto, marque a caixa de seleção do
respectivo campo.

Passo 5) Defina se o campo será Obrigatório, ou seja, a atividade não poderá ser avançada
sem o preenchimento do campo. Para isto, marque a coluna “Obrigatório” do respectivo
campo.
Dica – Ao clicar em copiar, todos os campos da atividade selecionada serão copiados para
a atividade corrente.

2.3.5.3 - Definindo o prazo de execução da Atividade

Para configurarmos o prazo de execução da atividade, selecione a tarefa desejada e no


Painel de Propriedade, clique em “Prazo”.

Defina as configurações de acordo com a tabela abaixo:

Tipo: este campo define se será definido um


período fixo ou se será um campo do formulário,
onde o tempo de execução será definido
dinamicamente.
Unidade de tempo: define qual unidade será
utilizada (dia, mês, hora, minuto...)
Quantidade: Quantos dias, meses, etc... serão
necessários.
Apenas dias Úteis: define se será só dias úteis
excluindo finais de semana e feriados, ou dias
corridos.
Relativo à: Relativo a qual atividade este prazo
será definido.
Permite Alteração do Prazo: Se o prazo poderá
ser alterado durante a execução do processo.
2.3.5.4 - Definindo o Deadline para o prazo de execução da Atividade

Para configurarmos o “Deadline” para o prazo de execução da atividade, selecione o


componente “Temporizador” no Painel de Componentes e arraste sobre a tarefa desejada, no
Painel de Propriedade do Temporizador configure as propriedades do deadline.

A tabela abaixo detalha as propriedades do temporizador:

Nome: é uma propriedade obrigatória, pois em


uma atividade podemos ter outros deadlines
Descrição: informe uma descrição sucinta deste
deadline.
Ação: Determinará o que será feito caso o
deadline seja disparado, temos as seguintes
opções:
Voltar para fila: faz com que a atividade volte
para o pool, assim outra pessoa poderá executa-
la.
Notifica o Gestor: Envia uma notificação ao
Gestor informando o status da tarefa.
Avança Atividade: Avança a atividade
automaticamente, portanto vai para a próxima
atividade.
Notificar Usuário: Notifica outro usuário ou
usuários, esta opção habilitará a propriedade
“Campo da Lista” onde uma lista de usuários
poderá ser informada.
Tipo: este campo define se será definido um
período fixo ou se será um campo do formulário,
onde o tempo do deadline será definido
dinamicamente.
Apenas dias Úteis: define se será dias úteis,
excluindo finais de semana e feriados, ou se dias
corridos.
Tempo: define quantas unidades de tempo serão
necessárias
Tipo: Define qual unidade de tempo será
utilizada (dias, mês, minutos, horas...)
2.3.6 - Decisão Exclusiva

Na construção do modelo do processo em muitos cenários o fluxo seguirá caminhos


diferentes de acordo com regras de negócio existentes no processo. O componente de decisão
exclusiva nos permite estabelecer regras baseadas em valores dos campos do formulário, no
entanto, como o próprio nome define é decisão exclusiva, ou seja, só um caminho pode ser
seguido, assim podemos ter dois ou mais caminhos possíveis, contudo o fluxo só seguirá por
“um” deles, o que satisfazer a condição verdadeira. Por exemplo, Em uma solicitação de
viagem o solicitante preenche os campos da solicitação e avança o Workflow para aprovação
da gerência, neste caso, o gerente pode aprovar a solicitação e aí o fluxo avançaria para o
administrativo-financeiro para preparação da viagem ou reprovar a solicitação, está então
seguiria para o outro caminho.
A imagem abaixo ilustra o cenário descrito anteriormente.
2.3.7 - Decisão Inclusiva

Na construção do modelo do processo em muitos cenários o fluxo pode seguir


caminhos diferentes de acordo com regras de negócio existentes no processo. O componente
de decisão inclusiva nos permite estabelecer regras de negócio de acordo com valores dos
campos do formulário. A diferença para a decisão Exclusiva é que no a Decisão Inclusiva o fluxo
pode seguir por mais de um caminho cuja condição seja verdadeira. Ou seja, podemos ter dois
ou mais caminhos possíveis. Neste caso, o fluxo poderá seguir por um ou mais caminhos,
dependendo da condição estabelecida. O Fusion avalia as condições e segue o fluxo para os
caminhos cujas condições sejam verdadeiras. Por exemplo, Em um fluxo de cotação onde
dependendo do tipo do produto uma ou mais áreas da empresa devem participar.

A imagem abaixo ilustra o cenário descrito anteriormente:

2.3.8 - Decisão Paralela

Na construção do modelo do processo surgirão cenários em que o fluxo deve seguir


múltiplos caminhos permitindo execução paralela de atividades. O componente de Decisão
Paralela permite dividir o fluxo em caminhos paralelos, permitindo fluxos concorrentes no
modelo do processo. Por exemplo, em um de Plano de ação onde as tarefas serão delegadas
concorrentemente a todos os executores.
Importante: ao criarmos fluxos concorrentes precisamos em algum momento convergir ou
finalizar os fluxos concorrentes, se um dos fluxos concorrente for finalizado o Workflow será
finalizado também. Neste caso, se houverem outros fluxos concorrentes abertos, as atividades
ainda não executadas ficarão perdidas.

A imagem abaixo ilustra o cenário descrito anteriormente:


2.3.9 - Fluxo de Sequência

O Fluxo de sequencia é quem determina a direção em que o fluxo seguirá. Nele é onde
definiremos as condições ou regras de negócio que determinarão a sequência do Workflow.

Para conectar dois componentes com o Fluxo de sequência, clique no componente origem
e os ícones de atalho aparecerão (ver imagem abaixo). Clique no ícone do Fluxo de Sequência e
arraste até o componente de destino.

b) Quando o componente destino for realçado com marcadores verdes nas extremidades
(ver imagem abaixo), solte o Fluxo de sequencia (libere o botão do mouse). Assim os dois
componentes estarão conectados.
2.3.9.1 - Definindo Regras de Negócio no Fluxo de Sequência

Para definir uma regra de negócio que direcione o fluxo de acordo com valores em campos
do formulário, clique no fluxo onde a regra será aplicada. No Painel de Propriedades, selecione
a propriedade “Tipo de Condição” e clique em “Normal”, e na lista de opções selecione
“Condicional”.

A propriedade “Condição” aparecerá abaixo. Clique na seta e a janela de construção de


condições se abrirá. Clique em “Novo” para acrescentar uma nova linha e selecionar os
campos do formulário para construir a condição.

Nesta janela é possível construir expressões lógicas que serão avaliadas pelo Fusion,
resultando em falso ou verdadeiras. Várias linhas podem ser adicionadas para avaliar
expressões mais complexas, parêntesis podem ser utilizados para definir a precedência das
operações. Sendo possível comparar valores dos campos do formulário ou ainda comparar
campos com valores constantes. Para selecionar o campo do formulário clique na seta na
coluna “Campo”. Para escolher o tipo de operação clique na seta na coluna “Operador”.

No exemplo acima o campo do formulário “tipoOcorrencia.codigo” é comparado ao


“Valor” constante “0001”, ou seja, se o valor contido no campo “tipoOcorrencia.codigo” for
igual a “0001” a sentença será verdadeira, caso contrário resultará em falso. Para comparar a
valor de dois campos mude a coluna “Tipo” para “Campo” e escolha o outro campo no
formulário do processo. Para expressões mais complexas, acrescente mais linhas e utilize as
portas lógicas “ou” e “e”. Na expressão abaixo, serão realizados dois testes sendo que se o
campo “tipoOcorrencia.codigo” for igual a “0001” ou “0005” a expressão será verdadeira pois
a porta utilizada é a “ou”.
2.3.10 - Temporizador

O componente temporizador é utilizado em duas situações, a mais comum é como


deadline das atividades ver o item “2.3.5.4 - Definindo o Deadline para o prazo de execução da
Atividade”. A segunda situação é como um temporizador entre duas atividades imagine um
cenário em que o gatilho para a atividade seguinte é uma unidade de tempo. Por exemplo, em
caso de uma aprovação de documento, após a aprovação a próxima atividade seria sua
publicação, no entanto, antes de ser publicado há um prazo para o treinamento. Assim mesmo
depois da atividade de aprovação o documento deve esperar pelo treinamento. Neste caso,
basta configurar um temporizador entre as tarefas de aprovação e publicação, pois assim que
o aprovador avançasse o fluxo ele iria para o temporizador antes da publicação.

A tabela abaixo detalha as propriedades do temporizador:

Nome: é uma propriedade obrigatória


Descrição: informe uma descrição sucinta deste
temporizador.
Ação: Determinará o que será feito caso o
temporizador seja disparado, temos as seguintes
opções:
Voltar para fila: faz com que a atividade volte
para o pool, assim outra pessoa poderá executa-
la.
Notifica o Gestor: Envia uma notificação ao
Gestor informando o status da tarefa.
Avança Atividade: Avança a atividade
automaticamente, portanto vai para a próxima
atividade.
Notificar Usuário: Notifica outro usuário ou
usuários, esta opção habilitará a propriedade
“Campo da Lista” onde uma lista de usuários
poderá ser informada.
Tipo: este campo define se será definido um
período fixo ou se será um campo do formulário,
onde o tempo do temporizador será definido
dinamicamente.
Apenas dias Úteis: define se será dias úteis,
excluindo finais de semana e feriados, ou se dias
corridos.
Tempo: define quantas unidades de tempo serão
necessárias
Tipo: Define qual unidade de tempo será
utilizada (dias, mês, minutos, horas...)
2.4 – Validando o modelo do processo

Após finalizarmos a modelagem do processo podemos validar nosso modelo, assim o


Fusion fará uma analise do modelo e identificará inconsistências e erros no modelo. Somente
poderemos liberar um processo quando este não possuir erros. Para validar o processo clique
no botão “Validar” no Painel Superior. Se o processo possuir erros uma mensagem será
mostrada, e um “X” vermelho indicará a posição do erro(s).

2.5 – Liberando processo para execução

Depois de realizada a validação do processo para que o mesmo possa ser executado é
necessário libera-lo, para tal clique no botão “liberar” no Painel Superior. Note que o processo
não poderá ser liberado se forem encontradas inconsistências.

Se processo estiver livre de inconsistências a janela de Controle de versão será mostrada


com as seguintes opções:
Versão Nova: Cria uma nova versão do
processo, incrementando o número da
versão uma unidade. Por exemplo, 1.0 para
2.0.
Nova revisão: Cria uma nova revisão do
processo, incrementando o número da
revisão uma unidade. Por exemplo, 1.0 para
1.1.
Manter Versão: Libera o processo mantendo
a versão atual.
O campo Descrição permite documentar
quais seriam as principais características do
processo e da versão ou revisão.

2.6 – Consultando o Histórico das versões do processo.

Para consultarmos as versões anteriores do processo clique no botão “Histórico”.

O Fusion trará o histórico de todas as versões e revisões, para visualizar uma versão ou
revisão clique no ícone da lupa na coluna “Exibir”. Com isto as revisões e versões do processo
poderão ser comparadas, trazendo rastreabilidade durante a evolução do mesmo.
2.7 – Exportando e gerando a documentação do modelo do processo

Para exportar o modelo do processo no formato xml, clique em “Exportar” escolha o item
“BPMN2” o Fusion criará um arquivo xml com o formato BPMN2.

Para exportar a Documentação do processo escolha o item “Documentação”, selecione os


itens a serem exportados e clique em “Exportar”. O Fusion criará um arquivo pdf com todos os
detalhes do processo.

2.8 – Exportando e Importando Processo

Para exportarmos um processo vamos ao menu Processos->Configurar-> Exportar

No campo Processo informe o nome do processo ou clique na lupa para selecionar o processo
desejado. Em seguida clique em Adicionar.

Selecione a versão que deseja exportar : “Versão Ativa” exporta a versão atual do processo;
“Versão em Edição” exporta a versão que está em edição e ainda não foi liberada.
“Versão Histórica” habilita a coluna versão onde uma lista de versões será apresentada,
selecione a versão deseja na lista. No painel Itens para Exportação selecione os itens a serem
exportados.

Para finalizar a exportação clique no botão Exportar. O Fusion gerará um arquivo ZIP com
todo pacote do Processo, salve e renomeie o arquivo em uma pasta do sistema para
posteriormente importa-lo.

Para importarmos um processo vamos ao menu Processos->Configurar-> Importar

Clique no botão “Choose File” a navegue até a pasta onde o arquivo .zip que foi exportado se
encontra, selecione o arquivo e clique no botão “Importar”.
Aguarde os passos para importação até que a tela de confirmação finalize

Para que o processo importado possa ser executado edite o processo no menu
Processos ->Configurar-> Workflow/BMP, depois de carregado o BPM Studio salve e libere
o processo.

3 – Executando o Processo

Depois de finalizada a modelagem, o próximo passo é testar o processo executando-o. Esta


etapa é muito importante, pois é nela que encontramos as inconsistências lógicas, funcionais e
de interface. Na verdade, todo trabalho tem como objetivo esta fase. Para que o Processo
apareça para execução é preciso libera-lo na janela de modelagem.
Lembrando que só poderão iniciar um workflow as pessoas com o perfil “Usuário BPM” e
que cujo papel funcional no Fusion esteja incluído na Raia onde o processo se inicia. Para
iniciar um novo fluxo clique no ícone de menu Processos, em seguida em Iniciar. Em seguida
todos os processos disponíveis e liberados serão mostrados.

Escolha o processo a ser executado e clique no título do processo ou no ícone de play.


Em seguida preencha os campos da atividade e pressione o botão “Avançar” para enviar o
fluxo do processo para a próxima atividade ou clique em “Salvar” para salvar os dados para
enviar mais tarde.

3.1 – Minhas Tarefas

Depois que um processo é inicializado o Fusion atribuirá tarefas aos usuários de acordo
com a modelagem do fluxo. Para visualizar ou executar as tarefas, clique no item “Minhas
Tarefas”.

O usuário atual do sistema poderá acessar as tarefas delegadas a ele na “Caixa de Entrada”
ou ainda acompanhar as solicitações iniciadas por ele clicando em “Minhas Solicitações” bem
como, acompanhar tarefas nas quais ele é o gestor do processo em “Tarefas sob Gestão”.
Para executar uma tarefa clique no titulo da mesma, na coluna “Processo”. Na coluna
“Status” é mostrado o atual status da tarefa em relação ao prazo de execução. As tarefas
podem ser filtradas por status, dia, semana, mês, por categoria, por processo ou código do
processo.

3.2 – Histórico e GPS do processo

Durante o andamento do processo ou depois de finalizado podemos verificar o histórico das


atividades para sabermos quem executou uma tarefa específica e quando foi executada, bem
como visualizarmos graficamente o caminho do processo o que chamamos de GPS do
processo. Se o processo estiver em execução ao abrirmos a atividade para execução clique em
“Histórico” para ver o histórico, ou em “Fluxo” para ver o GPS.
Histórico:

GPS do processo: O que está em vermelho indica por onde o processo já passou. A parte azul é
onde o processo parou.
4 – Tutorial – Modelando Solicitação de Compras Simplificado

Neste tutorial modelaremos um Workflow de solicitação de compras simplificado. A


estrutura de dados e detalhes do processo foram simplificados para fins didáticos.

4.1 – Modelando o formulário Principal

Para iniciarmos o processo precisamos da data de solicitação e do nome do solicitante


para isto usamos os campos dataSolicitacao e solicitante dos tipos, respectivamente, Data e
Usuário. O campo; descrição da Compra onde será informado o que será comprado utilizamos
um campo do tipo texto com a propriedade Àrea “Sim”. Sendo necessário um campo para
informarmos o valor aproximado da compra, para isto, criamos o campo valorCompra do tipo
Decimal. Também campos para guardarmos as respostas dos gestores (SIM/Não) são
necessários, daí os campos aprocacaoGestor e aprocacaoCFO do tipo Booleano. Caso as
respostas dos gestores sejam negativas criamos dois campos do tipo Texto (Área) para que as
justificativas da negativa sejam esclarecidas. E por fim, caso a compra seja aprova, teremos o
campo data dataCompra para informar a data da compra. Com certeza muitos outros campos
seriam necessários para tornarmos este processo adequado a realidade de um workflow de
compras, mas vamos mantê-lo simples para facilitar o entendimento do mesmo.

A imagem abaixo reflete a criação dos campos como formulário dinâmico no Fusion:

Os campos Justificativa e justificativa CFO estão com Regras de Interface configurados, a


regra é para esconder o campo, estes campos só serão exibidos caso os campos de aprovação
do gestor ou aprovação CFO estiverem definidos como “Não”.
A imagem abaixo mostra a Regra de Interface:

4.2 – Definindo as Raias e Atividades


Raia Solicitante: Nela será iniciado o processo de solicitação de compras, sendo a
primeira atividade Solicitar Compras. Também teremos nesta raia uma atividade de
Notificação, deste modo o solicitante será informado da decisão dos gestores quer a
compra seja aprovada ou reprovada.

A imagem abaixo mostra os campos selecionados para a atividade Solicitar Compra:

Raia Aprovação do Gestor: Aqui teremos uma única atividade de Aprovar Compra, onde o
gestor aprovará e avançara o fluxo para área de compras e concorrentemente notificará o
solicitante da aprovação, ou ainda o gestor poderá não aprovar a compra, caso não aprove um
campo de justificativa será apresentado para esclarecer a negativa.

A imagem abaixo mostra os campos selecionados para a atividade Aprovar Compra


perceba que os campos Aprovação Gestor e Justificativa foram acrescentados, os demais
campos já virão preenchidos da atividade anterior e não estarão editáveis, o campo
justificativa possui uma Regra de Interface, e só aparecerá se o campo Aprovação do Gestor
for “Não”:
Raia Aprovação do CFO: Nesta também teremos uma só atividade de aprovação. Caso o
CFO aprove a compra o fluxo seguirá para a raia de Compras e concorrentemente notificará o
solicitante da aprovação, caso não aprove a compra um campo de justificativa aparecerá,
neste o CFO justificara o motivo da negativa em seguida o fluxo notificará o solicitante.

Raia Compras: Aqui teremos apenas a tarefa de Realizar Compras, onde a área de
compras informará a data da compra e finalizará o fluxo. Obviamente este fluxo é bem mais
complexo, por exemplo, um novo subfluxo para realizar cotações poderia ser iniciado aqui,
mais interatividade entre os participantes do fluxo, integração com o ERP, etc... Mas para este
fim nos limitaremos a este escopo.

4.2.1 – Definindo os participantes das Raias

A Raia Solicitante terá como participantes o Grupo Todos, ou seja, qualquer


colaborador que tenha acesso ao Fusion poderá iniciar uma solicitação de compras.
A raia Aprovação Gestor terá como, participante o gestor da área do solicitante, para que
o fluxo envie automaticamente para o gestor do solicitante os grupos do Fusion precisam estar
definidos, e todos os usuários devem pertencer a um único grupo, nas configurações do grupo
o campo Responsável deve estar com o Papel do responsável pelo grupo configurado.

Depois de criado os papéis e configurado os grupos com os respectivos papéis


responsáveis, podemos configurar os participantes das raias. Para isto, nas configurações dos
participantes escolhemos Campo ao invés de Usuário/Grupo/Papel, clique na lupa para
carregar os campos do formulário.

Na estrutura do formulário expanda o campo solicitante encontre campo Grupo expanda


ele selecione o campo Responsável clique “OK” , conforme imagem abaixo:
A imagem abaixo mostra como ficará o valor do Campo:

Desta forma independente de quem seja o solicitante o Fusion sempre encaminhará o


fluxo para o papel definido no campo responsável do grupo. Usando o mesmo raciocínio
podemos continuar navegando na estrutura do solicitante dentro da estrutura do Grupo
temos o Nível Superior dentro do nível superior temos também o responsável do grupo, este
campo é o superior do responsável pelo primeiro grupo. Podemos continuar explorando a
estrutura dos grupos de forma indefinida.

A raia Aprovação CFO terá como participante o papel CFO, portanto realizará a aprovação
o usuário do Fusion que esteja incluído neste papel funcional.
A raia Compras terá como participante o papel Comprador, portanto quem estiver incluído
neste Papel Funcional que será o responsável pela compra solicitada.

4.2 – Definindo as Regras de Negócio

a) Quem está solicitando? Ao iniciar a solicitação é necessário saber qual é o papel


funcional de quem está solicitando. Por exemplo, quando um usuário não gestor
solicitar a compra o fluxo irá para o gestor do mesmo, no entanto, se o próprio gestor
solicitar?
b) Qual o valor estimado da compra? Os gestores possuem um valor limite de R$ 4999,99
para aprovarem, quando o valor da compra ultrapassar o limite será necessário a
aprovação do gerente ou diretor financeiro. Portanto, dependendo do valor da compra
o fluxo poderá seguir caminhos diferentes.
c) O solicitante deve ser notificado das decisões dos gestores. A atividade de notificação
quando positiva deverá acontecer de forma paralela, ou seja, ao mesmo tempo em
que o fluxo seguir para a área de compras também notificará o solicitante neste caso
anterior o fluxo seguirá por dois caminhos diferentes. Se a solicitação for negada o
solicitante será notificado e na notificação um texto justificando a negativa.

Através do componente de Decisão Exclusiva (Getway) podemos direcionar o fluxo em


três possíveis caminhos. Lembrando que só um caminho poderá resultar em
verdadeiro por se tratar de Decisão Exclusiva.
1- Se o solicitante for gestor e o valor da compra for menor que R$ 5.000,00;
2- Se o solicitante for gestor e o valor da compra for maior ou igual a R$ 5.000,00;
3 – Se o solicitante não for gestor;

1- Se o solicitante for gestor e o valor da compra for menor que R$ 5.000,00 Neste caso
Não é necessário seguir para a tarefa de Aprovar Compra, o fluxo seguirá para notificação e
para compras, para isto, precisamos de um componente de Decisão Paralela, este dividirá o
fluxo.

Para configurar as regras no fluxo de sequência, clique no Fluxo de Sequencia e nas


propriedades selecione Tipo de Condição mude para “Condicional” na Propriedade Condição
Crie duas linhas, na primeira vamos verificar o papel funcional do solicitante, para isto,
expanda a estrutura de dados do solicitante ->Papéis->Nome selecione o campo Nome.
Desta forma podemos comparar o nome do papel com um valor, neste caso, “Gestor”, se
o papel do solicitante contém a palavra “Gestor”. Para isto mude a coluna Operador para
“Contém” . Na coluna Tipo selecione “Valor”, e na coluna Campo/Valor escreva a palavra
“Gestor”. Na segunda linha selecione o campo valorCompra na estrutura de dados do
processo mude a coluna Operador para “<” . Na coluna Tipo selecione “Valor”, e na coluna
Campo/Valor escreva 5000. Na coluna E/OU mude para “e”, pois as duas condições precisam
ser verdadeiras para que o fluxo siga nesta direção.

A imagem abaixo ilustra estes passos:

Este tipo de artifício é muito útil, no entanto, a estrutura de papéis no Fusion deve estar
bem definida para que funcione corretamente.

2- Se o solicitante for gestor e o valor da compra for maior ou igual a R$ 5.000,00

Neste caso também não é necessário seguir para a tarefa de Aprovar Compra, o fluxo seguirá
para aprovação do CFO, pois o valor esta acima da alçada do gestor da área.

A imagem abaixo ilustra as condições

3 – Se o solicitante não for gestor


Neste caso, o fluxo seguirá para o gestor da área aprovar, como já testamos as duas
outras situações podemos definir está situação como “Senão”, caso nenhuma das duas
anteriores seja verdadeira, o fluxo seguirá este caminho. Para isto, configuramos a
propriedade Tipo Condição para o valor “Senão”.

Depois de enviada a solicitação a próxima tarefa de Aprovar Compra que será feita
pelo gestor da área. Neste caso, também precisaremos de um componente de Decisão
Exclusiva, pois agora se o valor da compra for menor que R$ 5000, estará dentro da alçada do
gestor de área. Se o gestor aprovar a compra novamente precisaremos notificar o solicitante e
encaminhar para área de compras paralelamente, assim mais um componente de Decisão
Paralela será necessário para dividir o fluxo.

Caso o gestor não aprove a compra, preencherá o campo justificativa informando ao


solicitante o motivo da negativa. Assim o fluxo seguirá para a atividade de Notificação e
finalizará.
Caso o valor da compra for maior ou igual R$ 5000 precisará da aprovação do CFO
então o fluxo seguirá para a Atividade CFO Aprovar Compra, caso seja aprovada a compra, o
cenário anterior se repetirá, ou seja, notificará e seguirá para compras simultaneamente
exigindo mais componentes de Decisão Exclusivo e Paralela.
Ainda temos a o caso em que o Gestor Aprova a compra solicitada, porém o CFO não
aprova a, assim o fluxo notificará o solicitante e terminará.

Versão final - Na versão final do modelo do processo foram necessárias alguns artifícios para
execução correta. Uma delas foi criar mais um componente de fim para resolvermos de forma
mais natural alguns cenários de negócio. Quando utilizamos o componente de Decisão Paralela
criamos dois ou mais fluxos concorrentes, em algum momento precisamos convergir os fluxos
novamente para finalizarmos o processo. Se os fluxos não convergirem o processo será
finalizado depois da atividade de Notificação e a atividade de Realizar Compra ficará perdida,
pois o processo já se encerrou e esta atividade ainda não foi realizada. Este é um erro bem
comum quando modelamos, portanto, muita atenção quando usar o componente de Decisão
Paralela.

You might also like