...
Por padrão o Ponto Eletrônico aceita até quatro pares de marcações em uma mesma jornada, quando . 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.
...
Totvs custom tabs box |
---|
tabs | Campos, Gatilhos, Ponto de Entrada |
---|
ids | campos,gatilhos,PE |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | campos |
---|
| 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ª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 SaidaSaí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 SaidaSaí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 |
|
|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | gatilhos |
---|
| 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 |
|
Totvs custom tabs box items |
---|
| Aviso |
---|
| Alterar o calendário do ponto reflete em todos os processo do módulo. |
Aviso |
---|
| 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. Bloco de código |
---|
language | cpp |
---|
firstline | 1 |
---|
title | Estrutura Calendário do Ponto |
---|
collapse | true |
---|
| aTabCalend[X][01] // Data
aTabCalend[X][02] // Ordem
aTabCalend[X][03] // Hora
aTabCalend[X][04] // Tipo Marc
aTabCalend[X][05] // No Marc.
aTabCalend[X][06] // Tipo Dia
aTabCalend[X][07] // Horas Trabalhada no Periodo
aTabCalend[X][08] // Sequência de Turno
aTabCalend[X][09] // Horas de Intervalo
aTabCalend[X][10] // Excecao ( E-Excecao, # E - nao e excecao )
aTabCalend[X][11] // Motivo da Excecao
aTabCalend[X][12] // Tipo de hora extra normal
aTabCalend[X][13] // Tipo de hora extra noturna
aTabCalend[X][14] // Turno de Trabalho
aTabCalend[X][15] // Centro de Custo do Periodo
aTabCalend[X][16] // Pagamento de Nona Hora
aTabCalend[X][17] // Limite de Marcacao Inicial/Final
aTabCalend[X][18] // Codigo da Refeicao
aTabCalend[X][19] // Dia e Feriado
aTabCalend[X][20] // Tipo de Hora Extra Feriado Normal
aTabCalend[X][21] // Tipo de Hora Extra Feriado Noturna
aTabCalend[X][22] // Descricao do Feriado
aTabCalend[X][23] // Regra de Apontamento
aTabCalend[X][24] // Funcionario Afastado
aTabCalend[X][25] // Tipo do Afastamento
aTabCalend[X][26] // Data Inicial do Afastamento
aTabCalend[X][27] // Data Final do Afastamento
aTabCalend[X][28] // Inicio do Horario Noturno
aTabCalend[X][29] // Final do Horario Noturno
aTabCalend[X][30] // Minutos da Hora Noturna
aTabCalend[X][31] // Se funcionario Trabalha em Dias Feriados
aTabCalend[X][32] // Se Aponta Quando Afastamento em Ferias
aTabCalend[X][33] // Tipo de hora extra normal (Ferias)
aTabCalend[X][34] // Tipo de hora extra noturna (Ferias)
aTabCalend[X][35] // Tipos de Intervalos Que sao Pagos conforme Regra
aTabCalend[X][36] // Tipo Original do Dia conforme excecao mas sem considerar a regra e/ou afastamentos
aTabCalend[X][37] // Se H.Extras s? autorizadas para funcionario em ferias
aTabCalend[X][38] // Codigo da Funcao do funcionario
aTabCalend[X][39] // Codigo de Depto. do funcionario
aTabCalend[X][40] // Codigo do Posto do funcionario
aTabCalend[X][41] // Periodo
aTabCalend[X][42] // Roterio
aTabCalend[X][43] // Processo
aTabCalend[X][44] // Num. de Pagamento
aTabCalend[X][45] // Cod. da Jornada
aTabCalend[X][46] // Lote da excecao
aTabCalend[X][47] // Identificacao afastamento
aTabCalend[X][48] // Data de apontamento
aTabCalend[X][49] // Jornada continua
aTabCalend[X][50] // Limite inferior da primeira entrada
aTabCalend[X][51] // Limite superior da primeira entrada
aTabCalend[X][52] // Limite inferior da primeira saida
aTabCalend[X][53] // Limite superior da primeira saida
aTabCalend[X][54] // Tipo de Excecao 'F' = Funcionario / 'P' = Periodo
aTabCalend[X][55] // Intervalo para Geracao do ACJEF |
|
|
...