Tempo aproximado para leitura: 00:01:30 min
Dúvida
Gravação de campos customizados na Transferência de Funcionário - Ponto de Entrada GP180CPOS.
Ambiente
TOTVS RH - TOTVS RH (Linha Protheus) - Gestão de Pessoal - Todas as versões
Solução
O ponto de entrada GP180CPOS foi criado para realizar a gravação de campos customizados quando há transferência de funcionário entre empresas e o dicionário de dados e divergente entre as empresas
Exemplo:
#Include "Protheus.ch"
User Function GP180CPOS()
Local cAlias as Character
Local aRet as Array
Local nPos as Numeric
cAlias := ParamIXB[1] // Recebe tabela que será gravada
aRet := ParamIXB[2] // Recebe array que contém os campos que serão gravados
nPos := 0
// Verifica qual tabela será processada
If (cAlias == "SRA")
// Exemplo de remoção de campo indesejado
// Procura campo customizado (RA_XCAMPO) existente somente na tabela SRA da empresa T1
nPos := aScan(aRet, {|x| AllTrim(x[1]) == "RA_XCAMPO"})
// Se campo existe, retira do array que contém os campos que serão gravados
If (nPos > 0)
aDel(aRet, nPos)
aSize(aRet, (Len(aRet) - 1))
Endif
// Exemplo de adição de campos
// Através das variáveis cEmpAnt (Empresa de Origem), cFilAnt (Filial de Origem), cEmpAte (Empresa de Destino) e cFilAte (Filial de Destino)
// Verifica qual Empresa/Filial o funcionário será transferido para gravar os campos customizados (RA_XCMP01 e RA_XCMP02).
If (AllTrim(cEmpAte) == "T2")
aAdd(aRet,{"RA_XCMP01", 123.77, "N"})
aAdd(aRet,{"RA_XCMP02", "TESTE", "C"})
Endif
Endif
Return(aRet) // Retorna array que contém os campos que serão gravados
Saiba Mais
Boletim Técnico
RH - Transferência
0 Comentários