Bom dia pessoal, estou enfrentando a seguinte incógnita:
Existe o processo 1 e processo 2
Na segunda atividade da requisição Y do processo 2, o responsável por ela deve ser o solicitante da requisição X do processo 1, como eu posso fazer isso?
Bom dia pessoal, estou enfrentando a seguinte incógnita:
Existe o processo 1 e processo 2
Na segunda atividade da requisição Y do processo 2, o responsável por ela deve ser o solicitante da requisição X do processo 1, como eu posso fazer isso?
Olá, tudo bem? Vou colocar um exemplo aqui considerando que você tenha o número da solicitação do processo 1.
Cria um mecanismo customizado assim
function resolve(process,colleague){
var userList = new java.util.ArrayList();
var task = "CODIGO DA REQUISICAO X";
var numSolicitacao = "NUMERO DA SOLICITACAO";
/* processTask => DATA SET PARA PEGAR USUARIO QUE EXECUTOU A TASK */
var c1 = DatasetFactory.createConstraint("choosedSequence", task, task, ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint("processTaskPK.processInstanceId", numSolicitacao, numSolicitacao, ConstraintType.MUST);
var ds = DatasetFactory.getDataset("processTask", null, [c1, c2], null);
userList.add(ds.getValue(0, 'processTaskPK.colleagueId'));
return userList;
}
Assim você consegue atribuir. Testa aí.
Abs
obrigado, outra dúvida, este código eu devo usar nos eventos do form ou em um script específico do workflow?
Coloca em um mecanismo customizado, e atribuí ele a tarefa (requisição Y do processo 2).
Para criar o mecanismo customizado segue a doc Mecanismo de atribuição personalizado - TOTVS Fluig - TDN
Abs
Valeu! Consegui criar o mecanismo customizado.
Fiz um teste colocando os valores abaixo nas variaveis citadas:
var task = “592”;
var numSolicitacao = getValue(“WKNumProces”);
e retornou o erro:
Não existem colaboradores em comum para os mecanismos de atribuição da tarefa e da condição.
tentei colocar na task o número inteiro sem ser string e deu o mesmo erro
Então… o número da solicitação é do processo 1, se você pegar com o WKNumProcess ele vai pegar o a solicitação do processo 2, que é de onde você está executando… e a task é o código da tarefa do processo 1 tipo a imagem
Por que vocês está pegando quem executou a tarefa específica do processo 1
ah saquei! Realmente não fazia sentido kkk
atualizei os valores para a forma certa agora:
var task = 1;
var numSolicitacao = 592;
porém o erro persistiu, sabe o que pode ser?
Testei aqui e funcionou… vamos ver o que está retornando do dataset
Faz assim… executa o dataset pelo eclipse e coloca essa solicitação 592 no filtro.
No campo choosedSequence procura o número 1 e no processTaskPK.colleagueId vê que usuário está… se puder manda um print com todos os resultados.
Abs
Após eu analisar o dataset, observei que estranhamente a solicitação 592 não tinha o choosedSequence 1 e nem 0, e todas as outras tinham, ao tentar com outra solicitação deu certo!
Agradeço pelo apoio e paciência