BuscaJornada
Função para retornar o horário base do colaborador em uma determinada data.
Sintaxe: BuscaJornada(Numero aNumEmp, Numero aTipCol, Numero aNumCad, Numero aDatHor);
Conceitos:
Caso 1 - Empresa não utiliza escala horária: o horário base será o correspondente ao cadastrado na ficha básica do colaborador, independente da data informada.
Caso 2 - Empresa utiliza escala horária e o colaborador utiliza escala Permanente ou Busca Automática: a rotina verificará qual dos horários cadastrados na escala corresponde ao dia informado (os horários cadastrados iniciam na data informada na turma e se repetem no decorrer do tempo).
São percorridos os horários sequencialmente até encontrar o horário de DSR; o próximo horário válido (código menor que 9990) é considerado como horário base.
Em escalas que não existe DSR ou que a ocorrência não seja no domingo, a rotina irá buscar o horário do primeiro sábado a partir da data do histórico da escala.
Caso 3 - Empresa utiliza escala horária e o colaborador utiliza escala Definida: verifica qual horário cadastrado na escala do colaborador corresponde exatamente ao dia passado como parâmetro na função. Caso seja passado como parâmetro um dia sem horários cadastrados (quando a competência não estiver cadastrada), é considerado o último horário cadastrado.
Os horários são percorridos sequencialmente até encontrar um DSR, o próximo horário válido (código menor que 9990) é considerado como horário base.
Parâmetros:
aNumEmp Variável numérica com o número da empresa;
aTipCol Variável numérica com o tipo do colaborador;
aNumCad Variável numérica com o cadastro (código) do colaborador;
aDatHor Variável numérica com a data que se deseja saber o horário base do funcionário.
Retorno:
Carrega as seguintes variáveis do sistema, que podem ser utilizadas no gerador de relatórios:
HorEnt[1..4] | Retorno dos horários de Entrada; |
HorSai[1..4] | Retorno dos horários de Saída; |
EntSab[1..4] | Retorno dos horários de Entrada de Sábado; |
SaiSab[1..4] | Retorno dos horários de Saída de Sábado. |
Exemplo1:
Empresa utiliza escala horária e o colaborador tem os seguintes horários cadastrados na escala Definida:
Data | Código | Horário |
01/01/2000 | 1 | 8h às 12h e das 13h30 às 18h |
02/01/2000 | 2 | 9h às 12h e das 13h30 às 19h |
03/01/2000 | 3 | DSR |
04/01/2000 | 4 | 10h às 12h e das 13h30 às 20h |
Na regra abaixo, a função irá retornar o horário 4 (HorEnt[1] = 10:00, HorSai[1] = 12:00, HorEnt[2] = 13:30, HorSai[2] = 20:00).
Definir data vDatBas;
MontaData(1,1,2000,vDatBas);
BusHorBase (R034Fun.NumEmp, R034Fun.TipCol, R034Fun.NumCad, vDatBas);
Exemplo 2:
Empresa utiliza escala horária e o colaborador tem os seguintes horários cadastrados na escala Permanente:
Semana | Código | Horário |
Seg | 1 | 8h às 12h e das 13h30 às 18h |
Ter | 2 | 9h às 12h e das 13h30 às 19h |
Qua | 3 | DSR |
Data da Turma: 03/01/2000
Na regra abaixo a data 8/1/2000 corresponde ao código 3 – DSR, a função irá retornar o próximo horário válido que é o 1 (HorEnt[1] = 8:00, HorSai[1] = 12:00, HorEnt[2] = 13:30, HorSai[2] = 18:00).
Definir data vDatBas;
MontaData(8,1,2000,vDatBas);
BusHorBase (R034Fun.NumEmp, R034Fun.TipCol, R034Fun.NumCad, vDatBas);
Utilização: Gerador de Relatórios e Regras.
Disponível para o módulo: Administração de Pessoal.