Membros Pro Destak Postado 13 Agosto Membros Pro Postado 13 Agosto 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 Consultores Postado 13 Agosto 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 Autor Membros Pro Postado 14 Agosto 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 Consultores Postado 16 Agosto 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 Autor Membros Pro Postado 22 Agosto 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 Consultores Postado 23 Agosto 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 Autor Membros Pro Postado 28 Agosto Boa tarde @Italo Giurizzato Junior Ok obrigado.
Consultores Italo Giurizzato Junior Postado Há 23 horas Consultores Postado Há 23 horas 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