Ir para conteúdo
  • Cadastre-se

dev botao

Não está imprimindo DANFE válido


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

Recommended Posts

Olá pessoal...

Tenho um probleminha... estou usando o componente em modo PRODUÇÃO e fiz a primeira NFe, ocorreu tudo certo, enviou, validou e imprimiu o DANFE válido com o protocolo de autorização e tudo mais, perfeito! Mas quando mandei imprimir essa mesma NFe novamente o DANFE saiu impresso com a mensagem do modo HOMOLOGAÇÃO "NFe sem Autorazação de Uso da SEFAZ" e sem o protocolo de autorização de uso!

O que está acontecendo?? Toda ajuda será bem-vinda!

Link para o comentário
Compartilhar em outros sites

Vlw Fabricio,

Vou testar então... mas estou olhando aqui e tem alguns caminhos na configuração:

PathCan : D:\delphi\ACBr\trunk\ACBrNFePCN\ACBrNFeMonitor\Arqs

PathDPEC : D:\delphi\ACBr\trunk\ACBrNFePCN\ACBrNFeMonitor\Arqs

PathInu : D:\delphi\ACBr\trunk\ACBrNFePCN\ACBrNFeMonitor\Arqs

PathNFe : D:\delphi\ACBr\trunk\ACBrNFePCN\ACBrNFeMonitor\Arqs

Salvar : True

Para que são esses Paths??? Eles influenciam nesse meu problema???

Desde já eu agradeço!!!!!

Link para o comentário
Compartilhar em outros sites

Essas opções de pastas são para separar os arquivos por tipo de operação, como:

PathCan: Arquivos de cancelamento

PathDPEC: Arquivos para modo de contingência DPEC

PathInu: Arquivos de inutilização de numeração

PathNFe: Arquivos com a NFe

Na pasta PathNFe caso a propriedade Salvar esteja True, já é salvo o XML com a Autorização completo, caso a nota seja autorizada.

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Mas agora você poderá armazenar em seu banco o XML completo, com a Autorização, pois antes você provavelmente estava armazenando ele incompleto, pois a propriedade Salvar estava False.

Caso você não esteja armazenando o XML e simplesmente preenchendo o ACBrNFe campo a campo e depois mandando imprimir o DANFE, sugiro que mude essa abordagem, pois é muito trabalhosa e você corre o risco de esquecer de preencher alguns campos, como por exemplo os próprios dados da Autorização, protocolo e tudo mais.

Link para o comentário
Compartilhar em outros sites

Agora tu me confundiu...

Como armazenar o XML no meu banco sendo que o componente salva o XML numa pasta??? Meu banco é MySQL, não emtendi...

Uso esse método para evitar que o usuário precise escolher o XML nos diretórios da maquina, existem muitos usuários leigos e o nome dos XMLs não são nada intuitivos, então tenho um DBGrid com todas as NFes listadas, basta escolher e mandar reimprimir.

Quanto ao modo de preenchimento estou fazendo o seguinte: Tenho um procedimento que pega os dados de todos os campos digitados e joga no componente para depois ENVIAR e receber a resposta de autorização da SEFAZ. Uso esse mesmo procedimento para recarregar a nota quando for reimprimir, se a NFe foi altorizada usando esse procedimento então o carregamento para a reimpressão tbm estará correto, certo??? Só que não sei como carregar os dados da Autorização, protocolo e tudo mais, pois isso eu não faço antes de ENVIAR a NFe, parece que é incluso automático....

Em aguardo....

Link para o comentário
Compartilhar em outros sites

No meu caso além de ter os campos da nota também armazeno o XML no banco, utilizo Firebird e armazendo o XML em um campo tipo Blob.

Uma outra abordagem que você pode fazer é deixar transparente para o seu usuário e você carregar o XML do disco, pois você tem o nome da chave e então poderia carregar o XML que você guardaria em uma pasta específica.

Já na forma que você está trabalhando hoje, só funciona porque após a Autorização, o componte ACBrNFe já recarrega os dados da nota com a Autorização, por isso que na primeira vez o seu DANFE sai corretamente.

Na reimpressão você não armazenou os dados da Autorização, então você simplesmente preenche os dados no componente ACBrNFe sem Autorização, por isso não funciona.

Para continuar a utilizar a sua abordagem, você terá que armazenar os dados da Autorização, que estão disponíveis em:

ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe

que possui todos os campos de Autorização do XML:



1
GO2.0
52101004970382000137550010000038044350008004
2010-10-13T15:37:34
152100110439324
4Jn0yrpEuUsRS8qm3+YyIdTK4t0=
100
Autorizado o uso da NF-e



E agora deu uma luz? :idea:

Espero ter ajudado... Ou confundi mais? :lol:

Link para o comentário
Compartilhar em outros sites

Fabricio, acendeu a luz... hehe!!!

Entendi perfeitamente, porém me surgiu algumas dúvidas:

1 - Qual comando uso para salvar o XML direto no banco??

2 - Vc citou o caso de carregar o XML do disco usando o nome da chave que guardo no banco depois de Autorizada, mas como fazer isso??

3 - Depois da Autorização estou gravando no banco os dados da Autorização: Chave, Protocolo, Data do Recebimento, Hora do Recebimento, Código da Situação e Descrição da Situação, como vc me disse, estou preenche os dados no componente ACBrNFe sem Autorização, mas onde jogo os dados da autorização no componente antes de reimprimir a NFe??

Pode me ajudar?? Mais uma vez eu agradeço a atenção.... brigadão!!!!!

Link para o comentário
Compartilhar em outros sites

Vamos então por partes:

1 – Não sei fazer esse procedimento com MySQL, utilizo o Firebird. Acredito que com uma pesquisa rápida no pai Google deve achar fácil uma dica.

2 – Você provavelmente deve ter armazenado o número da chave da sua nota e o arquivo salvo em disco pelo componente ACBrNFe é algo do tipo 52110137350840000194550010000000131000000138-nfe.xml, então basta fazer como no Demo no botão “Imprimir DANFE”. Simplificando:

ACBrNFe1.NotasFiscais.Clear;

ACBrNFe1.NotasFiscais.LoadFromFile('Seu arquivo');

ACBrNFe1.NotasFiscais.Imprimir;

3 – Nunca fiz o teste de como você quer fazer não, pois utilizo a opção 1 combinada com a 2, mas acredito que você vai preencher os mesmos campos de onde tirou a informação, setando todos os valores de:

ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe

Como

ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.dhRecbto := ...

E por aí vai...

Link para o comentário
Compartilhar em outros sites

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