Vagner, o mais indicado é que faça tal verificação no evento validateForm, utilizando o seguinte:
if(form.getValue("rd_aprovagerencia") == ""){
throw "Por favor Definir o Destino da Proposta!";
}
Obs.: nunca fiz comparação com o método equal. Esse é do Java e não Javascript. O Rhyno faz a conversão do javascript para o java, mas não acredito que funcione desta forma. Na dúvida, utilize sempre sintaxe javascript. Mas, atento-lhe, que por vezes, precisamos sim enviar na notação Java. Acredito que para seu código funcionar da forma que estar precisa ficar assim:
function beforeTaskSave(colleagueId,nextSequenceId,userList){
var ativAtual = getValue("WKNumProces");
var WKCompletTask = getValue("WKCompletTask");
if (ativAtual == 31) { // Valido a atividade que o processo está (no caso do gerente atividade 31)
var campo = hAPI.getCardValue("rd_aprovagerencia");
//O retorno do WKCompletTask já é true ou false, não precisa de condicional
if (WKCompletTask) { // TRUE (quando clica em enviar), FALSE (quando clica em salvar)
if (campo == '') { throw "Por favor Definir o Destino da Proposta!"; }
}
}
}
Se o erro persistir, talvez o WKCompletTask possa estar vindo como string, aí você pode comparar da seguinte forma:
function beforeTaskSave(colleagueId,nextSequenceId,userList){
var ativAtual = getValue("WKNumProces");
var WKCompletTask = getValue("WKCompletTask");
if (ativAtual == 31) { // Valido a atividade que o processo está (no caso do gerente atividade 31)
var campo = hAPI.getCardValue("rd_aprovagerencia");
//O retorno do WKCompletTask já é true ou false, não precisa de condicional
if (WKCompletTask == "true") { // TRUE (quando clica em enviar), FALSE (quando clica em salvar)
if (campo == '') { throw "Por favor Definir o Destino da Proposta!"; }
}
}
}
Boa sorte!