Jump to content

dev botao

Imprimir 2 Cópias NFCe


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

Recommended Posts

  • Membros Pro

Boa tarde,

Quero imprimir 2 ou mais cópias de um danfe de NFCe, mas não consigo. 

Seto ACBrNFeDANFCeFortes1.NumCopias := 2, mas não adianta, sempre imprime apenas 1 via. Fiz teste com preview=true para imprimir na tela e também false, para imprimir na impressora. Mas sempre gera apenas uma impressão. Posso inclusive colocar mais cópias (3, 4,..), sempre imprime uma só

Alguma dica?

 

Obrigado.

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

  • Membros Pro

Sim, eu vi um post no fórum, mas lá naquele relato o problema era um pouco diferente, ou seja, setava-se para 2 a quantidade e imprimia 4 (o dobro).

No meu caso alimento direto, sem printDialog.

Exemplo:
if VImprimindoOffLine then
 ACBrNFeDANFCeFortes1.NumCopias := 2
else
 ACBrNFeDANFCeFortes1.NumCopias := 1;

Eu debuguei e lá no ACBrDANFCeFortesFr.pas, a linha RLPrinter.Copies := NumCopias está alimentado certo, ou seja, RLPrinter.Copies fica com valor 2, mas mesmo assim, imprime só uma cópia.

Obrigado.

 

 

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

No enviar você não imprime enviando assim

  //------IdLote--------/true- para imprimir /      true se for apenas uma NFE/NFCE(modo Sincrono)---

if ACBrNFe.Enviar(1, False,True) then  //-----Se enviou  -> Aqui não imprime ao enviar, imprime abaixo

begin

               ACBrNFe.DANFE.ViaConsumidor := True;   //------Imprime via Cliente---------
               ACBrNFe.NotasFiscais[0].Imprimir;
               //------Imprime via estabelecimento---------


               ACBrNFe.DANFE.ViaConsumidor := false;   //------Imprime via estabelecimento---------
               ACBrNFe.NotasFiscais[0].Imprimir;
               //------Imprime via estabelecimento---------

end;

 

agora se você está querendo imprimir N copias sem ter relação com via cliente/via estabelecimento, pode criar alguma variável de controle na tua aplicação inteira e armazenar a qtd de copias e aplicar um loop com o comando imprimir

 

for i=1 to qtdCopias do

begin

   ACBrNFe.NotasFiscais[0].Imprimir;

end;

 

 

  • Like 1
Link to comment
Share on other sites

  • Membros Pro
22 minutos atrás, Juliomar Marchetti disse:

o fortes foi atualizado recentemente e recompilado ele e depois o acbr?

Sim, ambos atualizados e recompilados.

Testei com Fast (TACBrNFeDANFEFRNFCe) e acontece a mesma situação.

Mas beleza, vou fuçar mais aqui e ver se encontro uma solução.

Obrigado.

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

  • Membros Pro

Beleza Carlos, acabei fazendo fiz como você sugeriu e agora está tudo certo.

Na verdade, do jeito inicial que eu estava querendo, mesmo que eu conseguisse imprimir 2 cópias do Danfe, ficaria errado, pois, ou ambas seriam "via consumidor" ou ambas seriam "via empresa".

Com essa sua dica me fez "cair a ficha", rs..

Só para enriquecer o post para o caso de outro colega tiver situação parecida, deixo aqui a rotina final que ficou no meu sistema:

 ACBrNFCe.DANFE.ViaConsumidor := true;
 ACBrNFCe.NotasFiscais.Imprimir; //imprime a via consumidor, sempre.
  if VImprimindoDanfeOff then
    begin
    ACBrNFCe.DANFE.ViaConsumidor := false;
    ACBrNFCe.NotasFiscais.Imprimir; //se estiver em contingência off, imprime a via empresa.
    end;

 

Obrigado!

Edited by valdirdill

Valdir Dill

Rio de Janeiro - RJ

 

 

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.