Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado
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 

  • Curtir 1
Postado

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

  • Curtir 1
Postado

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;

  • Moderadores
  • Solution
Postado
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.

  • Curtir 3
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

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.

  • Curtir 1
  • Haha 1
  • 4 semanas depois ...
Postado

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

  • Curtir 1
Postado

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;
 

  • Consultores
Postado
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.

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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.
  • Este tópico foi criado há 1846 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.