unit AltaClave;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  StdCtrls, Forms, DBCtrls, DB, DBTables, Mask, ExtCtrls, Buttons;

type
  TFormaCapturaClave = class(TForm)
    TablaAltasDSCPR_I: TStringField;
    TablaAltasUMEDI_I: TStringField;
    TablaAltasCODIG_I: TStringField;
    TablaAltasUEMPA_I: TFloatField;
    TablaAltasPIVA1_I: TFloatField;
    TablaAltasULCOS_I: TFloatField;
    TablaAltasCPROM_I: TFloatField;
    TablaAltasPPUBL_I: TFloatField;
    TablaAltasPLIS2_I: TFloatField;
    TablaAltasPLIS3_I: TFloatField;
    TablaAltasPLIS4_I: TFloatField;
    TablaAltasPMINI_I: TFloatField;
    TablaAltasPOLI1_I: TFloatField;
    TablaAltasPOLI2_I: TFloatField;
    TablaAltasPOLI3_I: TFloatField;
    TablaAltasPOLI4_I: TFloatField;
    TablaAltasPOLI5_I: TFloatField;
    TablaAltasPOLI6_I: TFloatField;
    TablaAltasPOLI7_I: TFloatField;
    TablaAltasPLIS6_I: TFloatField;
    TablaAltasPLIS7_I: TFloatField;
    ScrollBox: TScrollBox;
    Label1: TLabel;
    EditDSCPR_I: TDBEdit;
    Label2: TLabel;
    EditUMEDI_I: TDBEdit;
    Label3: TLabel;
    EditCODIG_I: TDBEdit;
    Label4: TLabel;
    EditUEMPA_I: TDBEdit;
    Label5: TLabel;
    EditPIVA_I: TDBEdit;
    Label6: TLabel;
    EditULCOS_I: TDBEdit;
    Label7: TLabel;
    EditCPROM_I: TDBEdit;
    Label8: TLabel;
    EditPPUBL_I: TDBEdit;
    Label9: TLabel;
    EditPLIS_I: TDBEdit;
    Label10: TLabel;
    EditPLIS_I2: TDBEdit;
    Label11: TLabel;
    EditPLIS_I3: TDBEdit;
    Label12: TLabel;
    EditPMINI_I: TDBEdit;
    Label13: TLabel;
    EditPOLI_I: TDBEdit;
    Label14: TLabel;
    EditPOLI_I2: TDBEdit;
    Label15: TLabel;
    EditPOLI_I3: TDBEdit;
    Label16: TLabel;
    EditPOLI_I4: TDBEdit;
    Label17: TLabel;
    EditPOLI_I5: TDBEdit;
    Label18: TLabel;
    EditPOLI_I6: TDBEdit;
    Label19: TLabel;
    EditPOLI_I7: TDBEdit;
    Label20: TLabel;
    EditPLIS_I4: TDBEdit;
    Label21: TLabel;
    EditPLIS_I5: TDBEdit;
    DBNavigator: TDBNavigator;
    Panel1: TPanel;
    DataSource1: TDataSource;
    Panel2: TPanel;
    TablaAltas: TTable;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Clave_Producto: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  FormaCapturaClave: TFormaCapturaClave;

function AltaClaveProducto(cad,ruta,rut_bases:string):string;
implementation

{$R *.DFM}

function AltaClaveProducto(cad,ruta,rut_bases:string):string;
var
Tabla:TTable;
i:integer;
begin
FormaCapturaClave:=TFormaCapturaClave.Create(Application);
with FormaCapturaClave do
begin
Tabla:=TTable.Create(Application);
Tabla.DatabaseName:=rut_bases;
Tabla.TableName:='INVENTAR.DBF';
Tabla.IndexName:='ICLPRO';
Tabla.Open;

//if Tabla.FindKey([cad]) then
//begin

TablaAltas.DatabaseName:=ruta;
TablaAltas.Open;
while not TablaAltas.Eof do
TablaAltas.Delete;


TablaAltas.Insert;

Clave_Producto.Caption:=cad;
//TablaAltas.FieldByName('CLPRO_I').AsString:=cad;

FormaCapturaClave.ShowModal;
TablaAltas.Post;
if Tag=1 then
begin
//**inserta los valores al inventario
if Tabla.FindKey([TablaAltas.FieldByName('CLPRO_I').AsString]) then
begin
 Tabla.Insert;
 for i:=0 to TablaAltas.FieldCount-1 do
 begin
 Tabla.FieldByName( TablaAltas.Fields[i].FieldName).AsString:=TablaAltas.Fields[i].AsString;

 end;//for

 Tabla.Post;
end;
AltaClaveProducto:=TablaAltas.FieldByName('CLPRO_I').AsString
end
else
AltaClaveProducto:='';



Tabla.Close;
Tabla.Free;
TablaAltas.Close;

//end;
//else
//begin


//end;//if findkey
end;
 FormaCapturaClave.Free;
end;

procedure TFormaCapturaClave.BitBtn1Click(Sender: TObject);
begin
Tag:=1;
end;

procedure TFormaCapturaClave.BitBtn2Click(Sender: TObject);
begin
Tag:=0;
end;

end.
