Ir para conteúdo
  • Cadastre-se

dev botao

Leitura do Retorno da Emissão da NFS-e


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

Recommended Posts

  • Consultores
  • Solution

Boa tarde @Datacaixa.

O problema ainda persiste?

Veja o resultado que obtive ao realizar um teste com a cidade de Araraquara/SP atendida pelo provedor Ginfes.

image.png

Sugiro que faça o seguinte:

  1. Veja se você não possui fontes alterados localmente. Os mesmos são indicados pelo SVN com uma bolinha vermelha ao lado da unit.
    1. Caso afirmativo, resolva essas alterações.
  2. Verifique se você não possui nenhum .bpu ou .dcu perdidos em sua máquina em locais que não deveriam estar.
    1. Geralmente quando compila um pacote manualmente ele adiciona em Users\Public\Documents\Embarcadero\Studio\VersaodoSeuDelphi\
  3. Reinstale o ACBr com a opção "Apagar Arquivos Antigos" no instalador marcada, para que ele apague .dcus e .bpus antigos e gere novos.
  4. Repita o teste.

Também é válido rever na sua aplicação como é o processo que faz para capturar estas mensagens de erro.

Veja como é feito no programa exemplo:

procedure TfrmACBrNFSe.ChecarResposta(aMetodo: TMetodo);
var
  i: Integer;

  procedure ListaDeErros(aErros: TNFSeEventoCollection);
  var
    i: Integer;
  begin
    if aErros.Count > 0 then
    begin
      memoLog.Lines.Add(' ');
      memoLog.Lines.Add('Erro(s):');
      for i := 0 to aErros.Count -1 do
      begin
        memoLog.Lines.Add('Código  : ' + aErros[i].Codigo);
        memoLog.Lines.Add('Mensagem: ' + aErros[i].Descricao);
        memoLog.Lines.Add('Correção: ' + aErros[i].Correcao);
        memoLog.Lines.Add('---------');
      end;
    end;
  end;
//...
begin
  //...
  with ACBrNFSeX1.WebService do
  begin
    case aMetodo of
    //...
      tmConsultarLote:
        begin
          with ConsultaLoteRps do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmConsultarLote));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            memoLog.Lines.Add('Numero do Prot: ' + Protocolo);
            memoLog.Lines.Add('Numero do Lote: ' + NumeroLote);
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Situação Lote : ' + Situacao);
            memoLog.Lines.Add('ID Nota       : ' + idNota);
            memoLog.Lines.Add('Sucesso       : ' + BoolToStr(Sucesso, True));

            ListaDeResumos(Resumos, tmConsultarLote);

            LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
            LoadXML(XmlRetorno, WBXmlRetorno, 'temp2.xml');

            ListaDeErros(Erros);
            ListaDeAlertas(Alertas);
          end;
        end;
        //...
    end;
  end;
end;

 

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia!

O erro ainda persiste

------------------------------
Versão OpenSSL
OpenSSL 1.1.1j  16 Feb 2021
01.01.01.0AF
C:\WINDOWS\SYSTEM32\libcrypto-1_1.dll
C:\WINDOWS\SYSTEM32\libssl-1_1.dll
------------------------------
Requisição
Ambiente : 1
Cidade   : Guaruja/SP
Provedor : Ginfes Versão: 1.00
Data/Hora: 26/02/2024 11:36:30
 
Método Executado: Enviar Lote Assíncrono
 
Parâmetros de Envio
Numero do Lote: 611
 
Parâmetros de Retorno
Data de Envio : 26/02/2024
Numero do Prot: 554180437
Numero da Nota: 
Link          : 
Código Verif. : 
Sucesso       : True
 
 
Método Executado: Consultar a Situacao
 
Parâmetros de Envio
Numero do Prot: 554180437
Numero do Lote: 611
 
Parâmetros de Retorno
Situação Lote : 3
Descrição Sit : Lote Processado com Erro
Sucesso       : True
 
 
Método Executado: Consultar o Lote de Rps
 
Parâmetros de Envio
Numero do Prot: 554180437
Numero do Lote: 
 
Parâmetros de Retorno
Situação Lote : 3
ID Nota       : 
Sucesso       : False
 
Erro(s):
Código  : E30
Mensagem: Item da lista de serviço inexistente
Correção: Consulte a legislação vigente para saber o item da lista de serviço que deverá ser informado neste campo.
---------
 
NFS-e Numero....: 611
Cod. Verificacao: 
Prestador.......: CONECTA TECNOLOGIA
Tomador.........: DATACAIXA TECNOLOGIA LTDA

