Ir para conteúdo
  • Cadastre-se

dev botao

Erro Cancelamento Nfs-E Curitiba-Pr


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

Recommended Posts

Bom dia!

 

Ao tentar cancelar uma NFS-e é gerado o seguinte erro:

 

Erro: Não foi possível carregar o arquivo: <CancelarNfseEnvio><IdentificacaoNfse><Numero>13235</Numero><Cnpj>03145706000130</Cnpj><InscricaoMunicipal>14010441833</InscricaoMunicipal><CodigoMunicipio>4106902</CodigoMunicipio></IdentificacaoNfse><CodigoCancelamento>2</CodigoCancelamento></InfPedidoCancelamento><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></DigestValue></Reference></SignedInfo><SignatureValue></SignatureValue><KeyInfo><X509Data><X509Certificate></X509Certificate></X509Data></KeyInfo></Signature></CancelarNfseEnvio>

 

O código utilizado para o cancelamento é o seguinte:

ACBrNFSe.NotasFiscais.Clear;

with ACBrNFSe.NotasFiscais.Add do
begin
  NFSe.Numero := lvNotasCanc.Items[vintConte].SubItems[0];
  NFSe.IdentificacaoRps.Numero := lvNotasCanc.Items[vintConte].SubItems[3];
  NFSe.IdentificacaoRps.Serie  := lvNotasCanc.Items[vintConte].SubItems[0];
  NFSe.IdentificacaoRps.Tipo   := trRPS;
  NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj              := '03145706000130';
  NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal:= '14010441833';
  NFSe.PrestadorServico.Endereco.CodigoMunicipio                 := '4106902';
  NFSe.MotivoCancelamento                                        := 'TESTE DE CANCELAMENTO';
end;

ACBrNFSe.CancelarNFSe('2'); 

Alguém teria alguma dica acerca do problema?

 
Grato,
 
Andreas
Link para o comentário
Compartilhar em outros sites

 

Bom dia!

 

Ao tentar cancelar uma NFS-e é gerado o seguinte erro:

 

Erro: Não foi possível carregar o arquivo: <CancelarNfseEnvio><IdentificacaoNfse><Numero>13235</Numero><Cnpj>03145706000130</Cnpj><InscricaoMunicipal>14010441833</InscricaoMunicipal><CodigoMunicipio>4106902</CodigoMunicipio></IdentificacaoNfse><CodigoCancelamento>2</CodigoCancelamento></InfPedidoCancelamento><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></DigestValue></Reference></SignedInfo><SignatureValue></SignatureValue><KeyInfo><X509Data><X509Certificate></X509Certificate></X509Data></KeyInfo></Signature></CancelarNfseEnvio>

 

O código utilizado para o cancelamento é o seguinte:

ACBrNFSe.NotasFiscais.Clear;

with ACBrNFSe.NotasFiscais.Add do
begin
  NFSe.Numero := lvNotasCanc.Items[vintConte].SubItems[0];
  NFSe.IdentificacaoRps.Numero := lvNotasCanc.Items[vintConte].SubItems[3];
  NFSe.IdentificacaoRps.Serie  := lvNotasCanc.Items[vintConte].SubItems[0];
  NFSe.IdentificacaoRps.Tipo   := trRPS;
  NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj              := '03145706000130';
  NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal:= '14010441833';
  NFSe.PrestadorServico.Endereco.CodigoMunicipio                 := '4106902';
  NFSe.MotivoCancelamento                                        := 'TESTE DE CANCELAMENTO';
end;

ACBrNFSe.CancelarNFSe('2'); 

Alguém teria alguma dica acerca do problema?

 
Grato,
 
Andreas

 

Andreas, boa tarde. Verifique o XML. Senti a falta da abertura da TAG </InfPedidoCancelamento>. 

Rodrigo de Souza Crovador

Analista / Desenvolvedor Delphi
contato: [email protected]

São José do Rio Preto - SP

Link para o comentário
Compartilhar em outros sites

Boa tarde Rodrigo!

 

A geração das tabelas não seria  por conta to ACBr? Ou devo manipular o XML de envio do Cancelamento da NFS-e? Se devo manipula-lo, onde e como fazê-lo?

 

