Olá! Tenho que fazer em um evento workflow, o início de processos, porém será 1 para cada usuário, na qual estão todos sendo armazenados dentro de um Array. Porém, quando o evento é executado, ele não inicia os processos em paralelo. Utilizei um try catch para obter o erro, porém ele retornou um erro no qual eu nunca vi nessa situação.
Segue o erro: com.fluig.bpm.exception.validation.BPMProcessDefinitionVersionNotFoundException: Versão do Processo não encontrada.Empresa 1 processo AgendamentodeLimpeza
Segue o código:
var creator = dataset.getValue(0, "colleagueName");
var func = hAPI.getCardValue("hdi_funcionarios");
var funcionarios = func.split(",");
var prcID = "AgendamentodeLimpeza";
var ativDest = 2;
var obs = "Processo iniciado automaticamente com base em um agendamento previamente feito por "+ creator;
var completar = true;
var gestor = false;
var campos = new java.util.HashMap();
campos.put("sBloco", hAPI.getCardValue("sBloco"));
campos.put("sSala", hAPI.getCardValue("sSala"));
campos.put("tServico", hAPI.getCardValue("tServico"));
campos.put("sPrioridade", hAPI.getCardValue("sPrioridade"));
hAPI.setCardValue("teste", funcionarios[0] + funcionarios[1] + " // " + funcionarios.length + " // " + obs + " // ");
for(var i in funcionarios){
hAPI.setCardValue("teste","23");
var users = new java.util.ArrayList();
users.add(funcionarios[i]);
hAPI.setCardValue("teste","26");
try{
hAPI.startProcess(prcID, ativDest, users, obs, completar, campos, gestor);
}catch(exception){
hAPI.setCardValue("teste", exception.message);
}
//hAPI.setCardValue("teste","28");
}
Essa função está rodando dentro do evento afterProcessCreate.
Todas as variáveis que estou utilizando no startProcess estão com valores, e valores corretos. Todas foram verificadas utilizando setCardValue em um campo de testes para ver se ela está retornando algum valor.
Aguardo ansiosamente uma resposta, e obrigado por sua atenção.
Bom dia Adilson, ele sempre vai procurar a última versão do processo que não está em edição. Ou seja para esse erro ocorrer o provável seria que ou o id do processo não é exatamente "AgendamentodeLimpeza" ou não existe ainda nenhuma versão liberada dele, não foi efetuado o "Liberar Versão" desse processo ainda.
— Diogo Boegershausen 18 de Jul de 2018Boa tarde Diogo! O id do processo estava sendo mostrado de duas maneiras diferentes em lugares diferentes pelo eclipse. Tentei o outro método, porém agora quando o evento é disparado, ele passa muito tempo na tela de carregamento (uns 5 minutos) e por fim nem inicia a solicitação. Acreditando que o problema pudesse ser no for, eu comentei o inicio e fim do for, e passei um usuario fixo para testes, mas mesmo assim o erro persistiu. Porém, quando comento a linha do hAPI.startProcess, ele envia e cria a solicitação normalmente. Tem alguma ideia do que pode estar acontecendo?
— Adilson Honorato 18 de Jul de 2018Esse evento afterProcessCreate é do mesmo processo que você está tentando iniciar (AgendamentodeLimpeza)? Nesse caso ele entraria em looping ao tentar iniciar ele mesmo
— Diogo Boegershausen 18 de Jul de 2018Tem razão, não havia pensado nisso. Vou utilizar isso em outro evento workflow e ver se funciona.
— Adilson Honorato 19 de Jul de 2018O erro estava ocorrendo devido a um cadastro invalido de usuário no banco de dados, ele não conseguia enviar para um usuário que não existe. Obrigado pela atenção Diogo!
— Adilson Honorato 20 de Jul de 2018