unit DLGSERIESAUX;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBCtrls,DATEUTILS;

type
  TFDLGSERIESAUX = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    bcancelar: TBitBtn;
    bok: TBitBtn;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Panel3: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    DBNavigator1: TDBNavigator;
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Panel3Exit(Sender: TObject);
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Edit1Enter(Sender: TObject);
    procedure bcancelarClick(Sender: TObject);
  private
    { Private declarations }
    function GetTipo:string;
    PROCEDURE SETTIPO (CODIGO:STRING);
  public
    { Public declarations }
    CERRARDATASET:BOOLEAN;
    ANYO:SMALLINT;
    property SERIE:string read GetTipo write SetTipo;

  end;

var
  FDLGSERIESAUX: TFDLGSERIESAUX;

implementation

uses udmGS;

{$R *.DFM}

function TFDLGSERIESAUX.GetTipo:string;
begin
    result:=dmgs.CDSQ_SERIESAUXID_SERIE.asstring;
end;
PROCEDURE TFDLGSERIESAUX.SETTipo(CODIGO:string);
begin
  EDIT1.Text := CODIGO;
  WITH dmgs.CDSQ_SERIESAUX   DO
  BEGIN
   CLOSE;
   DMGS.VSERIESAUX.ID := CODIGO;
//   DMGS.VSERIESAUX.ANYO := INTTOSTR(ANYO);
   DMGS.VSERIESAUX.TIPO:= '2';
   OPEN;
  END;
  bok.Enabled:=true;
  EDIT1.Enabled := FALSE;
end;

{
function TFDLGFORMASPAGO.Getcodigo:string;
begin
    result:=dm.formaspagoid_forma_pago.asstring;
end;

procedure TFDLGFORMASPAGO.Setcodigo(cod:string);
begin
    if cod='' then dm.formaspago.first
              else dm.formaspago.locate('id_forma_pago',cod,[locaseinsensitive]);
end;
 }



{
procedure TFDLGFORMASPAGO.DBGrid1KeyPress(Sender: TObject; var Key: Char);
var x:string;
begin
    x:=key;
    dm.formaspago.locate('id_forma_pago',x,[locaseinsensitive,lopartialkey]);
    key:=#0;
end;
}
procedure TFDLGSERIESAUX.Panel3Exit(Sender: TObject);
begin
  WITH dmgs.CDSQ_SERIESAUX   DO
    IF NOT(TRIM(EDIT1.Text)='') THEN
       BEGIN
       CLOSE;
       DMGS.VSERIESAUX.ID := TRIM(EDIT1.Text);
       DMGS.VSERIESAUX.TIPO:= '1';
       OPEN;
       END;
   bok.Enabled:=true;
end;

procedure TFDLGSERIESAUX.DBNavigator1Click(Sender: TObject;
  Button: TNavigateBtn);
begin
IF  dmgs.CDSQ_SERIESAUX.EOF  THEN
try // para evitar el error de memoria bloqueada en el server.
     dmgs.CDSQ_SERIESAUX.GetNextPacket
except
end;
end;

procedure TFDLGSERIESAUX.DataSource1DataChange(Sender: TObject;
  Field: TField);
begin
IF  ((dmgs.CDSQ_SERIESAUX.EOF) AND (NOT (dmgs.CDSQ_SERIESAUX.STATE IN [DSEDIT,DSINSERT])))  THEN
try // para evitar el error de memoria bloqueada en el server.
     dmgs.CDSQ_SERIESAUX.GetNextPacket
except
end;
end;
procedure TFDLGSERIESAUX.DBGrid1DblClick(Sender: TObject);
begin
    bok.click;
end;

procedure TFDLGSERIESAUX.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key = #13 then
    BEGIN
        Perform(WM_NextDLGCtl, 0, 0);
        key:=#0;
    END;
end;
procedure TFDLGSERIESAUX.FormShow(Sender: TObject);
begin
  IF EDIT1.Enabled THEN
    EDIT1.SETFOCUS
  ELSE
    DBGRID1.SetFocus;
end;

procedure TFDLGSERIESAUX.FormCreate(Sender: TObject);
begin
 IF dmgs.CDSQ_SERIESAUX.ACTIVE THEN
     dmgs.CDSQ_SERIESAUX.CLOSE;
 DATASOURCE1.DataSet := dmgs.CDSQ_SERIESAUX;
 //BOK.Enabled := false;
 CERRARDATASET:=TRUE;
 ANYO := YEAROF(DATE);

 WITH dmgs.CDSQ_SERIESAUX   DO
 BEGIN
   CLOSE;
   DMGS.VSERIESAUX.ID := '%';
   DMGS.VSERIESAUX.TIPO:= '1';
   OPEN;
 END;
end;

procedure TFDLGSERIESAUX.FormDestroy(Sender: TObject);
begin
  DATASOURCE1.DataSet := NIL;
// SEGURAMENTE QUE LUEGO LO USE PARA FTIPOS_ESPECIALE, PERO POR AHORA LO CIERRO.
 IF CERRARDATASET THEN
   dmgs.CDSQ_SERIESAUX.CLOSE;
end;

procedure TFDLGSERIESAUX.Edit1Enter(Sender: TObject);
begin
   bok.Enabled:=false;
end;

procedure TFDLGSERIESAUX.bcancelarClick(Sender: TObject);
begin
 if dmgs.CDSQ_SERIESAUX.active then
    dmgs.CDSQ_SERIESAUX.Close;
  modalresult:= mrCancel;
end;

end.
