Ir para conteúdo
  • Cadastre-se

dev botao

Cotia/SP Provedor Giap componente não confere NFSe cancelada


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

Recommended Posts

  • Membros Pro
Postado

Boa tarde amigos,

Ao executar o método ConsultarNFSeporRps esse provedor retorna um resumo no XML e nesse resumo quando se trata de uma NFSe cancelada é acrescentada a tag <dataCancelamento>08-DEC-23</dataCancelamento>.

Porem mesmo existindo essa tag o componente informa ACBrNFSeX1.NotasFiscais.Items[0].NFSe.SituacaoNfse = TStatusNFSe.snNormal sendo que o correto era informar = TStatusNFSe.snCancelado é isso que precisa ser corrigdo.

Segue em anexo os XMLs de envio e retorno das consultas de uma NFSe cancelada e de outra não cancelada para comparação.

00-comp-nfse.xml 00-comp-nfse-soap.xml 00-con-nfse-rps.xml 00-con-nfse-rps-soap.xml 1MY-comp-nfse.xml 1MY-comp-nfse-soap.xml 1MY-con-nfse-rps.xml 1MY-con-nfse-rps-soap.xml

  • Consultores
  • Solution
Postado

Boa tarde @Destak,

Como o provedor retorna um resumo e não o XML da nota, não faz sentido você ler os campos da NFSe como você esta fazendo.

É preciso analisar as propriedades de retorno do método executado.

Veja este exemplo de checagem da resposta que se encontra no programa exemplo.

      tmConsultarNFSePorRps:
        begin
          with ConsultaNFSeporRps do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmConsultarNFSePorRps));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            memoLog.Lines.Add('Numero do Rps : ' + NumeroRps);
            memoLog.Lines.Add('Série do Rps  : ' + SerieRps);
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Numero do Lote: ' + NumeroLote);
            memoLog.Lines.Add('Numero do Prot: ' + Protocolo);
            memoLog.Lines.Add('Situação      : ' + Situacao);
            memoLog.Lines.Add('Data          : ' + DateToStr(Data));   <== Trocar Data por Cancelamento.DataHora
            memoLog.Lines.Add('Desc. Situação: ' + DescSituacao);
            memoLog.Lines.Add('ID Nota       : ' + idNota);
            memoLog.Lines.Add('Link          : ' + Link);
            memoLog.Lines.Add('Sucesso       : ' + BoolToStr(Sucesso, True));

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

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

Faça a troca sugerida acima para poder ter a data/hora do cancelamento.

  • 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

  • Membros Pro
Postado

Olá @Italo Giurizzato Junior

ok estou consultando dessa forma agora, em relação a tag <wsLink>https://nfse.cotia.sp.gov.br/apex/cotia/f?p=198:116::EMITENOTA:NO:116:P116_CODE,P116_CODET,P116_KEY,P116_KEYT:8438987,21984426,21984426L6GNI0OQQOJR,S3PYMADXS507A3Q09W8ID4A77KXV4JM1</wsLink> no XML resumo de retorno da consulta, essa informação não esta sendo carregada aqui memoLog.Lines.Add('Link          : ' + Link); na checagem da resposta, seria em outro local que pego essa informação? segue o XML resumo de  retorno.

MY-comp-nfse.xml MY-comp-nfse-soap.xml

  • Membros Pro
Postado

Boa tarde @Italo Giurizzato Junior

Ok atualizei os fontes e o problema encontra-se corrigido.

Você ou algum colega pode me dar uma dica ou apontar algum forum aqui em relação a qual a melhor estratégia/maneira de abrir esse link apos a consulta ja salvando o PDF?

Se for o caso abro essa pergunta la no Discord.

  • Este tópico foi criado há 345 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.