Módulo: Flow > Processos de Negócios
Os processos inseridos na tela Processos de Negócios, serão representados pelo diagrama em BPMN 2.0, em que, as regras para execução dos processos deverão ser definidas por elementos que compõem o diagrama de processos considerando o fluxo de trabalho.
Este diagrama será exibido por meio do botão configurações necessárias do evento "Visualizar Diagrama BPMN" localizado na parte superior da referida tela, teremos uma visão de modelagem de processos. Posto isto, ao considerar o Diagrama BPMN, será necessário que você conheça algumas particularidades e funcionalidades pertinentes à tela:
Paleta de Ferramentas | Especificações dos elementos do processo | |
Painel de Propriedades do Processo | Painel de Propriedades de Tarefas | |
Publicação do Processo |
Paleta de Ferramentas
Na lateral esquerda dessa tela, teremos uma paleta de ferramentas que dispõe dos elementos que deverão ser utilizados para compor o diagrama de processos, a considerar:
Ativar ferramenta de mão: Ao utilizar essa ferramenta, você poderá realizar o deslocamento de elementos no fluxograma.
Ativar ferramenta de seleção: Por meio dessa ferramenta, é possível selecionar os elementos que compõem o processo.
Ativar ferramenta de criação/remoção de espaço: Ao clicar nessa, pode-se usar o espaçamento contido no diagrama.
Ativar ferramenta de conexão global: Por meio dessa, é possível conectar os elementos do processo.
Criar Evento de Início: Utilizando esse, insira um elemento para representar a inicialização do processo.
Criar Evento Intermediário: Por Evento Intermediário, teremos que a representação de elementos utilizados no decorrer das atividades.
Criar Evento de Fim: Ao acionar esse, insira um elemento para representar a finalização do processo.
Criar Evento de Fim (Término): Quando este evento for utilizado, o sistema irá cancelar as eventuais tarefas do fluxo que estejam em andamento e encerrar o processo.
Criar Gateway: Através desse, tem-se uma ponte de ligação entre os elementos.
Criar Tarefa de Usuário: Por meio dessa, pode-se representar uma atividade/tarefa a ser executada por um determinado usuário.
Observação: para inserir um novo elemento, selecione-o na Paleta de Ferramentas, arraste e posteriormente solte-o.
Nesse cenário, tem-se que necessariamente ao selecionar um elemento da folha de desenho, o sistema disponibilizará o "Assistente de elemento" conforme representado abaixo:
Mediante isso, por meio desse recurso poderemos realizar os seguintes procedimentos:
- Inserir um novo elemento conectando-o ao elemento selecionado na Paleta de Ferramentas;
- Realizar a exclusão de um elemento;
- Alterar o tipo de elemento;
- Conectar elementos utilizando uma sequência/mensagem ou associação;
- Adicionar anotações.
Botões localizados no rodapé
É pertinente mencionar que ao visualizar um diagrama BPMN, considerando seu respectivo rodapé, tem-se alguns botões que o auxiliarão em relação a modelagem, tais como:
- Visualizar XML do Processo;
- Importar diagrama BPMN;
- Download do diagrama BPMN;
- Download da imagem do diagrama BPMN;
- Desfazer;
- Refazer;
- Ampliar zoom;
- Reduzir zoom;
- Zoom padrão;
- Ajuda.
Importante: ao acionar o botão "Ajuda" será disponibilizado o pop-up "Ajuda com o modeler". Desse modo, o modeler trata-se de um ambiente que permite que você conheça diversos elementos e utilizar recursos para compor a representação dos processos de negócios.
Especificações dos elementos do processo
Considerando o processo de negócio, será necessário detalhar as funcionalidades e características dos elementos a serem utilizados neste.
Observação: é relevante mencionar que as configurações relacionadas aos elementos ocorrem no Painel de Propriedades.
Este é representado por meio de um símbolo retangular que permite inserir e visualizar os elementos que compõem o processo.
Inicialmente você poderá mencionar que as piscinas mencionadas anteriormente são subdivididas por raias.
Diante disso, as raias são elementos gráficos utilizados para organizar os demais elementos que representam o processo, sendo possível separar as tarefas executadas considerando áreas diferentes da empresa.
Os eventos são caracterizados como ocorrências/acontecimentos no decorrer do processo. Posto isso, dentre os tipos de eventos que podem ser utilizados, será necessário considerar:
- Evento de Início
Representa-se por meio deste elemento a inicialização do processo.
Importante: É pertinente mencionar que todo processo, necessariamente, deve possuir apenas um evento de início independente do seu tipo.
- Evento de Início Temporal
Ao selecionar esse elemento tem-se o início do processo considerando um agendador de tarefas. Desse modo, você deve definir o usuário responsável pela execução do "job" de agendamento (Painel de Propriedades, aba Geral, campo "Usuário Executante").
Observação: todo usuário executante configurado neste evento, será o responsável (solicitante) do processo.
Dessa forma, tem-se que o evento de início temporal permite iniciar de forma automática e periódica uma instância de processo.
Por meio do campo "Expressão de execução" (Painel de Propriedades, aba Geral) pode-se registrar a expressão que está fundamentada na notação CRON.
Nota: esta notação determina qual a frequência de inicialização do processo permitindo agendar tarefas a serem realizadas periodicamente considerando horários, datas ou intervalos fixos. Por meio dessa, poderemos definir um intervalo com repetições periódicas, assim como, apenas um agendamento para uma determinada data.
Ao clicar no botão "Construtor de expressão" localizado ao lado direito do campo Expressão de execução, pode-se selecionar um dos facilitadores abaixo e proceder com as devidas marcações:
- Minutos;
- Horas;
- Dias;
- Meses;
- Dias da semana.
Além disso, também teremos a opção de inserir a expressão mencionada digitando-a no campo Expressão de execução.
Após esse procedimento, clique no botão "Validar Expressão" para que o sistema realize as autenticações necessárias.
- Evento Intermediário
O evento intermediário é utilizado para sinalizar que o processo atingiu um estágio marcante. Considerando isso, pode-se construir indicadores com o intuito de apresentar os resultados obtidos aos envolvidos no processo.
- Evento Intermediário de Tempo
Esse evento permite que o fluxo de processo seja pausado por um determinado intervalo de tempo. Desse modo, este deverá ser especificado em minutos utilizando o campo "Duração do Evento (min)" localizado no Painel de Propriedades, aba Geral.
- Evento de Borda Temporal
Para utilizá-lo, selecione um evento do tipo intermediário na Paleta de Ferramentas, soltá-lo sobre uma atividade e proceder com a alteração de seu tipo para Evento de Borda Temporal.
Ainda nesse contexto, tem-se que este evento possui funcionalidades de cronômetro que iniciam-se a partir do momento em que a atividade a qual ele está anexado é criada/inserida no processo, portanto, caso a atividade não seja finalizada até o tempo especificado no campo Duração do Evento (min), ocorrerá a sequência do fluxo.
Observação: é relevante mencionar que caso o tempo acabar, a tarefa a qual o evento está anexado, será finalizada.
- Evento de Borda Temporal (Ininterrupto)
Para utilizar este evento, selecione um evento do tipo intermediário na Paleta de Ferramentas, soltá-lo sobre uma atividade e alterar seu tipo para Evento de Borda Temporal (Ininterrupto).
Nota: esse evento possui funcionalidades de cronômetro que iniciam-se a partir do momento em que a atividade a qual ele está anexado é criada/inserida no processo. Caso a atividade não seja finalizada até o tempo especificado no campo "Duração do Evento (min)", ele dá sequência a seu fluxo de sequência.
Para esse caso, tem-se que o campo Duração do Evento (min) refere-se ao tempo de espera para dar continuidade ao fluxo de processo.
- Evento de Fim
Por meio deste elemento, representa-se a finalização do processo.
- Evento de Fim (Término)
Ao modelar um processo utilizando um evento de Fim (Término), o sistema irá cancelar eventuais tarefas paralelas do fluxo que estejam em andamento, encerrando assim, todo o processo. Donos de tarefas que forem canceladas por este evento poderão visualizá-las por meio do filtro "Canceladas" da Lista de Tarefas.
Observação: uma vez que este evento for inserido, você poderá optar por enviar uma notificação para o candidato/dono referente ao cancelamento da tarefa, assim temos as opções de "Não Notificar", "Notificar pelo sistema", "Notificar por email" ou "Notificação pelo sistema e por email". Por padrão, ao inserir o evento de término na modelagem esta última opção de notificação é habilitada.
- Evento intermediário espera por sinal
Ao adicionar este evento ao fluxo do processo, tem-se que após a tarefa anterior a este evento for finalizada, o fluxo será pausado automaticamente irá aguardar o sinal para que ele seja continuado.
Importante: esse sinal será disparado por uma ação ou evento em Java, que estará presente na tabela eventos das telas do sistema.
Observação: quando um sinal é enviado sem número de instância, qualquer processo de mesmo nome que esteja configurado para receber um sinal, irá recebê-lo.
Esse elemento caracteriza-se como ponte de ligação, sendo assim, determina o caminho que o processo seguirá. Desse modo, será necessário considerar as seguintes especificações:
- Gateway Paralelo
Ao utilizar esse elemento, teremos as seguintes particularidades:
1.Pode-se mencionar que um gateway paralelo possui mais de um fluxo de entrada, desse modo, trata-se de um gateway paralelo de junção, ou seja, seu fluxo somente terá sequência quando necessariamente todos os fluxos de entrada forem concluídos.
2.Em relação a um gateway paralelo que possui mais de um fluxo de saída, tem-se que este refere-se a um gateway paralelo de divisão, posto isto, seu processo terá continuidade considerando todos os fluxos de saída do gateway ao mesmo tempo (paralelamente).
Ainda nesse contexto, pode-se considerar em relação ao gateway paralelo:
Como divisão: Permite dividir a execução do fluxo em vários fluxos paralelos (ao mesmo tempo).
Como junção: Permite continuar o fluxo de execução apenas quando todos os seus fluxos de entrada forem percorridos.
- Gateway Exclusivo
você poderá utilizar esse elemento em pontos do processo onde vários caminhos de continuidade são possíveis, porém, apenas um deles deverá ser considerado de acordo com as regras e condições pré-definidas.
Nota: diante do exposto, um gateway exclusivo sempre deverá possuir dois ou mais fluxos de saídas ligados a si.
A condição de cada um dos fluxos é avaliada de forma sequencial, a considerar as seguintes informações:
a.Para a primeira condição que retorna verdadeiro (true) o fluxo terá sequência.
b.Se todas as condições dos fluxos retornarem falso (false) então o fluxo padrão terá sequência. Desse modo, é necessário que sempre um dos fluxos de saídas do gateway seja o fluxo padrão.
Observação: a ordem de teste do fluxo fundamenta-se na ordem do fluxo (transição) correspondendo as configurações realizadas na aba "Transições de Saída" (Painel de Propriedades). Posto isso, o fluxo da primeira linha é executado antes do fluxo da segunda, que é executado antes da terceira e assim sucessivamente.
- Gateway Inclusivo
O gateway inclusivo deve ser utilizado em pontos do processo onde vários caminhos de continuidade são possíveis para o processo, desde que sua condição seja verdadeira (true).
Nota: desse modo, um gateway inclusivo deverá possuir dois ou mais fluxos de saídas ligados a si.
A ordem de teste do fluxo a ser respeitada é idêntica as configurações mencionadas acima referentes ao gateway Exclusivo.
Ainda nesse contexto, considere em relação ao gateway inclusivo:
Como divisão: Para esse caso, pode-se dividir a execução do fluxo em inúmeros fluxos paralelos. Desse modo, os fluxos executados são aqueles cuja condição (expressão) seja verdadeira e aquela definida como padrão.
Como junção: Permite continuar o fluxo de execução apenas quando todos os fluxos de saída de um gateway inclusivo houver sido percorrido.
Pode-se mencionar que o fluxo detém como funcionalidade principal interligar elementos utilizando objetos de conexão.
- Fluxo Sequencial
Inicialmente considere que o fluxo de sequência representa a ligação entre os vários elementos que compõem o processo.
Diante desse contexto, tem-se que o fluxo a ser utilizado no processo pode ser alterado ao acionar o botão "Alterar tipo" dispondo assim das opções "Fluxo Padrão" e/ou "Fluxo Condicional".
Observação: pode-se definir uma condição para o fluxo quando este estiver relacionado ao fluxo de saída de um gateway exclusivo ou inclusivo, desde que sejam consideradas, neste caso, as linguagens "Groovy" e "JavaScript".
Botão Abrir configurador de condições
Ao acionar o botão "Abrir configurador de condições" será apresentado o pop-up "Condições de Gateway" onde você poderá definir as condições de construção de um Gateway.
Assim, inicialmente defina se o "Modo de construção", será "Avançado" ou "Assistente".
Observação: Caso já exista um script criado, por padrão o pop-up será aberto com a opção Avançado selecionada. Do contrário, não existindo script, o pop-up será aberto com a opção Assistente.
No modo Avançado, você deve definir um script como condição.
Já no modo Assistente, por meio do construtor de condição, você pode definir a condição do gateway sem a necessidade de desenvolver um script de forma manual. Deste modo, do lado esquerdo da tela tem-se as opções "Formulários" e "Variáveis" com os campos dos formulários que fazem parte do processo que podem ser utilizados na construção da condição de uma transição dos gateways.
Sendo que, se no painel de Propriedades do Processo, aba Formulários/Telas, sub-aba Formatado, o campo "Escopo" for configurado com a opção "Atividade", você deverá informar nas "Definições do formulário", no campo "Atividade", qual atividade do registro deverá ser analisado.
Caso a "Política de reentrância" do formulário esteja definida com a opção "Criar sempre um novo registro", você deverá selecionar no campo "Execução da Atividade" qual registro será analisado, de acordo com as opções abaixo:
- Todas as execuções: por meio desta opção será verificado se o valor do campo do formulário em todas as execuções correspondem ao valor da condição;
- Pelo menos uma: através desta opção o sistema analisará se o valor do campo do formulário em pelo menos uma execução corresponde ao valor da condição;
- Última execução: esta opção é padrão; quando ela for selecionada o sistema investigará se o valor do campo do formulário na última execução corresponde ao valor da condição.
Se a "Quantidade de registros" do formulário estiver definida com a opção "Vários", você terá que indicar no campo "Registros", qual execução da atividade o registro deverá ser analisado, de acordo com opções a seguir:
- Todos os registros: esta opção é padrão; e por meio dela será verificado se o valor do campo em todos os registros do formulário corresponde ao valor da condição;
- Pelo menos um: através desta opção o sistema analisará se o valor do campo em pelo menos um registro do formulário corresponde ao valor da condição;
- Último registro: quando esta opção for selecionada o sistema irá averiguar se o valor do campo no último registro do formulário corresponde ao valor da condição.
Em relação as instâncias relacionadas a presente tela, pode-se mencionar que estas tratam-se da multiplicidade das atividades definindo deste modo, a repetição destas.
- Múltiplas Instâncias Sequenciais
Em relação a esse caso, tem-se que as várias instâncias da atividade serão criadas sequencialmente (a segunda após finalização da primeira, a terceira após finalização da segunda, e assim, sucessivamente).
Nota: tem-se que a quantidade de instâncias considerará um valor fixo ou um valor calculado (expressão) durante execução da atividade.
- Múltiplas Instâncias Paralelas
Para este caso considere que as várias instâncias da atividade serão criadas ao mesmo tempo sendo executadas em paralelo.
Nota: a quantidade de instâncias considerará um valor fixo ou um valor calculado (expressão) durante execução da atividade.
Importante: a condição de conclusão será considerada ao término de cada instância da atividade, e se verdadeira, desconsiderará as demais instâncias criadas para a atividade, e assim, consequentemente, dará sequência ao fluxo.
[voltar ao subtítulo][voltar ao topo]
Painel de Propriedades do Processo
Para acessar o Painel de Propriedades e realizar suas devidas configurações, deve-se efetuar um duplo clique sobre o elemento selecionado, sendo possível também realizar esta ação clicando no botão que permite expandir (localizado no canto direito da tela em referência). No painel deste teremos as seguintes abas:
Aba Geral | Aba Formulários/Telas | |
Aba Eventos | Aba SLA |
Aba Geral
Ao considerar essa aba, deve-se registrar no campo "Nome" a nomenclatura que corresponde ao processo, para que, posteriormente, seja possível identificá-lo pelos usuários.
O sistema inserirá obrigatoriamente no campo "Id" as informações pertinentes a tela permitindo sua posterior identificação por parte do mesmo.
[voltar ao subtítulo] [voltar ao topo]
Aba Formulários/Telas
Nessa aba é possível vincular um formulário e/ou telas a um determinado processo, bem como, configurar os formulários que serão utilizados para coleta e/ou apresentação de dados disponibilizados aos usuários durante a sua execução.
Durante a modelagem do processo, é possível pré-visualizar todos os formulários (embarcado/formatado/nativo) configurados no processo, possibilitando que o modelador visualize como as informações serão entregues ao executante da tarefa. Para isso, você deve selecionar o processo e, na aba Formulários, clicar no ícone "Pré-visualizar" :
Destacamos ainda que, não será possível realizar qualquer tipo de inserção nos formulários na pré-visualização, dessa forma, quando você tentar inserir registros, o sistema exibirá a seguinte mensagem:
"Não é possível inserir um registro na pré-visualização."
Importante: ao utilizar múltiplos formulários, o sistema tem uma ordem de apresentação padrão sendo: todos os formulários embarcados, formulários formatados e nativos.
Assim, para saber mais sobre as sub-abas da aba Formulários, clique nos links abaixo:
Sub-aba Embarcado | Sub-aba Formatado | |
Sub-aba Nativo | Sub-aba Telas |
Sub-aba Embarcado
Esta sub-aba serão criados os formulários no formato Embarcado. Ao acionar o botão "Adicionar", o sistema permitirá adicionar/editar os campos pertinentes ao formulário.
Por meio do campo "Nome" tem-se a nomenclatura considerada pela aplicação para identificação do campo.
O campo "Descrição" será utilizado para apresentação do campo no formulário, podendo considerar a inicialização do processo e também as tarefas que visualizam este campo.
Através do campo "Tipo", realiza-se a especificação do tipo de campo que corresponde ao Formulário. Tem-se as seguintes opções:
- Arquivo;
- Data;
- Data e Hora;
- Tempo;
- Ligado/Desligado;
- Lista de opções;
- Número decimal;
- Número inteiro;
- Pesquisa;
- Senha;
- Texto curto;
- Texto longo;
- Texto HTML.
Informações adicionais:
- A opção Ligado/Desligado não permite configurar os campos como obrigatórios.
- Ao selecionar a opção Lista de opções, será apresentado o campo "Opções". Em campos do tipo lista, pode-se especificar a chave correspondente a uma opção, utilizando o critério "CHAVE=OPCAO". Caso esta chave não seja especificada, o sistema irá gerá-la automaticamente. Vejamos um exemplo:
M=Manhã
T=Tarde
N=Noite
- A opção Número decimal permite incluir a quantidade de casas decimais que serão consideradas.
- Em relação a opção Pesquisa, é possível que você busque informações em uma das tabelas do banco de dados. Para isto, será necessário inserir os devidos registros no campo "Instância", e caso necessário, pode-se restringir o conteúdo a ser exibido por meio do campo "Filtro de Pesquisa".
Nota: quando este filtro for considerado, tem-se uma condição SQL.
Ao acionar a marcação "Inicialização" determine que o campo será apresentado no formulário de inicialização do processo.
Observação: é relevante mencionar que todos os campos que estiverem com esta marcação ativa serão apresentados antes que você inicie de fato as atividades do processo.
Nota: os campos de Inicialização serão apresentados na coloração Preta, os outros campos serão apresentados na coloração Azul.
Ao acionar o botão "Propriedades do campo", é possível configurar as propriedades do campo selecionado. Vejamos sobre essas configurações:
- Por meio do campo "Valor Padrão" tem-se o valor padrão que o campo irá receber quando o processo for iniciado.
- Ao habilitar a marcação "Obrigatório" somente os campos de inicialização de processos serão considerados obrigatórios.
- Em relação a marcação "Somente Leitura" defina se o campo irá permitir edição por meio de usuários ou se este será apenas um campo de leitura. Diante disto, os campos definidos como somente leitura não poderão ser ao mesmo tempo obrigatórios.
- O campo "Grupo" é caracterizado como um campo descritivo sendo necessário registrar neste o grupo ao qual o campo pertence. Diante disto, por meio destes tem-se uma estrutura de armazenamento, de modo que os campos dos mesmos grupos serão agrupados em uma mesma sessão, cuja descrição corresponda à descrição do grupo.
Nota: é relevante mencionar que todas as propriedades dos campos podem ser alteradas quando vinculadas à uma atividade.
Configurações avançadas de Campos
As Configurações avançadas de Campos serão utilizados em formulários de inicialização e tarefas em que você poderá realizar uma pré-configuração das Regras de Negócio do processo ideal para você.
Estes poderão ser executados em uma rotina que irá validar o valor informado por você ao sair do campo e defini-lo automaticamente quando este receber o foco a partir dos dados de outros campos do formulário.
Para a definição de Configurações Avançadas de Campo do Embarcado, depois de adicionar um campo, você irá clicar no botão Propriedades do Campo, o sistema exibirá o pop-up de "Propriedades do campo" em que pode-se observar as abas "Geral" e "Eventos de Campo", esta será composta pelas sub abas:
- Eventos de Entrada;
- Eventos de Saída;
- Eventos de Alteração e;
- Condição de Apresentação.
Nesta última, você poderá configurar as condições para apresentação de campos na Lista de Tarefas, sendo que pode-se configurar esta aba nos formulários Embarcado, Formatado e Nativo. Destacamos ainda que, o campo que estiver com essa condição deverá estar marcado como visível:
Como exibido acima, por meio do botão você, como modelador, poderá consultar quais métodos de consulta (funções) poderão ser utilizados para criar scripts para condicionar a apresentação de campos em um formulário.
Teremos ainda que, quando nos campos do formulário o campo em que há uma Condição de Apresentação, o será exibido neste:
Desta forma, conforme as Condições de Apresentação configuradas pelo moderador do processo no campo de exemplo "Inscrição Estadual", este será apresentado na Lista de Tarefas somente se a opção "Pessoa Jurídica" for selecionada. Assim, teremos:
Sub-aba Formatado
Tem-se nesta aba, a criação dos formulários no formato Formatado, sendo possível reutiliza-los. Para tanto, é necessário previamente criá-lo na tela de Relatórios Formatados.
Ao acionar o botão "Configurações avançadas", será aberto um pop-up:
Quando a marcação "Salvar sem criar nova versão" estiver habilitada, fará com que todas as alterações realizadas no formulário sejam salvas, sem que o processo seja versionado, ou seja, caso uma instância da tarefa esteja aberta, todas as alterações refletirão no mesmo momento.
O campo "Valor Padrão" terá o valor padrão que o campo receberá quando o processo for iniciado. Os tipos de campos são:
- Data;
- Data e Hora;
- Tempo;
- Ligado/desligado (marcação);
- Número decimal;
- Número inteiro;
- Texto HTML;
- Texto longo;
- Texto curto;
- Lista de opções.
Informações adicionais:
- Para o tipo de campo "Lista de opções", o Valor Padrão será o conteúdo da coluna "Valor" ou "Chave" do campo "Opções" da Lista de opções.
- A opção Ligado/Desligado não permite configurar os campos como obrigatórios.
- A opção Número decimal permite que você inclua a quantidade de casas decimais que serão consideradas.
Nota: ao iniciar uma tarefa que possua valores padrões na inicialização, ao abrir a tela Lista de Tarefas, os valores padrões definidos já serão carregados. Assim como, caso você tente alterar um campo inserindo um valor nulo, o sistema irá alterá-lo para o Valor Padrão.
Importante: as funcionalidades do campo Valor Padrão também são aplicadas aos Formulários Nativos.
Configurações avançadas de Campos
Para a definição de um Evento de Campo do Formatado, depois de adicionar um campo, você irá clicar no botão Propriedades do Campo, o sistema exibirá o pop-up de "Propriedades do campo" em que pode-se observar as abas "Geral" e "Eventos de Campo", esta será composta pelas sub abas:
- Eventos de Entrada;
- Eventos de Saída;
- Eventos de Alteração e;
- Condição de Apresentação.
As Configurações Avançadas de Campos configurados serão executados na tela Lista de Tarefas.
Nota: as atribuições do Formulário Nativo referente ao Evento de Campo será configurado da mesma forma que o Formulário Formatado.
Observação: no contexto Eventos de Campos do tipo Alteração também encontram-se disponíveis as variáveis "oldValue" (valor do campo antes da alteração) e "newValue" (Valor do campo após a alteração), tem-se que quando a alteração acrescentando a variável newValue na aba de Evento de Alteração, o campo referente à alteração será visível na tela de Lista de Tarefas.
Sub-aba Nativo
Por meio dessa aba, efetua-se a criação dos formulários diretamente da tabela Nativa e será possível também reutilizá-los.
Tem-se ainda que neste, serão armazenados os formulários de entidades nativas do sistema.
A configuração da entidade escolhida poderá ser feita por meio do botão , em que pode-se alterar algumas propriedades dos formulários selecionados.
Quando a marcação "Salvar sem criar nova versão" estiver habilitada, fará com que todas as alterações realizadas no formulário sejam salvas, sem que o processo seja versionado, ou seja, caso uma instância da tarefa esteja aberta, todas as alterações refletirão no mesmo momento.
Por meio do botão pode-se alterar, editar as abas de ligações com a entidade escolhida, ocultar ou definir novas configurações.
Ao clicar no botão "Configurar instância" o pop-up será redirecionado para as Configurações avançadas.
Observação: as configurações de ligações, só poderão ser efetuadas caso a entidade selecionada tenha ligações.
Depois dessas configurações definidas, na tela Lista de Tarefas serão apresentadas as configurações definidas anteriormente nesta tela.
A marcação "Salvar no destino" registra os dados do formulário em uma tabela nativa do sistema, como por exemplo, na tabela TGFPRO (Cadastro de Produto).
Durante a utilização do formulário nativo, os dados são salvos em uma tabela espelho (shadow table), até o momento que o modelador definiu para que os dados sejam persistidos na tabela oficial. As tabelas espelhos têm o mesmo nome das tabelas oficiais porém, com sufixo _WF.
No contexto de processo, quando a marcação "Salvar no destino ao inicializar" estiver ligada, os dados serão salvos no destino ao inicializar o processo, ou seja, os dados serão salvos na tabela ao iniciar o processo.
No contexto da tarefa do usuário, temos a marcação "Salvar no destino ao finalizar tarefa", que permite ao modelador definir qual(is) tarefa(s) do processo que salvarão os dados do formulário no destino.
Com a marcação "Salvar no destino ao finalizar processo?" habilitada, ao finalizar o processo os dados sempre serão salvos no destino. Se estiver desligada, você deverá definir pelo menos uma Tarefa de Usuário ou inicialização para salvar os dados desse formulário no destino.
Essa é uma configuração global, sendo assim, quando o formulário está sendo utilizado em mais de uma tarefa e essa configuração é alterada, o comportamento será replicado para o formulário de todas as tarefas ou inicialização.
Sub-aba Telas
Na sub-aba Telas, você, como usuário modelador, poderá configurar uma mesma tela para realizar diferentes comportamentos no Processo, como multiplicidade de registros e a visualização destes na tela de Processos de Negócios.
Dessa forma, quando uma tela for inserida nessa aba, você terá os seguintes campos:
O "Nome da Instância" deve ser inserida nesse campo para as telas de cadastro sem mapeamento nativo. Assim, os registros criados terão vínculo com a instância do processo. Quando esse campo não for exibido ao selecionar a tela na aba, representa que essa tela já possui uma instância vinculada a ela.
Quando definido em "Quantidade de registros", a opção "Único", apenas um registro poderá ser inserido na tela. Ao contrário da opção "Vários", em que será possível inserir mais de um registro.
No campo "Escopo", temos as seguintes opções:
- Processo: onde todos os registros inseridos na tela estarão visíveis em todos os processos;
- Atividade: somente os registros da atividade serão visíveis nesta.
Em "Política de reentrância" você poderá definir uma dentre as seguintes opções:
- Recuperar dados anteriores: por meio deste, os registros a serem exibidos na atividade serão aqueles referente a todas as instâncias da atividade que utilizou a tela;
- Criar sempre um novo registro: os registros mostrados na atividade, serão apenas aqueles criados na instância de atividade.
Observação: nas configurações de telas no contexto de Processos, os campos Escopo e Política de reentrância não estarão disponíveis para alteração.
Quando você realizar a inserção dessa tela, no botão "Configurações da tela" poderá configurar os acessos dela, sendo que, os acessos padrões incluem as ações "Incluir", "Alterar", "Excluir", "Consultar", "Numeração" e "Cancelar" para que, dessa forma, os acessos que os usuários terão a elas sejam definidos.
Nota: por padrão, essas habilitações sempre estarão ligadas, mas poderão ser desabilitadas ao incluir uma tela no processo, com exceção da marcação Consultar, que sempre estará ligada e não será permitida sua alteração.
Além disso, cada tela pode possuir suas configurações específicas, e estas, por padrão, estarão desligadas.
Assim, ao realizar as configurações, os usuários poderão abrir essas telas na Lista de Tarefas conforme as especificações definidas. Porém, é importante frisar que essas configurações irão abranger somente a abertura dessas telas dentro do Flow, se o usuário, por ventura, decidir abri-la direto no Sankhya-Om, seus acessos não serão limitados como definido na Processos de Negócios, se não estiver configurado no Controle de Acessos.
Você, como modelador, poderá ainda, inserir as telas das Centrais de Notas no Flow para vincular estas no Processo, sendo assim, pode-se configurar os seguintes Tipos de Movimento:
Portal de Compras:
- Pedidos: O-Pedido de Compra;
- Notas e Conhecimento de Transporte: C-Compra;
- Devoluções: E-Devoluções de Compra.
Portal de Vendas:
- Pedidos: P-Pedido de Venda;
- Notas e Conhecimento de Transporte: V-Venda;
- Devoluções: D-Devolução de Venda.
Portal de Mov. Internas:
- Pedidos de Requisições: J-Pedido de Requisição;
- Requisições: Q-Requisição;
- Devoluções de requisição: L-Devolução de Requisição;
- Transferências: T-Transferência.
Dessa forma, ao selecionar o Tipo de Movimento requerido, defina o "Tipo de Operação" que será utilizado.
Teremos também o botão "Filtro de tela", que ficará disponível quando você realizar a inserção de uma tela nessa sub-aba. Assim, ao clicá-lo, será possível incluir uma expressão SQL, ao utilizar a variável "Id temporário de Inicialização".
Após configurar uma expressão, o botão Filtro de tela irá mudar para a cor vermelha, que indica que existe um filtro para aquela tela.
Nota: caso você utilize uma variável que não seja do contexto em que esteja inserida, o processo não será publicado.
[voltar ao subtítulo] [voltar ao topo]
Aba Eventos
Eventos (ou listeners) são uma estrutura programada que observa determinados acontecimentos e executa alguma ação como consequência. Vejamos exemplos de listeners:
- Criação de tarefa: Ao criar uma tarefa, os usuários encarregados à ela serão notificados;
- Atribuição/Desatribuição: Quando a tarefa é atribuída ou desatribuída a algum usuário, um novo membro da equipe é adicionado ou removido do projeto;
- Finalização da tarefa: Ao concluir a tarefa, o solicitante do processo é notificado.
Os eventos podem ser de Processo ou de Tarefas, podendo ser configurados em um dos 3 tipos de Ação Programada disponibilizados. São elas:
- Java;
- Procedure;
- Script (JavaScript ou Groovy).
É possível configurar eventos de processo para:
- Formulário Embarcado: Nesta opção, a "Ação" sempre será feita ao salvar o formulário;
- Formulário Formatado: Pode-se criar os eventos para as ações ao "Incluir", "Alterar" ou "Excluir" um registro no formulário, o que poderá ocorrer antes ou depois do registro ser persistido no banco.
- Processos: Você poderá criar eventos quando este for iniciado ou finalizado.
O botão para configuração de eventos também será apresentado no contexto do processo nas sub-abas Embarcado, Formulário e Nativo (acima da lista dos formulários embarcado e formatado) da aba Formulários, neste local, o pop up já será posicionado no contexto em que se encontra, assim, você fará apenas as configurações necessárias do evento.
Aba SLA
Por meio dessa aba, você poderá realizar as configurações necessárias para os processos que possuem prazos para serem resolvidos, assim pode-se acompanhar a realização de cada processo em detrimento desse prazo, ou seja, será possível verificar se as entregas estão sendo efetivamente realizadas de acordo com os prazos estipulados.
Ao abrir a aba, caso já houver regras cadastradas, essas serão exibidas em ordem de relevância, em que a(s) primeira(s) regra(s) possuirão prioridade e devem ser analisadas de imediato.
Caso você queira adicionar regra(s), basta clicar no botão , o pop-up "SLA do Processo" será exibido para as configurações das regras de início, suspensão, alertas e prazos do SLA sejam configuradas. No referido pop-up teremos as seguintes abas:
Aba Inicialização / Continuação | Aba Suspensão | |
Aba Alertas |
No campo "Nome" descreva a regra SLA que está sendo criada.
O "Prazo de Solução" definirá o modo como o SLA será calculado, sendo este em "Dias" ou "Horas".
No campo "Dias ou Horas" informe a quantidade de dias ou horas limites do processo.
A "Carga Horária" será a carga horária que será utilizada no cálculo dos prazos SLA, sendo que este estará disponível apenas quando o campo Prazo de Solução for selecionado com a opção Horas.
[voltar ao subtítulo] [voltar ao topo]
Aba Inicialização / Continuação
As regras disponíveis nessa aba, determinarão que, quando verdadeiras irão inicializar o processo ou caso esta já esteja ativa, continuará com a contagem do SLA. Assim, teremos:
A opção "Alteração de formulário", que será marcada quando qualquer formulário do processo for alterado, sendo estes os formulários Embarcado, Formatado ou Nativo.
A configuração "Contexto de Tarefas" exigirá o preenchimento dos campos "Selecione a Tarefa" e "Quando", sendo que estes estarão disponíveis nessa aba por meio do botão :
O campo "Selecione a Tarefa" trata-se de qual tarefa será analisada e o "Quando" definirá em qual momento esta será analisada e dispõe das opções "Ao atribuir dono", "Ao desatribuir dono", "Ao criar tarefa" e "Ao finalizar tarefa", baseado nessa teremos o exemplo:
Se a tarefa Análise de Resultados for selecionada e o Quando estiver marcada como Finalizar a tarefa e nenhuma condição for escolhida, a regra será verdadeira quando a referida tarefa for finalizada.
Referente à marcação "Contexto de Processos", quando acionada determinará que no início do processo, a regra de início será considerada verdadeira.
As configurações exibidas possuem certas condições, sendo que estas podem ser combinadas para determinar uma análise sobre elas para que a regra seja considerada verdadeira ou falsa. Essas condições serão, respectivamente, Formulário, Script (Javascript e Groovy) e Procedure. Estas poderão ser combinada por meio de aninhamentos dentro de parênteses e regras de comparação E e OU.
- Formulários
A comparação é realizada em um campo específico de um formulário apresentado e um operador que irá variar para cada tipo de campo e ao lado deste, teremos o campo de objetivo de comparação. Assim, temos o exemplo:
O campo "Lista de Opções" do Formulário Embarcado, terá a comparação menor e a data 08/07/2020 às 14h39min, ou seja, esta regra será verdadeira quando este campo for preenchido com menor data citada.
Nota: sempre você realizar modificações em um formulário, todas informações preenchidas em determinado campo deste serão analisadas como comparações, conforme o exemplo a seguir:
Caso o formulário pertencer ao escopo do processo, todos os momentos em que o campo foi preenchido no processo serão analisados, porém, se este for de tarefa apenas o contexto referente à tarefa será analisado, essas análises dependerão das configurações realizadas dentro do processo.
- Scripts
Este será avaliado conforme o resultado da expressão por meio da exposição do retorno.
- Procedures
Os procedures serão validados conforme o resultado imputado na variável P_RESULTADO e será avaliado com os caracteres 'S' (true) ou 'N' (false).
[voltar ao subtítulo] [voltar ao topo]
Aba Suspensão
As configurações realizadas nessa aba são semelhantes à anterior, diferindo-se apenas ao Contexto de Processos, que torna-se ausente e referente ao Contexto de Tarefas, em que você deverá vincular uma condição à ela.
[voltar ao subtítulo] [voltar ao topo]
Aba Alertas
Os alertas são e-mails ou alertas do sistema que serão enviados aos usuários das tarefas em aberto do processo e/ou usuários determinados pelo script SQL de acordo com o tempo percorrido do SLA.
Nessa aba, você poderá configurar cinco estados diferentes, sendo que o estado definido não poderá ser menor que o anterior nem menor que o posterior, ou seja, se no "Início do Prazo" for definido 10% do tempo no campo "Decorrido" e o prazo "A vencer" for 20%, o valor informado "No Prazo" não poderá ser maior que 20% e nem menor que 10%, caso isso ocorra o sistema o alertará sobre. Dessa forma, teremos o campos:
Contagem: Aqui, será definido como o tempo dos avisos será calculado, sendo que poderá ser em "Percentual", "Dias" ou "Horas" decorridos.
Status: Essa marcação irá definir se o aviso será ou não analisado em um contexto geral.
Decorrido: Nesse campo insira o valor da Contagem expresso em um número decimal.
Tipo: Defina aqui, como o aviso será enviado ao(s) dono(s)/candidato(s) das tarefas que estão abertas no processos quando o tempo referente a eles for atingido.
Script SQL: O script inserido nesse campo, definirá outros usuários que poderão receber os avisos.
Assim que as configurações forem devidamente realizadas, quando você entrar na tela Lista de Tarefas, poderá perceber que haverá um campo titulado como "Status do SLA" que o informará se a tarefa em questão estará no Início do Prazo, No Prazo, "A vencer", "vencido" ou "Muito Vencido".
[voltar ao subtítulo] [voltar ao topo]
Painel de Propriedades de Tarefas
Em relação as tarefas/atividades a serem tratadas no processo, deve-se considerar que estas podem ser executadas tanto por meio de pessoas, como também, poderão ser tratadas automaticamente pela aplicação. Diante disso, tem-se os seguintes tipos de tarefas:
Tarefa de Usuário | Tarefa de E-mail | |
Tarefa Manual | Tarefa de Serviço | |
SubProcesso Reutilizável |
As tarefas de usuários são aquelas que necessariamente precisam ser executadas por pessoas no sistema. Neste teremos as abas:
Aba Geral | Aba Usuários Candidatos | |
Aba Multiplicidade | Aba Formulários/Telas | |
Aba Prazo de vencimento | Aba Documentação | |
Aba Resumo do Histórico | Aba Relatórios Formatados | |
Aba Eventos | Aba Dashboards |
Aba Geral
Diante desse contexto, considerando a aba Geral, deve-se observar as seguintes funcionalidades:
- Considerando o campo "Nome" registra-se neste a nomenclatura correlata a tarefa a ser realizada.
- A marcação "Registrar Apontamento" deve ser utilizada em situações onde o intervalo de tempo entre o aceite e a finalização da tarefa não corresponde de fato ao tempo gasto por um usuário na execução da tarefa; portanto, faz-se necessário o registro dos intervalos de tempo trabalhados na tarefa.
- Na opção "Editar Apontamento" estiver acionada, pode-se realizar as alterações que referem-se aos apontamentos. Lembre-se que para que seja possível configurar esse campo, a marcação Registrar Apontamento tem que estar habilitada.
Referente ao campo Editar Apontamento dessa aba, temos três opções, sendo elas:
- Quando a opção "Não editar" for selecionada, você não poderá realizar a edição ou inclusão de um apontamento das suas tarefas concluídas ou em andamento;
- Por meio da opção "Tarefas em andamento", o sistema permitirá que você realize a edição, inclusão ou exclusão das suas tarefas em andamento;
- Ao definir o campo com a opção "Tarefas em andamento e finalizadas", você poderá editar o apontamento das suas tarefas que estão em andamento ou foram concluídas. Além disso, para a exclusão desses apontamentos, é necessário que o apontamento a ser deletado seja do próprio dono da tarefa e exista mais de um apontamento na tarefa para que outro seja excluído.
Tem-se ainda que, ao criar uma tarefa, o usuário atribuído a ela poderá ser notificado. Nos campos "Notificação ao usuário candidato" e "Notificação ao usuário dono" será apontado por qual meio o usuário candidato e o dono da tarefa serão notificados, sendo assim, teremos as opções:
- Notificação por email;
- Notificação pelo sistema;
- Notificação pelo sistema e por email;
- Não notificar.
Importante: o sistema utilizará a Conta SMTP que estará definida como Padrão para envio de e-mail.
Caso você receba as notificações da tarefa por meio das notificações do sistema, estas serão apresentadas da seguinte forma:
As notificações enviadas por e-mail serão analisadas pelo registro em uma tabela uma vez que terá a impossibilidade do envio no ambiente de desenvolvimento. O registro nesta tabela significará que há uma rotina que irá registrar os e-mails vinculados a ele será utilizado como evidência para o envio.
Nota: os e-mails serão enviados apenas àqueles usuários que possuírem e-mails cadastrados no sistema.
Quando um único candidato for atribuído para uma determinada tarefa, este será automaticamente o dono dela, tem-se ainda que ele será o único usuário que poderá iniciar o processo por meio da Lista de Tarefas. Sendo assim, consideramos o exemplo:
Ao atribuir o usuário "Letícia" à uma tarefa, esta será a dona do processo e somente ela poderá iniciá-la; caso nos campos Notificação ao usuário candidato e Notificação ao usuário dono a opção Notificação pelo sistema e por e-mail for marcada, o envio do e-mail será registrado no banco de dados, porém a notificação no ambiente de desenvolvimento não será enviada, pois a tarefa foi uma autoatribuição, portanto não haverá a necessidade da notificação.
Após o processo ser iniciado na Lista de Tarefas, o sistema exibirá um aviso a informando que esta é a dona da tarefa.
Caso esta tarefa seja iniciada por outro usuário, o dono receberá duas notificações, uma referente à atribuição do dono da tarefa e do novo usuário que iniciou a tarefa.
Quando você clicar nas tarefas quando a notificação for exibida, esta o direcionará à tela Lista de Tarefas para que a ação seja realizada e um e-mail será enviado.
Tem-se ainda que caso você deseje substituir um usuário por outro, pode fazê-lo por meio da aba "Usuário Substituto em Tarefas".
Porém quando você não é autoatribuído e for o único usuário candidato para a execução da tarefa, o usuário que era dono do processo antes de ser substituído que irá receber a notificação.
Tem-se ainda que os usuários a que as notificações e/ou e-mails foram enviados ficarão gravados no banco de dados.
Observação: se a tarefa for iniciada por alguém que está na lista de candidatos da tarefa, este não receberá a notificação.
Aba Usuários Candidatos
Ao abrir a aba, você terá disponível a opção "Atribuir automaticamente (único candidato)?" em que, quando esta estiver habilitada e as configurações de usuários candidatos (usuários, grupos, equipes, variáveis e expressões) resultar em um único usuário candidato possível, este será atribuído automaticamente como dono da tarefa, eliminando a necessidade de ele ter que atribuir a tarefa manualmente em "Sou Candidato" na Lista de Tarefas. Sendo assim, teremos as seguinte possibilidades:
- Caso tenha somente um candidato vinculado à tarefa, uma atribuição automática será realizada a este candidato. Sendo que, ao tentar desatribuir a tarefa, o sistema emitirá uma mensagem o informando que não será possível realizar a ação já que existe apenas um candidato à ela.
- Se você vincular mais de um candidato, ou a marcação estiver desmarcada, a tarefa será enviada como "Sou candidato" de forma que poderá ser atribuída posteriormente.
- Teremos ainda que, caso você cadastre uma expressão com a opção Atribuir automaticamente (único candidato) marcada e o sistema retornar apenas um usuário, este será o dono da tarefa Porém, se for retornado mais de um usuário responsável, todos estes serão candidatos.
Em relação a esta aba, pode-se mencionar que existem duas sub-abas vinculadas a esta, diante disto, deve-se considerar as especificações abaixo:
Sub-aba Lista
O botão "Adicionar Usuário Candidato" apresenta uma lista de opções em que você poderá selecionar um "Usuário", "Grupo de Usuário", "Equipe" ou "Variáveis", onde você irá indicar qual destes estão aptos para executar as tarefas.
Observação: o tipo Grupo de usuário, definido nesta aba, também considera os grupos adicionais dos usuários, ou seja, se o usuário possuir o grupo em seu cadastro de grupos adicionais ele também será candidato da tarefa. Ressaltamos ainda que, os usuários que pertencem a grupos adicionais serão considerados, somente quando a Data Inicial e a Data Limite de acesso estiverem vigentes.
Referente às opções disponíveis no botão, teremos que ao clicar na opção Variáveis, o sistema exibirá o seguinte pop-up:
Por meio da marcação "Gestores" você definirá que o(s) usuário(s) cadastrado(s) na aba Gestores do Processos de Negócio, serão responsáveis pela tarefa.
Ao utilizar a opção "Solicitante", o sistema definirá que o solicitante (usuário que abriu o processo) será candidato da tarefa.
O que difere da opção "Resp. CR Solicitante", em que o candidato será aquele Responsável pelo Centro de Resultado do solicitante, ou seja, para que esta marcação seja usada corretamente, é necessário que o usuário do solicitante possua um "Cód. Centro Resultado Padrão" cadastrado (tela "Cadastro de Usuários", aba Identificação), e este, por sua vez disponha de um "Usuário Responsável" (tela "Centro de Resultado", aba Geral).
Quando você selecionar uma das tarefas exibidas na marcação "Dono da Tarefa", indicará que o dono da tarefa escolhida, será o candidato da tarefa que está sendo configurada, por exemplo:
O modelador definiu que a Tarefa 01, possui dois usuários candidatos, sendo eles Maria e João.
E na Tarefa 02, ele configurou que o usuário candidato será definido pela variável dono da Tarefa 01.
Dessa forma, se Maria se tornar dona (executora) da Tarefa 01, ela será definida como candidata da Tarefa 02.
Para maiores informações sobre a opção Equipe, verifique as orientações contidas na tela Equipe.
Sub-aba Expressão
De acordo com esta, pode-se inserir uma expressão (script) que deverá ser definida pelo modelador do processo de negócio, sendo que neste contexto, pode-se selecionar no campo "Linguagem", uma das opções, dentre elas "JavaScript" ou "Groovy".
Observação: ao considerar a criação da instância desta tarefa, deve-se executar a expressão para definir a listagem de usuários candidatos.
Importante: ainda considerando este contexto, tem-se que o sistema dispõe de configurações personalizadas. Posto isto, pode-se verificar a documentação "Usuários Candidatos Dinâmicos" inserida abaixo.
Nota: existem casos em que a lista de usuários candidatos será considerada a nível de execução, portanto, o sistema apresentará esta listagem durante a criação de uma atividade, considerando também as informações das variáveis do processo. Por outro lado, caso a lista de usuários seja correspondente a um único usuário, tem-se que a tarefa será atribuída de forma automática a este tornando-o proprietário da atividade.
Usuários Candidatos Dinâmicos
Pode-se mencionar que o sistema permite que seja configurada uma lista de usuários candidatos de forma dinâmica em relação as tarefas de usuários. Diante disto, este recurso deverá ser utilizado em processos que não tenham sido definidos anteriormente usuários candidatos para uma tarefa até o momento em que o fluxo de trabalho seja executado, ou até mesmo, considerando que tarefas anteriores sejam executadas.
Faz-se necessário realizar as devidas configurações relacionadas aos usuários candidatos dinâmicos, a considerar:
Inicialmente deve-se acessar a presente tela e acionar o botão "Visualizar Diagrama BPMN" localizado no topo da tela, tem-se que ao acionar este botão, teremos uma visão de modelagem de processos.
Considerando uma Tarefa de Usuário, no Painel de Propriedades, deve-se clicar sobre a aba Usuários Candidatos e na sequência, subaba Expressão.
Na subaba referida, deve-se selecionar no campo "Linguagem", uma das opções, dentre elas "Groovy" ou "JavaScript".
Após esse procedimento, deve-se inserir uma expressão (script) que defina os usuários candidatos dinâmicos, conforme exemplo abaixo:
Exemplo de Expressão
Ao considerar esse cenário, teremos que o sistema permitirá que você utilize algumas funções para compor o conteúdo do script a ser inserido na subaba "Expressão". Desse modo, em relação ao exemplo especificado na imagem acima, faz-se necessário considerar os seguintes pontos:
a) Utilizou-se a função getLista na expressão;
b) Além disso, tem-se que a linguagem selecionada trata-se de JavaScript;
c) Para esse caso, o resultado da expressão será o código do usuário que instancia o processo, ou seja, por exemplo "U=254".
No exemplo citado, foi utilizada a função getLista, porém, a construção de uma String (cadeia de caracteres) fica a critério do modelador do processo de negócios.
Importante: tem-se que a estrutura da String, necessariamente, seguirá o padrão "TIPO=VALOR".
Para contextualização, podem ser configurados na expressão alguns tipos disponibilizados nesta tela, tais como:
U = Usuário
E = Equipe
G = Grupo de Usuário
Diante disto, ao selecionar por exemplo, os três tipos acima, seria apresentado a seguinte String:
"E=3,G=48,G=24,U=56,U=78,U=41,U=69,U=14,U=38,U=92".
Observação: nos casos em que não houverem especificações do tipo a ser utilizado na expressão, o sistema considerará o "TIPO = VALOR" correspondente a "U = Usuário".
Para que seja configurada manualmente uma expressão pelo modelador do processo de negócios, tem-se que o sistema dispõe das seguintes funções:
- buscarDado;
- buscarDados;
- buscarLinhas;
- getCampo;
- getCampos;
- getIdInstanceTarefa;
- getIdInstanceProcesso;
- getParametroSistema;
- getQuery;
- getUsuarioLogado;
- dentre outros.
Importante: ainda neste contexto, tem-se que ao utilizar uma função, os dados resultantes serão advindos do modeler. Posto isto, para obter maiores informações sobre este, deve-se acessar a documentação técnica contida no botão "Ajuda" localizado nesta tela, no Diagrama do Processo (botões localizados no rodapé).
Ao acioná-lo, tem-se que será disponibilizado o pop-up "Ajuda com o modeler" dispondo assim de suas respectivas funcionalidades.
Aba Multiplicidade
Para que seja exibida a aba Multiplicidade no Painel de Propriedades, e posteriormente, seja possível configurá-la, considere a seguinte ordem:
- Inicialmente, acesse o Diagrama do Processo;
- Desse modo, considerando especificamente uma tarefa, deve-se clicar uma vez sobre a mesma;
- Após este procedimento, o sistema disponibilizará o "Assistente de elemento";
- Na sequência, deve-se acionar o botão
"Alterar tipo";
- E por fim, deve-se selecionar uma das opções de instâncias que serão apresentadas pelo sistema.
Observação: em relação a estas, faz-se necessário atentar-se as seguintes especificações:
Considerando a opção "Instância Múltipla Paralela" tem-se a geração de várias instâncias da tarefa simultaneamente.
Por meio da opção "Instância Múltipla Sequencial", define-se a geração de várias instâncias considerando uma sequência pré-estabelecida.
A partir do procedimento acima, tem-se que a aba em referência será disponibilizada. Posto isto, é pertinente mencionar que:
Pode-se por meio do campo "Quantidade de Instâncias" definir a quantidade máxima de instâncias a serem criadas.
Ao considerar o campo "Condição de conclusão" tem-se que este possui configurações que avaliam sempre que uma instância é concluída, e ao considerá-la verdadeira, todas as demais instâncias serão finalizadas.
Nota: para este caso o sistema disponibilizará as linguagens "Groovy" e "JavaScript".
Importante: é relevante mencionar que as configurações em relação a aba Multiplicidade acima especificadas, aplicam-se de igual modo à:
- Tarefa de E-mail;
- Tarefa Manual; e
- Tarefa de Serviço.
Desta forma, teremos três sub-abas, onde você pode definir determinada quantidade de tarefas para o número de candidatos que desejar para executar uma mesma tarefa, sendo que ela poderá ser paralela ou sequencial.
Na sub-aba "Quantidade de Tarefas", determine o número de tarefas que os usuários executarão, sendo que ele deve ser um número inteiro. Logo depois, em "Condição de Parada" defina se o sistema retornará um valor "True" ou "False". Por fim, na sub-aba "Notificação" você vai selecionar o modo como as notificações serão entregues aos usuários.
Assim, se a tarefa definida for do tipo Paralela, após a finalização de uma delas, o sistema vai analisar o código definido em Condição de Parada e, uma vez que o resultado for True, a tarefa atual será finalizada, e as outras serão canceladas. Se o retorno dela for False, as tarefas restantes serão finalizadas ao terminarem, ou se alguma delas retornar como True.
Caso você configure uma tarefa Sequencial, quando o processo for iniciado, o sistema vai avaliar a Quantidade de Tarefas nesta aba e criá-las em seguida, ou seja, após uma tarefa ser finalizada, outra será criada. Se uma dessas tarefas retornar o valor True, a criação do restante delas será cancelada e o sistema irá executar a próxima etapa. Porém, se o valor retornado for False, o sistema continuará a criação das tarefas até que a quantidades delas seja excedida ou o valor True seja retornado.
Aba Formulários/Telas
Ao utilizar a opção "Pré-visualizar", a tela "Pré-visualização" será apresentada, onde você irá pré-visualizar o formulário configurado nas sub-abas da aba Formulários. Se o sistema não encontrar um formulário cadastrado, quando a tela for aberta o sistema o informará que nenhum formulário foi encontrado.
Destacamos ainda que, não será possível realizar qualquer tipo de inserção nos formulários na pré-visualização, dessa forma, quando você tentar inserir registros, o sistema exibirá a seguinte mensagem:
"Não é possível inserir um registro na pré-visualização."
Dessa forma, teremos nessa aba:
Sub-aba Embarcado | Sub-aba Formatado | Sub-aba Nativo | ||
Sub-aba Telas |
Sub-aba Embarcado
Nessa sub-aba serão criados os formulários no formato Embarcado. Ao acionar o botão "Adicionar", por meio de um pop-up você poderá criar um novo campo, bem como, reutilizar um campo já existente no formulário.
Optando-se por reutilizar um dos campos já existentes, será necessário selecioná-lo dentre aqueles que ainda não foram vinculados à tarefa:
No caso da criação de um novo campo, as seguintes configurações deverão ser realizadas:
Por meio do campo "Nome" tem-se a nomenclatura considerada pela aplicação para identificação do campo.
O campo "Descrição" será utilizado para apresentação do campo no formulário, podendo considerar a inicialização do processo e também as tarefas que visualizam este campo.
Através do campo "Tipo", realiza-se a especificação do tipo de campo que corresponde ao Formulário. Tem-se as seguintes opções:
- Arquivo;
- Data;
- Data e Hora;
- Tempo;
- Ligado/Desligado;
- Lista de opções;
- Número decimal;
- Número inteiro;
- Pesquisa;
- Senha;
- Texto curto;
- Texto longo;
- Texto HTML.
O campo "Valor Padrão" será preenchido de acordo com a opção selecionada no campo Lista de Opções, por exemplo:
Ao utilizar o critério "CHAVE=OPCAO", como por exemplo "M=Manhã", "T=Tarde", "N=Noite", em que nesse caso, se você quiser que o Valor Padrão para este campo seja "Tarde", deverá ser definido o valor como "T".
Dessa forma, ao iniciar uma tarefa que possua valores padrões na inicialização, ao abrir a tela Lista de Tarefas, os valores padrões definidos já serão carregados. Assim como, caso você tente alterar um campo inserindo um valor nulo, o sistema irá alterá-lo para o Valor Padrão.
Ao alterar um campo que tenha valor padrão por exemplo tentando inserir um valor nulo ele recebe o valor padrão.
Informações adicionais:
1.A opção Ligado/Desligado não permite configurar os campos como obrigatórios.
2.Ao selecionar a opção Lista de opções, será apresentado o campo "Opções". Em campos do tipo lista, pode-se especificar a chave correspondente a uma opção, utilizando o critério "CHAVE=OPCAO". Caso esta chave não seja especificada, o sistema irá gerá-la automaticamente. Teremos o exemplo:
M=Manhã
T=Tarde
N=Noite
3.A opção Número decimal permite incluir a quantidade de casas decimais que serão consideradas.
4.Em relação a opção Pesquisa, é possível que você busque informações em uma das tabelas do banco de dados. Para isso, é necessário inserir os devidos registros no campo "Instância", e caso necessário, pode-se restringir o conteúdo a ser exibido por meio do campo "Filtro de Pesquisa".
Nota: quando este filtro for considerado, tem-se uma condição SQL.
Por meio do campo "Valor Padrão" tem-se o valor padrão que o campo irá receber quando o processo for iniciado.
Ao habilitar a marcação "Obrigatório" somente os campos de inicialização de processos serão considerados obrigatórios.
Em relação a marcação "Somente Leitura", esse definirá se o campo irá permitir edição por meio de um usuário ou se este será apenas um campo de leitura. Diante disso, os campos definidos como somente leitura não poderão ser ao mesmo tempo obrigatórios.
O campo "Grupo" é caracterizado como um campo descritivo sendo necessário registrar neste o grupo ao qual o campo pertence. Diante disso, por meio destes tem-se uma estrutura de armazenamento, de modo que os campos dos mesmos grupos serão agrupados em uma mesma sessão, cuja descrição corresponda à descrição do grupo.
Configurações avançadas de Campos
As Configurações avançadas de Campos serão utilizados em formulários de inicialização e tarefas em que você poderá realizar uma pré-configuração das Regras de Negócio do processo ideal para você.
Estes poderão ser executados em uma rotina que irá validar o valor informado por você ao sair do campo e defini-lo automaticamente quando este receber o foco a partir dos dados de outros campos do formulário.
Para a definição das Configurações Avançadas de Campo do Embarcado, depois de adicionar um campo, você irá clicar no botão Propriedades do Campo, o sistema exibirá o pop-up de "Propriedades do campo" em que pode-se observar as abas "Geral" e "Eventos de Campo", esta será composta pelas sub abas:
- Eventos de Entrada;
- Eventos de Saída;
- Eventos de Alteração e;
- Condição de Apresentação.
Nesta última, você poderá configurar as condições para apresentação de campos na Lista de Tarefas, sendo que, pode-se configurar esta aba nos formulários Embarcado, Formatado e Nativo. Destacamos ainda que, o campo que estiver com essa condição deverá estar marcado como visível.
Como exibido acima, por meio do botão você, como modelador, poderá consultar quais métodos de consulta (funções) poderão ser utilizados para criar scripts para condicionar a apresentação de campos em um formulário.
Teremos ainda que, quando nos campos do formulário o campo em que há uma Condição de Apresentação, o será exibido neste:
Desta forma, conforme as Condições de Apresentação configuradas pelo moderador do processo no campo de exemplo "Inscrição Estadual", este será apresentado na Lista de Tarefas somente se a opção "Pessoa Jurídica" for selecionada.
Sub-aba Formatado
Tem-se ainda que será possível proceder com a inserção do formulário criado por meio da tela Formulários Formatados. Além disso, pode-se configurar os campos vinculados a sub-aba, considerando:
Em relação ao campo "Descrição" registra-se a nomenclatura correspondente ao formulário em questão.
Sobre o campo "Escopo" faz-se necessário considerar as seguintes especificações:
a) Escopo de Atividade: Nesse caso, tem-se que as informações inseridas no formulário formatado estão associadas às atividades, posto isso, este poderá ser visualizado apenas naquela atividade em específico.
b) Escopo de Processo: Ao considerar essa opção, tem-se que o conteúdo inserido no formulário formatado refere-se ao processo, portanto, este será visualizado em qualquer atividade daquela instância de processo.
O campo "Política de reentrância" possui duas opções atreladas a este, de acordo com o detalhamento abaixo:
a) Quando utilizada a opção "Recuperar dados anteriores" uma nova instância da atividade será criada. Desse modo, os dados criados em instâncias anteriores serão apresentados no formulário formatado.
b) Ao selecionar a opção "Criar sempre um novo registro" uma nova instância da atividade é criada, e na sequência, tem-se um novo contexto relacionado ao formulário, onde os registros gerados nas instâncias anteriores não serão apresentados em um novo formulário, sendo criado, portanto, na instância em questão.
Nota: para utilizar as funcionalidades desta opção, indispensavelmente, deve-se configurar no campo Escopo, a opção Atividade.
Observação: tem-se que mesmo utilizando a opção Criar sempre um novo registro e que a tarefa tenha sido inicializada, o sistema armazenará os registros relacionados a esta no banco de dados.
Relacionando um formulário formatado à um processo, deve-se definir a quantidade de registros permitidos para a execução do processo. Desse modo, preenchendo o campo "Quantidade de registros", considere os seguintes pontos:
1. Ao selecionar a opção "Único", o sistema permitirá que seja inserido apenas um registro no formulário formatado.
2. Considerando a opção "Vários" tem-se inúmeros registros que podem ser inseridos no formulário formatado, sendo estes apresentados em forma de grade.
Importante: é relevante mencionar que ao acionar o botão "Configurações avançadas" localizado no topo da sub-aba em referência, será disponibilizado seu respectivo pop-up. Por meio deste, os usuários poderão proceder com as definições de atributos por tarefa, a considerar configurações que abrangem:
- Campo;
- Nome da aba;
- Grupo;
- Campos Visíveis;
- Campos caracterizados como somente leitura; e
- Campos Obrigatórios.
Observação: o botão permite que o modelador defina a ordem das abas e campos, de acordo com a melhor visualização das informações aos executantes da tarefa.
Além disso, caso necessário, você poderá proceder com a reversão dos dados anteriormente armazenados, para isso, basta clicar no botão .
Tem-se ainda que nessa aba, a criação dos formulários no formato Formatado, sendo possível reutilizá-los. Para tanto, é necessário previamente criá-lo na tela de Relatórios Formatados.
Configurações Avançadas de Campo
Para a definição de um Evento de Campo do Formatado, depois de adicionar um campo, você irá clicar no botão Propriedades do Campo, o sistema exibirá o pop-up de "Propriedades do campo" em que pode-se observar as abas "Geral" e "Eventos de Campo", esta será composta pelas sub abas:
- Eventos de Entrada;
- Eventos de Saída;
- Eventos de Alteração e;
- Condição de Apresentação.
As Configurações Avançadas de Campos configurados serão executados na tela Lista de Tarefas.
Observação: no contexto Eventos de Campos do tipo Alteração também encontram-se disponíveis as variáveis "oldValue" (valor do campo antes da alteração) e "newValue" (Valor do campo após a alteração), tem-se que quando a alteração acrescentando a variável newValue na aba de Evento de Alteração, o campo referente à alteração será visível na tela de Lista de Tarefas.
Sub-aba Nativo
Através dessa aba, efetue a criação dos formulários diretamente da tabela Nativa e será possível também reutilizá-los.
Tem-se ainda que neste, serão armazenados os formulários de entidades nativas do sistema.
A configuração da entidade escolhida poderá ser feita por meio do botão , em que pode-se alterar algumas propriedades dos formulários selecionados.
Por meio do botão pode-se alterar, editar as abas de ligações com a entidade escolhida, ocultar ou definir novas configurações. Sendo que, ao clicar no botão "Configurar instância" o pop up será redirecionado para as Configurações avançadas.
Observação: as configurações de ligações, só poderão ser efetuadas caso a entidade selecionada tenha ligações.
Depois dessas configurações definidas, na tela Lista de Tarefas serão apresentadas as configurações definidas anteriormente nesta tela.
Nota: as atribuições do Formulário Nativo referente ao Evento de Campo será configurado da mesma forma que o Formulário Formatado.
No flow, ao executar a tarefa temos a possibilidade de acrescentar arquivos na referida tarefa na Lista de Tarefas, para tal ação, você pode utilizar das telas Construtor de Telas, Dicionário de Dados ou Formulários Formatados, aba "Campos" tem-se disponível a opção "Múltiplos arquivos", selecione-o.
Dessa forma, no Processo de Negócio faça a criação do formulário na tela, e insira o campo de arquivos acrescentando neste, o formulário que foi criado habilitando-o como visível.
Posteriormente na tela Lista de Tarefas, ao selecionar a atividade em que você realizou a inserção do formulário terá disposto o campo com o ícone para que sejam introduzidos os arquivos na tarefa. No pop-up, teremos disposto os campos "Subir arquivos", "Baixar todos" e "Excluir todos" onde você poderá inserir ou Excluir os documentos caso já tenha os anexado:
Observação: esse processo poderá ser realizado na Formatado e Nativo.
Na opção "Salvar no destino ao finalizar tarefa?", o sistema permitirá ao modelador defina quais tarefas do processo que salvarão os dados do fomulário no destino. Assim, ao publicar o processo é necessário que você selecione uma das opções de inicialização ou tarefa, sendo estas, Salvar no destino ao inicializar? ou Salvar no destino ao finalizar tarefa? que utilizem o formulário nativo.
Com a opção "Salvar no destino ao finalizar processo?" habilitada, ao finalizar o processo os dados sempre serão salvos no destino. Se estiver desligada, você deverá definir pelo menos uma Tarefa de Usuário ou inicialização para salvar os dados desse formulário no destino.
Nota: a marcação Salvar no destino ao finalizar processo? ficará automaticamente selecionada em tarefas já existentes no sistema e desabilitada em novas tarefas. Essa é uma configuração global, quando alterada, o comportamento é replicado para o formulário das demais tarefas ou inicialização.
Sub-aba Telas
Na sub-aba Telas, você, como usuário modelador poderá configurar uma mesma tela para realizar diferentes comportamentos na tarefa, como multiplicidade de registros e a visualização destes na tela de Processos de Negócios.
Dessa forma, quando uma tela for inserida nessa aba, você terá os seguintes campos:
O "Nome da Instância" deve ser inserida nesse campo para as telas de cadastro sem mapeamento nativo. Assim, os registros criados terão vínculo com a instância da tarefa. Quando esse campo não for exibido ao selecionar a tela na aba, representa que essa tela já possui uma instância vinculada a ela.
Quando definido em "Quantidade de registros" a opção "Único", apenas um registro poderá ser inserido na tela. Ao contrário da opção "Vários", em que será possível inserir mais de um registro.
No campo "Escopo", temos as seguintes opções:
- Processo: onde todos os registros inseridos na tela estarão visíveis em todos os processos;
- Atividade: somente os registros da atividade serão visíveis nesta.
Importante: quando esse campo for configurado com a opção Processo, uma vez salvos, os campos Política de Reentrância e Quantidade de registros não podem ser alterados. Caso você tente alterar esses campos, o sistema exibirá a seguinte mensagem:
"Tela foi definida como escopo de "Processo", deve possuir "Quantidade de registros" e "Politica de reentrância" iguais em todas as tarefas. Deseja realmente aplicar essa nova configuração?"
Quando o campo for alterado para Atividade, as configurações dos campos Quantidades de registros e "Política de reentrância" perderão o vínculo com o processo.
Em Política de reentrância você poderá definir uma dentre as seguintes opções:
- Recuperar dados anteriores: por meio deste, os registros a serem exibidos na atividade serão aqueles referente a todas as instâncias da atividade que utilizou a tela;
- Criar sempre um novo registro: os registros mostrados na atividade, serão apenas aqueles criados na instância de atividade.
Observação: essa opção ficará disponível somente se o campo Escopo for definido com a opção Atividade.
Quando você realizar a inserção dessa tela, no botão "Configurações da tela" poderá configurar os acessos dela, sendo que, os acessos padrões incluem as ações "Incluir", "Alterar", "Excluir", "Consultar", "Numeração" e "Cancelar" para que, dessa forma, os acessos que os usuários terão a elas sejam definidos.
Nota: por padrão, essas habilitações sempre estarão ligadas, mas poderão ser desabilitadas ao incluir uma tela na tarefa, com exceção da marcação Consultar, que sempre estará ligada e não será permitida sua alteração.
Além disso, cada tela pode possuir suas configurações específicas, e estas, por padrão, estarão desligadas.
Assim, ao realizar as configurações, os usuários poderão abrir essas telas na Lista de Tarefas conforme as especificações definidas. Porém, é importante frisar que essas configurações irão abranger somente a abertura dessas telas dentro do Flow, se o usuário, por ventura, decidir abri-la direto no Sankhya-Om, seus acessos não serão limitados como definido na Processos de Negócios, se não estiver configurado no Controle de Acessos.
Você, como modelador, poderá ainda, inserir as telas das Centrais de Notas no Flow para vincular estas no Tarefa, sendo assim, pode-se configurar os seguintes Tipos de Movimento:
Portal de Compras:
- Pedidos: O-Pedido de Compra;
- Notas e Conhecimento de Transporte: C-Compra;
- Devoluções: E-Devoluções de Compra.
Portal de Vendas:
- Pedidos: P-Pedido de Venda;
- Notas e Conhecimento de Transporte: V-Venda;
- Devoluções: D-Devolução de Venda.
Portal de Mov. Internas:
- Pedidos de Requisições: J-Pedido de Requisição;
- Requisições: Q-Requisição;
- Devoluções de requisição: L-Devolução de Requisição;
- Transferências: T-Transferência.
Dessa forma, ao selecionar o Tipo de Movimento requerido, defina o "Tipo de Operação" que será utilizado.
Teremos também o botão "Filtro de tela", que ficará disponível quando você realizar a inserção de uma tela nessa sub-aba. Assim, ao clicá-lo, será possível incluir uma expressão SQL, sendo que, pode-se escolher dentre as variáveis "Id Instância do Processo", "Id Instância da Tarefa" e "Id Tarefa".
Após configurar uma expressão, o botão Filtro de tela irá mudar para a cor vermelha, que indica que existe um filtro para aquela tela.
Nota: caso você utilize uma variável que não seja do contexto em que esteja inserida, o processo não será publicado.
Aba Prazo de vencimento
Por meio dessa aba, você pode definir os prazos de vencimento das tarefas, uma vez que estes poderão ser acompanhados na tela Lista de Tarefas.
Ao habilitar a marcação "Utilizar prazo?" você pode realizar as definições no pop-up "Configuração de Prazo da Tarefa" através do botão "Abrir configuração de Prazo de vencimento".
Na aba "Prazo", defina o "Tipo de Prazo" da tarefa selecionada, sendo que, ao clicar na opção "Fixo" os campos "Prazo em", "Dias ou Horas" e "Carga Horária" para a realização das configurações serão apresentados, uma vez que, se você não informar a Carga Horária a ser utilizada, o prazo será calculado em dias/horas corridas.
Nota: as cargas horárias exibidas são criadas na tela Carga Horária.
Ao escolher a opção "Variável", será possível personalizar as configurações dos campos acima como desejar ao utilizar os scripts, sendo que este, deverá retornar uma data e hora que será utilizado como prazo da tarefa configurada.
No script em questão, o modelador poderá utilizar nesse script o método (getDhCriacao) para obter a data e hora que a tarefa será criada, e assim gerar uma regra que faça o cálculo do prazo para a tarefa. Assim, quando o script utilizar os dados de um formulário e este for alterado após a primeira definição de prazo na Lista de Tarefas, o sistema irá recalcular o prazo utilizando o novo valor informado no formulário.
Temos ainda, a aba "Status", você, como modelador irá configurar os status que serão utilizados, sendo que, aqueles que forem definidos serão apresentados na Lista de Tarefas quando esse Status for atingido. O modelador também poderá configurar as notificações que serão enviadas por meio de e-mail e/ou sistema para os donos/candidatos ou qualquer outro candidato por meio de script SQL. Assim, temos os status "No prazo", "A vencer", "Vencido" e "Muito vencido".
Aba Documentação
Por meio dessa aba, pode-se inserir um texto descritivo que exponha com clareza as principais informações sobre a tarefa. Sendo assim, ao considerar este contexto, você poderá orientar outros usuários por meio deste detalhamento.
Aba Resumo do Histórico
O resumo do histórico é uma forma de organizar as informações que aparecerão no histórico e permitem pequenas edições de formatação. Acesse este histórico nas Tarefas de Usuário do Processo de Negócio.
Ao clicar nessa aba, você poderá visualizar uma prévia do conteúdo salvo, ou um quadro em branco, caso não haja nenhum elemento no histórico. Acima do quadro, você pode clicar em "Editar resumo do Histórico" e uma tela de edição será exibida:
Através da tela de edição, você poderá montar o resumo do histórico e existem algumas variáveis para te auxiliar na criação do template:
- Variável de título de formulário $FormTitle{titulo}: A palavra título poderá ser alterada para escrever qualquer mensagem e, quando o nome da entidade for colocada na frase, ela será automaticamente substituída pela descrição do formulário.
- Variável $Form:NomeDaEntidade[criteria]{ Conteúdo da entidade }Form.: Todo o conteúdo dentro dessa variável será interpretada como parte daquele formulário que poderá conter outras duas variáveis: a de campo e a de valor. O [criteria] é um atributo opcional e nele poderão ser feitas filtros de busca (em SQL).
- Variável de campo #NomeDaEntidade.NomeDoCampo: Ao ser colocada dentro da variável de um formulário, esta variável será traduzida para a descrição do campo do formulário preenchido. Caso não haja nome da entidade antes do nome do campo, a variável será interpretada como campo do formulário embarcado. Por exemplo: #NomeDoCampo.
- Variável de valor $NomeDaEntidade.NomeDoCampo: Ao ser colocada dentro da variável de um formulário, esta variável será traduzida para o valor do campo do formulário preenchido. Caso não haja nome da entidade antes do nome do campo, a variável será interpretada como campo do formulário embarcado. Por exemplo: #NomeDoCampo.
Nota: as 4 variáveis acima, poderão compor o template que é apresentado na tela de histórico da tarefa (Lista de Tarefas):
Conforme demonstramos acima, a primeira interface do histórico da tarefa é a time line vertical, onde serão exibidas as tarefas executadas e, ao clicar em qualquer card, uma tela se abrirá, apresentando o histórico formatado conforme o template criado inicialmente, caso não haja nenhum template previamente salvo, todos os formulários e respectivos campos serão exibidos na tela.
Aba Relatórios Formatados
Nessa aba, o sistema permitirá que você insira Relatórios Formatado, e estes serão configurados na tela Relatórios Formatados. Tem-se que uma vez que foi inserido um relatório vinculado em uma atividade, os usuários poderão imprimir relatórios personalizados ou formatados nas Tarefas do Processo.
Aba Eventos
Eventos (ou listeners) são uma estrutura programada que observa determinados acontecimentos e executa alguma ação como consequência. Vejamos exemplos de listeners:
- Criação de tarefa: Ao criar uma tarefa, os usuários encarregados à ela serão notificados;
- Atribuição/Desatribuição: Quando a tarefa é atribuída ou desatribuída a algum usuário, um novo membro da equipe é adicionado ou removido do projeto;
- Finalização da tarefa: Ao concluir a tarefa, o solicitante do processo é notificado.
Os eventos podem ser de Processo ou de Tarefas, podendo ser configurados em um dos 3 tipos de Ação Programada disponibilizados. São elas:
- Java;
- Procedure;
- Script (JavaScript ou Groovy).
Nas Tarefas do processo de negócio, o usuário poderá configurar Eventos, para:
- Formulário Embarcado: A Ação sempre será ao "Salvar" o mesmo;
- Formulário Formatado: Nesta opção, você poderá criar eventos ao "Incluir", "Alterar" ou "Excluir" um registro no formulário, do qual poderá ocorrer antes ou depois do registro ser persistido no banco;
- Apontamento: Pode-se criar os eventos para as ações "Excluir" quando um apontamento for excluído, "Incluir" ao inserir um apontamento manualmente, "Pausar" quando o apontamento for pausado, "Iniciar" no momento em que um apontamento for iniciado, ou "Alterar" quando um apontamento for alterado;
- Tarefa: As ações desta opção poderão ser "Atribuição/Desatribuição", "Finalização" ou "Criação" das Tarefas.
Observação: caso uma das ações for Incluir, Alterar ou Excluir, a opção "Quando" será habilitada para que você realize a configuração no momento em que o listener deverá ser executado, antes ou depois do registro ser persistido no banco.
O botão para configuração de Eventos também será apresentado no contexto de Tarefa na aba Formulários (acima da lista dos formulários embarcado e formatado). Nesse local, o pop up já será aberto no contexto em que este se encontra, assim, você precisará apenas realizar as configurações necessárias do Evento.
Aba Dashboards
Por meio desta aba, você poderá adicionar Componentes de BI que serão apresentados como Dashboards na tarefa durante sua execução como uma ferramenta acessória da mesma.
Assim, para adicionar o(s) Dashboard(s) na tarefa, clique no botão "Adicionar" disponível na aba e posteriormente salve o processo para que dessa forma, este possa ser iniciado na Lista de Tarefas.
Você poderá visualizar os Dashboards por meio do botão na Lista de Tarefas.
Importante: para que os dados do Dashboard seja vinculado com a solicitação é preciso que o Componente de BI utilizado possua obrigatoriamente os parâmetros "IDINSTPRN" e "IDINSTTAR" que serão alimentados automaticamente durante a abertura do Dashboard.
[voltar ao topo] [voltar ao subtítulo]
Essas tarefas são executadas automaticamente pela aplicação, e por meio dessa encaminhe ao destinatário cadastrado uma mensagem via e-mail. Assim, considere:
Em relação ao campo "Nome" será necessário registrar a nomenclatura correspondente a tarefa a ser executada.
Sobre o campo "Conta SMTP", insira o código que corresponde a conta referida.
Observação: para que ocorra o devido encaminhamento do e-mail é indispensável que seja realizado o cadastro prévio de uma conta na tela Contas SMTP.
No campo "Destinatário(s)" deve-se proceder com o registro de um ou mais destinatários que deverão receber a mensagem configurada nessa tarefa, fazendo-se necessário separá-los por vírgula ou ponto e vírgula.
Para envio de notificação ao usuário solicitante da tarefa, você também poderá informar o método de busca "getEmailSolicitante" no campo Destinatário(s), dessa forma, o sistema buscará o e-mail do usuário solicitante da tarefa para que a mesma seja notificada, se o e-mail deste estiver cadastrado no Cadastro de Usuários, aba Notificação.
Informe no campo "Assunto" o conteúdo principal relacionado a mensagem.
O campo "Mensagem" torna-se disponível para preenchimento ao clicar no botão . Desse modo, pode-se descrever neste as informações pertinentes a tarefa, para que posteriormente a mensagem seja encaminhada aos destinatários.
Importante: ainda nesse cenário, considerando o Painel de Propriedades relacionado à essa tarefa, pode-se configurar a aba "Multiplicidade".
- Sub-aba Dados de Envio
Nessa sub-aba, você deverá informar quem enviará o e-mail no campo "Remetente".
No campo "Destinatário" deve ser inserido o e-mail daquele que irá receber o mesmo.
- Sub-aba Mensagem
Por meio dos campos "Assunto" e "Mensagem" editar os detalhes da mensagem a ser inserida no e-mail.
- Sub-aba Anexos
Nesta sub-aba, você poderá inserir anexos de e-mail na Tarefa de e-mail. É possível a inserir Relatórios Formatados, Arquivos e campos do tipo anexo dos Formulários Embarcado, Formatado e Nativo.
Para a inserção de anexos do tipo Relatório Formatado, o usuário deverá clicar no botão , em seguida o sistema apresentará um pop-up para pesquisa:
Nota: os parâmetros incorporados no relatório pelo sistema são:
- Instância do Processo;
- Código do Processo;
- Versão do Processo;
- Código do Usuário de inclusão do processo.
Anexos do tipo Arquivo poderão ser inseridos por meio do botão . Ao selecioná-lo, um pop-up contendo os arquivos do seu computador será exibido para seleção, ao escolher o arquivo este será anexado na sub-aba Anexos.
Para anexar ao e-mail um campo de formulário, clique no botão , então um pop-up com os campos do tipo anexo dos formulários vinculados ao processo será apresentado.
Referente aos formulários Nativo e Formatado, estes deverão estar no contexto de processo ou atividade para que o campo para inclusão como anexo possa ser exibido.
Tem-se que ao selecionar os formulários Nativo ou Formatado, uma configuração será habilitada para identificação do anexo e o questionará se este irá preferir todas as linhas do formulário ou apenas a última.
As tarefas manuais são executadas necessariamente por uma pessoa sem que haja interação com o sistema. Diante disso, estas são utilizadas apenas para representar um acontecimento.
Observação: faz-se necessário mencionar que não são geradas instâncias de execução para tarefas manuais.
Importante: ao considerar o Painel de Propriedades relacionado a essa tarefa, pode-se configurar a aba "Multiplicidade". Diante disso, para maiores informações sobre, acesse o conteúdo disponibilizado no tópico Tarefa de Usuário.
As tarefas de serviços são rotinas de construções personalizadas que você irá programar para acontecer de forma automática. Assim, considere os seguintes pontos:
Por meio do campo "Nome" registra-se a nomenclatura da Tarefa de Serviço.
Faz-se necessário inserir o usuário que será utilizado pela aplicação na execução da rotina por meio do campo "Usuário Executante".
No campo "Tipo de serviço" teremos as configurações das rotinas a serem utilizadas. Deste modo, teremos as opção "Ação Programada", "Plataforma de Serviço", "Web Service Interno" e "WebService Externo", e dentre estes temos o botão "Configurações" em que ao clicar neste, dependendo da opção do Tipo de Serviço que você selecionar, o pop up de Configurações exibirá àquelas pertinentes à opção selecionada:
- Ação programada
No campo "Tipo de Rotina" selecione uma rotina dentre as opções "Java", "Script" e "Banco de dados". Diante disso, será necessário atentar-se aos seguintes pontos:
Por meio da Rotina Java deve-se considerar as informações abaixo:
- Quando necessário, insira no campo "Módulo" o módulo adicional relacionado a este.
- Tem-se que o campo "Classe Java" será preenchido automaticamente pelo sistema.
Em relação a Rotina Script tem-se que o sistema permitirá que sejam utilizadas as linguagens "JavaScript" ou "Groovy".
Ao considerar a Rotina Banco de Dados deve-se preencher o campo "Nome da rotina" utilizando a nomenclatura correspondente à procedure.
Observação: para esse caso, será necessário acionar o botão "Criar template da rotina" localizado no canto direito do pop-up em referência. Após esse procedimento, tem-se que o sistema disponibilizará a seguinte mensagem:
"Foi criado um template da rotina (Stored Procedure). Agora você deve editá-lo diretamente no Banco de dados, com uma ferramenta de sua preferência."
Ainda nesse cenário, para alterar o template criado anteriormente, deve-se acionar o botão "Remover template da rotina".
Nota: ao solicitar que a rotina seja removida no banco de dados tem-se que o sistema apresentará a seguinte mensagem:
"Esta ação irá excluir PERMANENTEMENTE a rotina no Banco de dados (Stored Procedure). Deseja realmente prosseguir?".
Importante: de acordo com esse contexto, será necessário considerar os seguintes pontos:
- Ao registrar um template da rotina no sistema, tem-se que este seguirá um padrão que possui funções/procedures que estão devidamente armazenadas no banco de dados.
Observação: diante disso, você poderá realizar alterações, procedendo com configurações específicas no banco de dados correspondente.
- Nas configurações do parâmetro "Quantidade máxima de execuções de uma tarefa (loop) - MAXINSTTASK" pode-se estabelecer a quantidade máxima de ocorrências de instâncias de uma mesma tarefa por transação.
Nota: posto isso, tem-se que será definido por padrão no campo "Inteiro" (tela Preferências) o valor 100.
- Nos casos em que excederem a quantidade de execuções de uma tarefa, o sistema apresentará a seguinte mensagem:
"A tarefa não foi executada! Quantidade máxima de instâncias da tarefa "X" atingida durante a execução do processo."
Importante: ainda nesse cenário, considerando o Painel de Propriedades relacionado à essa tarefa, você poderá configurar a aba "Multiplicidade". Diante disso, para maiores informações sobre essa, acesse o conteúdo disponibilizado no tópico Tarefa de Usuário.
- Plataforma de Serviço
Por meio dessa opção, você terá à disposição serviços estruturados, desta forma não será necessário utilizar determinados serviços do Sankhya-Om ou a implementação do módulo Java bastando apenas selecionar a lista de serviços, sendo estas:
- Geração de arquivo de remessa (EDI Comercial);
- Serviço para faturamento de pedidos;
- Impressão de relatório formatado;
- Serviço para impressão de relatório;
- Serviço para simulação de frete;
- Serviço para enviar avisos;
- Serviço para confirmação de notas/pedidos.
Assim, pode-se utilizar linguagem JavaScript ou ainda poderá inserir um valor fixo para o serviço que será consumido no campo "Valor". Destacamos ainda que com este tipo de Tarefa de Serviço você poderá personalizar uma tarefa como desejar utilizando uma linguagem de programação para programar uma determinada rotina ou ação de maneira simples.
Observação: com a opção selecionada "Serviço para confirmação de notas/pedidos", no processo logo após o lançamento de um pedido simplificado de venda, é gerado o número da nota para logo em seguida, ser confirmada com a Plataforma do Pedido. O Número da Nota e o Código de Usuário que constam no processo são os requisitos para confirmação da nota.
- WebService Externo
Por meio desse, você terá uma nova forma consulta de dados externos utilizando requisições dentro de uma tarefa de serviço.
Após selecionar o WebService Externo e clicar o botão "Configurações", o sistema exibirá o pop up "WebService Externo" para que você possa preenchê-lo. Dessa forma, teremos os campos:
Em "URL" insira onde será realizada a requisição.
O "Método" será o tipo de acesso a ser utilizado na requisição, sendo que você poderá escolher entre "GET" ou "POST".
No campo "Tipo de Envio" selecione a forma que o dado será enviado na requisição, onde você poderá selecionar entre "XML", "JSON" e "Outros" em que caso selecione a opção Outros será necessário cadastrar o Content-Type referente aos tipos de dados a serem enviados.
No botão do pop-up teremos propriedades que serão utilizadas para configurações adicionais na chamada da requisição como tokens de validações ou Tipos de dados.
O quadro "Variáveis da URL" conterá os parâmetros a serem enviados juntos à URL.
Insira na aba "Envio" insira os valores a serem enviados no corpo da requisição.
Na aba "Retorno", você terá acesso ao retorno da requisição, ou seja, após a execução os valores retornado serão salvos em uma variável chamada "result_WSE". Para consumir esses dados, bastará chamá-la em seu script.
Referente ao campo Variáveis da URL, e nas abas Envio e Retorno você poderá inserir códigos em "Javascript" ou "Groovy", sendo que no campo Variáveis da URL e aba Envio será necessário a utilização do "return" em seus scripts.
Assim, após o cadastro das informações e a publicação do processo, será necessário acessar a Lista de Tarefas e executar um novo item até onde encontra-se o serviço cadastrado.
- Web Service Interno
Semelhante ao Web Service Externo, ao clicar no botão Configuração o sistema exibirá o menu "Web Service Interno" em que teremos:
A aba "Requisição" em que o campo "Serviço" será utilizado como referência do serviço na execução do processo.
No quadro "Requisição" você irá inserir os dados que serão enviados como parâmetros do serviço, sendo que neste pode-se selecionar dentre as linguagens "Groovy" ou "Javascript" e para a sua utilização, você precisará utilizar o "return".
Por meio da aba "Retorno" você poderá acessar o retorno do serviço, em que, após sua execução os valores retornados serão salvos em uma variável que nomeia-se "retornoWSI". Destacamos ainda que para o consumo desses dados de retorno, necessita-se apenas que você o chame em seu script.
Após o cadastrar corretamente as informações e publicar o processo, acesse a tela Lista de Tarefas e execute o novo item criado até onde estará o novo serviço cadastrado.
Tem-se ainda que se houver certa inconsistência em algum dos parâmetros inseridos, o sistema apresentará a seguinte mensagem:
"Ocorreu uma falha ao executar tarefa do script "Web Service Interno". Mensagem: O tipo dos dados enviados são inválidos! Por favor verifique se os dados são XML ou JSON."
Por meio do SubProcesso Reutilizável, você poderá realizar a execução de subprocessos a partir de uma nova tarefa. Para que tal ação seja possível, é preciso selecionar um processo que esteja publicado.
Tem-se que, caso a aba "Dados de Entrada" esteja preenchida com scripts das informações do processo mestre, estas serão levadas ao subprocesso que conterá os formulários deste. Sendo que, este fluxo também ocorrerá na aba "Dados de Retorno", ou seja, quando preenchido levará as informações do subprocesso para o processo mestre.
Ressaltamos ainda que, quando o subprocesso for finalizado, o fluxo do processo mestre será retomado.
Publicação do Processo
Ao realizar o procedimento de Publicação do Processo, ocorre a validação do diagrama criado de acordo com suas respectivas configurações.
Posto isso, a publicação consiste em realizar uma série de validações em relação ao desenho do processo e suas funcionalidades. Portanto, caso sejam encontradas inconsistências, o sistema disponibilizará por meio do pop-up "Erros do Diagrama" as informações a serem corrigidas.
Nota: você poderá iniciar apenas os processos publicados, sendo assim, tem-se que os processos não publicados, não tornam-se disponíveis para a visualização na lista de processos para inicialização.
No topo dessa tela, tem-se o botão "Publicar Processo" que permite a execução da publicação do processo mencionado.
Ainda nesse contexto, quando um processo já estiver publicado, será disponibilizado o botão "Despublicar Processo" permitindo que seja revertido o processo de publicação de todas as versões do processo, de modo que essas não fiquem mais disponíveis para a inicialização por parte dos usuários.
Observação: quando alguma alteração for realizada no Fluxo de um Processo já publicado, porém, não houver sido instanciado, faz-se necessário despublicá-lo, ou seja, alterar o campo "Dh. publicação" (aba Geral).
[voltar ao subtítulo] [voltar ao topo]
Acesse também:
Comentários
0 comentário
Por favor, entre para comentar.