Boa tarde,
Estou fazendo um formulário que necessita da seguinte regra:
Impedir que o usuário inicie um novo fluxo caso o último fluxo esteja em aberto há mais de 60 dias.
Exibir mensagem de bloqueio informando que é necessário encerrar o fluxo anterior antes de iniciar um novo.
Então, pra isso eu estou utilizando os eventos de processos e um dataset que traz a informações de todos os chamados que estão abertos a mais de 60 dias, estou tentando com o: beforeStateLeave, tentei com outros mas eles não funcionam de forma alguma, abaixo segue o código que estou usando:
function beforeStateLeave(sequenceId) {    
    if (sequenceId == 0 || sequenceId == 4) { 
        var matricula = getValue("WKUser");
        var tabela = "ML001424";	
        var c1 = DatasetFactory.createConstraint("matricula", matricula, matricula, ConstraintType.MUST);
        var c2 = DatasetFactory.createConstraint("tabela", tabela, tabela, ConstraintType.MUST);
        var ds = DatasetFactory.getDataset("DS_chamadosAberto", null, [c1, c2], null);
       
        if (ds && ds.rowsCount > 0) {
            var msg = "Você possui chamados em aberto há mais de 60 dias:";
            for (var i = 0; i < ds.rowsCount; i++) {
                msg += "- Chamado nº " + ds.getValue(i, "chamado") + 
                       ", aberto em " + ds.getValue(i, "dataAbertura") + "\n";
            }
            msg += "\nFinalize o(s) chamado(s) antes de abrir um novo.";           
            throw msg;
        } 
    } 
}
Desde já agradeço.
