Ir para conteúdo
  • Cadastre-se

dev botao

Problemas Ao Gerar Xml Nf-E


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

Recommended Posts

Postado

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?

Postado

Boa tarde

Já sim, segui o exemplo do ACBrNFe_demo. Como eu mencionei nesse post eu implementei toda a funcionalidade em um projeto paralelo e deu certo, sem erros. Só no projeto oficial que eu estou desenvolvendo que está dando esse problema...

Postado

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.

Postado

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.

Postado

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

  • Solution
Postado

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.

Postado

 

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

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