unit Pedido;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Buttons, Grids, DBGrids, StdCtrls, Mask, DBCtrls;

type
  TfmPedidos = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    btConfirma: TSpeedButton;
    btDesiste: TSpeedButton;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Label2: TLabel;
    Label3: TLabel;
    DBText2: TDBText;
    DBLookupComboBox1: TDBLookupComboBox;
    Label4: TLabel;
    DBText1: TDBText;
    procedure btDesisteClick(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure Panel1Exit(Sender: TObject);
    procedure btConfirmaClick(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmPedidos: TfmPedidos;

implementation
        uses base, Clientes, Global, BuscaCliente;
{$R *.DFM}

procedure TfmPedidos.btDesisteClick(Sender: TObject);
begin
        {---- Rotina do Botao Desiste ---}

        { Coloca a tabela de Pedidos em edição só para evitar
          a mensagem de erro DataSet or Not Edit...}

        Dados.tbPedidos.Edit;
        Dados.tbPedidos.Cancel;

        { Desiste dos Dados no BancodeDados }
        Dados.BancodeDados.RollBack;

        {Fecha a Janela de Pedidos}
        Close;
end;

procedure TfmPedidos.SpeedButton4Click(Sender: TObject);
begin
        {Chama Tela de Clientes}
        Tela:='PEDIDOS';
        FmClientes.ShowModal;

        if Tela='CONFIRMOU' then
                begin
                        Dados.tbPedidos.Edit; // Edita Tabela de Pedidos
                        Dados.tbPedidosCliente.Value:=Dados.tbClientesCodigo.Value;
                        DbGrid1.SetFocus;
                end;


end;

procedure TfmPedidos.Panel1Exit(Sender: TObject);
begin
        { Confirma Dados do Pedido para Editar Itens tranquilamente }
        Dados.tbPedidos.Post;

        { Muda o Foco para o Grid de Itens}
        DBGrid1.SetFocus;
end;

procedure TfmPedidos.btConfirmaClick(Sender: TObject);
begin
        {---- Rotina do Botao Confirma ---}

        { Coloca a tabela de Pedidos em edição só para evitar
          a mensagem de erro DataSet or Not Edit...}

        Dados.tbPedidos.Edit;
        Dados.tbPedidos.Post;

        { Coloca a tabela de Itens em edição só para evitar
          a mensagem de erro DataSet or Not Edit...}

        Dados.tbItens.Edit;
        Dados.tbItens.Post;

        { Confirma os Dados no BancodeDados }
        Dados.BancodeDados.Commit;

        {Fecha a Janela de Pedidos}
        Close;

end;

procedure TfmPedidos.SpeedButton3Click(Sender: TObject);
begin
        { Altera o indice da tabela de Clientes para Localizar por Telefone.
          Caso queira localizar por Nome, crie um indice para o campo Nome,
          e altere a propriedade abaixo.}

        Dados.tbClientes.IndexName:='idxTelefone';

        { Chama Formulário para Localização de Cliente}
        FmBuscaCli.ShowModal;

        { Coloca a tabela de Pedidos em Edição, mesmo que já esteja}
        Dados.tbPedidos.Edit;

        { Atribui ao Campo Cliente da tabela Pedidos o conteudo do
          campo codigo da tabela de Clientes}
        Dados.tbPedidosCliente.Value:=Dados.tbClientesCodigo.Value;

        { Retorna ao Indice original da tabela de Clientes}
        Dados.tbClientes.IndexName:='';

end;

end.
