Ir para conteúdo
  • Cadastre-se

dev botao

Mensagem Erro execução ConsultarNFSePorRPS


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

Recommended Posts

Estou migrando minha aplicação de NFSe para trunk2. Consegui realizar a transmissão do RPS, mas ao executar o procedimento ConsultarNFSePorRPS recebo a seguinte mensagem: "" is not a valid integer value. Já confirmei que o componente está carregado com o XML(RPS) correto e que os parâmetros também estão corretos. O provedor é GINFES e o município é São Carlos - SP. Agradeço, desde já, quem puder me ajudar.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde a todos,

Aconselho você primeiramente realizarem testes com o programa exemplo.

Segundo, no programa exemplo verifique se a propriedade de configuração chamada ConsultaLoteAposEnvio esta com o valor True.

Se funcionar com o programa exemplo, vocês devem verificar se na aplicação de vocês o que tem de diferente ou o que esta faltando.

Por exemplo no programa exemplo na rotina que configura o componente existe 6 linhas de configuração do Emitente, na aplicação de vocês essas 6 linhas existem?

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

33 minutos atrás, Italo Jurisato Junior disse:

Boa tarde a todos,

Aconselho você primeiramente realizarem testes com o programa exemplo.

Segundo, no programa exemplo verifique se a propriedade de configuração chamada ConsultaLoteAposEnvio esta com o valor True.

Se funcionar com o programa exemplo, vocês devem verificar se na aplicação de vocês o que tem de diferente ou o que esta faltando.

Por exemplo no programa exemplo na rotina que configura o componente existe 6 linhas de configuração do Emitente, na aplicação de vocês essas 6 linhas existem?

  Olá ítalo, sim esta configurado as 6 linha do emitente, igualmente do Demo.

             Realmente não identifiquei o motivo de voltar em branco a resposta.

 

1UNICA-comp-nfse.xml

Ricardo

Flexnet Sistemas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Não, isso é o retorno do provedor.

O componente só gera o que envia.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

 

Mas esta correto este retorno do provedor ? pois ao enviar a consulta por RPS  carrego o XML do RPS via  ACBrNFSe1.NotaFiscas.LoadFromFile(caminho);

Depois:

ACBrNFSe1.ConsultarNFSeporRps(ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero,
                                ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie,
                                TipoRPSToStr(ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Tipo));

 

E retorna a exceção em branco, nem chega a executar o restando do codigo.

 

 

 

 

Captura de tela 2016-02-23 13.15.57.png

Ricardo

Flexnet Sistemas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Sergio,

Eu aconselho você atribuir uma string vazia as outras 3 que não são utilizadas.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Ricardo,

O componente dispõe de vários métodos de consulta:

    function ConsultarSituacao(AProtocolo: String;  const ANumLote: String = ''): Boolean;
    function ConsultarLoteRps(ANumLote, AProtocolo: string): Boolean;
    function ConsultarNFSeporRps(ANumero, ASerie, ATipo: String): Boolean;
    function ConsultarNFSe(ADataInicial, ADataFinal: TDateTime; ANumeroNFSe: String = ''; APagina: Integer = 1; ACNPJTomador: String = ''; AIMTomador: String = '';
      ANomeInter: String = ''; ACNPJInter: String = ''; AIMInter: String = ''; ASerie: String = ''): Boolean;

O ConsultarSituacao só serve para saber a situação do lote enviado.

O ConsultarLoteRps retorna o resultado do processamento de um lote, se foi processado com falhas, retorna os erros encontrados, se foi processado com sucesso, retorna as notas.

O ConsultarNFSeporRps retorna a nota referente a um RPS, lembre-se que o lote onde esse RPS foi enviado tem que ter sido processado com sucesso.

O ConsultarNFSe pode retorna uma ou varias notas.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

48 minutos atrás, Italo Jurisato Junior disse:

Boa tarde Ricardo,

