unit fdlglineaspedido;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids, Vcl.DBGrids,data.db,
  Vcl.ExtCtrls, Vcl.Mask, Vcl.DBCtrls, ZAbstractRODataset, ZDataset;

type
  Tdlglineaspedido = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel25: TPanel;
    DBGrid6: TDBGrid;
    Panel6: TPanel;
    Label35: TLabel;
    btAcancelar: TButton;
    btAguardar: TButton;
    btAmodificar: TButton;
    btAborrar: TButton;
    btAnuevo: TButton;
    Panel9: TPanel;
    Label3: TLabel;
    btClcancelar: TButton;
    btClguardar: TButton;
    btClmodificar: TButton;
    btClborrar: TButton;
    btClnuevo: TButton;
    Panel26: TPanel;
    DBGrid3: TDBGrid;
    Panel23: TPanel;
    DBGrid2: TDBGrid;
    Panel7: TPanel;
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Panel16: TPanel;
    DBGrid9: TDBGrid;
    Panel21: TPanel;
    Label20: TLabel;
    btCAcancelar: TButton;
    btCAmodificar: TButton;
    btCAborrar: TButton;
    btCAnuevo: TButton;
    btCAguardar: TButton;
    Panel8: TPanel;
    DBGrid1: TDBGrid;
    Panel10: TPanel;
    Label2: TLabel;
    Panel11: TPanel;
    DBGrid4: TDBGrid;
    Panel12: TPanel;
    Label4: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    DBText3: TDBText;
    DBText5: TDBText;
    DBText6: TDBText;
    DBText9: TDBText;
    DBText10: TDBText;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    DBText11: TDBText;
    DBText12: TDBText;
    DBText13: TDBText;
    DBText14: TDBText;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DBText4: TDBText;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    Panel13: TPanel;
    Button6: TButton;
    Button7: TButton;
    Label13: TLabel;
    DBMemo1: TDBMemo;
    qaux: TZReadOnlyQuery;
    Label14: TLabel;
    DBEdit3: TDBEdit;
    Label15: TLabel;
    DBEdit5: TDBEdit;
    Label16: TLabel;
    lbcliente: TLabel;
    lbdestino: TLabel;
    Panel14: TPanel;
    DBGrid5: TDBGrid;
    Panel15: TPanel;
    Label17: TLabel;
    Button8: TButton;
    Button9: TButton;
    Button10: TButton;
    Button11: TButton;
    Button12: TButton;
    Panel17: TPanel;
    DBGrid7: TDBGrid;
    Panel18: TPanel;
    Label18: TLabel;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Button16: TButton;
    Button17: TButton;
    Label19: TLabel;
    DBText7: TDBText;
    DBText8: TDBText;
    Label21: TLabel;
    DBText15: TDBText;
    DBText16: TDBText;
    Panel19: TPanel;
    DBText17: TDBText;
    Label22: TLabel;
    DBEdit4: TDBEdit;
    Label23: TLabel;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    Label24: TLabel;
    DBText18: TDBText;
    procedure DBGrid6DblClick(Sender: TObject);
    procedure DBGrid3DblClick(Sender: TObject);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure DBGrid9DblClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid4DblClick(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure Button7Click(Sender: TObject);
    procedure btAnuevoClick(Sender: TObject);
    procedure btAborrarClick(Sender: TObject);
    procedure btAmodificarClick(Sender: TObject);
    procedure btAguardarClick(Sender: TObject);
    procedure btAcancelarClick(Sender: TObject);
    procedure btClnuevoClick(Sender: TObject);
    procedure btClborrarClick(Sender: TObject);
    procedure btClmodificarClick(Sender: TObject);
    procedure btClcancelarClick(Sender: TObject);
    procedure btClguardarClick(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure btCAnuevoClick(Sender: TObject);
    procedure btCAborrarClick(Sender: TObject);
    procedure btCAmodificarClick(Sender: TObject);
    procedure btCAcancelarClick(Sender: TObject);
    procedure btCAguardarClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid5DblClick(Sender: TObject);
    procedure DBGrid7DblClick(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  dlglineaspedido: Tdlglineaspedido;

implementation

{$R *.dfm}

uses fpedidos, datosclientes;
procedure Tdlglineaspedido.btAborrarClick(Sender: TObject);
begin
    pedidos.dtarticulos.delete;
end;

procedure Tdlglineaspedido.btAcancelarClick(Sender: TObject);
begin
   pedidos.dtarticulos.Cancel;
end;

procedure Tdlglineaspedido.btAguardarClick(Sender: TObject);
var id,ide,idcliente:string;
begin
    pedidos.dtarticulos.Post;
    id:=pedidos.dtarticulosid.AsString;
    ide:=pedidos.dtarticulosidempresa.AsString;
    idcliente:=pedidos.dtarticulosidcliente.AsString;
    pedidos.dtarticulosiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
    pedidos.dtarticulos.Post;
    pedidos.dtarticulos.MasterSource:=pedidos.dsqpedidos;
    pedidos.dtarticulos.refresh;
    pedidos.dtarticulos.Locate('idempresa,id,idcliente',vararrayof([ide,id,idcliente]),[locaseinsensitive]);
end;

procedure Tdlglineaspedido.btAmodificarClick(Sender: TObject);
begin
   pedidos.dtarticulos.edit;
end;

procedure Tdlglineaspedido.btAnuevoClick(Sender: TObject);
begin
   qaux.SQL.Clear;
   qaux.SQL.Add('select count(*)+1 from clientes_articulos');
   qaux.Open;
   pedidos.dtarticulos.append;
   pedidos.dtarticulosid.value:=qaux.Fields[0].AsString;
   pedidos.dtarticulosidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.dtarticulosidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;
   pedidos.dtarticulosiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
end;

procedure Tdlglineaspedido.btCAborrarClick(Sender: TObject);
begin
   pedidos.qclientesacabados.delete;
end;

procedure Tdlglineaspedido.btCAcancelarClick(Sender: TObject);
begin
   pedidos.qclientesacabados.cancel;
end;

procedure Tdlglineaspedido.btCAguardarClick(Sender: TObject);
var id,ide,idcliente:string;
begin
    id:=pedidos.qclientesacabadosid.AsString;
    ide:=pedidos.qclientesacabadosidempresa.AsString;
    idcliente:=pedidos.qclientesacabadosidcliente.AsString;
    pedidos.qclientesacabadosiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
    pedidos.qclientesacabados.Post;
    pedidos.qclientesacabados.MasterSource:=pedidos.dsqpedidos;
    pedidos.qclientesacabados.Refresh;
    pedidos.qclientesacabados.Locate('idempresa,id,idcliente',vararrayof([ide,id,idcliente]),[locaseinsensitive]);
end;

procedure Tdlglineaspedido.btCAmodificarClick(Sender: TObject);
begin
pedidos.qclientesacabados.edit;
end;

procedure Tdlglineaspedido.btCAnuevoClick(Sender: TObject);
begin
   qaux.SQL.Clear;
   qaux.SQL.Add('select count(*)+1 from clientes_acabados');
   qaux.Open;
   pedidos.qclientesacabados.append;
   pedidos.qclientesacabadosid.value:=qaux.Fields[0].AsString;
   pedidos.qclientesacabadosidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.qclientesacabadosidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;
   pedidos.qclientesacabadosiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
end;

procedure Tdlglineaspedido.btClborrarClick(Sender: TObject);
begin
    pedidos.qclientescalidad.delete;
end;

procedure Tdlglineaspedido.btClcancelarClick(Sender: TObject);
begin
   pedidos.qclientescalidad.cancel;
end;

procedure Tdlglineaspedido.btClguardarClick(Sender: TObject);
var id,ide,idcliente:string;
begin
    id:=pedidos.qclientescalidadid.AsString;
    ide:=pedidos.qclientescalidadidempresa.AsString;
    idcliente:=pedidos.qclientescalidadidcliente.AsString;
    pedidos.qclientescalidadiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
    pedidos.qclientescalidad.Post;
    pedidos.qclientescalidad.MasterSource:=pedidos.dsqpedidos;
    pedidos.qclientescalidad.refresh;
    pedidos.qclientescalidad.Locate('idempresa,id,idcliente',vararrayof([ide,id,idcliente]),[locaseinsensitive]);

end;

procedure Tdlglineaspedido.btClmodificarClick(Sender: TObject);
begin
   pedidos.qclientescalidad.edit;
end;

procedure Tdlglineaspedido.btClnuevoClick(Sender: TObject);
begin
   qaux.SQL.Clear;
   qaux.SQL.Add('select count(*)+1 from clientes_calidad');
   qaux.Open;
   pedidos.qclientescalidad.append;
   pedidos.qclientescalidadid.value:=qaux.Fields[0].AsString;
   pedidos.qclientescalidadidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.qclientescalidadidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;
   pedidos.qclientescalidadiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
   dbgrid3.SetFocus;
end;

procedure Tdlglineaspedido.Button10Click(Sender: TObject);
begin
   pedidos.qpaises.Delete;
end;

procedure Tdlglineaspedido.Button11Click(Sender: TObject);
begin
   pedidos.qpaises.append;
   pedidos.qpaisesidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.qpaisesidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;
end;

procedure Tdlglineaspedido.Button12Click(Sender: TObject);
begin
   pedidos.qvariedadesidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.qvariedadesidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;
   pedidos.qpaises.post;
end;

procedure Tdlglineaspedido.Button13Click(Sender: TObject);
begin
  pedidos.qvariedades.cancel;
end;

procedure Tdlglineaspedido.Button14Click(Sender: TObject);
begin
  pedidos.qvariedades.edit;
end;

procedure Tdlglineaspedido.Button15Click(Sender: TObject);
begin
  pedidos.qvariedades.delete;
end;

procedure Tdlglineaspedido.Button16Click(Sender: TObject);
begin
   pedidos.qvariedades.append;
   pedidos.qvariedadesidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.qvariedadesidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;

end;

procedure Tdlglineaspedido.Button17Click(Sender: TObject);
begin
   pedidos.qvariedadesidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.qvariedadesidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;
   pedidos.qvariedades.Post
end;

procedure Tdlglineaspedido.Button1Click(Sender: TObject);
begin
     pedidos.dtarticulosformato.cancel;
end;

procedure Tdlglineaspedido.Button2Click(Sender: TObject);
begin
     pedidos.dtarticulosformato.edit;
end;

procedure Tdlglineaspedido.Button3Click(Sender: TObject);
begin
     pedidos.dtarticulosformato.delete;


end;

procedure Tdlglineaspedido.Button4Click(Sender: TObject);
begin
   qaux.SQL.Clear;
   qaux.SQL.Add('select count(*)+1 from clientes_formatoarticulos');
   qaux.Open;
   pedidos.dtarticulosformato.append;
   pedidos.dtarticulosformatoid.value:=qaux.Fields[0].AsString;
   pedidos.dtarticulosformatoidempresa.value:=pedidos.dtpedidosIde.AsInteger;
   pedidos.dtarticulosformatoidcliente.value:=pedidos.dtpedidosIdcliente.AsInteger;
   pedidos.dtarticulosformatoiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
   dbgrid2.SetFocus;
end;

procedure Tdlglineaspedido.Button5Click(Sender: TObject);
var id,ide,idcliente:string;
begin
    id:=pedidos.dtarticulosformatoid.AsString;
    ide:=pedidos.dtarticulosformatoidempresa.AsString;
    idcliente:=pedidos.dtarticulosformatoidcliente.AsString;
    pedidos.dtarticulosformatoiddestino.value:=pedidos.dtpedidosiddestino.Asstring;
    pedidos.dtarticulosformato.Post;
    pedidos.dtarticulosformato.MasterSource:=pedidos.dsqpedidos;
    pedidos.dtarticulosformato.Refresh;
    pedidos.dtarticulosformato.Locate('idempresa,id,idcliente',vararrayof([ide,id,idcliente]),[locaseinsensitive]);


end;

procedure Tdlglineaspedido.Button6Click(Sender: TObject);
begin
   pedidos.dtlinpedidoside.value:=pedidos.dtpedidoside.Asinteger;
   pedidos.dtlinpedidosidpedido.value:=pedidos.dtpedidosid.Asinteger;
   pedidos.dtlinpedidosidcliente.value:=pedidos.dtpedidosidcliente.Asinteger;
   pedidos.dtlinpedidos.post;
   close;
end;

procedure Tdlglineaspedido.Button7Click(Sender: TObject);
begin
   pedidos.dtlinpedidos.cancel;
   close;
end;

procedure Tdlglineaspedido.Button8Click(Sender: TObject);
begin
  pedidos.qpaises.cancel;
end;

procedure Tdlglineaspedido.Button9Click(Sender: TObject);
begin
  pedidos.qpaises.Edit;
end;

procedure Tdlglineaspedido.DBGrid1DblClick(Sender: TObject);
begin
    pedidos.dtlinpedidosidcajapropia.value:=pedidos.qcajascodigo.AsString;
    pedidos.dtlinpedidosdesc_envpropio.value:=pedidos.qcajasdescripcion.AsString;
end;

procedure Tdlglineaspedido.DBGrid2DblClick(Sender: TObject);
begin

    pedidos.dtlinpedidosidenvase.Value:=pedidos.dtarticulosformatoidformato.Asstring;
    pedidos.dtlinpedidosdesc_envase.Value:=pedidos.dtarticulosformatodes_envase.Asstring;
    pedidos.dtlinpedidosean.Value:=pedidos.dtarticulosformatoean.Asstring;
    pedidos.dtlinpedidosmarca.Value:=pedidos.dtarticulosformatomarca.Asstring;
    pedidos.dtlinpedidosdun14.Value:=pedidos.dtarticulosformatodun14.Asstring;
    pedidos.dtlinpedidosref.Value:=pedidos.dtarticulosformatoid.Asstring;
end;

procedure Tdlglineaspedido.DBGrid3DblClick(Sender: TObject);
begin

    pedidos.dtlinpedidosidcalidad.Value:=pedidos.qclientescalidadid.asstring;
    pedidos.dtlinpedidosdesc_calidad.Value:=pedidos.qclientescalidaddescripcion.Asstring;

end;

procedure Tdlglineaspedido.DBGrid4DblClick(Sender: TObject);
begin

    pedidos.dtlinpedidosidformatopropio.value:=pedidos.qacabadosid.Asinteger;
    pedidos.dtlinpedidosdesc_formatopropio.value:=pedidos.qacabadosdescripcion.AsString;

end;

procedure Tdlglineaspedido.DBGrid5DblClick(Sender: TObject);
begin
    pedidos.dtlinpedidosidpais.Value:=pedidos.qpaisesid.Asstring;
    pedidos.dtlinpedidosdesc_pais.Value:=pedidos.qpaisesdescripcion.Asstring;

end;

procedure Tdlglineaspedido.DBGrid6DblClick(Sender: TObject);
begin

    pedidos.dtlinpedidosidproductocli.Value:=pedidos.dtarticulosid.asstring;
    pedidos.dtlinpedidosdesc_producto.Value:=pedidos.dtarticulosdesc_cliente.Asstring;


end;

procedure Tdlglineaspedido.DBGrid7DblClick(Sender: TObject);
begin
    pedidos.dtlinpedidosidvariedad.Value:=pedidos.qvariedadesid.Asstring;
    pedidos.dtlinpedidosdesc_variedad.Value:=pedidos.qvariedadesdescripcion.Asstring;
end;

procedure Tdlglineaspedido.DBGrid9DblClick(Sender: TObject);
begin

      pedidos.dtlinpedidosidacabado.Value:=pedidos.qclientesacabadosid.Asstring;
      pedidos.dtlinpedidosdesc_acabado.Value:=pedidos.qclientesacabadosdescripcion.Asstring;


end;

procedure Tdlglineaspedido.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if (activecontrol is tdbgrid) then
    begin
        if Key = 13 then Key :=9;
    end;
end;

procedure Tdlglineaspedido.FormKeyPress(Sender: TObject; var Key: Char);
var formatos:tformatsettings;
    punto:string;
begin
    GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, formatos);
    punto:=formatos.DecimalSeparator;
    if punto=',' then
    begin
        key:=upcase(key);
        if (key='.') and (activecontrol is tdbedit) then
        begin
           if  (activecontrol as tdbedit).Field.DataType in [ftfloat,ftCurrency,ftbcd,ftfmtbcd] then key:=','
        end;
        if (key='.') and (activecontrol is tdbgrid) then
        begin
            key:=',';
        end;
    end;

    if (activecontrol is tdbgrid) then
    begin
        if Key = #13 then Key :=#9;
    end;

    if (key=#13) then
    begin
        Perform(WM_NextDLGCtl,0,0);
        key:=#0;
    end;
end;

procedure Tdlglineaspedido.FormShow(Sender: TObject);
begin
    lbcliente.Caption:='CLIENTE: '+pedidos.qclientesnombre.AsString;
    lbdestino.Caption:='DESTINO: '+pedidos.qdestinosdescripcion.AsString;
end;

end.
