Jump to content

110.png

Curso Gratuito para todos Usuários
+ Super Treinamento Assinando o SAC Anual

botao_campanha_thulio.png

sem_ttulo-620.fw_-e1583866078274.png 

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Cleiver

ANSWERED NFC-e - MG Retorno de Consulta

Recommended Posts

6 horas atrás, josadac disse:

Boa tarde Pessoal,

Fiz como o Ítalo orientou, baixei os fontes, recompilei e deu certo.

Muito obrigado a todos pela atenção.

Gratio,

Josadac

E só atualizar o arquivo .pas e reinstalar o ACBr. Que funciona 

  • Like 1

Share this post


Link to post
Share on other sites

Boa tarde, aqui também funcionou e nos salvou, porém só tive que incluir o "RemoverNameSpace" em...
function TNFeInutilizacao.TratarResposta: Boolean; (Linha 2656)

só percebemos hoje quando houve um caso de inutilização.

Muito obrigado pelo apoio

  • Like 1

Share this post


Link to post
Share on other sites

Essa solução esta no SVN ou precisa baixar o .pas?

9 minutos atrás, Jonas Costa disse:

Boa tarde, aqui também funcionou e nos salvou, porém só tive que incluir o "RemoverNameSpace" em...
function TNFeInutilizacao.TratarResposta: Boolean; (Linha 2656)

só percebemos hoje quando houve um caso de inutilização.

Muito obrigado pelo apoio

???

function TNFeInutilizacao.TratarResposta: Boolean;
var
  NFeRetorno: TRetInutNFe;
begin
  NFeRetorno := TRetInutNFe.Create;
  try
    FPRetWS := SeparaDadosArray(['nfeInutilizacaoNF2Result',
                                 'nfeInutilizacaoNFResult',
                                 'nfeResultMsg'],FPRetornoWS );

    VerificarSemResposta;

    RemoverNameSpace;
    NFeRetorno.Leitor.Arquivo := ParseText(FPRetWS);
    NFeRetorno.LerXml;

Share this post


Link to post
Share on other sites
19 minutos atrás, johnbh3 disse:

Essa solução esta no SVN ou precisa baixar o .pas?

Já está no repositório, inclusive para o método de inutilização.

  • Like 3

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Share this post


Link to post
Share on other sites
2 horas atrás, BigWings disse:

Já está no repositório, inclusive para o método de inutilização.

Top!
Deu certinho!
Mandei o like ai!
Abraços!!!

  • Like 1

Share this post


Link to post
Share on other sites

Parece que o pessoal dos servidores de MG estão começando a consertar as coisas... Estava disposto a esperar a correção dos servidores, mas devido a pressão dos clientes com aquela famosa alegação: "O sistema do meu concorrente da esquina está emitido, porque o do meu sistema não?", então por livre e espontânea pressão fiz o ajuste disponibilizado no repositório.

Ontem consegui reproduzir o problema em homologação, onde funcionou de boa o ajuste. Hoje quando fui testar novamente já vi que em homologação já está respondendo corretamente. Ontem estava na versão W-1.4.26 e hoje está na versão W-1.4.27.

Em produção ainda continua o problema dos servidores (versão W-1.4.23), mas como em homologação já está resolvido, acredito que a qualquer momento devem resolver o de produção também.

Agradeço muito a equipe do ACBr, e a todos os colegas da lista que ajudaram na solução.

  • Like 1
  • Haha 1

Share this post


Link to post
Share on other sites

Olá,

existe um problema na solução aplicada em relação ao problema em MG, onde são geradas namespaces xmlns="http://www.portalfiscal.inf.br/nfe" indiscriminadamente.

A solução aplicada foi esta:

procedure TNFeWebService.RemoverNameSpace;
begin
  FPRetWS := StringReplace(FPRetWS, ' xmlns="http://www.portalfiscal.inf.br/nfe"',
                                    '', [rfReplaceAll, rfIgnoreCase]);
end;

na unit ACBrNFeWebServices.pas.

O problema nesta solução, é que são excluídas todas as ocorrências deste namespace, até mesmo a do a cabeçalho, de forma indiscriminada, ou seja, para todas as UF's.

A consequência disto é que em sistemas que utilizam mapeamento de "XSD", e naturalmente, realizam binding do conteúdo "xml", retornam exceção "EIntfCastError", pela ausência do TargetNamespace "http://www.portalfiscal.inf.br/nfe" no "xml".

Aplicamos uma adequação de acordo com o cenário, sendo que código é este:

 

procedure TNFeWebService.RemoverNameSpace;
begin
     if UpperCase( FPConfiguracoesNFe.WebServices.UF ) = 'MG' then // Luis 01/11/2019
     begin
          FPRetWS := StringReplace( FPRetWS, ' xmlns="http://www.portalfiscal.inf.br/nfe"', '', [ rfReplaceAll, rfIgnoreCase ] ) ;
     end ;
end;

 

Utilizando a seguinte lógica: Quando a UF do emitente for diferente de MG, o "xml" recebido da SEFAZ será utilizado da forma original, porém quando a UF for MG, então será aplicada a alteração original, e nossa recomendação é que nos sistemas que utilizam a biblioteca "xmldom", reponham o namespace "na mão".

Obs: Em anexo a unit mencionada acima, contendo as alterações relatadas.

Grato!

ACBrNFeWebServices.pas

  • Like 1

Share this post


Link to post
Share on other sites

Boa tarde Jonatas,

Primeiramente precisamos saber se a SEFAZ-MG já corrigiu o problema que ela provocou.

Se sim, podemos desabilitar essa função.


Consultor SAC ACBr Italo Jurisato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Share this post


Link to post
Share on other sites

Se o problema é para corrigir um erro que ocorre somente no estado de Minas Gerais, e somente na emissão de NFC-e, acho que o código deveria ser:

 

procedure TNFeWebService.RemoverNameSpace;
begin
     if ( UpperCase( FPConfiguracoesNFe.WebServices.UF ) = 'MG' ) and ( FPConfiguracoesNFe.Geral.ModeloDF = moNFCe ) then
     begin
          FPRetWS := StringReplace( FPRetWS, ' xmlns="http://www.portalfiscal.inf.br/nfe"', '', [ rfReplaceAll, rfIgnoreCase ] ) ;
     end ;
end;
 

Share this post


Link to post
Share on other sites
Em 01/11/2019 at 19:02, Jonatas de Alencar Alves disse:

existe um problema na solução aplicada em relação ao problema em MG, onde são geradas namespaces xmlns="http://www.portalfiscal.inf.br/nfe" indiscriminadamente.

Em 04/11/2019 at 16:49, Italo Jurisato Junior disse:

Primeiramente precisamos saber se a SEFAZ-MG já corrigiu o problema que ela provocou.

Em 04/11/2019 at 16:55, luis.sicnet disse:

Se o problema é para corrigir um erro que ocorre somente no estado de Minas Gerais, e somente na emissão de NFC-e

Olá pessoal,

   Nos parece que a SEFAZ-MG já corrigiu o problema, então enviamos uma remoção do código relacionado a isso.

   Mesmo assim, o @André Ferreira de Moraes nos forneceu um ajuste no arquivo pcnLeitor.pas que corrige o problema permanentemente.

   Fiz vários testes simulando xmls de retorno com NameSpaces nas tags e tudo funcionou corretamente.

   Sugerimos a todos que façam testes e reportem qualquer problema.

   As alterações foram enviadas ao SVN na revisão 18149.

   Muito obrigado a todos.

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...