Históricos

Efetua o tratamento das transferências de colaboradores, montando um histórico, podendo ser de cargos, escalas, horários, locais, filiais, centros de custo e estabilidade, mesmo que de outra empresa. Os dados ficam gravados em um histórico, que faz com que possamos emitir relatórios de processamentos antigos, tendo os colaboradores alocados conforme a situação existente naquelas datas.

No cadastramento do colaborador(no Administração de Pessoal), estes registros de cargos, escalas ou horários, local, centro de custo, filial e estabilidade, são gravados nessas telas, como informações iniciais.

A partir daí, as transferências aqui registradas são de suma importância, para isso, devemos manter absoluta veracidade nessas informações. Muitos relatórios ou cálculos podem ficar com erros, caso estes dados estejam incompletos ou conflitantes com as datas de admissão dos colaboradores.

Rotina de Atualização de Históricos

A rotina de atualização de históricos é responsável pela atualização do status do histórico e pelas informações da ficha básica, ou seja, todos os históricos dos colaboradores (filial, local, centro de custo, cargo, salário, etc) estão atualizados na tabela R034FUN conforme a posição do dia. Isso é necessário devido ao fato de que os colaboradores podem ter históricos futuros já lançados, o que poderia gerar divergências nos relatórios, consultas e abrangências.

As rotinas de abrangências dos usuários também utilizam as informações da tabela R034FUN como referência.

A rotina é executada em todos os módulos do Gestão de Pessoas | HCM, inclusive no Ronda Senior.

A rotina é executada na primeira inicialização de algum módulo Gestão de Pessoas | HCM (após o logon) do dia e também a cada hora, quando uma estação está sem nenhuma tela ativa e o sistema ocioso. Atualizações várias vezes ao dia são necessárias porque existem históricos também por hora (afastamento, por exemplo). Caso vários usuários efetuem logon simultaneamente, somente o primeiro ativará a rotina.

A rotina pode ser disparada por qualquer usuário, desde que seja o que faz o primeiro logon do dia ou fique com algum módulo aberto sem tela ativa por mais de uma hora, e é involuntária (ou seja, não é possível disparar ou cancelar a rotina).

A rotina executará Selects para identificar em cada uma das tabelas de históricos que tenham campos relacionados na R034FUN, e que tenham status FUTURO ou NÃO ATUALIZADO.
Para cada registro selecionado, irá atualizar o status do histórico e com isso será disparada a trigger que irá atualizar a R034FUN. Numa próxima vez, o registro não será mais selecionado, sendo processados somente os pendentes.

Existem tabelas que possuem o campo STAATU, onde:
0    histórico futuro
1    histórico atual
2    histórico passado

E outras com o campo STAHIS, onde:
0    não atualizado
1    atualizado

Pode haver problemas nas situações de importação, quando os campos de status não são importados, ficando com nulo na tabela. Deve-se corrigir o arquivo texto ou ajustar o conteúdo do campo no modelo de importação. Nos modelos da cópia (exemplos: Controle de Ponto e Refeitório/015-Importação colaboradores, Administração de Pessoal/018-Importação Históricos) já existe o tratamento deste campo:

Se (VDatAfa > Datsis)

VStaAtu = 0;

Senao

VStaAtu = 1;

Se ((VDatTer < Datsis) e (VDatTer > 0))

VStaAtu = 2;

R038AFA.STAATU = VStaAtu;

Quando é importado um arquivo aonde o campo status já venha informado, caso o status venha com 0 (histórico futuro), mas data/hora inferior ou igual à atual, a atualização do status e das informações da ficha básica irão ocorrer na próxima vez que a rotina de atualização de históricos for executada.

Na execução das triggers podem ocorrer problemas que podem cancelar o processo. Qualquer cancelamento da rotina é registrado no log de processamento tipo 64.

Está disponível um processo automático para atualização de históricos que substitui a rotina na inicialização do sistema, está opção é indicada para quem tem solução Web e deseja que os históricos sejam atualizados no final de semana, quando não tenha ninguém utilizando a solução Cliente-servidor.

Quando for relatada a situação de que as informações da ficha básica não estão sendo atualizadas:

  1. Verificar log de processamento tipo 64, usuário=0, de alguns dias atrás. Se estiver ocorrendo algum problema, deve-se checar a causa (no log isso fica registrado). É bem frequente ocorrerem problemas de sobreposição de afastamento. Neste caso, deve-se emitir o relatório que lista os colaboradores com problema (disponível em Colaboradores/Históricos/Listar no Administração de Pessoal e no Controle de Ponto e Refeitório). Devem ser ajustados os cadastramentos, para evitar que o problema volte a ocorrer, priorizando o caso indicado na mensagem do log. Quando o problema for corrigido, a rotina voltará a funcionar corretamente (desde que não haja problema em outros colaboradores). Deve-se checar seu funcionamento consultando o log depois de um período.
  2. Caso não tenha nenhuma mensagem de erro no log, deve-se checar o status do histórico que não foi atualizado. Caso a situação esteja correta (atual), o problema provavelmente deve ter sido triggers inválidas (no caso de Oracle) ou inexistentes na base. Esta situação não é comum, mas pode ocorrer.

Este artigo ajudou você?