O componente dispõe de vários métodos de consulta:

    function ConsultarSituacao(AProtocolo: String;  const ANumLote: String = ''): Boolean;
    function ConsultarLoteRps(ANumLote, AProtocolo: string): Boolean;
    function ConsultarNFSeporRps(ANumero, ASerie, ATipo: String): Boolean;
    function ConsultarNFSe(ADataInicial, ADataFinal: TDateTime; ANumeroNFSe: String = ''; APagina: Integer = 1; ACNPJTomador: String = ''; AIMTomador: String = '';
      ANomeInter: String = ''; ACNPJInter: String = ''; AIMInter: String = ''; ASerie: String = ''): Boolean;

O ConsultarSituacao só serve para saber a situação do lote enviado.

O ConsultarLoteRps retorna o resultado do processamento de um lote, se foi processado com falhas, retorna os erros encontrados, se foi processado com sucesso, retorna as notas.

O ConsultarNFSeporRps retorna a nota referente a um RPS, lembre-se que o lote onde esse RPS foi enviado tem que ter sido processado com sucesso.

O ConsultarNFSe pode retorna uma ou varias notas.

 Então Italo agradeço a atenção, estou usando   function ConsultarNFSeporRps(ANumero, ASerie, ATipo: String): Boolean;

.

.

ACBrNFSe1.NotaFiscas.LoadFromFile(caminho);

 

ACBrNFSe1.ConsultarNFSeporRps(ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero,
                                ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie,
                                TipoRPSToStr(ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Tipo));

.

.

.

Porém retorna erro em branco, sendo que o lote foi processado com sucesso.

 

Captura de tela 2016-02-23 13.15.57.png

Ricardo

Flexnet Sistemas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Ricardo,

Sem os XMLs dessa consulta não tenho como lhe ajudar.

Preciso do arquivo de envio e o de retorno.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa Tarde pessoal.
Desde semana passada voltei a trabalhar no NFSE e aproveito para parabenizar Italo e todos os colaboradores que participaram do desenvolvimento, pois está ótimo.

Tenho tudo atualizado e configurado conforme os posts aqui do forum, está tudo funcionando em 2 provedores que uso: Thema e Bhiss.
Mas emperrei nessa mesma situação base deste tópico, na tentativa de colaborar segue minha situação:

Na maioria das vezes vem mensagem de exception em branco, mando executar novamente e funciona normalmente. Em quase todos os testes acontece assim, uma rps dá exception em branco e a seguinte vem o retorno correto. Uma errada, uma certa, e fica assim intercalando. Como se faltasse um free ou zeramento de variável em algum lugar, mas debugando ainda não descobri.

Tentei várias combinações nas configurações do tipo AjustaAguardaConsultaRet, AguardarConsultaRet. IntervaloTentativas, etc. Mas não parece fazer nenhuma diferença.

Tento com o AguardarConsultaRet mais de 1 minuto, e as vezes recebe o retorno e outras recebe exception em branco.

Quando falo "exception em branco" é do retorno do comando ACBrNFSe1.Enviar(vNumLote,false); Neste caso então simplesmente não recebo o retorno. Como se realmente o servidor da prefeitura estivesse com problemas técnicos, porem no trunk1 continua funcionando normalmente e não demora pra receber o retorno.

Então resumindo, em anexo tem o último envio que deu esse problema e abaixo o código:

  try
     dm.ACBrNFSe1.Enviar(vNumLote,false); // false=nao imprimir
  Except on e : exception do    begin
     RichEditAcomp.lines.add(Formatdatetime('dd/MM/yyyy hh:mm:ss',now)+'Mensagem da Prefeitura: '+e.message);
  end;   { aqui alguns casos o e.message retorna '' em branco, outras vezes vem essa mensagem}
  end;   { as vezes vem essa mensagem: 'Esse RPS foi enviado para a nossa base de dados, mas ainda não foi processado.' Neste caso o consultar abaixo resolve. }

