Página 1 de 1
Relatório
Enviado: Agosto 27th, 2013, 5:33 pm
por dmfilho
Bom dia a todos.
Estou desenvolvendo um sistema de ordem de serviço.
Após cadastrar a ordem de serviço preciso imprimi-la automaticamente. Para tanto já desenvolvi um relatório com os dados necessários, só que preciso sair da ordem de serviço e entrar no relatório para fazer a impressão.
Alguém sabe como devo fazer para assim que cadastrar a ordem de serviço chamar o relatório?
Daniel Montello Filho
Re: Relatório
Enviado: Agosto 27th, 2013, 6:32 pm
por flaviogonzaga
Daniel,
Boa noite!!!
Não é difícil, tenho feito com sucesso total, mas é preciso tomarmos alguns cuidados.
Você vai chamar o seu relatório através de um botão, no formulário de inclusão ou através de algum evento???
1) No "uses" do form de inclusão faça referência ao relatório, tipo R001;
2) se for chamar através de um botão no evento on click do mesmo coloque:
obs. O código abaixo poderá ser colocado no final do evento click do botão salvar, aí você faz o tratamento para imprimir somente se o formulário estiver em modo de inclusão ou pede uma confirmação do usuário caso o form esteja em modo de modificação, fica a seu critério.
FormR001 := TFormR001.Create(Application);
Try
formR001.xedit1.text:=inttostr(tabglobal.dord_servicos.cod_serv.conteudo);// passagem do número da ordem de serviço
FormR001.ShowModal;
Finally
FormR001.Free;
end;
3) No evento formshow do relatorio coloque:
btnvisualizarclick(self);
Espero ter ajudado!!
Qualquer dúvida vai postando aí.
Abraços!!!
Re: Relatório
Enviado: Setembro 20th, 2013, 1:54 pm
por dmfilho
Flávio,
O rotina que você enviou funcionou perfeitamente, só que após a impressão do relatório ele volta para a tela de seleção do relatório.
Como faço para voltar direto ao programa que chamou?
Daniel
Re: Relatório
Enviado: Setembro 20th, 2013, 2:17 pm
por dmfilho
Complementando a pergunta anterior,
Eu preciso que o relatório seja fechado automaticamente e retornar ao programa chamador.
Re: Relatório
Enviado: Setembro 21st, 2013, 7:34 am
por flaviogonzaga
Olá,
Bom dia!!!
No evento "OnPaint" do relatório em questão, deve ficar assim:
procedure TFormR004.FormPaint(Sender: TObject);
begin
close;
end;
Abraços.
Re: Relatório
Enviado: Setembro 30th, 2013, 11:23 am
por dmfilho
Já fiz o recomendado acima e continua aparecendo a tela de seleção.
Se alguém puder me ajudar agradeço.
Daniel Montello Filho