ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

NFe problemas na impressão de mais de uma nota.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> NFe
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Gustavo_Arndt
Novato
Novato


Registrado: Segunda-Feira, 9 de Mai de 2011
Mensagens: 17

MensagemEnviada: Seg Mai 16, 2011 10:27 am    Assunto: NFe problemas na impressão de mais de uma nota. Responder com Citação

Olá galera, estou tendo em um programa de emissão de nf-e, especificamente na impressão das Danfes.

Digamos que eu selecionei 3 notas para a impressão, o programa vai imprimir 3 vezes a primeira nota.

Segue abaixo o código utilizado.

Função que verifica as danfes selecionadas pelo usuário e as carrega em no dm.acbrnfe.notasfiscais

function TFrameDANFE.carregarImpressao: boolean;
var
vCDSTemp : TClientDataSet;
vStream : TStringStream;
vStrTMP : string;
begin
vCDSTemp := TClientDataSet.Create(self);
vStream := TStringStream.Create;
try
vCDSTemp.CloneCursor(CDSNFE,false);
dm.ACBrNFe.NotasFiscais.Clear;
vCDSTemp.First;
while not vCDSTemp.Eof do
begin
if vCDSTemp.FieldByName('CHECK_DANFE').AsInteger = 1 then
begin
vStrTMP := DM.getXMLByID(vCDSTemp.FieldByName('ID').AsInteger);
vStream.WriteString(vStrTMP);
dm.ACBrNFe.NotasFiscais.LoadFromStream(vStream);
setaCheckDanfe(vCDSTemp);
setaImpressoDanfe(vCDSTemp);
end;
vCDSTemp.Next;
end;
finally
vCDSTemp.Free;
vStream.Free;
end;
end;

após isso vem a seguinte procedure:

procedure TDM.imprimir_notas;
var
x : Integer;
begin
configurarDANFE;
for x := 0 to ACBrNFe.NotasFiscais.Count -1 do
begin
ACBrNFe.DANFE.TipoDANFE := ACBrNFe.NotasFiscais.Items[x].NFe.Ide.tpImp;
ACBrNFe.DANFE.ImprimirDANFE(ACBrNFe.NotasFiscais.Items[x].NFe);
end;
end;

Como podem ver, ela pega as notas que estão no acbrnfe.notasfiscais, setando o tipo de impressão e depois as imprime.
mas ali está o problema, mesmo setando no items qual nota imprimir ele seleciona sempre a primeira e não muda para a próxima na sequência, ou seja ali na linha do ACBrNFe.DANFE.ImprimirDANFE(ACBrNFe.NotasFiscais.Items[x].NFe) a nota continua a mesma....

Até pensei no fato de ser o componente da acbr mas mesmo atualizando-o não resolveu =\
Alguma sugestão?


Desde já agradeço a vocês.

Att Gustavo
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
CENTURYINF
Membro Junior
Membro Junior


Registrado: Sexta-Feira, 19 de Fevereiro de 2010
Mensagens: 364

MensagemEnviada: Seg Mai 16, 2011 1:43 pm    Assunto: Re: NFe problemas na impressão de mais de uma nota. Responder com Citação

ola,
apos imprimir a primeira nota, tente descarregar o componete
e depois carregar a proxima nota.

dm.ACBrNFe.NotasFiscais.Clear;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Gustavo_Arndt
Novato
Novato


Registrado: Segunda-Feira, 9 de Mai de 2011
Mensagens: 17

MensagemEnviada: Seg Mai 16, 2011 2:12 pm    Assunto: Re: NFe problemas na impressão de mais de uma nota. Responder com Citação

CENTURYINF escreveu:
ola,
apos imprimir a primeira nota, tente descarregar o componete
e depois carregar a proxima nota.

dm.ACBrNFe.NotasFiscais.Clear;


Mas se eu fizer isso vai limpar as outras notas contidas no componente não tendo como carregar a próxima nota... Sad
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Seg Mai 16, 2011 4:26 pm    Assunto: Responder com Citação

se vc ja carregou todas as notas dentro do ACBR, não seria só vc dar o

Código:

          ACBrNFe1.NotasFiscais.Imprimir;


ele imprime todas as notas dentro dele...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Gustavo_Arndt
Novato
Novato


Registrado: Segunda-Feira, 9 de Mai de 2011
Mensagens: 17

