Membros Pro Destak Postado 13 Agosto, 2024 Membros Pro Postado 13 Agosto, 2024 Boa tarde, Ao cancelar uma NFSe a mesma é cancelada com sucesso, posso comfirmar isso no site da prefeitura, mas ao consultar ela esta vindo da seguinte maneira: ConsultaNFSeporRPS: Simplesmente não vem nenhuma informação de cancelamento, nao vem a tag<NfseCancelamento>. ConsultaNFSporNumero: tem a tag <NfseCancelamento> e tambem a tag filho <InfPedidoCancelamento> com alguns dados. ConsultaNFSporProtocolo: tem a tag <NfseCancelamento> e tambem a tag filho <InfPedidoCancelamento> com alguns dados, mas tambem tem uma outra tag filho <InfConfirmacaoCancelamento> onde status esta como false porem a NFSe esta de fato cancelada. Resumindo e como quase sempre é uma zorra o não padrão no retorno, a solução seria o componente verificar se existe a tag <NfseCancelamento> e tambem a tag filho <InfPedidoCancelamento> se sim então considera que a NFSe esta cancelada setando ACBrNFSeX1.NotasFiscais.Items[0].NFSe.SituacaoNfse = TStatusNFSe.snCancelado. Sege em anexo todos os arquivos dos tres tipos de consultas realizadas. ConsultaNFSeporNumero.zip ConsultaNFSeporProtocolo.zip ConsultaNFSeporRPS.zip
Consultores Diego Foliene Postado 13 Agosto, 2024 Consultores Postado 13 Agosto, 2024 Boa tarde! Atualmente esta é a lógica aplicada para ler a informação do cancelamento no retorno: ANodeNfseCancelamento := ANode.Childrens.FindAnyNs('NfseCancelamento'); if ANodeNfseCancelamento <> nil then begin AuxNodeCanc := ANodeNfseCancelamento.Childrens.FindAnyNs('Confirmacao'); if AuxNodeCanc = nil then AuxNodeCanc := ANodeNfseCancelamento.Childrens.FindAnyNs('ConfirmacaoCancelamento'); if AuxNodeCanc <> nil then begin AuxNodeCanc := AuxNodeCanc.Childrens.FindAnyNs('InfConfirmacaoCancelamento'); if AuxNodeCanc <> nil then begin Response.DataCanc := ObterConteudoTag(AuxNodeCanc.Childrens.FindAnyNs('DataHora'), FpFormatoDataHora); if Response.DataCanc = 0 then Response.DataCanc := ObterConteudoTag(AuxNodeCanc.Childrens.FindAnyNs('DataHoraCancelamento'), FpFormatoDataHora); Response.SucessoCanc := ObterConteudoTag(AuxNodeCanc.Childrens.FindAnyNs('Sucesso'), tcBool); end; end; Response.DescSituacao := ''; if (Response.DataCanc > 0) and (Response.SucessoCanc) then Response.DescSituacao := 'Nota Cancelada'; end; Primeiro ele procura por <NFSeCancelamento>, se encontrar procura por <Confirmacao> ou <ConfirmacaoCancelamento>. Se encontrar, procura por <InfConfirmacaoCancelamento>. Isso foi feito seguindo o layout da ABRASF para solicitação anterior feita por você neste tópico: Não sei se podemos considerar apenas o InfPedidoCancelamento para definir se a nota esta cancelada, pois conforme o próprio nome informa, este grupo trás as informações do pedido do cancelamento. Criada a #TK-5862 para verificar o que mais pode ser feito. Em paralelo, lhe peço que entre em contato com o Ginfes e exponha a diferença nas respostas dos diferentes métodos. Você pode apresentar o arquivo de schema tipos_v03.xsd ou até mesmo o próprio manual da ABRASF como evidência. Em ambos está claro que o grupo NFSeCancelamento deve contar com o grupo pedido e também com o grupo confirmação. Diego FolieniAjude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (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 !!
Membros Pro Destak Postado 14 Agosto, 2024 Autor Membros Pro Postado 14 Agosto, 2024 Boa tarde, Entrei em contato pelo chat e pediram que eu enviasse um e-mail para [email protected] e fiz isso agora esperar o retorno. De qq forma se implementar a solução que mencionai acima resolve parcialmente o problema e não quebra o codigo bem da problema quando eles arrumarem o retorno deles.
Consultores Italo Giurizzato Junior Postado 16 Agosto, 2024 Consultores Postado 16 Agosto, 2024 Boa tarde @Destak, Você concorda que essa "solução" não vai funcionar com o ConsultarNFSePorRPS? No meu entendimento o provedor tem o dever de gerar o XML de retorno em conformidade com o que consta no manual da ABRASF. 1 Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Membros Pro Destak Postado 22 Agosto, 2024 Autor Membros Pro Postado 22 Agosto, 2024 Bom dia @Italo Giurizzato Junior responderam o e-mail veja: Prezado(a) bom dia! Este incidente foi identificado e está sendo atendido através do chamado principal 460650 peço que aguarde o retorno de nosso contato para posicionar quanto a resolução do mesmo. Em 16/08/2024 at 17:10, Italo Giurizzato Junior disse: Você concorda que essa "solução" não vai funcionar com o ConsultarNFSePorRPS? Concordo claro, o que ocorre é que não depende de nós o concerto no webservice deles que pode ser logo ou nunca e a solução que propus acima resolveria fazendo uma das outras duas consultas disponiveis alem disso não quebraria o codigo quando eles arrumassem e é de facil reversão para o padrão de verificação original por data e hora do cancelamento, acho viavel esse ajuste mesmo que temporariamente pois na pratica as cidades desse provedor não podem ser atendidas corretamente visto que é impossivel verificar se uma NFSe esta cancelada ou não, se possivel faça esse ajuste e assim que eles responderem o e-mail eu aviso aqui.
Consultores Italo Giurizzato Junior Postado 23 Agosto, 2024 Consultores Postado 23 Agosto, 2024 Bom dia @Destak, Vou conversar com os demais membros da Equipe ACBr para analise desse caso. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Membros Pro Destak Postado 28 Agosto, 2024 Autor Membros Pro Postado 28 Agosto, 2024 Boa tarde @Italo Giurizzato Junior Ok obrigado.
Consultores Italo Giurizzato Junior Postado 14 Novembro, 2024 Consultores Postado 14 Novembro, 2024 Bom dia @Destak, Santos já migrou para o provedor Giss. Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr, recompile a aplicação com a opção build e faça novos testes. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Recommended Posts