A136-Erro 3021 ao finalizar tarefa no timesheet

Sumário

Sistema: Gerenciador de Aplicativos Prosoft (GAP)

Contexto: Este artigo tem como objetivo é orientar quanto a correção do erro: Falha imprevista na rotina HabilitarDesabilitarEdicaoHora. Descrição: BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.. Referência/Erro: 48100001 / 3021, ao tentar finalizar tarefa.

Informações Adicionais: Não se aplica.

Resolução

Conforme solução informada pela programação, este erro ocorre quando na base do ProWorks foi excluída, sendo assim ao pesquisar a mesma pelo TimeSheet, nenhum registro é encontrado, mantendo o recordset responsável por armazenar a tarefa zerado, apresentando o erro quando o código fonte chama a informação para ser lida do recordset e não existe nenhum registro.

Para corrigir esta falha, será necessário excluir a tarefa em questão 

1- Faça backup das pastas ASE e OFC

2- Acesse o pervasive na proemp XXPROEMPXXOFC e acesse as tabelas tms_tarefa e tms_tarefa_parte

3- É necessário verificar qual o código do usuário que está ocorrendo o erro e localizar na tabela tms_tarefa as tarefas que o usuário pertence, dentre essas tarefas é necessário confirmar o nome da tarefa com a descrição que aparece no banco

4- Busque o usuário que está ocorrendo problema

Select * from “tms_tarefa” where fk_operador_exec_cod = ‘xxxxx’;
Onde xxxxx é o código do operador com erro

5- Selecione todas as tarefas com a data da tarefa que está dando erro no timesheet

Select * from “tms_tarefa” where fk_operador_exec_cod = ‘xxxxx’ and previsao_data_inicio = ‘2014-11-13’

6- Compare o nome da tarefa que está dando problema no timesheet com as tarefas da base de dados. A coluna que possui o nome da tarefa é descrição

7- Anote todos os IDs de todas as tarefas que possui a descrição da tarefa que está dando problema

8- Depois que encontrar a tarefa e anotar o ID acesse a tabela tms_tarefa_parte

9- Acesse a tabela tms_tarefa e localize todos os IDs que foram anotados anteriormente
 
Select * from “tms_tarefa_parte” where fk_tarefa_id in (XXXX,XXXX,XXXX);
Onde XXXX são os IDs que foram anotados anteriormente.
O comando IN (XXXX) vai trazer em lista todos os IDs.

10- Compare o horário de previsão da tarefa

11- Verifique se todos os dados do ID selecionado correspondem aos dados da tarefa com erro no timesheet, como,DESCRIÇÃO DA TAREFA, DATA, PREVISÃO HORA INÍCIO

12- Depois de identificar a tarefa, é necessário clicar em cima do registro e clicar no botão DELETE ROW

13- Acesse o timesheet e verifique se a tarefa sumiu

  • Sem rótulos