Jump to content

dev botao

Cancelamento NFSE Provedor CIGA


Go to solution Solved by Metasis Sistemas,
  • Este tópico foi criado há 991 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa Tarde,

Ao efetuar cancelamento no provedor CIGA caso ocorra erros o componente esta retornando a  mensagem corretamente, porem quando apresenta sucesso o componente retorna um erro X999 - Violação de acesso,

Verificado que o xml com erro apresenta uma estrutura dessa forma:

<?xml version="1.0" encoding="UTF-8"?>

-<CancelarNfseResposta>
-<ListaMensagemRetorno>
-<MensagemRetorno>

<Codigo>E79</Codigo>

<Mensagem>NFS-e já está cancelada.</Mensagem>

</MensagemRetorno>

</ListaMensagemRetorno>

</CancelarNfseResposta>

 

e Quando da sucesso não segue o mesmo padrão apresenta assim:

 

 

 

<CancelarNfseResposta> <RetCancelamento> <NfseCancelamento versao="1.00"> <Confirmacao Id="cancelamento_620d4d13ccabbf2f108b4567"/> <Pedido> <InfPedidoCancelamento Id="Canc_7322424800010017272202200000001384"> <IdentificacaoNfse> <Numero>202200000001384</Numero> <Cnpj>73224248000100</Cnpj> <InscricaoMunicipal>17272</InscricaoMunicipal> <CodigoMunicipio>4205506</CodigoMunicipio> </IdentificacaoNfse> <CodigoCancelamento>1</CodigoCancelamento> </InfPedidoCancelamento> </Pedido> <DataHoraCancelamento>2022-02-16T16:17:43</DataHoraCancelamento> </NfseCancelamento> </RetCancelamento> </CancelarNfseResposta>

 

Segue os xml em anexo.

 

 

 

202200000001384-can.xml 202200000001385-can.xml

Link to comment
Share on other sites

  • Administradores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 to comment
Share on other sites

  • Consultores

Boa tarde,

Analisei o código e não consegui identificar a linha que por ventura esteja ocorrendo o erro: Violação de acesso.

Vai ser necessário colocar um ponto de parada no inicio da procedure TratarRetornoCancelaNFSe da unit ACBrNFSeXProviderABRASFv1 e ir debugando até ocorrer o erro.

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 to comment
Share on other sites

  • Consultores

Bom dia,

Se esta ocorrendo erro nessa linha então:

      ANodePed := ANode.Childrens.FindAnyNs('Pedido');  <== o valor de ANode é diferente de nil e o valor de ANodePed é igual a nil
      ANodePed := ANodePed.Childrens.FindAnyNs('InfPedidoCancelamento');   <== ocorre erro

Se isso esta ocorrendo significa que ele não esta reconhecendo o grupo <Pedido>

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 to comment
Share on other sites

Identificado o problema, na linha 1354:

ANode := ANode.Childrens.FindAnyNs('Confirmacao');

esta atribuindo no ANode a tag Confirmação, e utilizando a ANode para baixo, como se foce um agrupamento,

porem a tag confirmação nao é um agrupamento,

<NfseCancelamento versao="1.00">
      <Confirmacao Id="cancelamento_62139b378f63c920068b4567"></Confirmacao>
      <Pedido>
        <InfPedidoCancelamento Id="Canc_7322424800010017272202200000001389">
          <IdentificacaoNfse>
            <Numero>202200000001389</Numero>
            <Cnpj>73224248000100</Cnpj>
            <InscricaoMunicipal>17272</InscricaoMunicipal>
            <CodigoMunicipio>4205506</CodigoMunicipio>
          </IdentificacaoNfse>
          <CodigoCancelamento>1</CodigoCancelamento>
        </InfPedidoCancelamento>
      </Pedido>

e o Agrupamento Pedido, assim como os demais itens não pertencem a ela,

comentando a linha :

ANode := ANode.Childrens.FindAnyNs('Confirmacao');

Resolveu o problema.

 

Link to comment
Share on other sites

  • Consultores

Segundo o Manual da ABRASF - layout da versão 1 o agrupamento <Pedido> é sim um elemento dentro do agrupamento de <Confirmacao>.

O provedor que esta gerando o XML de retorno de cancelamento de forma errada, ou seja, não esta seguindo o que esta escrito no manual.

Alias o retorno do cancelamento esta totalmente diferente do previsto no manual.

Como vai ser dificil eles concertarem a porcaria que fizeram, o jeito vai ser reescrever a procedure TratarRetornoCancelaNFSe que esta na unit ACBrNFSeXProviderABRASFv1 na unit Provider do provedor.

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 to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.