Pesquisa de processos ativos nas atividades determinadas

Há vários DataStes para processos processDefinition, processTask, processHistory, processState...

Eu preciso pegar um processo e ver quais as solicitações desse processo estão ativas e nas atividades definidas.

Como posso fazer um DataSet que retorne os processos ativos que estejam nas atividades "X", "Y" ou "Z" do processo "PROCESSO1"?

Bom dia, @Guilherme!

Primeiro pode-se utilizar o dataset, workflowProcess, filtrando pelos campos processId (Id do processo) e active (true (ativos) ou false (não ativos)).

E retornando o campo processInstanceId (número da solicitação), assim terá todas as solicitações ativas de um determinado processo e poderá utilizar o processHistory para pegar a atividade ativa.

No processHistory, filtre pelos campos: processInstanceId e active. Retorne o campo: state.

Caso queira retornar a descrição da atividade, será necessário consultar o dataset, processState, campo de retorno, stateDescription.

No processTask é possível pegar o status da solicitação, data de conclusão, usuário responsável pela atividade, entre outros...

Att.,

Como eu relaciono esses datasets de processos com o dataset criado para o formulário do processo?

No dataset, workflowProcess, tem um campo, attachmentSeqId, com o valor deste campo, pode-se fazer uma busca no dataset, processAttachment, filtrando o valor anterior no campo, attachmentSequence, aí só utilizar o campo documentId e realizar a busca no dataset do formulário, passando o valor no filtro no campo, documentId. Por questões de evitar muitas buscas, pois são diversos datasets, eu utilizo como prática, persistir num campo hidden no form, o número do processo, assim consigo fazer uma busca direta, só passando o número da solicitação.