Analisando o log gerado pela procedure ChecarResposta no momento de ler o metodoRecepcionar a propriedade Emite.Sucesso está igual a "True" sendo que teve um erro na emissão, porém acredito que o certo seria que fosse "False" o entendimento seria esse mesmo?

E neste mesmo momento a propriedade Emite.Erros.Count neste momento está igual a 0.

A propriedade Emite.Erros.Count com o erro retornado pelo Provedor só é adicionado na execução do "ACBrNFSeX1.Provider.ConfigGeral.ConsultaLote" e aí sim o Erros.Count é incrementado.

Sendo assim, não basta eu usar somente a propriedade ACBrNFSeX1.WebService.Emite.Erros pois no primeiro momento ela não estará preenchida corretamente.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @Datacaixa,

Pelo Log temos o seguinte:

1. O Lote de RPS foi enviado com sucesso uma vez que no seu retorno temos o numero do protocolo.

2. O Consultar Situação também foi realizado com sucesso, uma vez que foi retornado a situação do lote que no caso é 3 que indica que no Lote temos um RPS que foi processado com falhas.

3. Por outro lado o Consultar o Lote falhou pois não retornou o XML da nota mas sim a lista de erros.

Só que os erros propriamente ditos não foram retornados ou o componente não consegui os ler.

Você poderia anexar o XML de retorno do Consultar Lote para que possamos analisar?

  • Curtir 1
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

Link para o comentário
Compartilhar em outros sites

  • Consultores
2 horas atrás, Datacaixa disse:

Erro(s):
Código  : E30
Mensagem: Item da lista de serviço inexistente
Correção: Consulte a legislação vigente para saber o item da lista de serviço que deverá ser informado neste campo.

Conferindo no arquivo de retorno, há algum erro além deste?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde!

Mas esse número de protocolo não corresponde aos demais já gerados, está bem diferente das demais notas que foram emitidas com sucesso.

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<ns3:ConsultarLoteRpsEnvio xmlns:ns3="http://www.ginfes.com.br/servico_consultar_lote_rps_envio_v03.xsd" xmlns:ns4="http://www.ginfes.com.br/tipos_v03.xsd">
<ns3:Prestador>
<ns4:Cnpj>17098110000130</ns4:Cnpj>
<ns4:InscricaoMunicipal>57332</ns4:InscricaoMunicipal>
</ns3:Prestador>
<ns3:Protocolo>554195555</ns3:Protocolo>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>HnDDaarvH+1Pm3Lb9MALskx+vjY=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>XWZ0CXzkk/dv98r9GPd8AveFEWxVUNdiw2ud1/4uNdrfsqwRWPFEKiAl+YlcyuICRp5mRLO6uI9mk5x50NFTvsjnV1gsEHNd2LZScYzeM/rXOsjr4+LvkC3PL8v//1bO5PZfzhR3lRUYsRv/fRNELponiD6YlaTcUlAG3SZFCRaM5d9rsKFVbYzqlchBAhxD+zryfsvMOcxV43Ub+x6/3cEfScIJPi+RhJ1FZ1WDYmdavn1/ggrNCZxfQws8yf0t+VdTAsRUqd4e4ZWV+vT4PEQZAeWutMfO24LsQWGYFppzEE11/sjlVGCv1aqV3icYTusA0OuRiD9KNc68adznmA==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</ns3:ConsultarLoteRpsEnvio>

obs: não consigo anexar arquivos, poderia deixar pelo menos 1MB de tamanho de arquivo?

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @Datacaixa,

Experimenta deletar os arquivos mais antigos que você por ventura tenha anexado, assim libera espaço.

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

Link para o comentário
Compartilhar em outros sites

  • Consultores
13 horas atrás, Datacaixa disse:

Boa noite!

Vou ter que deletar anexos de tópicos antigos para liberar espaço para pode anexar documentos novos, é isso mesmo?

Sim.

 

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @Datacaixa,

Analisando os seus XML notei o seguinte:

1. Arquivo: 000000611-rec.xml contem o retorno do envio do lote de RPS e nele consta o numero do protocolo, bem como a data e hora de recebimento do lote, isso atesta que o lote foi recepcionado com sucesso. (o numero 611 que aparece no nome do arquivo é o numero do lote que foi enviado).

2. Arquivo: 553746404-sit.xml contem o retorno da consulta a situação do lote e nele consta a situação, no caso é 3 bem como o numero do lote que é 611. (o numero 553746404 que aparece no nome do arquivo é o numero do protocolo).

