Baseado em modelos que encontrei aqui no Forum criei um mecanismo customizado que quando é movimentado ele atribui para um papel, quando é transferido deveria buscar uma lista de usuários que compõem aquele papel. Entretanto, quando faço a transferência no Fluig ele insiste em trazer a variável WKIsTransfer com valor nulo. Além disso, em dispositivos mobile ele não retorna o valor que seria o papel, mesmo estando gravado em um campo do formulário e atribuindo diretamente pelo mecanismo.
O fonte é o seguinte:
function resolve(process,colleague){
var isTransfer = getValue("WKIsTransfer"); var userList = new java.util.ArrayList();
log.info("#### 0. Início da Atribuição "+ colleague +" ####"); log.info("#### 0. Início da Atribuição a "+ JSON.parse(isTransfer) +" ####");
if (isTransfer == null) {
userList.add('Pool:Role:'+hAPI.getCardValue('idPapelResponsavel')); //throw "Role 1:"+hAPI.getCardValue("idPapelResponsavel"); log.info("#### 1. Fim da Atribuição "+ "Pool:Role:" + hAPI.getCardValue("idPapelResponsavel") +" ####"); } else { log.info("#### 2. Fim da Atribuição "+ isTransfer +" ####"); //if (isTransfer !== null) { if (JSON.parse(isTransfer)) {
var dest = hAPI.getCardValue("idPapelResponsavel").trim();
log.info("#### 3. Fim da Atribuição "+ isTransfer +" ####");
var c1 = DatasetFactory.createConstraint("workflowColleagueRolePK.roleId", dest, dest, ConstraintType.MUST); var constraints = new Array(c1);
var roles = DatasetFactory.getDataset("workflowColleagueRole", null, constraints, null);
for(var i = 0; i < roles.values.length; i++) { //userList.add(roles.getValue(i, "workflowColleagueRolePK.colleagueId")); userList.add(roles.getValue(i, "workflowColleagueRolePK.colleagueId")); log.info("#### 3. Fim da Atribuição "+ roles.getValue(i, "workflowColleagueRolePK.colleagueId") +" ####"); //throw "User:"+roles.getValue(i, "workflowColleagueRolePK.colleagueId"); }
} else { userList.add(hAPI.getCardValue('Pool:Role:'+'idPapelResponsavel')); //throw "Role 2:"+hAPI.getCardValue("idPapelResponsavel"); }
}
log.info("#### Fim da Atribuição ####");
return userList;
}
Consegue editar e colocar o código corretamente formatado, não tem como entender o que está acontecendo assim.
— Rafael Vanat 21 de Nov de 2019