01. DADOS GERAIS
Por padrão o Ponto Eletrônico aceita até quatro pares de marcações em uma mesma jornada. Quando existe a necessidade de mais marcações é possível configurar o parâmetro MV_COLMARC para aceitar até 12 marcações, 6 pares de entrada e saída, em uma mesma jornada.
No entanto é necessário customizar o sistema para considerar todas as marcações, ressaltamos que esta é uma customização complexa, que envolve a criação de campos, configuração de gatilhos de campos, a implementação de um ponto de entrada e a customização de relatórios.
Importante
Para utilizar 5 ou 6 pares de marcações será necessário utilizar o ponto de entrada PNMTABC01 para alterar o calendário do ponto gerado pelo sistema, essa alteração reflete em todos os processos do ponto que utilizam o calendário como base para o processamento.
02. FUNCIONAMENTO
O parâmetro MV_COLMARC define a quantidade de conjuntos de marcações que serão tratadas pelo sistema.
Seu conteúdo padrão é 4, o que permite 8 marcações de entrada e saída, este parâmetro pode ser alterado para 5 ou 6, sendo 6 o máximo aceito.
Será necessário incluir novos campos na tabela de Horário Padrão, SPJ, para possibilitar o cadastro das novas marcações.
Os campos da tabela SPJ seguem um padrão de nomenclatura que deve ser seguido.
Exemplo:
O campo PJ_SAIDA4 se refere ao horário da 4ª marcação de saída, desta forma os campos que serão incluídos devem seguir a nomenclatura, sendo PJ_SAIDA5 para a 5ª saída e PJ_SAIDA6 para a 6ªsaida.
Os Campos que devem ser incluídos são:
Parâmetro MV_COLMARC = 5
Campo | Título | Tipo | Tamanho | Decimal | Picture | Inicializador Padrão | Lista de Opções |
---|---|---|---|---|---|---|---|
PJ_ENTRA5 | 5a Entrada | Numérico | 5 | 2 | @E 99.99 | ||
PJ_SAIDA5 | 5a Saída | Numérico | 5 | 2 | @E 99.99 | ||
PJ_INTERV4 | 4a S. Interv | Caracter | 1 | @! | 'N' | #PonRetOpcBox(05) | |
PJ_JND5CON | 5a Jorn. Con | Caracter | 1 | @! | 'N' | #PonRetOpcBox(05) | |
PJ_HRSINT4 | Hrs 4a Int. | Numérico | 5 | 2 | @E 99.99 | ||
PJ_HRSTRA5 | Hrs Tra. 5a J | Numérico | 5 | 2 | @E 99.99 |
Para o parâmetro MV_COLMARC = 6 será necessário cadastrar mais um conjunto de campos, além dos citados acima, todos seguindo a nomenclatura definida.
Campo | Título | Tipo | Tamanho | Decimal | Picture | Inicializador Padrão | Lista de Opções |
---|---|---|---|---|---|---|---|
PJ_ENTRA6 | 6a Entrada | Numérico | 5 | 2 | @E 99.99 | ||
PJ_SAIDA6 | 6a Saída | Numérico | 5 | 2 | @E 99.99 | ||
PJ_INTERV5 | 5a S. Interv | Caracter | 1 | @! | 'N' | #PonRetOpcBox(05) | |
PJ_JND6CON | 6a Jorn. Con | Caracter | 1 | @! | 'N' | #PonRetOpcBox(05) | |
PJ_HRSINT5 | Hrs 5a Int | Numérico | 5 | 2 | @E 99.99 | ||
PJ_HRSTRA6 | Hrs Tra 6a J | Numérico | 5 | 2 | @E 99.99 |
Após a criação dos campos será necessário atualizar os gatilhos, SX7, para que o sistema preencha corretamente os demais campos da tabela de horário padrão.
Para os campos já existentes devem ser incluídas novas sequências para preencher os campos de duração de cada jornada PJ_HRSTRA5, PJ_HRSTRA6
Parâmetro MV_COLMARC = 5
Campo | Sequência | Contra domínio | Tipo | Regra | Posiciona |
---|---|---|---|---|---|
PJ_ENTRA1 | 005 | PJ_HRSTRA5 | 1-Primário | M->PJ_HRSTRA5 := fHrsTrabGat("H",,,"5") | 2-Não |
PJ_ENTRA2 | |||||
PJ_ENTRA3 | |||||
PJ_ENTRA4 | |||||
PJ_SAIDA1 | |||||
PJ_SAIDA2 | |||||
PJ_SAIDA3 | |||||
PJ_SAIDA4 | |||||
PJ_JND1CON | |||||
PJ_JND2CON | |||||
PJ_JND3CON | |||||
PJ_JND4CON |
Para o parâmetro MV_COLMARC = 6 será necessário cadastrar mais um conjunto, além dos citados acima
Campo | Sequência | Contra domínio | Tipo | Regra | Posiciona |
---|---|---|---|---|---|
PJ_ENTRA1 | 006 | PJ_HRSTRA6 | 1-Primário | M->PJ_HRSTRA6 := fHrsTrabGat("H",,,"6") | 2-Não |
PJ_ENTRA2 | |||||
PJ_ENTRA3 | |||||
PJ_ENTRA4 | |||||
PJ_SAIDA1 | |||||
PJ_SAIDA2 | |||||
PJ_SAIDA3 | |||||
PJ_SAIDA4 | |||||
PJ_JND1CON | |||||
PJ_JND2CON | |||||
PJ_JND3CON | |||||
PJ_JND4CON |
O campo PJ_SAIDA4 passa a ser uma saída referente a um intervalo, e não mais a saída da jornada, com isso é necessário incluir o gatilho para preencher a duração do intervalo correspondente
Campo | Sequência | Contra domínio | Tipo | Regra | Posiciona |
---|---|---|---|---|---|
PJ_SAIDA4 | 007 | PJ_HRSINT4 | 1-Primario | M->PJ_HRSINT4 := fHrsTrabGaT("I",,,"4") | 2-Não |
Após incluir as novas sequências será necessário revisar a ordem dos gatilhos para garantir que a última ordem calcule as horas totais. Um exemplo de como deve ficar os gatilhos dos campos na tabela SX7
Para os Novos Campos será necessário cadastrar todas as sequências
para cada campo abaixo cadastrar os Gatilhos conforme a tabela
PJ_ENTRA5
PJ_ENTRA6
PJ_SAIDA5
PJ_SAIDA6
PJ_JND5CON
PJ_JND6CON
Sequência | Contra domínio | Tipo | Regra | Posiciona |
---|---|---|---|---|
1 | PJ_HRSTRAB | 1-Primário | M->PJ_HRSTRAB := fHrsTrabGat("H",,,"1") | 2-Não |
2 | PJ_HRSTRA2 | 1-Primário | M->PJ_HRSTRA2 := fHrsTrabGat("H",,,"2") | 2-Não |
3 | PJ_HRSTRA3 | 1-Primário | M->PJ_HRSTRA3 := fHrsTrabGat("H",,,"3") | 2-Não |
4 | PJ_HRSTRA4 | 1-Primário | M->PJ_HRSTRA4 := fHrsTrabGat("H",,,"4") | 2-Não |
5 | PJ_HRSTRA5 | 1-Primário | M->PJ_HRSTRA5 := fHrsTrabGat("H",,,"5") | 2-Não |
6 | PJ_HRSTRA6 | 1-Primário | M->PJ_HRSTRA6 := fHrsTrabGat("H",,,"6") | 2-Não |
7 | PJ_HRSINT4 | 1-Primário | M->PJ_HRSINT4 := fHrsTrabGaT("I",,,"4") | 2-Não |
8 | PJ_HRTOTAL | 1-Primário | M->PJ_HRTOTAL := fHrsTrabGaT("T") | 2-Não |
Para os campos de Intervalo são duas sequências:
Campo | Sequência | Contra domínio | Tipo | Regra | Posiciona |
---|---|---|---|---|---|
PJ_INTERV4 | 001 | PJ_HRSINT4 | 1-Primario | M->PJ_HRSINT4 := fHrsTrabGaT("I",,,"4") | 2-Não |
002 | PJ_HRTOTAL | 1-Primario | M->PJ_HRTOTAL := fHrsTrabGaT("T") | 2-Não | |
PJ_INTERV4 | 001 | PJ_HRSINT4 | 1-Primario | M->PJ_HRSINT4 := fHrsTrabGaT("I",,,"4") | 2-Não |
002 | PJ_HRTOTAL | 1-Primario | M->PJ_HRTOTAL := fHrsTrabGaT("T") | 2-Não |
Importante
Alterar o calendário do ponto reflete em todos os processo do módulo.
Importante
Caso utilize a integração do Ponto Eletrônico com o Gestão de Serviços é necessário verificar se as alterações no ponto de entrada PNMTABC01 terão algum impacto, pois a integração pode já estar utilizando este ponto de entrada.
Será necessário utilizar o Ponto de entrada PNMTABC01 para adicionar as marcações no calendário do ponto.
O ponto de entrada recebe quatro informações por parâmetro, sendo:
aTabCalend = Calendário padrão criado pelo sistema;
lCriaCalOk = Indica se houve alguma falha na criação do calendário;
cFil = Filial do Funcionário;
cMat = Matrícula do funcionário
O calendário segue uma estrutura onde cada elemento do array aTabCalend representa uma marcação
O retorno do Ponto de entrada deve ser o Array com o calendário do ponto alterado, o retorno do PE irá substituir o calendário gerado pelo sistema.