Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1909 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Bom dia, senhores.

Hoje enviando NFCe's para MG (que está em contingência), ela está autorizando, mas o XML está vindo num formato um pouco diferente, e parece que o ACBr não consegue lê-lo.

Anexei um XML de antes de problema e um de hoje.

Haveria alguma solução ou é aguardar a SEFAZ normalizar totalmente mesmo?

Obrigado,

Leandro

9259-pro-lot - ANTES DA CONTINGENCIA.xml 12509-pro-lot - HOJE DURANTE A CONTINGENCIA.xml

  • Curtir 1
  • Administradores
Postado

Bom dia,

Oque você quer dizer aqui? Oque acontece ou deixa de acontecer?

16 minutos atrás, leomcl disse:

Hoje enviando NFCe's para MG (que está em contingência), ela está autorizando, mas o XML está vindo num formato um pouco diferente, e parece que o ACBr não consegue lê-lo.

Att.

  • Curtir 1
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 !!

  • Moderadores
Postado

Realmente, MG está devolvendo um retorno incorreto da NFC-e (isso quando vem o retorno). Mas o SEFAZ já assumiu que está com problemas, não creio que seja caso de se alterar algo no ACBr. O ACBr lê o formato conf a legislação nacional. Quem deve fazer a correção é o SEFAZ/MG.  Acho que infelizmente temos que aguardar as correções que serão feitas pós paralisação. 

  • Curtir 4
Postado

