Jump to content

TAG "dEmi" retornando zero ao importar


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

Recommended Posts

Olá pessoal!

Estou tendo um problema ao utilizar o recurso de importar XML no Delphi 7. Ao utilizar o método “LoadFromFile” em “ACBrNFeNotasFiscais”:

Fdm_Principal.ACBrNFePrincipal.NotasFiscais.LoadFromFile(dirXml);

Quando eu tento pegar a data de saída e data de emissão, é retornado o valor “zero”:

Fdm_Principal.ACBrNFePrincipal.NotasFiscais.Items[0].NFe.Ide.dEmi;

Mas tem um porém, se eu baixar o XML do servidor nacional da SEFA ou se eu pegar o XML que foi gerado pelo sistema usando o ACBr a falha não acontece. O problema só acontece se eu pegar o XML da SEFA-PR no novo recurso que eles disponibilizaram de baixar os XML em lote.

Comparando os arquivos, vi que o XML da SEFA-PR tem uma tag a mais no início do arquivo “<NFeLog versao="1.00">”. Se eu editar o XML removendo essa tag, o arquivo importa com a data certa. Existe alguma forma de corrigir isso para que não precise editar o XML?

Segue o XML das SEFAs para comparação, desde já obrigado.

SEFA-Nacional.xml

SEFA-PR.xml

Link to comment
Share on other sites

  • Consultores

Sim debugue o load e confira o local o que está ocorrendo!

se o componente não está pegando essa versão pra determinar como deverá ser feito a leitura!

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

Olá pessoal!

Identifiquei a situação, ela acontece em “pcnNFeR”, no método LerXml na linha 137 ele tem a seguinte instrução:

NFe.infNFe.Versao := StringToFloat(VersaoInfNFe);

Porém como disse antes esse XML da SEFA-PR tem uma tag a mais no início “<NFeLog versao="1.00">”

Por causa dessa tag o valor retornado para “NFe.infNFe.Versao” está sendo 1 quando deveria ser 3,1, com isso ele entra errado na linha 152:

if NFe.infNFe.Versao >= 3 then
     begin
      (*B09*) NFe.ide.dEmi    := Leitor.rCampo(tcDatHor, 'dhEmi');
      (*B10*) NFe.ide.dSaiEnt := Leitor.rCampo(tcDatHor, 'dhSaiEnt');
     end
    else
     begin
      (*B09*) NFe.ide.dEmi    := Leitor.rCampo(tcDat, 'dEmi');
      (*B10*) NFe.ide.dSaiEnt := Leitor.rCampo(tcDat, 'dSaiEnt');
      (*B10a*)NFe.ide.hSaiEnt := Leitor.rCampo(tcHor, 'hSaiEnt');
     end;

Resumindo, por causa da tag a mais, inserida no PR, ele pega a versão errada e consequentemente tenta pegar as tags de emissão e saída das versões antigas do XML quando deveria pegar das novas.

Link to comment
Share on other sites

  • Fundadores

anexe o XML com problemas, para estudo...

Acredito que sua sugestão possa causar problemas colaterais em outros xml's

opa... agora que notei eles no inicio... analisando...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link to comment
Share on other sites

Em 25/04/2016 at 15:33, tobexy disse:

Arquivo alterado

pcnNFeR.pas

Bom dia @tobexy, foi feita uma analise na sua contribuição, mas ela iria nos trazer efeitos colaterais ao importar xml do padrão SEFAZ, dessa forma fizemos um ajuste no componente para que ele conseguisse identificar a versão conforme a tag padrão e não a versão da tag da webservice do PR.

Atualize seus fontes, o ajuste já está no SVN, e ele atende aos dois XML em anexo no post inicial que você anexou, sem problema agora.

  • Like 1

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link to comment
Share on other sites

28 minutos atrás, Isaque Pinheiro disse:

Bom dia @tobexy, foi feita uma analise na sua contribuição, mas ela iria nos trazer efeitos colaterais ao importar xml do padrão SEFAZ, dessa forma fizemos um ajuste no componente para que ele conseguisse identificar a versão conforme a tag padrão e não a versão da tag da webservice do PR.

Atualize seus fontes, o ajuste já está no SVN, e ele atende aos dois XML em anexo no post inicial que você anexou, sem problema agora.

Bom dia. 

Situação testada e funcionando.
Obrigado @Isaque Pinheiro, @Juliomar Marchetti e @Daniel Simoes

Link to comment
Share on other sites

  • 1 month later...

Reativando o tópico.

Conforme a imagem anexada, o ACBrNFe carrega a NF-e com a tag NFeLog esperando a tag "nfeProc" (como no xml anexado no inicio deste tópico), mas conforme o manual da sefaz-pr (pdf anexo) o esperado é a tag "procNFe" fazendo o ACBrNFe se perder em algum ponto que não encontrei até o momento.

Assim no momento de imprimir (ACBrDanfeFR) sai a informação que não está autorizada (por não ter carregado o bloco "protNFe").

Alguem mais está passando por isto ?

 

 

 

erro_protocolo.png

NFeLog.pdf

-=Ma®©oS=-

Link to comment
Share on other sites

Não encontrei o editar, então segue a informação que esqueci.

 

no pcnNFeR no TNFeR.LerXML, onde tenta buscar o "protNFe" ( if Leitor.rExtrai(1, 'protNFe') <> '' then ) é que não encontra. Então acredito que o problema esteja no rExtrai, mas estou meio perdido no debug.

 

 

-=Ma®©oS=-

Link to comment
Share on other sites

18 horas atrás, Daniel Simoes disse:

Seus fontes estão atualizados ?

Lembro que foi enviado ajuste para o SVN referente a esse assunto

É @Daniel Simoes, realmente estava desatualizado, estranhamente o .PAS estava ok, desinstalei e instalei novamente o ACBr e continuou com o problema, tive de excluir manualmente, remover os componentes, library e afins no delphi, fechar tudo, instalar novamente ai funcionou.

-=Ma®©oS=-

Link to comment
Share on other sites

  • Consultores

Está  usando o ACBrInstall_Trunk2? ele faz isso pra ti, basta marcar uma opção!

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

Link to comment
Share on other sites

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

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.