MensagemEnviada: Seg Mai 16, 2011 4:54 pm    Assunto: Responder com Citação

fiz o que você falou, mas mesmo assim continua imprimindo a mesma nota mais de uma vez...

Eu estava pensando se talvez o problema não fosse na hora de carregar as notas pra dentro do acbrnfe, mas não tenho certeza, pois pela depuração que fiz ele pega certo as notas e as adiciona para o componente.
Alguém sabe me informar se o uso do stringstream está correto?
Pois nunca havia mexido com esse objeto antes...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Seg Mai 16, 2011 5:06 pm    Assunto: Responder com Citação

Gustavo_Arndt escreveu:
fiz o que você falou, mas mesmo assim continua imprimindo a mesma nota mais de uma vez...

Eu estava pensando se talvez o problema não fosse na hora de carregar as notas pra dentro do acbrnfe, mas não tenho certeza, pois pela depuração que fiz ele pega certo as notas e as adiciona para o componente.
Alguém sabe me informar se o uso do stringstream está correto?
Pois nunca havia mexido com esse objeto antes...


da um preview e ve se ta certinho
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Seg Mai 16, 2011 5:07 pm    Assunto: Responder com Citação

rafmattos escreveu:
Gustavo_Arndt escreveu:
fiz o que você falou, mas mesmo assim continua imprimindo a mesma nota mais de uma vez...

Eu estava pensando se talvez o problema não fosse na hora de carregar as notas pra dentro do acbrnfe, mas não tenho certeza, pois pela depuração que fiz ele pega certo as notas e as adiciona para o componente.
Alguém sabe me informar se o uso do stringstream está correto?
Pois nunca havia mexido com esse objeto antes...


da um preview e ve se ta certinho


ACBrNFe1.DANFE.MostrarPreview := TRUE;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Gustavo_Arndt
Novato
Novato


Registrado: Segunda-Feira, 9 de Mai de 2011
Mensagens: 17

MensagemEnviada: Seg Mai 16, 2011 5:23 pm    Assunto: Responder com Citação

também não deu muito certo
vou testar logo após a atribuição da nota ao componente...

qualquer avanço posto os resultados =)
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafmattos
Colaborador
Colaborador


Registrado: Quinta-Feira, 11 de Fevereiro de 2010
Mensagens: 3416
Localização: Campo Grande/MS

MensagemEnviada: Seg Mai 16, 2011 5:29 pm    Assunto: Responder com Citação

Gustavo_Arndt escreveu:
também não deu muito certo
vou testar logo após a atribuição da nota ao componente...

qualquer avanço posto os resultados =)



no preview ta errado? eu falei de vc mostrar no preview como uma forma de debugar para saber se ta carregando certo...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Gustavo_Arndt
Novato
Novato


Registrado: Segunda-Feira, 9 de Mai de 2011
Mensagens: 17

MensagemEnviada: Seg Mai 16, 2011 5:49 pm    Assunto: Responder com Citação

rafmattos escreveu:
Gustavo_Arndt escreveu:
também não deu muito certo
vou testar logo após a atribuição da nota ao componente...

qualquer avanço posto os resultados =)



no preview ta errado? eu falei de vc mostrar no preview como uma forma de debugar para saber se ta carregando certo...


Cara achei o erro..

vStrTMP := DM.getXMLByID(vCDSTemp.FieldByName('ID').AsInteger);
vStream.Clear; <--- aqui o maldito...
vStream.WriteString(vStrTMP);

fiz o preview logo depois da atribuição e vi que nem dando um clear nas notas não estava funcionando...
ai fiz o clear no vstream e funcionou...
ele estava mantendo o valor das outras notas e adicionando elas novamente...

Valeu pela ajuda galera, idéias são sempre bem vindas nessas ocasiões

Very Happy

Problema Resolvido.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
mrocha2011
Novato
Novato


Registrado: Segunda-Feira, 22 de Agosto de 2011
Mensagens: 6

MensagemEnviada: Qua Ago 24, 2011 9:56 pm    Assunto: Responder com Citação

O Servidor de Impressão do RDI Open NFe é totalmente feito em Delphi 7. Ele fica monitorando uma pasta que você configura e faz a impressão/envio de e-mail com o XML anexado.

E o melhor, o código é aberto.

opennfe.codeplex.com
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> NFe Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB