Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DanielAndrade

Pesquisar DANFEs entre datas

Recommended Posts

Pessoal, boa noite.

 

Tenho um diretorio repleto de DANFEs (documentos auxiliares da NFe) em XML. O cliente tem um sistema e cada venda gerada, o XML vai para este diretorio. Então, é bem grande.

 

Preciso buscar informações dessas xmls, como data da venda e CFOP dos produtos. E retornar um relatório.

 

Bom, como eu otimizo isso? Alguém sabe me dizer se aquele numero imenso da DANFE é uma criptografia simples ou algum meta-dado, que tenha a data talvez?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara ......................

 

Esse é o tipo de coisa me deixa puto com os fóruns...........

 

Eu sou membro deste forum desde 2005. E desde muito antes trabalho com PHP. Só pergunto algo, depois de ter me exaurido em pesquisas no google.... Aí, de repente, vc pensa: Vou perguntar no forum. Alguém talvez me ajude ou, pelo menos, SE INTERESSE pela mesma questão.

 

Eu deveria dizer que tentei ler os arquivos com SimpleXML, mas que, por se tratar de muitos arquivos, é por demais demorado, já que, se o usuario pesquisar pela data, o php teria que ler o attrib da data (->infNFe->ide->dEmi) em todos os arquivos antes de retornar os registros da pesquisa, e por isso eu estava perguntando se o nome do XML da NFe é algum tipo de meta-dado com a data da emissão ou .....

 

Mas, na boa, tem horas, .... ,

 

Obrigado pelas visualizações, pessoal. Abc .... perdao pelo desabafo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei ao certo se o nome do XML pode ser "convertido" na data. Mas vejo duas alternativas:

 

1. É possível usar filectime. Mas se o XML for alterado ou gerado de novo, a data do arquivo deixa de ser a mesma do DANFE.

 

2. Você pode adicionar a data no nome do arquivo ou salvar em um banco de dados as datas de cada DANFE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para saber como é constituído o nome da danfe basta procurar na própria documentação que rege esta questão, por exemplo, ao digitar "danfe padrão nome arquivo" no google ele retornou este resultado:

https://www.fazenda.sp.gov.br/nfe/legislacao/manual_de_integracao_contribuinte_v202a.pdf

 

Na página 68 fala exatamente do padrão de nome para os arquivos... isso varia de acordo com o estado? Não faço a mínima ideia, mas é só pesquisar diretamente na documentação que se existir um padrão ele vai estar lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ESerra e Beraldo, obrigado.

 

ESerra, observei o arquivo e, de fato, na página 68 ele destrincha a formação do nome do arquivo. É o mesmo padrão para todos os estados, porque o projeto da NFe de SP foi seguido nacionalmente. Porém, o número nao possui o dia da emissão, apenas o ano e o mes (AAMM). E o cliente emite mais de 5 mil NF/mês. Além disso, não encontrei uma forma de pesquisar entre datas atraves dos nomes dos arquivos. Dá para ordenar se transformar em array, com usort(), mas nao para pesquisar em um intervalo, como o BETWEEN do SQL.

 

Então, a opção de Beraldo é uma boa. Processar os xmls da pasta para um banco de dados e pesquisar por ele depois. Apesar de aumentar os processos para o usuario, vai deixar a consulta infinitamente mais rápida.

 

Obg

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.