Noções Básicas Sobre Fluxos de Processo
Um fluxo de processo é uma interface de usuário que guia um usuário por uma série de ações a fim de concluir uma tarefa específica. A tarefa pode ser tão simples quanto uma coleta de informações para atualizar os dados da empresa, ou pode envolver lógica mais complexa como o envio de um processo em batch de rastreio com troca de mensagens com um sistema externo, entre outras.
Esta seção descreve os tópicos relacionados à criação dos fluxos de processo e como trabalhar com eles.
Um Fluxo de Processo É Feito de Painéis
Cada fluxo de processo consiste em um número de "etapas" sequenciais necessárias para concluir uma determinada tarefa. Cada etapa é representada por uma parada em uma barra de progresso e em um painel associado.
O progresso é linear, de modo que cada etapa pode levar apenas a mais uma etapa. Um fluxo de processo se inicia em uma etapa inicial única, mas permite chegar a uma ou mais de uma etapa final, na qual o usuário pode decidir se o processo está concluído.
-
Inserir dados ou tomar ações conforme solicitado pelo painel da etapa.
-
Continuar para uma etapa seguinte, se houver uma.
-
Voltar para qualquer etapa que tenha visitado anteriormente.
-
Concluir o fluxo de processo se a etapa atual for a etapa final.
-
Salvar o trabalho no fluxo de processo e continuar o trabalho ou sair dele. Posteriormente, o usuário poderá continuar o trabalho no fluxo de processo do lugar de onde parou.
-
Cancelar o fluxo de processo.
Um tipo de fluxo de processo define todos os metadados necessários para controlar o comportamento dos fluxos de processo de um determinado tipo. Isso inclui as sequências das etapas, o painel e as regras associadas a cada etapa, entre outros.
Apresentação do Painel
O painel apresentado em cada etapa do fluxo de processo é renderizado com base no tipo de painel selecionado na configuração da etapa.
O tipo de painel de Área de Dados é renderizado utilizando Dicas de IU criadas sobre o esquema de uma área de dados específica.
O tipo de painel Mapa de Interface de Usuário é renderizado utilizando um fragmento de mapa de IU específico.
O tipo de painel Conjunto de Painel é renderizado como um conjunto de guias, uma para cada painel que faz referência ao painel atual como seu painel-pai. Clicar em uma das guias renderiza a IU com base no tipo do painel selecionado. O comportamento de um conjunto de painéis é análogo a, ou pode ser pensado como, um fluxo de processo aninhado dentro de um único painel. Um conjunto de painéis não pode incluir outro conjunto de painéis.
Um Mapa de Interface de Usuário Único
Embora o usuário insira dados em um painel de cada vez, os dados são coletados e capturados no nível do fluxo de processo inteiro. Todos os elementos editados e exibidos nos diversos painéis do fluxo de processo devem ser incluídos no esquema geral do processo e referenciados por seus respectivos locais XPath nesse esquema. Cada tipo de fluxo de processo define seu esquema exclusivo em um mapa de IU projetado.
O HTML do mapa da IU deve simplesmente incluir o fragmento de mapa da IU Controlador do Fluxo de Processo (F1-ProcessController) e nada mais. Este é projetado para renderizar a interface de usuário de um fluxo de processo com base nos metadados definidos em seu tipo de fluxo de processo.
Scripts do Painel
Um único script de serviço de Pré-Processamento pode ser associado a um painel a fim de preparar os dados antes que o painel seja apresentado ao usuário. O sistema chama o script toda vez que o usuário navega até esse painel em um fluxo de processo não finalizado.
Um único script de serviço de Pós-Processamento pode ser associado a um painel a fim de validar os dados inseridos pelo usuário nesse painel. O sistema chama o script toda vez que o usuário sai do painel em um fluxo de processo não finalizado.
Scripts do Fluxo de Processo
Um único script de serviço de Início do Processo pode ser associado a um fluxo de processo a fim de preparar os dados antes que um fluxo de processo iniciado recentemente seja apresentado ao usuário.
Um único script de serviço de Fim do Processo será executado quando o usuário clicar nos botões Fim ou Cancelar Processo para concluir o fluxo de processo. Todo o conjunto de dados coletado pelo esquema do mapa da IU do fluxo de processo será fornecido a esse script de serviço para o processamento final.
Painel de Resumo
Por padrão, quando um usuário termina um fluxo de processo, assim como quando ele visualiza um processo já fechado, o portal do fluxo de processo exibe o último painel em que o usuário estava trabalhando. Para fluxos de processo mais complexos, é possível fornecer um painel que resuma as informações de todo o processo. Se for especificado no tipo do fluxo de processo, o sistema exibirá esse painel de resumo no lugar da visualização padrão de um processo fechado. O usuário pode alternar entre a visualização de resumo e a detalhada a qualquer momento.
O painel de resumo pode ser implementado como um fragmento de mapa de IU ou como uma área de dados, como outros painéis, mas não pode ser associado a nenhum script de painel.
Inicializando um Novo Fluxo de Processo
-
Definira altura da área do BPA como zero.
-
Preencher a variável temporária $processCode com o código do tipo específico do fluxo de processo.
-
Transferir o controle para o script de BPA comum Navegação do Fluxo de Processo (F1-PROCEXEC).
A inicialização de um fluxo de processo de um tipo específico pode ser feita através de uma opção do menu designado ou dentro de um contexto específico aplicável a esse tipo de tarefa. Assim, esse item precisa ser configurado especificamente para cada tipo de fluxo de processo. A opção de navegação associada a essa opção de inicialização deve fazer referência ao script de BPA associado ao tipo correspondente do fluxo de processo.
Salvando o Progresso
O usuário pode salvar o progresso que fez em um fluxo de processo quando quiser. Se estiver ativado no tipo do fluxo de processo, o sistema também salvará os dados automaticamente quando o usuário navegar para outro painel ou sair do portal do fluxo de processo.
Em ambas as operações de salvamento, manual ou automática, o script Gerenciador do Processo definido no tipo do fluxo de processo é chamado para salvar todos os dados do fluxo de processo em um registro designado no banco de dados.
O produto base fornece um objeto de manutenção Fluxo de Processo genérico projetado para dar suporte ao armazenamento de qualquer tipo de fluxo de processo, assim como de scripts de gerenciador de processo. Caso um fluxo de processo de um tipo específico deva ser salvo em outro lugar, um script de gerenciador de processo dedicado deverá ser implementado e usado no lugar daquele.
Revisar Registros do Fluxo de Processo
Um registro de fluxo de processo é criado quando um usuário salva seu progresso ou quando o tipo de fluxo de processo permite que salve automaticamente. Quando o usuário termina um fluxo de processo, dependendo da configuração do tipo do fluxo de processo, o registro poderá ser excluído ou retido para propósitos de auditoria.
O portal Consulta de Fluxo de Processo permite que um usuário retome seu trabalho em um fluxo em andamento e revise as informações associadas a quaisquer fluxos finalizados.
A revisão de registros de fluxo de processo de um tipo específico também pode ser feita a partir de uma opção de menu designada ou dentro de um contexto específico aplicável a esse tipo de tarefa. Assim, esse item precisa ser configurado especificamente para cada tipo de fluxo de processo. A opção de navegação associada a esse item deve fazer referência a um portal de consulta projetado para permitir o gerenciamento e consultas a tipos específicos de registros de fluxos de processos.