Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao montar registro utilizando retorno acbr dos eventos 5501 do esocial


Ver Solução Respondido por Renato Rubinho,
  • Este tópico foi criado há 364 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

no programa pcesS5501 no trecho abaixo:

 

      if leitor.rExtrai(2, 'ideProc') <> '' then
      begin
        IdeProc.FNrProcTrab := leitor.rCampo(tcStr, 'nrProcTrab');
        IdeProc.FPerApur    := leitor.rCampo(tcStr, 'perApur');

        i := 0;
        while Leitor.rExtrai(3, 'infoTributos', '', i +1) <> '' do
        begin

          IdeProc.InfoTributos.Items[i].perRef := leitor.rCampo(tcStr, 'perRef');
          j := 0;
          while Leitor.rExtrai(4, 'infoCRContrib', '', j + 1) <> '' do
          begin
            IdeProc.InfoTributos.Items[i].InfoCRContrib.New;
            IdeProc.InfoTributos.Items[i].InfoCRContrib.Items[j].tpCR := leitor.rCampo(tcStr, 'tpCR');
            IdeProc.InfoTributos.Items[i].InfoCRContrib.Items[j].vrCR := leitor.rCampo(tcDe2, 'vrCR');

            inc(j);
          end;

          inc(i);
        end;

 

Está dando o erro de :

---------------------------
Debugger Exception Notification
---------------------------
Project E_Social.exe raised exception class EArgumentOutOfRangeException with message 'Argument out of range'.
---------------------------
Break   Continue   Help   
---------------------------

parece que não tem os dados do campo perRef, no entanto no xml de retorno os valores aparecem

 

Alguem ja passou por isso?   Preciso gerar um txt com essas informações e não estou conseguindo dando erro nessa linha 425;

 

desde já agradeço qq ajuda.

 

  • Consultores
  • Solution
Postado

Boa tarde,

Aparentemente faltou incrementar a lista.

Tente adicionar a linha destacada no código a seguir, antes de atribuir o valor ao perRef.

Reinstale os componentes e veja se resolve o problema.


        i := 0;
        while Leitor.rExtrai(3, 'infoTributos', '', i +1) <> '' do
        begin
          IdeProc.InfoTributos.New; // adicione esta linha
          IdeProc.InfoTributos.Items[i].perRef := leitor.rCampo(tcStr, 'perRef');

 

  • Este tópico foi criado há 364 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.