Erro de "Histórico do processo não encontrado"

To tentando usar o método setDueDate para alterar o prazo de uma atividade de um processo de acordo com um campo do formulário. Mas ao usar o método recebo o seguinte erro:

Histórico do processo não encontrado. Empresa - 1. Solicitação - 39990. Thread - 0. (#186) in at line number 186

Não sei o que pode estar errado. Alguém já viu esse problema?

aqui vai o código:


  var prazoFormulario = hAPI.getCardValue('dtVolta');
            if (prazoFormulario != undefined && prazoFormulario != '') {
                var numeroDaSolicitacao = getValue('WKNumProces');
                var threadDaSolicitacao = 0; // Normalmente 0, quando não for atividade paralela
                var responsavelPelaTarefa = "100217";

                /* Nesse caso o formato da data salva pelo formulário no exemplo é DD/MM/AAAA, mas isso pode variar de acordo com a formatação utilizada, 
                   mudando assim as posições das informações dentro do array */

                /* Extrai os dados da data do formulário para um array, para posteriormente transformar em data do Javascript */
                var arrayPrazoConclusao = prazoFormulario.split("/");
                var dia = arrayPrazoConclusao[0]; // Posição 0 do array é o dia
                var mes = arrayPrazoConclusao[1] - 1; // Posição 1 do array é o mês (Subtraímos 1 porque na data do Javascript o mês vai de 0 a 11)
                var ano = arrayPrazoConclusao[2]; // Posição 2 do array é o ano

                var horaDoPrazo = (24*60*60) - 1; /* A hora é em milisegundos, e esse cálculo tem resultado de 23:59:59, ou seja, 
                o prazo de conclusão vai ser até o último segundo do dia informado no formulário */

                // Cria a data no Javascript
                var dataDoPrazo = new Date();
                dataDoPrazo.setDate(dia);
                dataDoPrazo.setMonth(mes);
                dataDoPrazo.setFullYear(ano);

                // Altera o prazo de conclusão
                hAPI.setDueDate(numeroDaSolicitacao, threadDaSolicitacao, responsavelPelaTarefa, dataDoPrazo, horaDoPrazo);
                log.info("setDueDate ok");
            }

Seu processo não está gerando o valor para threadSequence como 0, deve estar com o valor 1. Do ponto de vista de flexibilidade o ideal é deixar dinâmico, conforme o exemplo na documentação do DEV para hAPI, use:

hAPI.getActualThread(numEmpresa, numProcesso, nrProxAtividade)

http://tdn.totvs.com/display/public/fluig/hAPI

Se pretendes economizar esse processamento extra (por menor que seja), verifique no dataset processHistory o threadSequence gerado.

Lembrando que se tiver FORK nesse processo você é praticamente obrigado a usar o getActualThread.