Desculpe as perguntas em demasia, é que sou estou iniciando nos componente ACBr e não possuo profundo conhecimento de seu funcionamento ou de suas funcionalidades.

 

Grato,

 

Andreas.

Link para o comentário
Compartilhar em outros sites

Andreas, parece que o ambiente de homologação de curitiba está meio instável pois agora está me retornando erro ao enviar e cancelar a nfs-e.

 

A estrutura do XML está certo a princípio pois gerei um com o código que lhe passei e o que você está usando e ambos estão sendo gerados iguais.

Link para o comentário
Compartilhar em outros sites

Tiago, o servidor piloto de Curitiba (homologação) tem problemas realmente e eu já havia sido avisado disso pelo suporte deles, mas o problema que estou tendo ocorre antes de enviar a solicitação de cancelamento ou após enviar a solicitação de cancelamento e receber um retorno equivocado por parte do servidor de homologação?

 

Grato,

 

Andreas

Link para o comentário
Compartilhar em outros sites

Boa tarde Rodrigo!

 

A geração das tabelas não seria  por conta to ACBr? Ou devo manipular o XML de envio do Cancelamento da NFS-e? Se devo manipula-lo, onde e como fazê-lo?

 

Desculpe as perguntas em demasia, é que sou estou iniciando nos componente ACBr e não possuo profundo conhecimento de seu funcionamento ou de suas funcionalidades.

 

Grato,

 

Andreas.

 

Sim, o componente gera todo o XML sem necessidade de manipula-lo, mas o que acho estranho e que o exemplo que postou está sem o fechamento da TAG que citei. Veja se no XML que está gerando para enviar ao cancelamento tem a abertura e fechamento da TAG </InfPedidoCancelamento>. Pode ser que ao copiar aqui no forum tenha ficado para tras :)

 

Se realmente não tiver esta tag, verifique no arquivo pnfsNFSeG.pas tem o seguinte trecho na linha 430:

 

  proIssCuritiba: DadosMsg := '<InfPedidoCancelamento>' +
                               '<IdentificacaoNfse>' +
                                '<Cnpj>' + Cnpj + '</Cnpj>' +
                                '<InscricaoMunicipal>' + IM + '</InscricaoMunicipal>' +
                                '<Numero>' + NumeroNFse + '</Numero>' +
                               '</IdentificacaoNfse>' +
                              '</InfPedidoCancelamento>';
 

 

 

Tiago, o servidor piloto de Curitiba (homologação) tem problemas realmente e eu já havia sido avisado disso pelo suporte deles, mas o problema que estou tendo ocorre antes de enviar a solicitação de cancelamento ou após enviar a solicitação de cancelamento e receber um retorno equivocado por parte do servidor de homologação?

 

Grato,

 

Andreas

Pela mensagem de erro acredito que está ocorrendo antes de enviar, uma vez que não consegue sequer carregar o XML, mas é difícil dizer, teria de debugar o componente.

 

Editado por Rodrigo Crovador

Rodrigo de Souza Crovador

Analista / Desenvolvedor Delphi
contato: [email protected]

São José do Rio Preto - SP

Link para o comentário
Compartilhar em outros sites

Andreas, até pensei que não tinha alterado o meu código quando falei que funcionou, mas fiz novamente aqui agora e novamente cancelou a nota e não gerou nenhum erro!

 

O que me chamou a atenção foi que os campos <SignedInfo></SignedInfo> estão praticamente vazios no código que postou! Está informando o certificado válido para o estado do Paraná?

Link para o comentário
Compartilhar em outros sites

Bom dia Rodrigo!

 

O fonte pnfsNFSeG.pas esta de acordo com o que você postou e o problema é realmente este, o erro ocorre quando se tenta carregar o texto com o código XML dentro de um componente TXMLDocument.

 

----

 

Bom dia Tiago!

 

Realmente o XML gerado não possui informações de assinatura, estou informando um certificado especifico que é gerado apenas para o servidor piloto de Curitiba conforme instruções do suporte.

 

 

Grato,

 

Andreas

Link para o comentário
Compartilhar em outros sites

 

