Árvore de páginas


01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Recursos Humanos 
Módulo:SIGAPON
Função:PONA160
PONA161
Ticket:8716400
Requisito/Story/Issue:DRHPAG-36149
Pacote:12.1.27:https://r.totvs.io/p/961351 ; 12.1.25:https://r.totvs.io/p/961350 ; 12.1.23:https://r.totvs.io/p/961349 ; 12.1.17:https://r.totvs.io/p/961348 ;


02. SITUAÇÃO/REQUISITO

Ao realizar a Transferência de turno em lote o sistema apenas inclui novos registros, não realizando a transferência caso já exista algum registro com a data informada.

03. SOLUÇÃO

Criado o ponto de entrada PONAP161 para permitir a manipulação da tabela SPF, Transferência de Turno, antes do sistema realizar a inclusão das informações.

04. DEMAIS INFORMAÇÕES

O ponto de entrada é chamado para cada funcionário selecionado para a transferência, a tabela SRA, cadastro do funcionário, estará posicionada na matricula; A data informada para a transferência é passada como parâmetro.

Não é esperado nenhum retorno.

Exemplo de uso do Ponto de entrada PONAO161

Exclui registros com a mesma data informada
#INCLUDE "TOTVS.CH"

/*/{Protheus.doc} User Function PONAP161
Ponto de entrada chamado na Transferência de Turno em lote
@type User Function
@author user
@since 28/04/2020
@version 12.1.XX
@see https://tdn.totvs.com/x/kQ_eI
/*/
User Function PONAP161()
	
	Local dDataInfo	:= ParamIXB[1]
	Local aArea		:= GetArea()
	
	dbSelectArea("SPF")
	dbSetOrder(1) // PF_FILIAL + PF_MAT + DTOS(PF_DATA)
	If SPF->(dbSeek(SRA->RA_FILIAL + SRA->(RA_MAT + DtoS(dDataInfo))))
		RecLock("SPF", .F.)
			SPF->(dbDelete())
		SPF->(MsUnlock())
	EndIf
	
	RestArea(aArea)
	
Return