Tempo aproximado para leitura: 00:01:00 min
Ocorrência
Execauto para Transferências - GPEA180
Ambiente
TOTVS RH - TOTVS RH (Linha Protheus) - Gestão de Pessoal - Todas as versões
Solução
Essa rotina tem por objetivo realizar a transferência de um ou mais Funcionários.
Sintaxe:
GPEA180( nOpcAuto, aAutoItens, dDataTransf , lAutomato )
Parâmetros:
nOpcAuto - Operação - 6 (Transferir)
aAutoItens - Array com as informações dos funcionários a serem transferidos:
aAutoItens[x][1] - Filial Origem do funcionário
aAutoItens[x][2] - Matrícula Origem do funcionário
aAutoItens[x][3] - Array com os campos do funcionário cuja transferência será efetuada
aAutoItens[x][3][y][1] - Nome do campo que sofrerá transferência (SRA)
aAutoItens[x][3][y][2] - Novo conteúdo - Destino
Onde todos os conteúdos serão em formato String e:
x = número de funcionários da filial logada a serem transferidos e,
y = número de campos a serem transferidos de cada funcionário.
dDataTransf - Data da transferência (opcional)
Formato: data
Caso não seja passada por parâmetro, a data utilizada será a data base do sistema.
lAutomato - Valor lógico que deve ser enviado com valor '.T.' caso não seja desejada a exibição de nenhuma interação com o usuário .
Exemplo de ExecAuto da rotina de Transferência - GPEA180:
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"
/*
Array com as informações dos funcionários a serem transferidos:
aAutoItens[x][1] - Filial Origem do funcionário
aAutoItens[x][2] - Matrícula Origem do funcionário
aAutoItens[x][3] - Array com os campos do funcionário cuja transferência será efetuada
aAutoItens[x][3][y][1] - Nome do campo que sofrerá transferência (SRA)
aAutoItens[x][3][y][2] - Novo conteúdo - Destino
Onde todos os conteúdos serão em formato String e:
x = número de funcionários da filial logada a serem transferidos e,
y = número de campos a serem transferidos de cada funcionário.
dDataTransf
Data da transferência (opcional)
Formato: data
Caso não seja passada por parâmetro, a data utilizada será a data base do sistema.
lAutomato Valor lógico que deve ser enviado com valor '.T.' caso não seja desejada a exibição de nenhuma interação com o usuário.
*/
User Function TRANSF()
Local aAutoItens := {}
Local aCampos := {}
Local aLogAuto := {}
Local dDataTransf := CtoD("//")
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "M SP 01 " MODULO "GPE"
ConOut(Repl("-",80))
ConOut("Inicio: "+Time())
ConOut(PadC("Rotina Automatica Transferencia de funcionarios - SRA",80))
dDataTransf := StoD("20241015")
aAdd( aCampos, { "RA_FILIAL", "D RJ 01 " } ) //Filial Destino
aAdd( aCampos, { "RA_MAT" , "000077" } ) //Matrícula Destino
aAdd( aCampos, { "RA_CC", "01" } ) //Centro de Custo Destino
aAdd( aCampos, { "RA_PROCES", "00006" } ) //Processo Destino
aAdd( aAutoItens, { "M SP 01 ", "000077", aCampos } ) //Filail e Matrícula origem + aCampos
//chamada ExecAuto
MSExecAuto( {|x,y,z,w| GPEA180(x,y,z,w)}, 6, aAutoItens, dDataTransf, .T. )
If !lMsErroAuto
ConOut("Transferencia efetuada!")
Else
If !IsBlind()
aLogAuto:= MostraErro('Null')
varinfo("aLogAuto",aLogAuto)
Else
MostraErro() //caso acionada via interface.
EndIf
ConOut("Erro na Transferencia!")
EndIf
ConOut("Fim : "+Time())
ConOut(Repl("-",80))
RESET ENVIRONMENT
Return NIL
Observações:
Os nomes dos campos a serem passados na terceira dimensão do array seguem o padrão dos campos da SRA: RA_FILIAL, RA_MAT,... ( RA_xxx ), exceto o campo correspondente a grupo de empresas, cujo nome a ser passado será M_EMPRESA.
Os períodos nos processos Origem e Destino devem estar correspondentes, e os lançamentos do funcionário a ser transferido devem estar de acordo, para não necessitar de informação adicional de transferência de processo.
Necessário inicializar o array aCampos a cada funcionário
Saiba Mais
Exemplo Rotina Automática (ExecAuto) - GPEA180
Execução de rotinas via MILE - GPE
0 Comentários