//     Sleep(60000);   tentei sleep aqui, mas nao muda nada.

  Try
     DM.ACBrNFSe1.ConsultarNFSeporRps(DM.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero,
                                      DM.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie,
                         TipoRPSToStr(DM.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Tipo));
  Except on e : exception do    begin
     RichEditAcomp.lines.add(Formatdatetime('dd/MM/yyyy hh:mm:ss',now)+' CONSULTAR: Mensagem da Prefeitura: '+e.message);
  end;  { aqui as vezes retorna assim: 'Não existe na base de dados uma NFS-e emitida para o número de RPS informado.' }
  end;  { porem se eu, executar o ConsultarNFSeporRps logo em seguida ele retorna e funciona certinho. }

Na prática o usuário tem que ficar tentando até conseguir, e isso pode demorar alguns minutos... mas o resultado está tudo perfeito.

Lembrando Provedores: Thema e Bhiss.

Em anexo 10122unica-rps.xml que não recebeu retorno e o exception em branco, consequentemente não gerou o xml da nfse.

10122UNICA-rps.xml

Link para o comentário
Compartilhar em outros sites

4 horas atrás, DOCFABIO disse:

Boa Tarde pessoal.
Desde semana passada voltei a trabalhar no NFSE e aproveito para parabenizar Italo e todos os colaboradores que participaram do desenvolvimento, pois está ótimo.

Tenho tudo atualizado e configurado conforme os posts aqui do forum, está tudo funcionando em 2 provedores que uso: Thema e Bhiss.
Mas emperrei nessa mesma situação base deste tópico, na tentativa de colaborar segue minha situação:

Na maioria das vezes vem mensagem de exception em branco, mando executar novamente e funciona normalmente. Em quase todos os testes acontece assim, uma rps dá exception em branco e a seguinte vem o retorno correto. Uma errada, uma certa, e fica assim intercalando. Como se faltasse um free ou zeramento de variável em algum lugar, mas debugando ainda não descobri.

Tentei várias combinações nas configurações do tipo AjustaAguardaConsultaRet, AguardarConsultaRet. IntervaloTentativas, etc. Mas não parece fazer nenhuma diferença.

Tento com o AguardarConsultaRet mais de 1 minuto, e as vezes recebe o retorno e outras recebe exception em branco.

Quando falo "exception em branco" é do retorno do comando ACBrNFSe1.Enviar(vNumLote,false); Neste caso então simplesmente não recebo o retorno. Como se realmente o servidor da prefeitura estivesse com problemas técnicos, porem no trunk1 continua funcionando normalmente e não demora pra receber o retorno.

Então resumindo, em anexo tem o último envio que deu esse problema e abaixo o código:

  try
     dm.ACBrNFSe1.Enviar(vNumLote,false); // false=nao imprimir
  Except on e : exception do    begin
     RichEditAcomp.lines.add(Formatdatetime('dd/MM/yyyy hh:mm:ss',now)+'Mensagem da Prefeitura: '+e.message);
  end;   { aqui alguns casos o e.message retorna '' em branco, outras vezes vem essa mensagem}
  end;   { as vezes vem essa mensagem: 'Esse RPS foi enviado para a nossa base de dados, mas ainda não foi processado.' Neste caso o consultar abaixo resolve. }

//     Sleep(60000);   tentei sleep aqui, mas nao muda nada.

  Try
     DM.ACBrNFSe1.ConsultarNFSeporRps(DM.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero,
                                      DM.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie,
                         TipoRPSToStr(DM.ACBrNFSe1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Tipo));
  Except on e : exception do    begin
     RichEditAcomp.lines.add(Formatdatetime('dd/MM/yyyy hh:mm:ss',now)+' CONSULTAR: Mensagem da Prefeitura: '+e.message);
  end;  { aqui as vezes retorna assim: 'Não existe na base de dados uma NFS-e emitida para o número de RPS informado.' }
  end;  { porem se eu, executar o ConsultarNFSeporRps logo em seguida ele retorna e funciona certinho. }

