Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

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;
Postado

Boa tarde,

basta você percorrer esses conhecimentos,

desabilitar a propriedade PREVIEW e mandar imprimir....

ACBRCTEQR.DACTe.MostrarPreview := False;
ACBRCTEQR.Conhecimentos.Imprimir;
Postado

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;
 
Postado

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.

  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

  • 2 semanas depois ...
  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

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;
  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

  • 2 meses depois ...
Postado

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. 

  • Consultores
Postado

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 / Araraquara-SP

Araraquara - A era dos Trólebus

  • Moderadores
Postado

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_Transparent-02.png
 

 

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