BPM

Formulários WEB

752 views 06/04/2018 14/09/2020 marcio-poffo 4

Essa é uma dúvida comum:  “Se eu quiser fazer algo mais sofisticado em uma tela, como fazer um campo colorido ou um campo que só aparece se determinado valor em outro campo for x, ou utilizar um tipo de campo ou um layout que o formulário ECM não suporta, como eu faço?”

A resposta é utilizar formulários WEB. Os processos suportam dois tipos de formulários , ECM, já conhecida pela sua simplicidade de construção, porém com algumas limitações e com interface WEB. Um processo sempre vai ser integralmente um ou outro, não é possível algumas atividades utilizarem ECM e outras, formulários WEB.

Para utilizar o modelo com formulários WEB, basta indicar nas propriedades do processo que ele é do tipo formulários WEB e em cada atividade colocar o link do formulário. O link do formulário pode ser sempre o mesmo ou pode ter um link diferente conforme a etapa. A construção do formulário que irá determinar o comportamento da tela em cada etapa.

O formulário é construído fora do BPM, utilizando ferramentas de mercado e pode ser hospedado onde o cliente preferir. Pode ser construído por exemplo com ferramentas como Front page, Dreamweaver, Visual Studio Code entre outros. Pode ser hospedada no Glassfish, Tomcat, IIS… Pode ser feito em HTML puro, Java, .NET, PHP. Pode-se utilizar frameworks como Bootstrap, Angular, JQuery. Ou seja, a construção é totalmente livre. Isso faz com que qualquer profissional de mercado que conheça WEB tenha competência para construir formulários para utilizar no BPM.

Mas como o formulários construído externamente se comunica com o BPM?
A plataforma fornece uma API que deve ser importada no formulários. É um javascript que incluído na página, permite conectar a página com o BPM. Essa API tem 3 funções principais de comunicação com o workflow.

São elas:

init: essa função é executada sempre que a página é carregada. Ela fornece dados para o formulário, como usuário logado por exemplo ou os dados do processo e variável do processo caso for um processo já em andamento.

onSubmit: o formulário deve implementar essa função para gravar os dados no BPM, para isso eles devem ser retornados na função. Importante que existam no BPM as variáveis do processo cadastradas para cada dado que se deseja gravar.

onError: função que é executada se em qualquer momento do processamento do formulário ocorrer algum erro para comunicar ao usuário. Exemplo um erro no processamento do método save.

Mais detalhes sobre a API pode ser vista aqui.

O botão de “Enviar” é padrão do BPM, ou seja, quem constrói a interface não precisa se preocupar com ele. Basta implementar a função save da API.

Este artigo foi útil para você?