Na prática o usuário tem que ficar tentando até conseguir, e isso pode demorar alguns minutos... mas o resultado está tudo perfeito.

Lembrando Provedores: Thema e Bhiss.

Em anexo 10122unica-rps.xml que não recebeu retorno e o exception em branco, consequentemente não gerou o xml da nfse.

10122UNICA-rps.xml

 

 Estou com este mesmo problema para provedor Betha, e também pelo descrito no post anterior, para fazer a consulta via XML do RPS

 

  • Curtir 1

Ricardo

Flexnet Sistemas

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Fábio e Ricardo,

Ao realizarem testes vocês devem configurar o componente para salvar os arquivos soap.

Não adianta postarem o XML do RPS, para que possamos tentar descobrir o problema é preciso postar os arquivos de envio e o de retorno.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Fabio,

Você abriu o arquivo: 782252-sit.xml ?

Esse arquivo é o retorno ao efetuar a consulta a situação do lote.

Nele temos a seguinte informação: 

   <Mensagem>Esse RPS foi enviado para a nossa base de dados, mas ainda não foi processado</Mensagem>
   <Correcao>Faça uma nova consulta mais tarde.</Correcao>
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Oi Italo.

Então, é exatamente isso que estamos falando nesse tópico. Vide meu texto mais acima.

No trunk1 isso não acontece, demora poucos segundos e logo autoriza e imprime a nfse.

Nesse que te enviei, a rps foi enviada hoje as 11:30 e continua aparecendo a mesma mensagem até agora.

Essa situação é Thema Santa Cruz do Sul e acontece exatamente igual com BHiss de Porto Alegre.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Fabio,

Fiz uma alteração tanto nos fontes do componente quanto no arquivo INI do provedor.

Favor atualizar tudo e realizar novos testes.

Acredito que tenha descoberto o problema de lentidão no caso do provedor Thema.

Este possui dois tipos de envios.

Quando o lote de notas tem até 3 RPS devemos montar um envelope direcionando para EnviarLoteRpsLimitado, por outro lado quando o lote possui mais de 3 devemos direcionar para EnviarLoteRps.

Sendo assim, se você esta fazendo testes com apenas 1 RPS favor utilizar o método Gerar e não Enviar.

As alterações que fiz para esse provedor devemos utilizar o método Gerar para lotes com até 3 RPS e o Enviar para lotes com mais de 3 RPS.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Italo, sabe se mudou alguma coisa com relação ao provedor Betha? Eu estava usando o trunk1 até tenho uma versão do sistema na maior parte dos meus clientes que está no trunk1, esta versão está enviando NFSe certinho, na versão que eu migrei para o trunk2 envia o lote mas no retorno vem a mensagem "Inscrição municipal do prestador não encontrada na base de dados do município.", o detalhe é que até semana passada que foi quando terminei a migração do trunk1 para o trunk2, estava tudo funcionando.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Cesar,

Na rotina de configuração do componente você incluiu as linhas para configurar os dados do Emitente?

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Cesar,

Não, esse bloco se refere a alimentação do componente com os dados do RPS.

Eu me refiro a configuração.

 ACBrNFSe1.Configuracoes.Geral.Emitente.CNPJ      := edtEmitCNPJ.Text;
 ACBrNFSe1.Configuracoes.Geral.Emitente.InscMun   := edtEmitIM.Text;
 ACBrNFSe1.Configuracoes.Geral.Emitente.RazSocial := edtEmitRazao.Text;

 ACBrNFSe1.Configuracoes.Geral.Emitente.WebUser      := edtUserWeb.Text;
 ACBrNFSe1.Configuracoes.Geral.Emitente.WebSenha     := edtSenhaWeb.Text;
 ACBrNFSe1.Configuracoes.Geral.Emitente.WebFraseSecr := '';

 

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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