unit FINSERTARGRUPO;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,DB, Buttons;

type
  TINSERTARGRUPO = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit3: TEdit;
    bok: TBitBtn;
    bcancelar: TBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Edit1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit3Exit(Sender: TObject);
    procedure bokClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    f1entra:boolean;
  end;

var
  INSERTARGRUPO: TINSERTARGRUPO;

implementation

uses FDLGFAMILIASAUX, UDMGS, FTARIFAS, menu, FESPERA;

{$R *.dfm}

procedure TINSERTARGRUPO.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  ACTION := CAFREE;

end;

procedure TINSERTARGRUPO.Edit1DblClick(Sender: TObject);
begin
     DLGFAMILIASAUX := TDLGFAMILIASAUX.Create(NIL);
     if DLGFAMILIASAUX.Showmodal=mrok then
     begin
         F1ENTRA:= TRUE;
         edit1.text   :=DLGFAMILIASAUX.codigo ;
         label2.Caption := dmgs.cdsq_familiasauxdescripcion.AsString;
         Perform(WM_NextDLGCtl, 0, 0);
//         DMGS.CDSQ_ARTICULOSPROFUNDIDAD.Value := DMGS.CDSQ_FAMILIASPROFUNDIDAD.VALUE;
     end;
     DLGFAMILIASAUX.Free;
     DLGFAMILIASAUX := nil;
end;

procedure TINSERTARGRUPO.FormCreate(Sender: TObject);
begin
  f1entra:=false;
  WITH DMGS.CDSQ_EMPRESAAUX DO
  BEGIN
    Close;
    DMGS.EMABGRID:= FMENU.ID_EMPRESA ;
    DMGS.EMABGRTIPO :='2';
    OPEN;
  END;
  IF DMGS.CDSQ_EMPRESAAUXBENEFICIO_MIN.Value = 1 THEN
     EDIT3.Text := FLOATTOSTR(DMGS.CDSQ_EMPRESAAUXBENEFICIO.Value);
  DMGS.CDSQ_EMPRESAAUX.CLOSE;
end;

procedure TINSERTARGRUPO.Edit1Exit(Sender: TObject);
begin
  if not f1entra
  AND (TRIM(EDIT1.TEXT) <> '')
  then
  begin
       WITH DMGS.CDSQ_FAMILIASAUX DO
     BEGIN
       CLOSE;
       DMGS.FAABGRID := EDIT1.TEXT;
       OPEN;
       WHILE (NOT LOCATE('COD_FAMILIA',EDIT1.TEXT,[LOCASEINSENSITIVE])) AND
             (NOT EOF) DO
           DMGS.CDSQ_FAMILIASAUX.LAST;
           IF DMGS.CDSQ_FAMILIASAUX.EOF THEN
            try // para evitar el error de memoria bloqueada en el server.
               DMGS.CDSQ_FAMILIASAUX.GetNextPacket ;
            except
            end;
       IF EOF THEN
       BEGIN
         DMGS.CDSQ_FAMILIASAUX.CLOSE;
         MessageDlg('LA FAMILIA INTRODUCIDA NO EXISTE', mtWarning,[mbOK], 0);
         EDIT1.SetFocus;
         ABORT;
       END
       ELSE
         LABEL2.Caption := DMGS.CDSQ_FAMILIASAUXDESCRIPCION.AsString;
       DMGS.CDSQ_FAMILIASAUX.CLOSE;
     END;
 end;
 f1entra := false;
end;

procedure TINSERTARGRUPO.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  IF KEY=112 THEN
  BEGIN
     DLGFAMILIASAUX := TDLGFAMILIASAUX.Create(NIL);
     if DLGFAMILIASAUX.Showmodal=mrok then
     begin
         F1ENTRA:= TRUE;
         edit1.text   :=DLGFAMILIASAUX.codigo ;
         label2.Caption := dmgs.cdsq_familiasauxdescripcion.AsString;
         Perform(WM_NextDLGCtl, 0, 0);
     end;
     DLGFAMILIASAUX.Free;
     DLGFAMILIASAUX := nil;
  END;
end;

procedure TINSERTARGRUPO.Edit3Exit(Sender: TObject);
var aux:double;
begin
  try
    aux:= strtofloat(edit3.text)
  except
   MessageDlg('EL BENEFICIO DEBE SER UN NUMERO.', mtWarning,[mbOK], 0);
   EDIT3.SetFocus;
   EXIT;
  end;
end;

procedure TINSERTARGRUPO.bokClick(Sender: TObject);
 VAR Save_Cursor:TCursor;
     I,J:INTEGER;
begin
   FMENU.CERRARHIJA(TARTICULOS);
   if DBGrid1.SelectedRows.Count>0 then
   BEGIN
    ESPERA:= TESPERA.CREATE(NIL);
    Save_Cursor := Screen.Cursor;
    Screen.Cursor := crHourGlass;
    ESPERA.LONGITUD(TARIFAS.DBGrid1.SELECTEDROWS.Count);
    ESPERA.SHOW;
    ESPERA.Repaint;

//    with TARIFAS.DBGrid1.DataSource.DataSet do
      for i:=0 to TARIFAS.DBGrid1.SelectedRows.Count-1 do
      begin
        GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
        IF TRIM(DMGS.CDSQ_TARIFASID_ARTICULO.AsString) = '' THEN
        BEGIN

        END
        ELSE
        BEGIN
        END;


{        for j := 0 to FieldCount-1 do
        begin

          if (j>0) then s:=s+', ';
          s:=s+Fields[j].AsString;
        end;
        Listbox1.Items.Add(s);
        s:= '';
}
        ESPERA.INCREMENTARBARRA(FALSE);
      end;
    ESPERA.INCREMENTARBARRA(TRUE);
    ESPERA.Free;
    ESPERA := NIL;
   END;
end;

procedure TINSERTARGRUPO.FormShow(Sender: TObject);
begin
  EDIT3.SetFocus ;
end;

end.
