Excessão em beforeTaskSave Botão Enviar e Salvar

Como posso implementar um evento de beforeTaskComplete e Save na última atividade do meu processo que impeça que o usuário utilize o botão "Enviar" para finalizar o processo caso o select: statusDoc do meu formulário não esteja marcado com o valor 03, porém ele possa usar o botão Salvar para salvar a atividade no estágio atual, e só então com a opção(valor) 03 no select que ele possa enviar a solicitação.

Segue o código que estou trabalhando.


function beforeTaskSave(colleagueId,nextSequenceId,userList){

    var ativAtual = getValue("WKNumProces");

    if (ativAtual == 20) {
         var documentacao = hAPI.getCardValue("statusDoc"); 
         if (documentacao != '03')
        {
                throw "Não pode finalizar o processo sem que a documentação esteja completa.";
        }
    }

}

1 curtida

Você pode utilizar esse parâmetro: WKCompletTask

Segue exemplo abaixo:


function beforeTaskSave(colleagueId,nextSequenceId,userList){

    var ativAtual     = getValue("WKNumProces");
    var WKCompletTask = getValue("WKCompletTask");

    if (ativAtual == 20) {
         var documentacao = hAPI.getCardValue("statusDoc"); 
         if (WKCompletTask) 
         {
             if (documentacao != '03')
            {
                throw "Não pode finalizar o processo sem que a documentação esteja completa.";
            }
        }
    }

}

Boa tarde, esse parâmetro WKCompletTask é boolean? No seu if não precisaria incluir uma condição true pra ele prosseguir?

Isso, é boolean.
Se ele for TRUE, automaticamente ele entra no IF.
Quando for boolean, você pode fazer dessa forma o IF.

Exemplo
Caso você fizer assim se comporta dessa maneira no caso de Boolan:

if (WKCompletTask) { // se for TRUE ele entra
}

ou assim:
if (!WKCompletTask) { // se for FALSE ele entra
}

Boa tarde, eu coloquei dessa forma ai, mas nao deu certo Envia e não pede para validar nada (não deveria enviar

Como outro colega disse, a propriedade WKCompletTask é string e não um booleano, por isso é necessário destacar == “true”.

1 curtida

Boa tarde!! No fluig essa propriedade é uma string, é preenchida com true ou false. Utilize desta forma:


if (WKCompletTask.equals("true")) {

}

1 curtida