Bom dia! Também estou enfrentando este problema, estive debugando e tentando achar alguma coisa pelo que pude notar algumas notas estão indo, outras não. Tentei enviar consultas para pegar o protocolo e pelo que pude notar em algumas vezes a consulta retorna certo em outras "errado". Pergunto, será que quando esta congestionado o servidor ele não esta redirecionando para o nacional, porque observem os retornos que recebi abaixo, a principio os dois estão corretos, entretanto o segundo não é carregado no componente acredito que devido aquela parte inserida dentro da tag (xmlns="http://www.portalfiscal.inf.br/nfe) mas o conteúdo em si esta correto.


RETORNO 1 - FUNCIONA.

<?xml version="1.0" encoding="UTF-8"?>
<retConsSitNFe xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ns0="http://www.w3.org/2000/09/xmldsig#" versao="4.00">
<tpAmb>1</tpAmb>
<verAplic>W-1.4.23</verAplic>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
<cUF>31</cUF>
<dhRecbto>2019-09-28T09:17:21-03:00</dhRecbto>
<chNFe>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</chNFe>
<protNFe versao="4.00"><infProt Id="ID131190217640768">
<tpAmb>1</tpAmb>
<verAplic>W-1.4.23</verAplic>
<chNFe>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</chNFe>
<dhRecbto>2019-09-26T13:20:51-03:00</dhRecbto>
<nProt>131190217640768</nProt>
<digVal>XXXXXXXXXXXXXXXXXXXXX</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>
</retConsSitNFe>


RETORNO 2 - RETORNO QUE NÃO FUNCIONA

<?xml version="1.0" encoding="UTF-8"?>
<retConsSitNFe xmlns="http://www.portalfiscal.inf.br/nfe" xmlns:ns0="http://www.w3.org/2000/09/xmldsig#" versao="4.00">
<tpAmb xmlns="http://www.portalfiscal.inf.br/nfe">1</tpAmb>
<verAplic xmlns="http://www.portalfiscal.inf.br/nfe">W-1.4.23</verAplic>
<cStat xmlns="http://www.portalfiscal.inf.br/nfe">100</cStat>
<xMotivo xmlns="http://www.portalfiscal.inf.br/nfe">Autorizado o uso da NF-e</xMotivo>
<cUF xmlns="http://www.portalfiscal.inf.br/nfe">31</cUF>
<dhRecbto xmlns="http://www.portalfiscal.inf.br/nfe">2019-09-28T09:40:01-03:00</dhRecbto>
<chNFe xmlns="http://www.portalfiscal.inf.br/nfe">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</chNFe>
<protNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00">
<infProt xmlns="http://www.portalfiscal.inf.br/nfe" Id="ID131190217640768">
<tpAmb xmlns="http://www.portalfiscal.inf.br/nfe">1</tpAmb>
<verAplic xmlns="http://www.portalfiscal.inf.br/nfe">W-1.4.23</verAplic>
<chNFe xmlns="http://www.portalfiscal.inf.br/nfe">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</chNFe>
<dhRecbto xmlns="http://www.portalfiscal.inf.br/nfe">2019-09-26T13:20:51-03:00</dhRecbto>
nProt xmlns="http://www.portalfiscal.inf.br/nfe">131190217640768</nProt>
<digVal xmlns="http://www.portalfiscal.inf.br/nfe">XXXXXXXXXXXXXXXXXXXXX</digVal>
<cStat xmlns="http://www.portalfiscal.inf.br/nfe">100</cStat>
<xMotivo xmlns="http://www.portalfiscal.inf.br/nfe">Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>
</retConsSitNFe>

 

 

  • Curtir 1
Postado

Temporariamente consegui resolver modificando o pcnLeitor. Para incluir aquela parte que citei. Exemplo:

 

function TLeitor.rCampo(const Tipo: TpcnTipoCampo; TAG: string; const TAGparada: string = ''): variant;
var
  ConteudoTag, tagb: string;
  inicio, fim, inicioTAGparada: integer;
begin
  Tag := UpperCase(Trim(TAG));
  tagb:= UpperCase(Trim(TAG));
  inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
  if inicio = 0 then
  Begin
     tag := tag  + UpperCase(' xmlns="http://www.portalfiscal.inf.br/nfe"');
     inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
  End;

  if Trim(TAGparada) <> '' then
  begin
    inicioTAGparada := pos('<' + UpperCase(Trim(TAGparada)) + '>', UpperCase(FGrupo));
    if inicioTAGparada = 0 then
      inicioTAGparada := inicio;
  end
  else
    inicioTAGparada := inicio;

  if (inicio = 0) or (InicioTAGparada < inicio) then
    ConteudoTag := ''
  else
  begin
    inicio := inicio + Length(Tag) + 2;
    fim := pos('</' + tagb + '>', UpperCase(FGrupo)) - inicio;
    ConteudoTag := trim(copy(FGrupo, inicio, fim));
  end;

 

  • Curtir 2
Postado
2 horas atrás, navegador_1000 disse:

Temporariamente consegui resolver modificando o pcnLeitor. Para incluir aquela parte que citei. Exemplo:

 


function TLeitor.rCampo(const Tipo: TpcnTipoCampo; TAG: string; const TAGparada: string = ''): variant;
var
  ConteudoTag, tagb: string;
  inicio, fim, inicioTAGparada: integer;
begin
  Tag := UpperCase(Trim(TAG));
  tagb:= UpperCase(Trim(TAG));
  inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
  if inicio = 0 then
  Begin
     tag := tag  + UpperCase(' xmlns="http://www.portalfiscal.inf.br/nfe"');
     inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
  End;

  if Trim(TAGparada) <> '' then
  begin
    inicioTAGparada := pos('<' + UpperCase(Trim(TAGparada)) + '>', UpperCase(FGrupo));
    if inicioTAGparada = 0 then
      inicioTAGparada := inicio;
  end
  else
    inicioTAGparada := inicio;

  if (inicio = 0) or (InicioTAGparada < inicio) then
    ConteudoTag := ''
  else
  begin
    inicio := inicio + Length(Tag) + 2;
    fim := pos('</' + tagb + '>', UpperCase(FGrupo)) - inicio;
    ConteudoTag := trim(copy(FGrupo, inicio, fim));
  end;

 

Mas está autorizando as nfce paradas em contingencia?

  • Curtir 1
Postado
Em 28/09/2019 at 13:57, Antonio Gomes disse:

Mas está autorizando as nfce paradas em contingencia?

Antonio pelos testes que fiz autoriza, é que umas vem o retorno sem aqueles complementos e outras com, ai o componente não reconhece após alterar daquela forma todas passaram a retornar ok.

  • Curtir 2
  • Membros Pro
Postado
Em 28/09/2019 at 11:53, navegador_1000 disse:

Temporariamente consegui resolver modificando o pcnLeitor. Para incluir aquela parte que citei. Exemplo:

 


function TLeitor.rCampo(const Tipo: TpcnTipoCampo; TAG: string; const TAGparada: string = ''): variant;
var
  ConteudoTag, tagb: string;
  inicio, fim, inicioTAGparada: integer;
begin
  Tag := UpperCase(Trim(TAG));
  tagb:= UpperCase(Trim(TAG));
  inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
  if inicio = 0 then
  Begin
     tag := tag  + UpperCase(' xmlns="http://www.portalfiscal.inf.br/nfe"');
     inicio := pos('<' + Tag + '>', UpperCase(FGrupo));
  End;

  if Trim(TAGparada) <> '' then
  begin
    inicioTAGparada := pos('<' + UpperCase(Trim(TAGparada)) + '>', UpperCase(FGrupo));
    if inicioTAGparada = 0 then
      inicioTAGparada := inicio;
  end
  else
    inicioTAGparada := inicio;

  if (inicio = 0) or (InicioTAGparada < inicio) then
    ConteudoTag := ''
  else
  begin
    inicio := inicio + Length(Tag) + 2;
    fim := pos('</' + tagb + '>', UpperCase(FGrupo)) - inicio;
    ConteudoTag := trim(copy(FGrupo, inicio, fim));
  end;

 


Bom dia amigos,

Fiz as alterações acima e deu certo. 

Segue anexo alterações caso algum moderador possa atualizar nos fontes.

Obrigado pela colaboração de todos

pcnLeitor.pas

Rodrigo Cardilo

Card System Info

[email protected]

  • Consultores
Postado

Bom dia a todos,

Não concordo com essa alteração, pois essa rotina é utilizada para ler o XML de todos os DF-e: NF-e, CT-e, MDF-e, BP-e, NFS-e, e-Social e Reinf.

E cada DF-e possui um namespace diferente.

O correto é entrar em contato com a SEFAZ e apontar o problema.

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

  • Administradores
Postado

Bom dia Rodrigo,

Nós agradecemos seu interesse em contribuir, mas além dos motivos citados pelo Ítalo no post acima, precisamos lembrar que o ACBr segue os manuais e NTs definidas em legislação e infelizmente MG está  fora  dos mesmos.

Por este motivo suas alterações não poderão ser incorporadas aos fontes.

Att.

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 !!

Postado

Bom dia.

Enviei uma pergunta a SEFAZ quanto a esse problema.

Ademais, se alguém tem problemas iguais em MG, podem efetuar a alteração, sem problemas.

Pois ela APENAS trata a tag com dados adicionais, deixando-a "legível" ao componente.

Atenciosamente

  • Curtir 1

------------------------------------------------

Jéter Rabelo Ferreira
Campestre/MG

Postado
55 minutos atrás, Juliana Tamizou disse:

Bom dia Rodrigo,

Nós agradecemos seu interesse em contribuir, mas além dos motivos citados pelo Ítalo no post acima, precisamos lembrar que o ACBr segue os manuais e NTs definidas em legislação e infelizmente MG está  fora  dos mesmos.

Por este motivo suas alterações não poderão ser incorporadas aos fontes.

Att.

Juliana bom dia!

Se observar as modificações no código não vai ter problemas para os demais, pois só vai ser incluso o complemento caso ele não encontre é tag no formato original. Outro detalhe, esta lendo a tag utilizando POS, se usar um leitor de XML o erro não ocorreria, pois o nome da tag esta correto. Pra ser sincero não vejo erro no layout deste XML. Acredito que os complementos nesta codificação sejam necessários!

 

Att Thiago Costa

  • Curtir 1
  • Membros Pro
Postado
1 hora atrás, Italo Jurisato Junior disse:

Bom dia a todos,

Não concordo com essa alteração, pois essa rotina é utilizada para ler o XML de todos os DF-e: NF-e, CT-e, MDF-e, BP-e, NFS-e, e-Social e Reinf.

E cada DF-e possui um namespace diferente.

O correto é entrar em contato com a SEFAZ e apontar o problema.

@Italo Jurisato Junior e @Juliana Tamizou concordo com vocês porém o SEFAZ MG me retornou que não há problemas algum no sistema deles, apenas lentidão. Fiz as alterações citadas e testei nos outros componentes e não prejudicou em nada. Não vi outra solução e o interessante é que outros sistemas comerciais em MG estão funcionando normalmente (ou seja, a contigência realmente já terminou). Qual sugestão vocês teriam para nós?

 

Segue abaixo resposta do SEFAZ.

 

Ref. a mensagem: 442.344 - DOCUMENTOS ELETRÔNICOS > NFC-e > CONTINGÊNCIA

 

Senhor(a), bom dia!

Esclarecemos que a transmissão da NFC-e já está disponível, mas o tempo de resposta para a autorização das notas está maior que o desejado, entre 1 e 2s, o que ainda pode impactar na transmissão em modo normal e nos serviços relacionados a consultas de NFC-e.

Recomendamos, até que o tempo de processamento seja normalizado, que o sistema do contribuinte seja parametrizado para um tempo de resposta um pouco maior, a partir de 2 segundos, evitando assim o reenvio e a ocorrência de erros de duplicidade.

A STI está atuando com prioridade na solução dos referidos problemas para viabilizar uma solução o quanto antes.

Os contribuintes que estiverem com problemas para autorizar as notas em modo normal, poderão continuar utilizando a contingência off-line. Alertamos para o fato de que o sistema recepcionará as NFC-e emitidas em contingência off-line neste período mesmo após o prazo previsto na legislação.

Rodrigo Cardilo

Card System Info

[email protected]

  • Membros Pro
Postado

Bom dia, senhores.

Eu também tinha feito essa alteração nos meus fontes semana passa, mas voltei atrás, pelo seguinte: além de alterar nessa função rCampo, também tem que alterar onde salva o retorno no XML da nota, pois sem isso vai salvar com os xmlns errados. Aí não sei se a nota vai ter valor fiscal, dessa forma, e se os sistemas contábeis/terceiros vão conseguir ler esses XML's.

Enfim, se forem usar assim, é preciso que verifiquem outros detalhes para não terem problemas futuros.

att,

Leandro

  • Consultores
Postado

@navegador_1000,

O problema é que colocando no rCampo essa checagem será realizada em todas as tags do XML, imagina ao carregar o XML de uma NFC-e com uns 200 itens.

Acredito que a leitura de um XML desse vai passar a ser muito demorada.

Um quebra galho até que a SEFAZ-MG abaixa a crista e reconheça a porcaria que fez na geração dos XMLs de retornos, segue em anexo.

ACBrNFeWebServices.pas

A alteração feita nessa unit faz com que seja removido todos os namespace do XML antes da sua leitura, acredito que desta forma o tempo de leitura do mesmo não vai ser comprometida.

  • Curtir 4
  • Obrigado 2
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

Boa tarde, Ítalo.

 

Mas na hora de gravar a parte de procNFe no XML assinado, vai gravar com os namespaces ou sem eles? Não ficaria errado gravar com eles?

 

Att,

 

Leandro

 

  • Membros Pro
Postado
1 hora atrás, leomcl disse:

Bom dia, senhores.

Eu também tinha feito essa alteração nos meus fontes semana passa, mas voltei atrás, pelo seguinte: além de alterar nessa função rCampo, também tem que alterar onde salva o retorno no XML da nota, pois sem isso vai salvar com os xmlns errados. Aí não sei se a nota vai ter valor fiscal, dessa forma, e se os sistemas contábeis/terceiros vão conseguir ler esses XML's.

Enfim, se forem usar assim, é preciso que verifiquem outros detalhes para não terem problemas futuros.

att,

Leandro

Na sua opinião e na do Italo, teríamos que salvar sem os namespaces, seria isso? Não há uma maneira FORMAL de solicitarmos isso pra SEFAZ de MG? Me dizem com

eu poderia citar isso pra eles de forma técnica, que eu tento por aqui, ou se alguém com mais experiência puder fazer, enfim, só não dá pra ficar sobrescrevendo classes

no ACBR (sei que ISSO JÁ ESTÁ SUPER AJUDANDO, inclusive a mim), mas acho que o mais IMPORTANTE é realmente tentarmos fazer com que eles reconheçam o erro

e o corrijam.

  • Obrigado 1
  • Membros Pro
Postado
16 minutos atrás, farnetani disse:

Na sua opinião e na do Italo, teríamos que salvar sem os namespaces, seria isso? Não há uma maneira FORMAL de solicitarmos isso pra SEFAZ de MG? Me dizem com

eu poderia citar isso pra eles de forma técnica, que eu tento por aqui, ou se alguém com mais experiência puder fazer, enfim, só não dá pra ficar sobrescrevendo classes

no ACBR (sei que ISSO JÁ ESTÁ SUPER AJUDANDO, inclusive a mim), mas acho que o mais IMPORTANTE é realmente tentarmos fazer com que eles reconheçam o erro

e o corrijam.

Já abri uma reclamação lá, vamos ver se obtemos retorno. 

 

image.thumb.png.926bcdc5c993d43344ebd2a71ba50652.png

  • Curtir 1
  • Obrigado 1
  • Este tópico foi criado há 1909 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...