Carcleo 4 Denunciar post Postado Janeiro 29, 2007 Alguem me da uma ideia ou um modelo de como desenhar um formulario de pedidos(O cliente ja tem um e preenche à mão), usando o TShape da paleta Additional, depois jogar isso no QReport para imprimir?Obrigado!Carlos Rocha Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 29, 2007 Você vai ter de ir colocando os shapes e desenhando, não tem muito o que explicar, e depois para o QRP terá de usar o TQRShape da paleta do QuickReport. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Janeiro 30, 2007 OkMas, como desenhar é que num faço a minima ideia. Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 30, 2007 Não existe como desenhar, precisar ir colocando os componentes e fazer os traços que desejar. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Janeiro 30, 2007 Olha só.Me da essa Luz.Eu não tenho a minima noção de como fazer isso. Tenho um cadastro de clientes Tenho um cadastro de fornecedores Tenho um cadastro de produtos. Todos ok.Agora preciso criar um formulario de pedidos para cadastrar e imprimir o pedido.Como faz isso?Ja deu pra ter uma ideia de como estou crú. Né?Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Janeiro 30, 2007 Bom, primeiramente monte a tela de movimentação de pedido... depois vocêê monta o relatório do mesmo com as linhas e tudo mais... Força ai irmãozinho!!! Tem muito material na busca do fórum!!! Ps.: Não possuo exemplo disso... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Janeiro 31, 2007 oKPor Enquanto, valeu pela ajuda. Agora, vou queimar um pouco de neuronio.Mas, me explica só mais uma Coisa:Um campo LookUp, eu queria que ele preenchece mais campos como por exemplo:Eu digito o nomedo cliente e ele preenche os outros campos do Foprm tipo endereço, Cpf, CI, etc..Me da mais essa força ae Hugo irmaozinho, to quase chegando la.Um,abçCarlos Rocha Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Janeiro 31, 2007 Se você tiver um campo como NUCLIENTE ou IDCLIENTE pode fazer no evento OnChange do campo a busca pelas demais informações, pois este procedimento é executado quando alterado o valor do campo, sendo que nele poderia ter uma query para fazer a busca pelo endereço do cliente e então atribuir os valores aos campos desejados, tipo: procedure TForm1.tabelaNUCLIENTEChange(Sender: TField);beginif (tabela.State in [dsInsert,dsEdit]) then //Verifica se a tabela esta em estado de edição ou inserção begin //Efetua a consulta pelo código do cliente sobre uma query cliente qryCliente.Close; qryCliente.Parameters.ParamByName('Codigo').Value:=tabelaNUCLIENTE.Value; qryCliente.Open; //Verifica se encontrou if not qryCliente.IsEmpty then begin //Se encontrou atribui os valores tabelaENDERECO.Value:=qryClienteENDERECO.Value; tabelaCPF.Value:=qryClienteCPF.Value; tabelaCI.Value:=qryClienteCI.Value; end else begin //Caso não encontrou, limpa os campos tabelaENDERECO.AsString:=''; tabelaCPF.AsString:=''; tabelaCI.AsString:=''; end; end;end; Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Janeiro 31, 2007 Vou tentar.Por enquanto. Muito Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Fevereiro 1, 2007 ola hugo. Bom dia! Aparentemente esta dando certo porem, Eu fiz o seguinte: Entrei na ZTablePedidos e Criei um novo Field, um campo de lookup, vendo na ZQryClientes, a listas dos nomes, o que gerou uma DBLookupCombobox. O Problema foi que, qualquer que seje o cliente escolhido, ele sempre preenche os demais campos do ZTablePedidos(Cotacoes), Id, endereço, CPF, etc., porem só sai os dados do primeiro cliente qualquer que seje o Cliente escolhido. Observei entao que o campo Nome Lookup gerado DBLookupCombobox, não possui evento onchange. Dai, abri os fields da ZTablePedidos e alterei o evento Onchange do Field "Nome", E mesmo assim não deu. O que esta errado agora? Segue o código Código procedure TFormCotacoes.ZTableCotacoesNomeCliChange(Sender: TField);beginif (ZTableCotacoes.State in [dsInsert,dsEdit]) then //Verifica se a tabela esta em estado de edição ou inserção begin ZqryClientes.Close; ZqryClientes.ParamByName('Nome').Value:=ZTableCotacoesNome.Value; ZqryClientes.Open; //Verifica se encontrou if not ZqryClientes.IsEmpty then begin //Se encontrou atribui os valores ZTableCotacoesLocal_Cobranca.Value:=ZqryClientesEndereco.Value; ZTableCotacoesCPF.Value:=ZqryClientesCpf.Value; ZTableCotacoesCodigo_Cliente.Value:=ZqryClientesId.Value; ZTableCotacoesCNPJ.Value:=ZqryClientesCNPJ.Value; end else begin //Caso não encontrou, limpa os campos ZTableCotacoesLocal_Cobranca.AsString:=''; ZTableCotacoesCPF.AsString:=''; ZTableCotacoesCodigo_Cliente.AsString:=''; ZTableCotacoesCNPJ.AsString:=''; end; end; Código completo: unit cotacoes;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ZAbstractRODataset, ZAbstractDataset, ZAbstractTable, ZDataset, ExtCtrls, StdCtrls, jpeg, DBCtrls, Mask;type TFormCotacoes = class(TForm) Panel1: TPanel; ZTableCotacoes: TZTable; DataSource1: TDataSource; ZTableClientes: TZTable; DataSource2: TDataSource; ZTableProdutos: TZTable; ZqryClientes: TZQuery; ZTableProdutosCodigo: TIntegerField; ZTableProdutosNome: TMemoField; ZTableProdutosDescricao: TMemoField; ZTableProdutosPreco: TIntegerField; ZTableCotacoesId: TIntegerField; ZTableCotacoesCondicao_Pgto: TStringField; ZTableCotacoesCodigo_Cliente: TIntegerField; ZTableCotacoesLocal_Fatura: TStringField; ZTableCotacoesLocal_Cobranca: TStringField; ZTableCotacoesLocal_Entrega: TStringField; ZTableCotacoesCPF: TIntegerField; ZTableCotacoesCNPJ: TIntegerField; ZTableCotacoesCEP: TStringField; ZTableCotacoesItem: TIntegerField; ZTableCotacoesUnidade: TIntegerField; ZTableCotacoesQuantidade: TIntegerField; ZTableCotacoesCodigo_Produto: TIntegerField; ZTableCotacoesDescricao: TStringField; ZTableCotacoesPreco_Uni: TIntegerField; ZTableCotacoesPreco_Tot: TIntegerField; ZTableCotacoesValor_Tot: TIntegerField; ZTableCotacoesNomeCli: TStringField; ZTableCotacoesNome: TStringField; Label1: TLabel; DBEdit1: TDBEdit; Label2: TLabel; DBEdit2: TDBEdit; Label3: TLabel; DBEdit3: TDBEdit; Label4: TLabel; DBLookupComboBox1: TDBLookupComboBox; Label5: TLabel; DBEdit4: TDBEdit; Label6: TLabel; DBEdit5: TDBEdit; Label7: TLabel; DBEdit6: TDBEdit; Label8: TLabel; DBEdit7: TDBEdit; Label9: TLabel; DBEdit8: TDBEdit; Label10: TLabel; DBEdit9: TDBEdit; Label11: TLabel; DBEdit10: TDBEdit; Label12: TLabel; DBEdit11: TDBEdit; Label13: TLabel; DBEdit12: TDBEdit; Label14: TLabel; DBEdit13: TDBEdit; DBEdit14: TDBEdit; Label16: TLabel; DBEdit15: TDBEdit; Label17: TLabel; DBEdit16: TDBEdit; Label18: TLabel; DBEdit17: TDBEdit; Label15: TLabel; DBEdit18: TDBEdit; Label19: TLabel; DBEdit19: TDBEdit; Label20: TLabel; DBEdit20: TDBEdit; Label21: TLabel; DBEdit21: TDBEdit; ZqryClientesId: TIntegerField; ZqryClientesNome: TStringField; ZqryClientesEndereco: TStringField; ZqryClientesEmail: TStringField; ZqryClientesTelefone: TIntegerField; ZqryClientesCpf: TIntegerField; ZqryClientesCnpj: TIntegerField; ZTableClientesId: TIntegerField; ZTableClientesNome: TStringField; ZTableClientesEndereco: TStringField; ZTableClientesEmail: TStringField; ZTableClientesTelefone: TIntegerField; ZTableClientesCpf: TIntegerField; ZTableClientesCnpj: TIntegerField; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure ZTableCotacoesNomeCliChange(Sender: TField); private { Private declarations } public { Public declarations } end;var FormCotacoes: TFormCotacoes;implementation{$R *.dfm}procedure TFormCotacoes.FormClose(Sender: TObject; var Action: TCloseAction);beginAction := caFree; // remove o form da memóriaFormCotacoes := NIL; // informa que foi destruído (não criado)end;procedure TFormCotacoes.FormCreate(Sender: TObject);beginZTableCotacoes.Append;end;procedure TFormCotacoes.ZTableCotacoesNomeCliChange(Sender: TField);beginif (ZTableCotacoes.State in [dsInsert,dsEdit]) then //Verifica se a tabela esta em estado de edição ou inserção begin ZqryClientes.Close; ZqryClientes.ParamByName('Nome').Value:=ZTableCotacoesNome.Value; ZqryClientes.Open; //Verifica se encontrou if not ZqryClientes.IsEmpty then begin //Se encontrou atribui os valores ZTableCotacoesLocal_Cobranca.Value:=ZqryClientesEndereco.Value; ZTableCotacoesCPF.Value:=ZqryClientesCpf.Value; ZTableCotacoesCodigo_Cliente.Value:=ZqryClientesId.Value; ZTableCotacoesCNPJ.Value:=ZqryClientesCNPJ.Value; end else begin //Caso não encontrou, limpa os campos ZTableCotacoesLocal_Cobranca.AsString:=''; ZTableCotacoesCPF.AsString:=''; ZTableCotacoesCodigo_Cliente.AsString:=''; ZTableCotacoesCNPJ.AsString:=''; end; end;end;end. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Fevereiro 1, 2007 Ola Hugo. Criei uma comboboxCli e no evento onchange dela puz codigo abaixo. O problema do completar as letras do nome sumiram porem o problema de qualquer nome escolhido completar os outros campos tipo CPF, Endereço, etc.. Continua. Me ajuda aí mais um pouco. To quase la. Um abraço. Novo código: procedure TFormCotacoes.ComboBoxCliChange(Sender: TObject);begin if (ZTableCotacoes.State in [dsInsert,dsEdit]) then //Verifica se a tabela esta em estado de edição ou inserção begin ZqryClientes.Close; ZqryClientes.ParamByName('Nome').Value:=ZTableCotacoesNomeCli.Value; ZqryClientes.Open; //Verifica se encontrou ZqryClientes.First; while not ZqryClientes.EOF do begin ComboBoxCli.Items.Add(VarToStr(ZqryClientes.Fields[1].value)); ZTableCotacoesLocal_Cobranca.Value:=ZqryClientesEndereco.Value; ZTableCotacoesCPF.Value:=ZqryClientesCpf.Value; ZTableCotacoesCodigo_Cliente.Value:=ZqryClientesId.Value; ZTableCotacoesCNPJ.Value:=ZqryClientesCNPJ.Value; ZqryClientes.Next; end end;end; Código que você orientou: procedure TFormCotacoes.DBEdit22Change(Sender: TObject);beginif (ZTableCotacoes.State in [dsInsert,dsEdit]) then //Verifica se a tabela esta em estado de edição ou inserção begin ZqryClientes.Close; ZqryClientes.ParamByName('Nome').Value:=ZTableCotacoesNomeCli.Value; ZqryClientes.Open; //Verifica se encontrou if not ZqryClientes.IsEmpty then begin //Se encontrou atribui os valores ZTableCotacoesLocal_Cobranca.Value:=ZqryClientesEndereco.Value; ZTableCotacoesCPF.Value:=ZqryClientesCpf.Value; ZTableCotacoesCodigo_Cliente.Value:=ZqryClientesId.Value; ZTableCotacoesCNPJ.Value:=ZqryClientesCNPJ.Value; end else begin //Caso não encontrou, limpa os campos ZTableCotacoesLocal_Cobranca.AsString:=''; ZTableCotacoesCPF.AsString:=''; ZTableCotacoesCodigo_Cliente.AsString:=''; ZTableCotacoesCNPJ.AsString:=''; end; end;end; Compartilhar este post Link para o post Compartilhar em outros sites