unit ConPro;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  StdCtrls, Forms, DBCtrls, DB, DBGrids, DBTables, Grids, ExtCtrls,checa;

type
  TFormaConProduct = class(TForm)
    TablaConProductoPPUBL_I: TFloatField;
    TablaConProductoEXIST_I: TFloatField;
    DBGrid1: TDBGrid;
    DBNavigator: TDBNavigator;
    Panel1: TPanel;
    DataSource1: TDataSource;
    Panel2: TPanel;
    TablaConProducto: TTable;
    TablaConProductoDSCPR_I: TStringField;
    Shape1: TShape;
    Panel3: TPanel;
    Bevel20: TBevel;
    Bevel21: TBevel;
    Bevel22: TBevel;
    Panel4: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    TablaConProductoCLPRO_I: TStringField;
    procedure FormCreate(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormActivate(Sender: TObject);
    procedure Panel4Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure Panel3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Label2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FormaConProduct: TFormaConProduct;

implementation

uses movinv, Compras, Factu;

{$R *.DFM}

{function ruta(linea:integer):String;
var
arch:TextFile;
aux:string;
i:integer;

begin
AssignFile(arch,leeempresa);
Reset(arch);
for i:=1 to linea do
Readln(arch,aux);
CloseFile(arch);
ruta:=aux;

end;}

procedure rutas;
var
  I: Integer;
begin

with FormaConProduct do
begin
  for I := 0 to ComponentCount -1 do
    begin
     if Components[I] is TTable  then
       begin
       TTable(Components[I]).DatabaseName:=ruta(8);
       TTable(Components[I]).Open;
       end;
    end;
end;

end;



procedure TFormaConProduct.FormCreate(Sender: TObject);
begin
  {rutas;
  TablaConProducto.Open;}
end;

procedure TFormaConProduct.DBGrid1DblClick(Sender: TObject);
begin

if FormaMovimientosInventario.Detalle.Tag=1  then
begin
FormaMovimientosInventario.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaMovimientosInventario.Detalle.Tag:=0;
end;

if FormaCompras.Detalle.Tag=2 then
begin
FormaCompras.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaCompras.Detalle.Tag:=0;
end;

if FormaFactura.Detalle.Tag=3  then
begin
FormaFactura.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaFactura.Detalle.Tag:=0;
end;

FormaConProduct.Close;

end;

procedure TFormaConProduct.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=27 then
Close;


end;

procedure TFormaConProduct.FormActivate(Sender: TObject);
begin
if FormaConProduct.Tag=0 then
begin
rutas;
TablaConProducto.First;
end;

FormaConProduct.Tag:=1;

DBGrid1.SetFocus;

if FormaFactura.Detalle.Tag=3  then
begin
FormaFactura.TablaDeta.Edit;
TablaConProducto.FindNearest([FormaFactura.TablaDeta.FieldByName('clave').AsString]);
FormaFactura.Detalle.SelectedIndex:=1;
end;

if FormaMovimientosInventario.Detalle.Tag=1  then
begin
FormaMovimientosInventario.TablaDeta.Edit;
TablaConProducto.FindNearest([FormaMovimientosInventario.TablaDeta.FieldByName('clave').AsString]);
FormaMovimientosInventario.Detalle.SelectedIndex:=1;
end;




end;


procedure TFormaConProduct.Panel4Click(Sender: TObject);
begin
Close;
end;

procedure TFormaConProduct.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=27 then Close;
end;

procedure TFormaConProduct.DBGrid1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Ord(Char(key)) = 13 then
begin

if FormaMovimientosInventario.Detalle.Tag=1 then
begin
FormaMovimientosInventario.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaMovimientosInventario.Detalle.Tag:=0;
end;

if FormaCompras.Detalle.Tag=2 then
begin
FormaCompras.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaCompras.Detalle.Tag:=0;
end;

if FormaFactura.Detalle.Tag=3  then
begin
FormaFactura.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaFactura.Detalle.Tag:=0;
end;

{FormaMovimientosInventario.TablaDeta.Edit;
FormaMovimientosInventario.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;}
FormaConProduct.Close;

end;

end;

procedure TFormaConProduct.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Ord(Char(key)) = 13 then
begin

if FormaMovimientosInventario.Detalle.Tag=1 then
begin
FormaMovimientosInventario.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaMovimientosInventario.Detalle.Tag:=0;
end;

if FormaCompras.Detalle.Tag=2 then
begin
FormaCompras.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaCompras.Detalle.Tag:=0;
end;

if FormaFactura.Detalle.Tag=3  then
begin
FormaFactura.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;
FormaFactura.Detalle.Tag:=0;
end;

{FormaMovimientosInventario.TablaDeta.Edit;
FormaMovimientosInventario.TablaDeta.FieldByName('clave').AsString:=FormaConProduct.TablaConProducto.FieldByName('CLPRO_I').AsString;}
FormaConProduct.Close;

end;

end;

procedure TFormaConProduct.Panel3MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(FormaConProduct.Handle, WM_SYSCOMMAND, $F012, 0);
end;

procedure TFormaConProduct.Label2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(FormaConProduct.Handle, WM_SYSCOMMAND, $F012, 0);
end;

end.
