unit DLGFORMAPAGO;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, Db, DBCtrls;

type
  TFDLGFORMAPAGO = 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;
  public
    { Public declarations }
    CERRARDATASET:BOOLEAN;
    property FORMAPAGO:string read GetTipo;// write SetTipo;
  end;

var
  FDLGFORMAPAGO: TFDLGFORMAPAGO;

implementation

uses udmGS;

{$R *.DFM}

function TFDLGFORMAPAGO.GetTipo:string;
begin
    result:=dmgs.CDSQ_FORMAPAGOID_FORMA.asstring;
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 TFDLGFORMAPAGO.Panel3Exit(Sender: TObject);
begin
  WITH dmgs.CDSQ_FORMAPAGO   DO
    IF NOT(TRIM(EDIT1.Text)='') THEN
       BEGIN
       CLOSE;
       DMGS.FPBGRID := TRIM(EDIT1.Text);
       OPEN;
       END;
   bok.Enabled:=true;
end;

procedure TFDLGFORMAPAGO.DBNavigator1Click(Sender: TObject;
  Button: TNavigateBtn);
begin
IF  dmgs.CDSQ_FORMAPAGO.EOF  THEN
try // para evitar el error de memoria bloqueada en el server.
     dmgs.CDSQ_FORMAPAGO.GetNextPacket
except
end;
end;

procedure TFDLGFORMAPAGO.DataSource1DataChange(Sender: TObject;
  Field: TField);
begin
IF  ((dmgs.CDSQ_FORMAPAGO.EOF) AND (NOT (dmgs.CDSQ_FORMAPAGO.STATE IN [DSEDIT,DSINSERT])))  THEN
try // para evitar el error de memoria bloqueada en el server.
     dmgs.CDSQ_FORMAPAGO.GetNextPacket
except
end;
end;
procedure TFDLGFORMAPAGO.DBGrid1DblClick(Sender: TObject);
begin
    bok.click;
end;

procedure TFDLGFORMAPAGO.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key = #13 then
    BEGIN
        Perform(WM_NextDLGCtl, 0, 0);
        key:=#0;
    END;
end;
procedure TFDLGFORMAPAGO.FormShow(Sender: TObject);
begin
    EDIT1.SETFOCUS;
end;

procedure TFDLGFORMAPAGO.FormCreate(Sender: TObject);
begin
 IF dmgs.CDSQ_FORMAPAGO.ACTIVE THEN
     dmgs.CDSQ_FORMAPAGO.CLOSE;
 DATASOURCE1.DataSet := dmgs.CDSQ_FORMAPAGO;
 //BOK.Enabled := false;
 CERRARDATASET:=TRUE;

 WITH dmgs.CDSQ_FORMAPAGO   DO
 BEGIN
    CLOSE;
    DMGS.FPBGRID := '%';
    OPEN;
 END;
end;

procedure TFDLGFORMAPAGO.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_FORMAPAGO.CLOSE;
end;

procedure TFDLGFORMAPAGO.Edit1Enter(Sender: TObject);
begin
   bok.Enabled:=false;
end;

procedure TFDLGFORMAPAGO.bcancelarClick(Sender: TObject);
begin
 if dmgs.CDSQ_FORMAPAGO.active then
    dmgs.CDSQ_FORMAPAGO.Close;
  modalresult:= mrCancel;
end;

end.