Fiz a depuração do código e o erro ocorre especificamente na linha 1130 do fonte ACBrNFSeUtil.pas conforme código abaixo:

 if (not xmldoc.loadXML(AXML) )
  then raise Exception.Create('Não foi possível carregar o arquivo: '+AXML);

 

 Poste o conteúdo da variável AXML.

Rodrigo de Souza Crovador

Analista / Desenvolvedor Delphi
contato: [email protected]

São José do Rio Preto - SP

Link para o comentário
Compartilhar em outros sites

Rodrigo, o conteúdo da variável AXML é:

 

'<CancelarNfseEnvio><IdentificacaoNfse><Numero>13235</Numero><Cnpj>03145706000130</Cnpj><InscricaoMunicipal>14010441833</InscricaoMunicipal><CodigoMunicipio>4106902</CodigoMunicipio></IdentificacaoNfse><CodigoCancelamento>2</CodigoCancelamento></InfPedidoCancelamento><Signature xmlns= http://www.w3.org/2000/09/xmldsig# ><SignedInfo><CanonicalizationMethod Algorithm= http://www.w3.org/TR...l-c14n-20010315  /><SignatureMethod Algorithm= http://www.w3.org/20...mldsig#rsa-sha1  /><Reference URI=  ><Transforms><Transform Algorithm= http://www.w3.org/20...loped-signature  /><Transform Algorithm= http://www.w3.org/TR...l-c14n-20010315  /></Transforms><DigestMethod Algorithm= http://www.w3.org/2000/09/xmldsig#sha1  /><DigestValue></DigestValue></Reference></SignedInfo><SignatureValue></SignatureValue><KeyInfo><X509Data><X509Certificate></X509Certificate></X509Data></KeyInfo></Signature></CancelarNfseEnvio>'

 

Grato!

Link para o comentário
Compartilhar em outros sites

Rodrigo, o conteúdo da variável AXML é:

 

'<CancelarNfseEnvio><IdentificacaoNfse><Numero>13235</Numero><Cnpj>03145706000130</Cnpj><InscricaoMunicipal>14010441833</InscricaoMunicipal><CodigoMunicipio>4106902</CodigoMunicipio></IdentificacaoNfse><CodigoCancelamento>2</CodigoCancelamento></InfPedidoCancelamento><Signature xmlns= http://www.w3.org/2000/09/xmldsig# ><SignedInfo><CanonicalizationMethod Algorithm= http://www.w3.org/TR...l-c14n-20010315  /><SignatureMethod Algorithm= http://www.w3.org/20...mldsig#rsa-sha1  /><Reference URI=  ><Transforms><Transform Algorithm= http://www.w3.org/20...loped-signature  /><Transform Algorithm= http://www.w3.org/TR...l-c14n-20010315  /></Transforms><DigestMethod Algorithm= http://www.w3.org/2000/09/xmldsig#sha1  /><DigestValue></DigestValue></Reference></SignedInfo><SignatureValue></SignatureValue><KeyInfo><X509Data><X509Certificate></X509Certificate></X509Data></KeyInfo></Signature></CancelarNfseEnvio>'

 

Grato!

 

Andreas, você terá que depurar a formação do conteúdo da variável AXML. Faço todo o retrocesso até o momento que ela é iniciada e deste ponto acompanhe até o ponto em que ocorre o erro. Em algum momento o texto está perdendo a abertura da TAG <InfPedidoCancelamento>, gerando assim o xml incorreto e impossível de ser carregado. Veja passo a passo do processo de envio a fim de identificar o ponto onde ocorre o problema. 

Abaixo seu XML de forma que consiga visualizar melhor o motivo do erro:

 

