Filtrar processos finalizados com campo do formulário

Olá a todos. Tudo bem?

Surgiu uma situação em um processo que eu desenvolvi no Fluig em que um ator gostaria de visualizar o valor do campo do formulário referente ao valor solicitado ao setor financeiro sem precisar entrar em cada solicitação para encontrar o valor desejado.
Eu consegui criar um filtro que apresentasse o valor desse campo na página ‘Central de Tarefas’, através do ‘Filtros de Processos’. Porém observei que na Central de Tarefas as solicitações que aparecem filtradas são somente as que estão em aberto, eu precisava visualizar as informações dos processos finalizados também.
É possível fazer isso? Como?

Você pode usar a API Requests

https://api.fluig.com/latest/process-management/swagger-ui/#/Requests/findRequests

Assim como na central de tarefas, é preciso definir o processId e o definir os campos no formFields no formato campo:valor. Aceita mais de um campo.

/process-management/api/v2/requests?processId=ID_DO_PROCESSO&formFields=nome%3ARamos&formFields=forum%3Afluiggers&page=1&pageSize=1000

Fiz uma requisição a esse endpoint da seguinte maneira

/process-management/api/v2/requests?status=OPEN&status=FINALIZED&processId=ARF-SolicitacaodeViagem&formFields=solicitante&formFields=totalSolicitado&page=1&pageSize=1000

Porém o retorno tem sido esse:

“items”: [
{
“processInstanceId”: 1060,
“processId”: “ARF-SolicitaçãodeViagem”,
“processVersion”: 20,
“active”: true,
“requester”: null,
“formRecordId”: 5055,
“formId”: 2886,
“startDate”: “2024-11-08T20:03:01.000+0000”,
“periodId”: “Default”,
“activities”: null,
“formRecord”: null,
“formFields”: null,
“slaStatus”: “ON_TIME”,
“status”: “OPEN”,
“processDescription”: “ARF - Solicitação de Viagem”,
“deadlineSpecification”: null,
“_expandables”: [
“requester”,
“formRecord”,
“activities”,
“formFields”,
“deadlineSpecification”
]
}(…)

Sem pontuar os campos do formulário que coloquei na requisição. Estou errando em algum ponto?

Eu havia entendi que você queria filtrar por campo de formulário, não trazer os campos de formulário. Então o param formFields que passei antes pode ser ignorado.

As API’s normalmente possuem os parâmetros do expand. No retorno, ele diz as opções:

“_expandables”: [
   “requester”,
   “formRecord”,
   “activities”,
   “formFields”,
   “deadlineSpecification”
]

Então você pode usar o parâmetro expand=formFields

/process-management/api/v2/requests?status=OPEN&status=FINALIZED&processId=ARF-SolicitacaodeViagem&expand=formFields&page=1&pageSize=1000

Excelente!
Eu poderia pela requisição filtrar apenas os campos que eu quero que retorne?

Não. Ele traz todos. O único que eu acho que filtra os campos é no de formulário em si. Mas pra fazer o que tu quer, teria que o formulário ter também a informação da atividade atual. O {formId} é o código do formulário que está vinculado ao processo

/ecm-forms/api/v2/cardindex/{formId}/cards?%24filter=campoPesquisavel%20eq%20'123'%20and%20outroCampo%20eq%20'456'&fields=campoRetornavel&fields=outroCampoRetornavel&page=1&pageSize=100

Como ficou um pouco complicado, acho interessante deixar a imagem de como ficou no swagger, pra poderes entender melhor:

Mas não vai trazer nenhum dado da solicitação. Talvez o mais interessante é fazer mesmo com dois endpoints, mas depende o que tu precisa dai.

Excelente. O endpoint process-management vai suprir minha necessidade.
Muito obrigado!

Caso nao conheça, tem tambem a opção de trabalhar com os Relatorios do Fluig, é bem interessante.

Bom dia @Ramos ,

Fiz aqui de uma forma diferente.

Criei uma Widget que busca um dataset customizado e mostra todos os processos com filtros pré-determinados.
Assim o usuário além de buscar os workflows que ele precisa tem a opção de consultar todos os processos que estão em aberto, finalizados e/ou cancelados tudo em uma tela apenas.

Caso ele precise visualizar o formulário tem um botão em cada linha que abre o form em uma modal sem sair da tela e também para os anexos histórico de movimentação e subprocessos ligados ao processo pai.

Um dataset que faz a carga destes dados e a Widget que oferece todas as facilidades para o usuário.

Fica bem interessante para os usuários que acabam utilizando somente esta widget que concentra tudo que ele precisa. Tudo em uma tela.

Se quiser ver mais sobre ela é só me chamar.
Abs

Vou dar uma estudada nisso, parece muito interessante. Obrigado

Wow, isso seria perfeito. Consegue me mostrar um exemplo de como ela ficou no ambiente?

@Ramos posso te mostrar sim. Me fala uma disponibilidade tua.
Me passa e-mail rca0261.negocios@gmail.com que marcamos um horário para você conhecer esta Widget.

Abs