Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde,

Estou inciando agora com a utilização do ACBrNFSe, aí seto o componente ACBrNFSe para o municipio de várzea grande e ele configura o provedor [Ábaco]. Aí eu preencho os dados no componente e o vou enviar o lote com o comando

ACBrNFSe.Enviar(M_NFSeLote);

Aí dá a exceção : Exception class EACBrDFeException with message 'TDFeSSLXmlSignClass.Assinar, não implementado'

Alguém pode me ajudar...

 

Postado

Boa tarde,

Muito obrigado, eu não tinha informado o tipo da LIB.

Após o envio do comando enviar, o componente exibiu uma mensagem na tela com os dados do envio  (método, protocolo, lote, provedor..)

Eu tinha preparado umas funções para capturar as informações do retorno:

           {Códigos de Retorno}
            With ACBrNFSe.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Items[0] Do Begin
                 sWSCodigo := Codigo;
                 sWSMensagem := Mensagem;
                 sChaveNumero := ChaveNFeRPS.Numero;
                 sChaveSerie := ChaveNFeRPS.SerieRPS;
                 sChaveNumeroRPS := ChaveNFeRPS.NumeroRPS;
            End;

Só que deu a seguinte mensagem de erro: Exception class EArgumentOutOfRangeException with message 'Argument out of range'. Process ECoDFe.exe (12192)

Em tese, não existe o item[0]...

Por favor, veja se pode me ajudar em 2 coisas:

1º - Como faço para não aparecer a mensagem com os dados de envio

2º - Como faço para pegar os códigos de retorno (códigos de status, mensagens, etc) ?

Pela atenção, obrigado

  • Consultores
Postado

Boa tarde Eptus,

Respondendo as suas perguntas:

1. Configuracoes.WebService.Visualizar := False;

2. Ler os dados de retorno:

sNumero := ACBrNFSe1.NotasFiscais.Items[ x ].NFSe.Numero;
sCodVerif := ACBrNFSe1.NotasFiscais.Items[ x ].NFSe.CodigoVerificacao;
 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
1 hora atrás, Italo Jurisato Junior disse:

Boa tarde Eptus,

Respondendo as suas perguntas:

1. Configuracoes.WebService.Visualizar := False;

2. Ler os dados de retorno:

sNumero := ACBrNFSe1.NotasFiscais.Items[ x ].NFSe.Numero;
sCodVerif := ACBrNFSe1.NotasFiscais.Items[ x ].NFSe.CodigoVerificacao;
 

Boa tarde,

Em relação aos dados de retorno, no caso do RPS não ser processado por haver erros (aliquota, inscrição municipal, etc..) em quais propriedades são retornados os códigos de erro / mensagens?

Pela atenção, obrigado

  • Consultores
Postado

Boa noite Eptus,

Depende do método que esta sendo utilizado.

Veja esse fragmento de código:

       sStat   := '';
       sMotivo := '';
       case rgWSEnvio.ItemIndex of
        0: begin   // ====> Quando usamos o método Enviar devemos realizar a consulta do lote <========
            if ACBrNFSe.WebServices.ConsLote.RetornoNFSe.ListaNFSe.MsgRetorno.Count > 0
             then begin
                  sStat   := ACBrNFSe.WebServices.ConsLote.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Codigo;
                  sMotivo := ACBrNFSe.WebServices.ConsLote.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Mensagem;
             end;
           end;
        1: begin  // ====> Quando usamos o método EnviarSincrono já costuma retornar as mensagens de erro quando ocorrer <=====
            if ACBrNFSe.WebServices.EnviarSincrono.RetornoNFSe.ListaNfse.MsgRetorno.Count > 0
             then begin
                 sStat   := ACBrNFSe.WebServices.EnviarSincrono.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Codigo;
                 sMotivo := ACBrNFSe.WebServices.EnviarSincrono.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Mensagem;
             end;
           end;
        2: begin   // Quando usamos o método Gerar, esta também retorna as mensagens de erro quando ocorrem. <=====
            if ACBrNFSe.WebServices.GerarNfse.RetornoNFSe.ListaNfse.MsgRetorno.Count > 0
             then begin
                 sStat   := ACBrNFSe.WebServices.GerarNfse.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Codigo;
                 sMotivo := ACBrNFSe.WebServices.GerarNfse.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Mensagem;
             end;
           end;
       end;

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa tarde,

Como estou utilizando o método enviar, e usei esse código para ter acesso aos erros:

 if ACBrNFSe.WebServices.ConsLote.RetornoNFSe.ListaNFSe.MsgRetorno.Count > 0  then begin
     sStat   := ACBrNFSe.WebServices.ConsLote.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Codigo;
     sMotivo := ACBrNFSe.WebServices.ConsLote.RetornoNFSe.ListaNfse.MsgRetorno.Items[0].Mensagem;
end;

Só que a varíavel motivo fica com o seguinte conteúdo: "Lote de RPS recebido e foram dectados erros ao processar. Recuperar a relação de erros"

Como faço para recuperar essa relação de erros ?

Obrigado

  • Este tópico foi criado há 2587 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.