Ir para conteúdo
  • Cadastre-se

dev botao

Imprimir Cte Por Lote


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

Recommended Posts

Eu faço isso no meu sistema...

 

     {Imprimir com a quantidade de cópia desejada}
     if (AuxVisu = 1) then begin
       AuxQtdCopia    := InputBox('Impressão','Informe a Quantidade',Trim(AuxQtdCopia));
       ACBrCTe1.DACTe.NumCopias := StrToInt(AuxQtdCopia);
       ACBrCTe1.Enviar(1,True);
     end;
Link para o comentário
Compartilhar em outros sites

Faz um While do seu select do banco de dados e esse comando dentro...

 

   PathArquivo := ACBrCTe1.Configuracoes.Arquivos.GetPathCTe(StrToDate(txtEmissao.Text));
   Arq := PathArquivo+'\'+Trim(txtChave.Text)+'-cte.xml';
   ACBrCTe1.Conhecimentos.Clear;
   ACBrCTe1.Conhecimentos.LoadFromFile(Arq);
   ACBrCTe1.Conhecimentos.Imprimir;
 
Link para o comentário
Compartilhar em outros sites

Vagner_fix , a dica que vc me passou não deu certo, o conhecimento abre sozinho em cada report, eu preciso que todas os conhecimentos apareçam em apenas um report, para mandar imprimir apenas uma vez e imprimir todas os conhecimentos.

 

mais uma coisa, após ter esses conhecimentos impressos, preciso gerar um arquivo PDF com todos esses conhecimentos, tudo junto, dentro de apenas um arquivo, gostaria de saber qual é a função que devo chamar para salvar esses conhecimentos em pdf?

 

se mais alguém tiver alguma dica, me passe por favor.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Rodrigo,

 

Você desabilitou a visualização?

 

MostrarPreview := False;

 

o comando Imprimir envia o DACTE para impressora, já o comando ImprimirPDF gera o DACTE em PDF e salva em disco. 

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Bom dia Anderson,

 

Abrindo o fonte: ACBrCTeConhecimento.pas, linha 130 temos a declaração da function LoadFromFile.

 

    function LoadFromFile(CaminhoArquivo: string; AGerarCTe: Boolean = True): boolean;
 

Como você pode ver essa função possui um segundo parametro cujo valor padrão é True.

 

Portanto pode ocorrer sim alteração no XML ao ler ele, a não ser que você execute o comando desta forma:

 

ACBrCTe1.Conhecimentos.LoadFromFile(Arq, False);

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Tive que fazer para o meu cliente... Acabei de testar e funciona perfeitamente...

 

  while (not DM.SqlAux.Eof ) do begin
   ACBrCTe1.DACTe.NumCopias  := StrToInt(txtQtde.Text);
   PathArquivo               := ACBrCTe1.Configuracoes.Arquivos.GetPathCTe(DM.SqlAux.FieldByName('DTEHR1').AsDateTime);
   Arq                       := PathArquivo+'\'+Trim(DM.SqlAux.FieldByName('CHAVE').AsString)+'-cte.xml';
   ACBrCTe1.Conhecimentos.Clear;
   ACBrCTe1.Conhecimentos.LoadFromFile(Arq);
   ACBrCTe1.DACTe.MostrarPreview := False;
   ACBrCTe1.Conhecimentos.Imprimir;
   DM.SqlAux.Next;
  end;
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Wagner,

 

Já tentou desta outra forma?

 

ACBrCTe1.DACTe.NumCopias := StrToInt(txtQtde.Text);
ACBrCTe1.DACTe.MostrarPreview := False;
ACBrCTe1.Conhecimentos.Clear;

 

while (not DM.SqlAux.Eof ) do begin

PathArquivo := ACBrCTe1.Configuracoes.Arquivos.GetPathCTe(DM.SqlAux.FieldByName('DTEHR1').AsDateTime);
Arq := PathArquivo+'\'+Trim(DM.SqlAux.FieldByName('CHAVE').AsString)+'-cte.xml';
ACBrCTe1.Conhecimentos.LoadFromFile(Arq);
DM.SqlAux.Next;
end;

 

ACBrCTe1.Conhecimentos.Imprimir;
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Boa Tarde, 

 

Meu cliente me solicitou para que eu gere um arquivo PDF com todos os CT-e emitidos em um determinado mês ou periodo. juntamente com o Lote XML. Mas estou com problemas na impressão, pois eu tenho +- 400 CT-e Emitidos para um determinado cliente, e quando mando fazer o loadfromfile do xml, depois de um determinado tempo ele começa a dar outofmemory. E o cliente nao quer receber 10 arquivos pdf com 40 ct-e. 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Carlos,

 

Se não me falha a memória existe um programa que permite você juntar 2 ou mais arquivos PDF em um só.

 

Portanto, você gera 10 PDFs com 40 CT-e cada um e depois com o programa citado acima você junta em um só e manda para o cliente.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Acho que um dos poréns é que ainda é usado no para carregar os arquivos o TStringList!

isso ocasiona o erro mencionado! esses tempo atrás alterei uma parte do ACBr para usar TStream e TextFile e funcionou com arquivos grandes!

Seria uma ideia reformular os locais onde usa TStringList e TStrings para carregar arquivos mudando os mesmos!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...