Boa tarde pessoal!
Estou desenvolvendo uma API que tem o objeto de realizar Lançamentos por Funcionários na Folha (GPE). Para isso estou utilizando a rotina automatica GPEA580. Em meu ambiente de desenvolvimento local, na versão 12.1.33 não tenho qualquer problema, os registros são gravados na RGB corretamente. Porém, no ambiente do cliente, com a mesma versão, recebo um erro na GPEA090GRAVA, conforme a linha abaixo resgatada do CONSOLE.LOG.
"array out of bounds [6] of [5] on GPEA090GRAVA(GPEA090.PRX) 29/06/2023 16:46:55 line : 1311"
No ambiente do cliente o fonte GPEA090 esta com data de 29/06/2023, como é possível verificar no trecho da mensagem e no ambiente de DEV está em 24/03/2023.
Abaixo o trecho da montagem do cabeçalho e dos itens antes de enviar para a gravação e em seguida, o trecho de chamada da EXECAUTO.
aadd( aHead,{'RA_FILIAL' , aDados[nX][02], nil })
aadd( aHead,{'RA_MAT' , aDados[nX][03], nil })
aadd( aHead,{'CROTEIRO' , aDados[nX][04], nil })
aadd( aHead,{'CNUMPAGTO' , aDados[nX][05], nil })
aadd( aHead,{'CPERIODO' , aDados[nX][06], nil })
AADD( aIten, { {'RGB_FILIAL' , aDados[nX][02], nil },; //-> [02] - Filial do funcionario.
{'RGB_MAT' , aDados[nX][03], nil },; //-> [03] - Matricula do funcionario.
{'RGB_SEMANA' , aDados[nX][05], nil },; //-> [05] - Numero do Pagamento ou Numero da Semana.
{'RGB_PD' , aDados[nX][07], nil },; //-> [07] - Codigo da Verba (PROTHEUS).
{'RGB_TIPO1' , aDados[nX][08], nil },; //-> [08] - Tipo da Verba (H=Horas / V=Valor / D=Dias)
{'RGB_HORAS' , aDados[nX][09], nil },; //-> [09] - Qtde. de Horas enviadas na verba.
{'RGB_VALOR' , aDados[nX][10], nil },; //-> [10] - Valor enviado na verba.
{'RGB_DTREF' , aDados[nX][11], nil },; //-> [11] - Data de lançamento da verba.
{'RGB_CC' , aDados[nX][12], nil },; //-> [12] - Centro de Custo do Funcionario.
{'RGB_PARCEL' , aDados[nX][13], nil },; //-> [13] - Parcela de lancamento na verba.
{'RGB_CODFUN' , aDados[nX][14], nil },; //-> [14] - Codigo da Funcao do funcionario.
{'RGB_DEPTO' , aDados[nX][15], nil }; //-> [15] - Departamento do funcionario.
};
)
MsExecAuto({|a, b, c, d| GPEA580(a,b,c,d)}, nil, aHead, aIten, nOpt)
If lMsErroAuto
If !Empty(cDirLog)
cArqLog := 'lanctos_funcionarios_' + Dtos(MsDate()) + ' – ' + StrTran(Time(),':','') + '.log'
cMsg := MostraErro(cDirLog,cArqLog)
EndIf
lRet := .F.
Else
cMsg := 'LANCAMENTO PROCESSADO COM SUCESSO.'
lRet := .T.
EndIf
Estou passando nOpt com 3 (incluir).
Agradeço pela atenção!!
Alexandre.