Salvar formulário antes de enviar

Boa tarde!

A minha situação é a seguinte:

Tenho um processo em que faço alguns cálculos e validações com os dados do formulário do processo diretamente via SQL, consultando os dados diretamente no banco de dados. O problema é que meu processo possui uma atividade onde estes dados são preenchidos e a próxima atividade é uma atividade automática (conforme circulado na foto abaixo). Como a próxima atividade é automática, o Fluig não salva os dados do formulário que estão na tela no momento, no banco de dados, pois ele só "completa a tarefa" e salva quando também terminar as atividades automáticas. O Fluig tem a opção de salvar o formulário e aparentemente isso também grava os dados no banco corretamente. Porém, se fizer isso ele "sai do processo", sendo assim, o usuário precisa acessar a tarefa novamente e etc. Basicamente, o que eu preciso é que ele salve os dados do formulário antes de iniciar a tarefa automática "Possui orçamento ?" para que os dados preenchidos no formulário estejam salvos no banco e possam ser recuperados via SQL, sem ter a necessidade de utilizar os métodos do Java/JavaScript como hAPI.getCardValue()... O tratamento das informações via banco é muito mais prático e consistente neste caso, já que uso este retorno para realizar a integração com o Protheus e emitir os pedidos de compra.

Existe alguma maneira de forçar que o formulário seja salvo antes de enviar para a atividade automática? Ou tem como fazer isso via script? Como por exemplo, forçar isso no beforeStateEntry da atividade automática? Para que faça algo neste sentido: "beforeStateEntry(numeroAtividade){ salvarFormulario(); processarRestoDoCodigo() }"?

Tenho uma certa urgência para colocar isto em produção... O que vocês sugerem?

236983.png

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Você já tentou usar o beforeTaskSave em seu Script? Você pode usar antes do gateway uma tarefa do tipo negócio ou script antes do gateway.

Opa, boa tarde! Mas é justamente o contrário que eu preciso hehe, preciso que seja salvo antes de enviar para a próxima tarefa…

@William, mas o evento que o @Italo comentou é exatamente antes de Salvar. Vocês faz os cálculos nesse evento e em seguida o sistema irá salvar e depois enviar.

@gabriel
Então, eu preciso que ele salve tudo no banco antes de enviar, e não executar antes das coisas serem salvas…

@William, no evento beforeTaskSave ele irá salvar os dados que você deseja. Após salvar os dados existe esse outro evento: afterTaskSave

Segue ordem dos eventos executados ao clicar em ENVIAR:


beforeStateEntry
beforeTaskCreate
afterTaskCreate
afterStateEntry
beforeSendData
validateAvailableStates
beforeTaskSave
afterTaskSave
beforeTaskComplete
afterTaskComplete
beforeStateLeave
afterStateLeave
afterProcessCreate
onNotify