Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal, como faço para saber onde o xml da NFe foi gravado. Preciso do caminho completo.

Exemplo: depois de enviar a NFe quero gravar em um campo no BD o caminho+nome do xml.

Desde já agradeço.

  • Moderadores
Postado

Vc usa o componente ou o monitor?


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Postado

Vc pode setar o caminho aonde será gravado o XML na propriedade: ACBrNFe1.Configuracoes.Arquivos.PathNFe

Deixa true tbem as propriedades:

ACBrNFe1.Configuracoes.Arquivos.Salvar := true;

ACBrNFe1.Configuracoes.Arquivos.EmissaoPathNFe := true;

Postado

E se for setado para gerar as pastas mensais???

eu envio a nfe e após o retorno se estiver tudo certo gravo o caminho do ACBrNFe1.Configuracoes.Arquivos.PathNFe mas ele não salva o caminho do xml dentro da pasta mensal e sim o caminho do ACBrNFe1.Configuracoes.Arquivos.PathNFe.

ex.:

ACBrNFe1.Configuracoes.Arquivos.PathNFe := 'C:\NFE';

Pasta mensal: '201208\NFE\000000000.XML'

envio a nfe.

mas o ACBrNFe1.Configuracoes.Arquivos.PathNFe contina como 'C:\NFE'.

Teria como pegar todo o caminho do xml (inccluindo a pasta mensal)???

Postado

Faço isso tmbm, no meu caso:

1 - envio a nfe:

ACBrNFe1.Enviar(vNumeroNfe);

2 - imprime o danfe (se estiver ok é claro);

3 - Salvo o xml;

ACBrNFe1.NotasFiscais.Items[0].SaveToFile;

3 - gravo o caminho + nome do xml.

ACBrNFe1.NotasFiscais.Items[0].NomeArq;

Isso tudo com uma unica opcao no meu sistema 'Enviar NFE', mas o que é gravado é o caminho informado no ACBrNFe1.Configuracoes.Arquivos.PathNFe + '123456...xml'

Será q tem alguma coisa para setar a mais para pegar o caminho da pasta mensal???

PS.: o xml é gerado corretamente na pasta mensal mas não consigo pegar o caminho completo do xml por esta sequencia, porém se eu carregar o xml da pasta mensal a propriedade ACBrNFe1.NotasFiscais.Items[0].NomeArq fica correto ou seja com o caminho da pasta mensal.

Postado

adicione FormatDateTime('yyyy',data_emissao)+'-'+FormatDateTime('MM',data_emissao) qdo for gravar o caminho do XML no teu banco, sendo data_emissao a data de emissão da nota. Pra mim funciona perfeitamente.

  • 6 meses depois ...
Postado

As NF-e's autorizadas são são salvas na pasta que você informar no componente, na propriedade "PathNFe". Pode ser diretamente no mesmo ou via código:

ACBrNFe1.Configuracoes.Arquivos.PathNFe := // [Pasta das NF-e's autorizadas]

 

Quando quiser uma NF-e autorizada por exemplo, monte o caminho completo com a pasta NFe:

sData := FormatDateTime('YYYY', qryNFe.FieldByName('DATA_EMISSAO_NF').Value) +
FormatDateTime('MM', qryNFe.FieldByName('DATA_EMISSAO_NF').Value);
//***********************************************************************
// -> Aqui você refere-se à pasta:
sCaminho := ACBrNFe1.Configuracoes.Arquivos.PathNFe + '\' + sData + '\';
//***********************************************************************
sNota := qryNFe.FieldByName('CHAVE_NFE').Value + '-nfe.xml';

ACBrNFe1.NotasFiscais.LoadFromFile(sCaminho + sNota);

Peterson de Cerqueira Matos
[email protected]
Vivo: (11) 97197-1474 / Oi: (11) 98059-4055

  • Moderadores
Postado

Na verdade bastaria utilizar:

 

 

sData := FormatDateTime('YYYYMM', qryNFe.FieldByName('DATA_EMISSAO_NF').Value);
//***********************************************************************
// -> Aqui você refere-se à pasta:
sCaminho := ACBrNFe1.Configuracoes.Arquivos.PathNFe + '\' + sData + '\';
//***********************************************************************
sNota := qryNFe.FieldByName('CHAVE_NFE').Value + '-nfe.xml'; 

 

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Moderadores
Postado

Pode ser feito assim também:

sCaminho := 
  ACBrNFe1.Configuracoes.Arquivos.PathNFe + 
  FormatDateTime('"\"YYYYMM"\"', qryNFe.FieldByName('DATA_EMISSAO_NF').Value);

sNota := qryNFe.FieldByName('CHAVE_NFE').Value + '-nfe.xml';  

 

Ao invés de explicitar diretamente as barras eu prefiro usar um método:

 

sCaminho := IncludeTrailingPathDelimiter(ACBrNFe1.Configuracoes.Arquivos.PathNFe);
sCaminho := IncludeTrailingPathDelimiter(
  sCaminho + FormatDateTime('YYYYMM', qryNFe.FieldByName('DATA_EMISSAO_NF').Value)
); 

Dessa forma fica independente do sistema operacional e o delphi se encarrega de usar sempre o separador de diretório correto.

  • Curtir 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Este tópico foi criado há 4283 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.