Ir para conteúdo
  • Cadastre-se

dev botao

Gerar e Enviar Lote RPS - Provedor Infisc


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

Recommended Posts

Bom dia!

Italo,

Estamos fazendo testes com a NFSe em Trunk2 com o provedor Infisc.  Configuramos o arquivo ini do provedor Infisc e conseguimos gerar o RPS normalmente.

O que não conseguimos é enviar o RPS. Em anexo esta a imagem do erro.

Poderia nos auxiliar onde podemos estar modificando para funcionamento do mesmo?

Att.

Moro

Erro.jpg

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia

Se o provedor exige que tanto o RPS quanto o Lote sejam assinados, ainda não vai funcionar. É o mesmo problema que está acontecendo aqui comigo com o provedor Digifred. Conversei com o Ítalo dias atras e ele me explicou que, por enquanto, está funcionando apenas se somente o RPS ou somente o Lote tiverem que ser assinados. Vamos ter que aguardar mais um pouco ...

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Sim.. Pra mim esse erro ocorria quando eu não assinava o RPS. Mas no caso do provedor Digifred é obrigatório assinar os dois. Olhando nos fontes do trunk1, esse provedor aparece assim:

  ConfigCidade.AssinaRPS   := False;
  ConfigCidade.AssinaLote  := (AAmbiente = 1);
  ConfigCidade.AssinaGerar := True;

Posso estar errado, mas somente deve-se assinar o lote em produção. 

Tente deixar false nos dois e ve no que da..

Link para o comentário
Compartilhar em outros sites

Dércio,

Já realizamos esses teste e não conseguimos exito. De qualquer maneira agradeço pelo atenção!

Para o provedor Infisc tem que ser dessa forma:

  ConfigCidade.AssinaRPS   := False;
  ConfigCidade.AssinaLote   := True;
  ConfigCidade.AssinaGerar := True;

Alguém mais ai no fórum com o mesmo problema, conseguio resolver?

Att.

Moro

Link para o comentário
Compartilhar em outros sites

Dércio,

Já realizamos esses teste e não conseguimos exito. De qualquer maneira agradeço pelo atenção!

Para o provedor Infisc tem que ser dessa forma:

  ConfigCidade.AssinaRPS   := False;
  ConfigCidade.AssinaLote   := True;
  ConfigCidade.AssinaGerar := True;

Alguém mais ai no fórum com o mesmo problema, conseguio resolver?

Att.

Moro

Boa tarde,

Ontem pela tarde eu havia deixado meu ACBr exatamente assim. Utilizando a função Enviar, eu consegui fazer com que a nota fosse emitida com sucesso, porém obtive outro problema.

O xml com a situação do protocolo que a Infisc retorna, de início, vem com a tag sit com o valor 217, que o ACBr não interpreta. Porém esta situação informa que o arquivo ainda não foi processado. Como o ACBr não interpreta, ele lança uma exception.

OBS: quando busquei utilizar o EnviarSincrono, obtive o mesmo erro que o Moro enviou como imagem.

 

Editado por bruno_fuhr
Link para o comentário
Compartilhar em outros sites

Outra coisa.

Não busquei ver em quais pontos acontece, mas quando o ACBr chama a função AssinarMSXML, faz uma verificação buscando saber se o xml (da variável AXML) é válido (acredito eu).

O que notei, é que quando utilizo a função Enviar, neste ponto, o XML já está "pronto", ou seja, com todas as informações da nota. Quando é utilizada a função EnviarSincrono, no momento em que a validade do XML é verificada, só existem as tags da assinatura e a tag de encerramento </envioNFSe>.

Em anexo variável AXML no ponto de verificação nos métodos Enviar e EnviarSincrono.

É visível que existe o encerramento de uma tag, não sei informar se isto deve ser assim.

 

Att.

XML_FUNC_EnviarSincrono.xml

XML_Func_Enviar.xml

Link para o comentário
Compartilhar em outros sites

Bom dia!

Moro,

Estou usando o provedor da Infisc, correspondente a Caxias do Sul.

Andei buscando onde o ACBr faz este erro.

Encontrei o seguinte.

Na unit ACBRNFSeWebServices, existem os métodos DoNFSeEnviarLoteRPS e

DoNFSeEnviarSincrono.

O primeiro é chamado pelo método Enviar, que gera envio correto ao provedor da Infisc, porém por não ser sincrono, entende que ocorrem erros, quando na verdade isto não ocorre.

O segundo, é chamado pelo método EnviarSincrono, que é o que tu também está utilizando e que gera o XML incorreto, causando erro de validação.

No método DoNFSeEnviarLoteRPS, por volta da linha 991, existe a seguinte linha de código:

 if FConfiguracoes.Certificados.AssinaRPS then

dentro disto, o ACBr verifica qual provedor está sendo utilizado, e um deles é o da Infisc, que possui um tratamento diferente, o mesmo ocorre no else deste if, acontece que para o método DONFSeEnviarSincrono, este tratamento especial para a Infisc não está ocorrendo.

Incluí o tratamento especial para o provedor da Infisc, constante na próxima linha, ainda obtive erros no xml gerado.

Anexarei o xml que consegui gerar, como também o fonte após minha alteração para que tu teste.
 

ACBrNFSeWebServices.pas

xml_infisc_sincrono.xml

Link para o comentário
Compartilhar em outros sites

Bruno,

Acredito não estarmos falando do mesmo erro:

O que vc me passou está em Trunk 1 e o erro que aparece para nós está em Trunk 2

Na unit ACBRNFSeWebServices em Trunk 2, não existe os métodos DoNFSeEnviarLoteRPS e DoNFSeEnviarSincrono, e está sendo feito de outro forma!

Se falei algo errado me corrige...

Att.

Moro

Link para o comentário
Compartilhar em outros sites

Entendi, é, o erro, ao que eu vi na imagem que tu postou é igual, mas os motivos podem ser diferentes.

Eu estava com o seguinte problema.

Utilizo a função Enviar, para outros provedores, acontece que para o provedor da Infisc,  a situação de retorno não era tratada corretamente, fazendo com que o acbr encontrasse um erro desconhecido.
A situação que informa o aguardo de processamento para a Infisc é a 217. Caso tenhas esta situação já possui esta dica.

Link para o comentário
Compartilhar em outros sites

Eu estava com o seguinte problema.

Utilizo a função Enviar, para outros provedores, acontece que para o provedor da Infisc,  a situação de retorno não era tratada corretamente, fazendo com que o acbr encontrasse um erro desconhecido.
A situação que informa o aguardo de processamento para a Infisc é a 217. Caso tenhas esta situação já possui esta dica.

Obs.

 

A situação que informa o aguardo de processamento para a Infisc é a 217. Alterei isto na função LerXML_provedorInfisc. Unit pnfsConsSitLoteRpsResposta

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Este tópico foi criado há 3073 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.