Ola pessoal!
Como faço para obter o número da solicitação criada via ws startprocess? Sei que ele esta criando o subfluxo normalmente mas não sei como pegar o iProcess.
Meu erro esta dentro do IF q não reconhece o getKey(). Como faço para buscar o iProcess? Segue o meu codigo abaixo:
var rest = workflowEngineService.startProcess("xyz",
"zpto",
1,
"SolicitacaoDeTeste",
11,
stringArray,
"Solicitação inicializada pela função",
codSolicitante,
false,
processAttachmentDtoArray,
cardData,
processTaskAppointmentDtoArray,
true);
log.info("REST ITEM :" + rest.getItem().size());
var iProcess = "";
for (var j = 0; j < rest.getItem().size(); j++) {
log.info("DENTRO DO FOR :" + rest.getItem().get(j));
if (rest.getItem().get(j).getKey() == "iProcess") {
iProcess = listResult[j].getValue();
log.info("Solitaçãoooo :" + iProcess);
}
}
Olá Nilson,
o retorno seria um objeto StringArrayArray, que na verdade é uma lista de strings dentro de outra. No caso a posição 0 da segunda lista seria a chave e a posição 1 o valor:
var iProcess = "";
for (var j = 0; j < rest.getItem().size(); j++) {
var item = rest.getItem().get(j).getItem();
var key = item.get(0);
var value = item.get(1);
if (key == "iProcess") {
iProcess = value;
log.info("Solitaçãoooo :" + iProcess);
}
}
Sensacional Diogo Boegers!!!
Muito obrigado mesmo meu amigo… funcionou d+!
Quebrei a cabeça o dia todo com esse StringArrayArray, e alguns colegas meus também não haviam conseguido!
Mais uma vez obrigado e parabéns pela informação e apresentação da solução.
Segue a maneira utilizada por mim:
var ret = service.startProcessClassic(login, senha, 1, "procCompras", 0, userArray , "", solic, true, processAttachmentDtoArray,resultArr, appointment,
var numSolicSubProcesso = ret.getItem().get(4).getValue();
Obrigado Fhaidy Maciel, o negocio é que eu não usei o “startProcessClassic”, eu usei foi o “startProcess” que espera um stringArrayArray. O que o Felipe Louzada me passou atendeu d+!
Mas de qualquer forma muito obrigado pela ajuda!
Caso eu tenha utilizado outra forma do StartProcess, como seria o retorno ?
Via Web services.
var retorno = request.startProcess("USUARIO", "SENHA", codEmpresa, 'SA-FILHO', ativDestino, colleagueIds, 'processo iniciado pelo processo pai nº '+numProcessoPai, userId, true, ProcessAttachmentDtoArray, cardData, ProcessTaskAppointmentDtoArray, false);
Me desculpem, a resposta do nosso amigo Diogo Boegershausen foi perfeita.
Obrigado.