Puxar requisitante de outros processos

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

1 curtida

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 :confused:

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
image

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.


image

image
image

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

1 curtida

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

1 curtida