Boa tarde galera.
é a primeira vez que crio um tópico, e, toda ajuda e puxão de orelha será bem-vindo.
Estou precisando fazer o seguinte...
Tenho um cliente potencial que está com o operacional em uma cidade e o galpão em outra e o operacional emite os ctes (média de 125/dia) e envia o PDF para o galpão por e-mail para imprimir.
Para facilitar, na minha aplicação, eu carrego o ACBrCTe varias vezes usando o LoadFromFile sem limpar, aponto MostraPreview para True e dou o comando imprimir.
Feito isso, ele exibe no FortesReport uma única vez todos os DACTes, um por página.... é aí que o cliente clica em salvar, escolhe PDF e ele gera um único PDF com todos os CTes, óbvio, facilitando o envio de arquivo único para impressão.
O que gostaria de fazer, é manipular este salvamento, indicando: local e nome_específico deste PDF único para que minha aplicação facilite mais ainda abrindo o outlook já com o arquivo em anexo...
Mas não estou conseguindo.
Lembrando que já tentei usar o ImprimirPDF, mas ele só gera o PDF com um CTe e normalmente o último, já tentei o ImprimirPDF seguido do Imprimir e acontece a mesma coisa.
Acho que no ACBrCTe, estes comandos de Imprimir e ImprimirPDF limpam ou vão para o ultimo registro, não sei... mas para não perder, será que pode-se criar um ImprimirPDF2?? risos...
Segue comando que uso e agradeço a ajuda ou sugestões....
LerCTe2;
DM.ImprimirCtes.SQL.Clear;
DM.ImprimirCtes.SQL.Add('SELECT * FROM conhecimentos WHERE ');
DM.ImprimirCtes.SQL.Add('marca_cte = "X" AND beneficiario = "' + DM.Global.FieldByName('nome').AsString + '"');
DM.ImprimirCtes.Open;
DM.ImprimirCtes.First;
Form102.ACBrCTe1.Conhecimentos.Clear;
while not DM.ImprimirCtes.Eof do
begin
DM.XMLCte.SQL.Clear;
DM.XMLCte.SQL.Add('SELECT * FROM xml_cte WHERE ');
DM.XMLCte.SQL.Add('cte = "' + DM.ImprimirCtes.FieldByName('cte').AsString + '" AND beneficiario = "' + DM.Global.FieldByName('nome').AsString + '"');
DM.XMLCte.SQL.Add('AND sts = "OK"');
DM.XMLCte.Open;
If DM.XMLCte.RecordCount = 1 Then
begin
TBlobField(DM.XMLCte.FieldByName('arquivo')).SaveToFile(DM.Global.FieldByName('unidade_sistema').AsString + '\' + DM.Global.FieldByName('pasta_cte').AsString + '\' + DM.ImprimirCtes.FieldByName('cte_chave').AsString + '-cte.xml');
Form102.ACBrCTe1.Conhecimentos.LoadFromFile(DM.Global.FieldByName('unidade_sistema').AsString + '\' + DM.Global.FieldByName('pasta_cte').AsString + '\' + DM.ImprimirCtes.FieldByName('cte_chave').AsString + '-cte.xml');
end;
DM.ImprimirCtes.Next;
end;
Form102.ACBrCTeDACTeRL1.MostraPreview := True;
Form102.ACBrCTe1.Conhecimentos.Imprimir;
// Form102.ACBrCTe1.Conhecimentos.ImprimirPDF;
Form102.ACBrCTeDACTeRL1.MostraPreview := False;