Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Gera um evento de provento (bonus) se o funcionário trabalhar no seu aniversário

Bloco de código
languagedelphi
themeConfluence
firstline1
titleFiltro
linenumberstrue
#INCLUDE "TOTVS.CH"

User Function PONAPO3()
	
	Local aMarcacoes 	:= ParamIxb[1] // Marcaçõ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 no ponto que será gerado nos apontamentos
	Local nPosMarc		:= 0
	
	If 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
languagedelphi
firstline1
titleEstrutura do aMarcacoes
linenumberstrue
collapsetrue
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
languagedelphi
firstline1
titleEstrutura do aCalendario
linenumberstrue
collapsetrue
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