Ir para conteúdo
  • Cadastre-se

dev botao

Problemas Ao Gerar Xml Nf-E


Robson Sousa
Ver Solução Respondido por mcnonino,
  • Este tópico foi criado há 3359 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Sou novo com o componente ACBRNFe e estou implementando o sistema para a versão 3.10. Recentemente fiz todo o escopo de gerar o XML da NF-e pelo componente antes de migrar meu sistema para o componente do ACBR e deu tudo certo, só que ao implementar as mesmas funcionalidades para gerar o XML da NF-e no meu sistema algumas tag's não estão sendo alimentadas, por exemplo a do Emitente: 

    ACBrNFe.NotasFiscais.Add.NFe.Emit.CNPJCPF := nfe.Emitente.CNPJ.Numero;    
    ACBrNFe.NotasFiscais.Add.NFe.Emit.IE := nfe.Emitente.InscricaoEstadual;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.xNome := nfe.Emitente.RazaoSocial;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.xFant := nfe.Emitente.NomeFantasia;


    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.fone    := nfe.Emitente.Telefone.Numero;
    if Trim(nfe.Emitente.Endereco.CEP.Numero) <> '' then
      ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.CEP := StrToInt(nfe.Emitente.Endereco.CEP.Numero)
    else
      ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.CEP := 0;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.xLgr := nfe.Emitente.Endereco.Logradouro;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.nro := nfe.Emitente.Endereco.Numero;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.xCpl := nfe.Emitente.Endereco.Complemento;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.xBairro := nfe.Emitente.Endereco.Bairro;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.cMun := nfe.Emitente.Endereco.Cidade.Codigo;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.xMun := nfe.Emitente.Endereco.Cidade.Nome;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.UF := nfe.Emitente.Endereco.Cidade.Estado.Sigla;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.cPais := 1058;
    ACBrNFe.NotasFiscais.Add.NFe.Emit.EnderEmit.xPais := 'BRASIL';


    ACBrNFe.NotasFiscais.Add.NFe.Emit.IEST := '';
    ACBrNFe.NotasFiscais.Add.NFe.Emit.IM := ''; // Preencher no caso de existir serviços na nota
    ACBrNFe.NotasFiscais.Add.NFe.Emit.CNAE := ''; // Verifique na cidade do emissor da NFe se é permitido
                                  // a inclusão de serviços na NFe
    case TabelasEstaticasTributos.TabelaTributoRegime.Items[nfe.Emitente.RegimeTibutario.Id] of
      // (1-crtSimplesNacional, 2-crtSimplesExcessoReceita, 3-crtRegimeNormal)
      1: ACBrNFe.NotasFiscais.Add.NFe.Emit.CRT := crtSimplesNacional;
      3: ACBrNFe.NotasFiscais.Add.NFe.Emit.CRT := crtRegimeNormal;
    end;
<emit><xNome/><enderEmit><xLgr/><nro>SEM NUMERO</nro><xBairro/><cMun>0</cMun><xMun/><UF/><CEP>00000000</CEP><cPais>1058</cPais><xPais>BRASIL</xPais></enderEmit><IE/><CRT>3</CRT></emit>

.

Utilizo o Delphi XE3 e em outro projeto novo funciona de boa. Somente no projeto do meu sistema de NF-e estou com esse problema... Já apaguei os .dcu e mandei gerar de novo, já removi o componente e adicionei de novo, já criei "na mão" o componente e configurei em tempo de execução mas nada disso deu certo. Alguém já passou por isso?

Link para o comentário
Compartilhar em outros sites

Estou debugando sim, o problema não é no atributo Numero, pois acredito que por padrão quando não se passa nenhum valor o ACBR trata de colocar SEM NUMERO no valor da tag. O objeto Emitente do meu sistema está correto, o problema é que de alguma forma o componente não está alimentando o Emitente e saindo a tag <emit> vazio.

Link para o comentário
Compartilhar em outros sites

O problema não está na forma de alimentar o componente do ACBR, e sim de alguma forma ele não está recebendo os valores que eu estou passando! O que me intriga é que em um novo projeto funciona normalmente! É como se fosse um bug só nesse projeto, mas já revisei bastante e vi que estou fazendo como é para fazer, tanto é que o grupo de Ide estava com todas as tags vazias também e logo após eu ter tirado e adicionado o componente do ACBR no meu projeto ele voltou a preencher normalmente, só que o grupo de Emit não está preenchendo, dentro outros.

Link para o comentário
Compartilhar em outros sites

O problema não está na forma de alimentar o componente do ACBR, e sim de alguma forma ele não está recebendo os valores que eu estou passando! O que me intriga é que em um novo projeto funciona normalmente! É como se fosse um bug só nesse projeto, mas já revisei bastante e vi que estou fazendo como é para fazer, tanto é que o grupo de Ide estava com todas as tags vazias também e logo após eu ter tirado e adicionado o componente do ACBR no meu projeto ele voltou a preencher normalmente, só que o grupo de Emit não está preenchendo, dentro outros.

Nesse caso você vai ter que debugar o código, pra saber em que situação ele ignora os valores passados. abraço amigo.

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

  • Solution

ACBrNFe.NotasFiscais.Add.NFe.Emit.CNPJCPF := nfe.Emitente.CNPJ.Numero;   

ACBrNFe.NotasFiscais.Add.NFe.Emit.IE := nfe.Emitente.InscricaoEstadual;

 

 

O problema é que você está adicionado uma nova nota fiscal cada vez que você usa o Add, conforme visto no trecho de código acima. Você precisa atribuir os dados do emitente sem o comando Add.

Link para o comentário
Compartilhar em outros sites

 

mcnonino vc sugere que ele use assim:

with ACBrNFe.NotasFiscais.Add do
  begin
    NFe.Emit.CNPJCPF := nfe.Emitente.CNPJ.Numero;
    ...
  end;

Foi exatamente por isso que postei o meu exemplo ai...

  • Curtir 1

Sistema de Automação Comercial para diversos segmentos
NF-e, NFC-e, SPED Fiscal - www.arenasoft.com.br

Link para o comentário
Compartilhar em outros sites

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