Histórico da Página
...
O Ponto de Entrada é executado para cada funcionário após a gravação dos apontamentos
Rotinas:
- PONM010 - Leitura e Apontamento
- PONA040 - Lançamento de Marcações
...
Informações | ||
---|---|---|
| ||
No momento de execução do Ponto de Entrada PONAPO3 os apontamentos já foram gravados na tabela SPC. Para alterar os apontamentos gerados pelo sistema antes da gravação é possível utilizar o Ponto de Entrada PONAPO4 |
Parâmetros:
O ponto de entrada recebe por parâmetro as Marcações do funcionário e o Calendário do Ponto gerado para o Período
ParamIxb[1] // Marcações do funcionário
ParamIxb[2] // Calendário do Ponto
Retorno:
Não é esperado nenhum retorno do Ponto de Entrada
02. EXEMPLO DE UTILIZAÇÃO
Gera um evento de provento (bonus) se o funcionário trabalhar no seu aniversário
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "TOTVS.CH" User Function P340FILTPONAPO3() Local cFiltroaMarcacoes := ParamIxb[1] // FiltroMarcações do funcionário Local aCalendario := ParamIxb[2] // Calendário do Ponto Local dDataNiver := sToD(cValToChar(year(Date())) + MesDia(SRA->RA_NASC)) Local cEvento := "001" // Evento já cadastrado para o usuáriono ponto que será gerado nos apontamentos Local nPosMarc := 0 If !Empty(cFiltro) cFiltro += " .And. SPY->PY_DTBAIXA == cToD('')" Else cFiltro += " SPY->PY_DTBAIXA == cToD('')" EndIf Return cFiltro Len(aCalendario) > 0 .And. dDataNiver >= aCalendario[1][1] .And. dDataNiver <= aCalendario[Len(aCalendario)][1] If (nPosMarc := aScan(aMarcacoes, {|x| x[1] == dDataNiver})) > 0 dbSelectArea("SPC") dbSetOrder(1) If SPC->(!dbSeek(SRA->RA_FILIAL + SRA->RA_MAT + cEvento + dToS(dDataNiver))) RecLock("SPC") SPC->PC_FILIAL := SRA->RA_FILIAL SPC->PC_MAT := SRA->RA_MAT SPC->PC_DATA := dDataNiver SPC->PC_PD := cEvento SPC->PC_QUANTC := 1 SPC->PC_CC := aMarcacoes[nPosMarc][9] SPC->PC_TURNO := aMarcacoes[nPosMarc][6] SPC->(msUnlock()) EndIf EndIf EndIf Return NIL |
Estrutura do aMarcacoes
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
aMarcacoes[n][01] //Data da Marcacao
aMarcacoes[n][02] //Hora da Marcacao
aMarcacoes[n][03] //Ordem da Marcacao
aMarcacoes[n][04] //Flag (Origem) da Marcacao
aMarcacoes[n][05] //Recno ou Logico Alterar Ordem/Turno
aMarcacoes[n][06] //Turno da Marcacao
aMarcacoes[n][07] //Funcao do Relogio
aMarcacoes[n][08] //Giro do Relogio
aMarcacoes[n][09] //Centro de Custo da Marcacao
aMarcacoes[n][10] //Flag de Marcacao Apontada
aMarcacoes[n][11] //Relogio da Marcacao
aMarcacoes[n][12] //Flag de Tipo de Marcacao
aMarcacoes[n][13] //Define Se a Marcacao Pode ou Nao ser (Re)Ordenada
aMarcacoes[n][14] //String de Data/Hora para aSort
aMarcacoes[n][15] //String de Data com o Periodo de Apontamento
aMarcacoes[n][16] //String de Sequencia da Tabela Padrao
aMarcacoes[n][17] //String de Dia da Semana da Tabela de Horario Padrao
aMarcacoes[n][18] //Processo
aMarcacoes[n][19] //Roteiro
aMarcacoes[n][20] //Periodo
aMarcacoes[n][21] //Num. pagto
aMarcacoes[n][22] //Depto
aMarcacoes[n][23] //Posto
aMarcacoes[n][24] //Cód. FUnc
aMarcacoes[n][25] //Data de Apontamento
aMarcacoes[n][26] //Némero do REP
aMarcacoes[n][27] //Tipo de Marcação no REP
aMarcacoes[n][28] //Tipo de Registro
aMarcacoes[n][29] //Motivo Modificação do Registro
aMarcacoes[n][30] //Flag para controlar turno opcional
aMarcacoes[n][31] //Empresa Origem da marcacao
aMarcacoes[n][32] //Filial Origem da marcacao
aMarcacoes[n][33] //Matricula Origem da marcacao
aMarcacoes[n][34] //Data/Hora Origem da marcacao
aMarcacoes[n][35] //Identificacao da Origem da marcacao
aMarcacoes[n][36] //Latitude
aMarcacoes[n][37] //Longitude
aMarcacoes[n][38] //Define se a marcação está dentro ou fora do perímetro
aMarcacoes[n][39] //Filial da convenção coletiva
aMarcacoes[n][40] //Código da convenção coletiva
aMarcacoes[n][41] //Fuso horário da marcação
aMarcacoes[n][42] //Código da convenção coletiva da marcação |
Estrutura do aCalendario
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
aCalendario[n][01] // Data
aCalendario[n][02] // Ordem
aCalendario[n][03] // Hora
aCalendario[n][04] // Tipo Marc
aCalendario[n][05] // No Marc.
aCalendario[n][06] // Tipo Dia
aCalendario[n][07] // Horas Trabalhada no Periodo
aCalendario[n][08] // Sequˆncia de Turno
aCalendario[n][09] // Horas de Intervalo
aCalendario[n][10] // Excecao ( E-Excecao, # E - nao e excecao )
aCalendario[n][11] // Motivo da Excecao
aCalendario[n][12] // Tipo de hora extra normal
aCalendario[n][13] // Tipo de hora extra noturna
aCalendario[n][14] // Turno de Trabalho
aCalendario[n][15] // Centro de Custo do Periodo
aCalendario[n][16] // Pagamento de Nona Hora
aCalendario[n][17] // Limite de Marcacao Inicial/Final
aCalendario[n][18] // Codigo da Refeicao
aCalendario[n][19] // Dia e Feriado
aCalendario[n][20] // Tipo de Hora Extra Feriado Normal
aCalendario[n][21] // Tipo de Hora Extra Feriado Noturna
aCalendario[n][22] // Descricao do Feriado
aCalendario[n][23] // Regra de Apontamento
aCalendario[n][24] // Funcionario Afastado
aCalendario[n][25] // Tipo do Afastamento
aCalendario[n][26] // Data Inicial do Afastamento
aCalendario[n][27] // Data Final do Afastamento
aCalendario[n][28] // Inicio do Horario Noturno
aCalendario[n][29] // Final do Horario Noturno
aCalendario[n][30] // Minutos da Hora Noturna
aCalendario[n][31] // Se funcionario Trabalha em Dias Feriados
aCalendario[n][32] // Se Aponta Quando Afastamento em Ferias
aCalendario[n][33] // Tipo de hora extra normal (Ferias)
aCalendario[n][34] // Tipo de hora extra noturna (Ferias)
aCalendario[n][35] // Tipos de Intervalos Que sao Pagos conforme Regra
aCalendario[n][36] // Tipo Original do Dia conforme excecao mas sem considerar a regra e/ou afastamentos
aCalendario[n][37] // Se H.Extras são autorizadas para funcionario em ferias
aCalendario[n][38] // Codigo da Funcao do funcionario
aCalendario[n][39] // Codigo de Depto. do funcionario
aCalendario[n][40] // Codigo do Posto do funcionario
aCalendario[n][41] // Periodo
aCalendario[n][42] // Roterio
aCalendario[n][43] // Processo
aCalendario[n][44] // Num. de Pagamento
aCalendario[n][45] // Cod. da Jornada
aCalendario[n][46] // Lote da excecao
aCalendario[n][47] // Identificacao afastamento
aCalendario[n][48] // Data de apontamento
aCalendario[n][49] // Jornada continua
aCalendario[n][50] // Limite inferior da primeira entrada
aCalendario[n][51] // Limite superior da primeira entrada
aCalendario[n][52] // Limite inferior da primeira saida
aCalendario[n][53] // Limite superior da primeira saida
aCalendario[n][54] // Tipo de Excecao 'F' = Funcionario / 'P' = Periodo
aCalendario[n][55] // Intervalo para Geracao do ACJEF
aCalendario[n][56] // Isento de marcação |
Templatedocumentos |
---|
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas