Formulário com campos preenchidos em seus eventos não funciona quando é iniciado como SubProcesso

Olá,

Eu tenho um processo chamado Pauta de Reunião da Diretoria, que é literalmente uma pauta da reunião e que ao término da reunião esse processo é finalizado.

Quando inicio o processo eu preencho automaticamente alguns campos dele no evento de formulário displayFields. Esses campos são obrigatórios (gerente e unidade).

campos.jpg

Agora estou criando o processo Contratações e em determinado momento essa contratação deve virar uma pauta de reunião, então criei uma atividade subprocesso que inicia o processo Pauta de Reunião da Diretoria.

O problema ocorre quando inicio o subprocesso, pois os eventos de formulário displayFields e enableFields não são disparados, assim os campos não são preenchidos.

Fazendo muitos testes descobri que o evento de formulário inputFields é disparado e nele eu posso fazer o preenchimento dos campos, porém eu só consigo alterar o valor dos campos que foram configurados em "Campos" da Atividade SubProcesso.

campos_subprocesso.jpg

Como os campos gerente_id e unidade não foram configurados, pois não precisam existir nesse Processo Pai, eu não consigo alterar os valores com o form.setValue no evento enableFields.

Tentei fazer as alterações no formulário com eventos de processos, mas todos os eventos de processo ocorrem após o evento de formulário validateForm (e que dispara o erro por não ter os campos preenchidos).

Eu imaginei duas opções pra resolver isso:

  1. Criar campos em branco no processo pai só pra configurar na atividade subprocesso e assim poder alterar seus valores no evento inputFields;
  2. Descartar o evento validateForm, fazendo as validações no JS no próprio HTML do formulário, e assim usar algum evento de processo para alterar os campos do subprocesso.

Mas ainda assim eu fiquei muito confuso com esse funcionamento, pois é contra intuitivo que não possamos alterar qualquer campo no evento do formulário só porque ele veio como um subprocesso.

Ps: analisando melhor a situação eu imagino a variável form, que é entregue no evento inputFields, é um objeto "request" que só possui os campos enviados via HTTP e por isso não dá pra adicionar um campo que não veio na requisição, somente editar o que foi enviado.

Como vocês trabalham em casos assim de preencher automaticamente alguns campos em formulários de subprocessos?

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags subprocesso formulario evento eventosformulario eventosdeprocesso eventos ou faça a sua própria pergunta.