Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 3817 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • 1 mês depois ...
Postado (editado)

Olá.

Como posso pegar o código da mensagem de erro, por exemplo, queria pegar o código E178, que quer dizer que o lote foi enviado mas ainda não processado pela prefeitura.

Estou tentando fazer assim após o envio:

WCodRetorno := DMNFSe.ObjetoNFSe.WebServices.Enviar.NFSeRetorno.InfRec.MsgRetorno.Items[0].Codigo;

Mas dá o erro: List Index out of bounds(0)

 

Para confirmar, fiz:

ShowMessage(IntToStr(DMNFSe.ObjetoNFSe.WebServices.Enviar.NFSeRetorno.InfRec.MsgRetorno.Count));

E retorna 0 mesmo.

 

Como faço para pegar aquele código que aparece naquela caixa de diálogo que o próprio componente exibe?

Obrigado.

Editado por Leandro Araújo

Leandro Araújo, Analista de Sistemas.

Postado (editado)

Olá.

Como posso pegar o código da mensagem de erro, por exemplo, queria pegar o código E78, que quer dizer que o lote foi enviado mas ainda não processado pela prefeitura.

Estou tentando fazer assim após o envio:

WCodRetorno := DMNFSe.ObjetoNFSe.WebServices.Enviar.NFSeRetorno.InfRec.MsgRetorno.Items[0].Codigo;

Mas dá o erro: List Index out of bounds(0)

 

Para confirmar, fiz:

ShowMessage(IntToStr(DMNFSe.ObjetoNFSe.WebServices.Enviar.NFSeRetorno.InfRec.MsgRetorno.Count));

E retorna 0 mesmo.

 

Como faço para pegar aquele código que aparece naquela caixa de diálogo que o próprio componente exibe?

Obrigado.

Entendido.

Só se der algum erro que ele carrega nessa lista as mensagens, caso contrário apenas informações de lote, protocolo, provedor etc.

ACBrNFSeWebServices, Linhas: 2998-3023.

// Lista de Mensagem de Retorno
    FMsg := '';
    if NFSeRetorno.InfRec.MsgRetorno.Count>0
     then begin
      aMsg:='';
      for i:=0 to NFSeRetorno.InfRec.MsgRetorno.Count - 1 do
       begin
        FMsg := FMsg + NFSeRetorno.infRec.MsgRetorno.Items[i].Mensagem + IfThen(FMsg = '', '', ' / ');

        aMsg := aMsg + 'Código Erro : ' + NFSeRetorno.InfRec.MsgRetorno.Items[i].Codigo + LineBreak +
                       'Mensagem... : ' + NFSeRetorno.infRec.MsgRetorno.Items[i].Mensagem + LineBreak+
                       'Correção... : ' + NFSeRetorno.InfRec.MsgRetorno.Items[i].Correcao + LineBreak+
                       'Provedor... : ' + FxProvedor + LineBreak;
       end;
     end
     else begin
      for i:=0 to FNotasFiscais.Count -1 do
       begin
        FNotasFiscais.Items[i].NFSe.Protocolo     := FProtocolo;
        FNotasFiscais.Items[i].NFSe.dhRecebimento := FDataRecebimento;
       end;
      aMsg := 'Numero do Lote : ' + NFSeRetorno.InfRec.NumeroLote + LineBreak +
              'Recebimento... : ' + DFeUtil.SeSenao(FDataRecebimento = 0, '', DateTimeToStr(FDataRecebimento)) + LineBreak +
              'Protocolo..... : ' + FProtocolo + LineBreak +
              'Provedor...... : ' + FxProvedor + LineBreak;
     end;
Editado por Leandro Araújo

Leandro Araújo, Analista de Sistemas.

  • Este tópico foi criado há 3817 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.