3.Arquivo: 553746404-lista-nfse-con-lot.xml contem o retorno da consulta ao lote, como a situação do lote é 3 (vide retorno da consulta a situação) o que temos é a lista de erros, caso a situação fosse 4 teríamos a lista de notas.

Nessa lista de erros temos o erro E30 = Item da lista de serviço inexistente.

Esse erro esta lhe informando que o conteúdo da tag <ItemListaServico> não existe,.

Veja o código que foi informado:

<ns4:ItemListaServico>00.00</ns4:ItemListaServico>
<ns4:Discriminacao>1 - SERVICO AVULCO - Troca de local Modem Vivo.</ns4:Discriminacao>
<ns4:CodigoMunicipio>3518701</ns4:CodigoMunicipio>

O WebService da prefeitura não reconhece o código 00.00 como sendo um código de Item da Lista de Serviços valido.

O componente lhe passou essa informação, veja a sua postagem de: Segunda as 12:27.

Tudo o que eu escrevi acima analisando os XMLs que você nos disponibilizou o componente fez e lhe mostrou no log.

Resumindo, você precisa ver com o contador qual é o código do Item da lista de serviços para o serviço prestado desse prestador.

  • Curtir 1
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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde!

Eu provoquei esse erro de propósito não informando o código de tributação do serviço, o motivo disso é para verificar a forma como o erro está sendo retornado, o lote pode ter sido recepcionado com sucesso, porém a nota não estaria "autorizada" pois foi gerado esse erro.  Esse tipo de comportamento é o que acontece quando se faz uma NF-e, um item da nota com alguma informação incorreta ou faltante resulta em um nota "Rejeitada" certo?

No caso da NFS-e o comportamento é diferente, pelo que entendi teria que analisar todos os tipos de retorno para ter uma certeza sobre o status da nota, ou seja, teria que tratar todos os retornos como na procedure "ChecaResposta" é isso mesmo? Eu não posso considerar somente a propriedade AcbrNFSex1.Emite.Sucesso como válida para identificar se a mesma está como "Autorizada" ou "Rejeitada".

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @Datacaixa,

Veja bem, você esta enviando um RPS para um provedor que trabalha no modo assíncrono.

Ao enviar o RPS se a estrutura do XML de envio estiver correta o provedor sempre vai retornar o numero do protocolo.

Não confundir o numero do protocolo da NFS-e com o numero do protocolo da NF-e.

O numero do protocolo da NFS-e equivale ao numero do recibo da NF-e.

Esses números simplesmente servem para lhe informar que o XML foi recepcionado com sucesso e vai entrar na fila de processamento.

Logo não podemos dizer que o que foi enviado vai ser processado com sucesso.

Lembre-se o valor do campo Sucesso (independente do método executado) indica se no retorno temos uma lista de erros ou não, se não temos uma lista de erros o valor do campo Sucesso é True, caso contrario será False.

Veja os retornos que você teve:

Retorno do envio, note que o valor de Sucesso é True indicando que no retorno não temos uma lista de erros:

Parâmetros de Envio
Numero do Lote: 611
 
Parâmetros de Retorno
Data de Envio : 26/02/2024
Numero do Prot: 554180437
Numero da Nota: 
Link          : 
Código Verif. : 
Sucesso       : True

Retorno do Consultar Situação, note que o valor de Sucesso é True indicando que no retorno não temos uma lista de erros: 

Método Executado: Consultar a Situacao
 
Parâmetros de Envio
Numero do Prot: 554180437
Numero do Lote: 611
 
Parâmetros de Retorno
Situação Lote : 3
Descrição Sit : Lote Processado com Erro
Sucesso       : True

Retorno do Consultar Lote RPS, note que o valor de Sucesso é False indicando que no retorno temos uma lista de erros: 

Método Executado: Consultar o Lote de Rps
 
Parâmetros de Envio
Numero do Prot: 554180437
Numero do Lote: 
 
Parâmetros de Retorno
Situação Lote : 3
ID Nota       : 
Sucesso       : False
 
Erro(s):
Código  : E30
Mensagem: Item da lista de serviço inexistente
Correção: Consulte a legislação vigente para saber o item da lista de serviço que deverá ser informado neste campo.


Resumindo a sua aplicação precisa avaliar cada retorno dos métodos executados.

Todos os provedores que trabalham no modo assíncrono é preciso executar 3 passos.

1. Envio do RPS

2. Consultar a Situação

3. Se a situação retornado do passo anterior for 3 ou 4, Consultar o Lote
 
 
 

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

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...