<CancelarNfseEnvio>
    -- Neste ponto deveria ter a tag de abertura <InfPedidoCancelamento>
    <IdentificacaoNfse>
      <Numero>13235</Numero>
      <Cnpj>03145706000130</Cnpj>
      <InscricaoMunicipal>14010441833</InscricaoMunicipal>
      <CodigoMunicipio>4106902</CodigoMunicipio>
    </IdentificacaoNfse>
    <CodigoCancelamento>2</CodigoCancelamento> 
  </InfPedidoCancelamento>
  <Signature xmlns= http://www.w3.org/2000/09/xmldsig# >
    <SignedInfo>
      <CanonicalizationMethod Algorithm= http://www.w3.org/TR...l-c14n-20010315  />
      <SignatureMethod Algorithm= http://www.w3.org/20...mldsig#rsa-sha1  />
      <Reference URI=  >
        <Transforms>
          <Transform Algorithm= http://www.w3.org/20...loped-signature  />
          <Transform Algorithm= http://www.w3.org/TR...l-c14n-20010315  />
        </Transforms>
        <DigestMethod Algorithm= http://www.w3.org/2000/09/xmldsig#sha1  />
        <DigestValue></DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue></SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate></X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>
</CancelarNfseEnvio>

 

Rodrigo de Souza Crovador

Analista / Desenvolvedor Delphi
contato: [email protected]

São José do Rio Preto - SP

Link para o comentário
Compartilhar em outros sites

Boa tarde Rodrigo!

 

Depurando o código detectei necessidade de alteração no fonte pnfsNFSeG.pas linha 336 conforme segue abaixo:

 else DadosMsg := '<InfPedidoCancelamento>' + // A ABERTURA DA TAG FOI INCLUÍDA
                   '<' + Prefixo4 + 'IdentificacaoNfse>' +
                    '<' + Prefixo4 + 'Numero>' +
                      NumeroNFse +
                    '</' + Prefixo4 + 'Numero>' +

                    // alterado por joel takei 05/07/2013
                   DFeUtil.SeSenao(AProvedor in [pro4R, proISSe, proFiorilli],

                    '<' + Prefixo4 + 'CpfCnpj>' +
                     '<' + Prefixo4 + 'Cnpj>' +
                      Cnpj +
                     '</' + Prefixo4 + 'Cnpj>' +
                    '</' + Prefixo4 + 'CpfCnpj>',

                    '<' + Prefixo4 + 'Cnpj>' +
                      Cnpj +
                    '</' + Prefixo4 + 'Cnpj>') +

                    '<' + Prefixo4 + 'InscricaoMunicipal>' +
                      IM +
                    '</' + Prefixo4 + 'InscricaoMunicipal>' +
                    '<' + Prefixo4 + 'CodigoMunicipio>' +
                      CodMunicipio +
                    '</' + Prefixo4 + 'CodigoMunicipio>' +
                   '</' + Prefixo4 + 'IdentificacaoNfse>' +
                   '<' + Prefixo4 + 'CodigoCancelamento>' +

                     // Codigo de Cancelamento
                     // 1 - Erro de emissão
                     // 2 - Serviço não concluido
                     // 3 - RPS Cancelado na Emissão

                     CodCancelamento +

                   '</' + Prefixo4 + 'CodigoCancelamento>' +
                  '</' + Prefixo4 + 'InfPedidoCancelamento>';

Após incluir a abertura da Tag o erro de carregamento do XML no ponto anterior não ocorreu mais, porém o evento não esta funcionando, ou seja, mesmo enviando corretamente a nota continua em aberto no servidor Piloto além de gerar erro ao tentar executar o evento consulta da NFSe (ConsNfseRps).

Link para o comentário
Compartilhar em outros sites

Boa tarde Rodrigo!

 

Depurando o código.......

 

 

 

Andreas, boa tarde. Em qual revisão está seu fonte? Se o provedor que você está atendendo é de Curitiba, o processamento não deveria acessar estar parte e sim este trecho:

 

proIssCuritiba: DadosMsg := '<InfPedidoCancelamento>' +
                               '<IdentificacaoNfse>' +
                                '<Cnpj>' + Cnpj + '</Cnpj>' +
                                '<InscricaoMunicipal>' + IM + '</InscricaoMunicipal>' +
                                '<Numero>' + NumeroNFse + '</Numero>' +
                               '</IdentificacaoNfse>' +
                              '</InfPedidoCancelamento>';
Editado por Juliomar Marchetti

Rodrigo de Souza Crovador

Analista / Desenvolvedor Delphi
contato: [email protected]

São José do Rio Preto - SP

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...