git-svn-id: https://192.168.0.254/svn/Proyectos.Acana_FactuGES/trunk@11 3f40d355-893c-4141-8e64-b1d9be72e7e7
330 lines
9.7 KiB
ObjectPascal
330 lines
9.7 KiB
ObjectPascal
{
|
|
===============================================================================
|
|
Copyright (©) 2002. Rodax Software.
|
|
===============================================================================
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
|
|
bajo el que se suministra.
|
|
-----------------------------------------------------------------------------
|
|
Web: www.rodax-software.com
|
|
===============================================================================
|
|
Fecha primera versión: 03-11-2002
|
|
Versión actual: 1.0.0
|
|
Fecha versión actual: 03-11-2002
|
|
===============================================================================
|
|
Modificaciones:
|
|
|
|
Fecha Comentarios
|
|
---------------------------------------------------------------------------
|
|
===============================================================================
|
|
}
|
|
|
|
unit Clientes;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|
Grids, DBGrids, ComCtrls, RdxBotones, ToolWin, ExtCtrls,
|
|
Menus, am2000menuitem, am2000popupmenu, am2000, Db, DBTables,
|
|
RXDBCtrl, RdxPaneles, RdxBarras, TablaClientes,
|
|
RdxDBFrame, RdxFrameClientes, RdxFrame, cxStyles, cxCustomData, cxGraphics,
|
|
cxFilter, cxData, cxEdit, cxDBData, cxGridTableView,
|
|
cxGridCustomTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
|
|
cxGridCustomView, cxGrid, Configuracion, StdCtrls, Buttons,
|
|
AdvPanel, cxContainer, cxTextEdit,
|
|
cxMaskEdit, cxDropDownEdit, cxLookupEdit, cxDBLookupEdit,
|
|
cxDBLookupComboBox, ActnList, am2000utils, cxDataStorage, cxDBEdit;
|
|
|
|
type
|
|
TfrClientes = class(TRdxFrameClientes)
|
|
dsClientes: TDataSource;
|
|
brSeleccion: TRdxBarraInferior;
|
|
bSeleccionar: TRdxBoton;
|
|
bCancelar: TRdxBoton;
|
|
BarraClientes: TRdxBarraSuperior;
|
|
bAnadir: TRdxBotonSuperior;
|
|
bModificar: TRdxBotonSuperior;
|
|
bEliminar: TRdxBotonSuperior;
|
|
bConsultar: TRdxBotonSuperior;
|
|
MenuOpciones: TPopupMenu2000;
|
|
mnuAnadir: TMenuItem2000;
|
|
mnuModificar: TMenuItem2000;
|
|
mnuEliminar: TMenuItem2000;
|
|
gridClientesDBTableView1: TcxGridDBTableView;
|
|
gridClientesLevel1: TcxGridLevel;
|
|
gridClientes: TcxGrid;
|
|
mnuConsultar: TMenuItem2000;
|
|
bSeparador1: TShape;
|
|
pnlCuerpo: TPanel;
|
|
pnlSeparador: TPanel;
|
|
Acciones: TActionList;
|
|
actAnadir: TAction;
|
|
actModificar: TAction;
|
|
actEliminar: TAction;
|
|
actConsultar: TAction;
|
|
actSeleccionar: TAction;
|
|
actCancelar: TAction;
|
|
bImprimir: TRdxBotonSuperior;
|
|
actImprimir: TAction;
|
|
imgSombra: TImage;
|
|
pnlExtra: TRdxBarraSuperior;
|
|
pnlCuerpo2: TRdxPanel;
|
|
bRefrescar: TRdxBoton;
|
|
Shape1: TShape;
|
|
RdxBotonSuperior1: TRdxBotonSuperior;
|
|
actConsultarCobros: TAction;
|
|
Panel1: TPanel;
|
|
Buscar: TcxTextEdit;
|
|
bLimpiar: TRdxBoton;
|
|
eNombre: TLabel;
|
|
RdxBotonSuperior2: TRdxBotonSuperior;
|
|
Shape2: TShape;
|
|
actEtiquetas: TAction;
|
|
procedure RdxFrameClientesShow(Sender: TObject);
|
|
procedure cxLookupComboBox1PropertiesEditValueChanged(Sender: TObject);
|
|
procedure actAnadirExecute(Sender: TObject);
|
|
procedure actModificarExecute(Sender: TObject);
|
|
procedure actEliminarExecute(Sender: TObject);
|
|
procedure actConsultarExecute(Sender: TObject);
|
|
procedure gridClientesDBTableView1DblClick(Sender: TObject);
|
|
procedure actSeleccionarExecute(Sender: TObject);
|
|
procedure actCancelarExecute(Sender: TObject);
|
|
procedure actImprimirExecute(Sender: TObject);
|
|
procedure actRefrescarDatosExecute(Sender: TObject);
|
|
procedure actConsultarCobrosExecute(Sender: TObject);
|
|
procedure Edit1Change(Sender: TObject);
|
|
procedure bLimpiarClick(Sender: TObject);
|
|
procedure actEtiquetasExecute(Sender: TObject);
|
|
private
|
|
procedure ActualizarBotones;
|
|
protected
|
|
procedure BuscarCliente; override;
|
|
procedure FreeContenido; override;
|
|
procedure SetContenido (NuevoFrame : TRdxFrame); override;
|
|
public
|
|
constructor Create (AOwner : TComponent); override;
|
|
destructor Destroy; override;
|
|
published
|
|
property TablaClientes;
|
|
property Entidad;
|
|
end;
|
|
|
|
var
|
|
frClientes: TfrClientes;
|
|
|
|
implementation
|
|
{$R *.DFM}
|
|
uses
|
|
IBCustomDataSet, BaseDatos, Entidades, Cliente, Variants, ListadoClientes, EtiquetasClientes,
|
|
ListadoPagosCliente, TablaFacturasCliente, TablaPagosCliente, Mensajes, Literales;
|
|
|
|
constructor TfrClientes.Create (AOwner : TComponent);
|
|
begin
|
|
inherited Create(AOwner);
|
|
Entidad := entCliente;
|
|
|
|
BaseDatos := dmBaseDatos.BD;
|
|
Transaccion := dmBaseDatos.Transaccion;
|
|
TablaClientes := TIBDataSet.Create(Self);
|
|
dsClientes.DataSet := TablaClientes;
|
|
|
|
with TablaClientes do
|
|
begin
|
|
//DisableControls;
|
|
Database := BaseDatos;
|
|
Transaction := Transaccion;
|
|
SelectSQL.Assign(dmTablaClientes.sqlGrid);
|
|
Prepare;
|
|
Open;
|
|
ActualizarBotones;
|
|
//EnableControls;
|
|
end;
|
|
|
|
dmTablaClientes.InicializarGridClientes(gridClientesDBTableView1);
|
|
gridClientesDBTableView1.OnDblClick := gridClientesDBTableView1DblClick;
|
|
gridClientesDBTableView1.Controller.GoToFirst;
|
|
end;
|
|
|
|
procedure TfrClientes.BuscarCliente;
|
|
var
|
|
i: Integer;
|
|
begin
|
|
with TablaClientes do
|
|
begin
|
|
DisableControls;
|
|
Close;
|
|
Open;
|
|
ActualizarBotones;
|
|
|
|
EnableControls;
|
|
if not Locate('CODIGO', CodigoCliente, []) then
|
|
gridClientesDBTableView1.Controller.GoToFirst
|
|
else
|
|
gridClientesDBTableView1.Controller.TopRowIndex := gridClientesDBTableView1.Controller.FocusedRowIndex;
|
|
end;
|
|
end;
|
|
|
|
destructor TfrClientes.Destroy;
|
|
begin
|
|
TablaClientes.Close;
|
|
TablaClientes.Unprepare;
|
|
TablaClientes.Free;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrClientes.FreeContenido;
|
|
begin
|
|
if (Contenido is TRdxFrameClientes) then
|
|
CodigoCliente := (Contenido as TRdxFrameClientes).CodigoCliente;
|
|
|
|
if (Contenido is TfrListadoPagosCliente) then
|
|
CodigoCliente := (Contenido as TfrListadoPagosCliente).CodigoCliente;
|
|
|
|
inherited FreeContenido;
|
|
//gridClientes.SetFocus;
|
|
end;
|
|
|
|
procedure TfrClientes.ActualizarBotones;
|
|
begin
|
|
if BaseDatos.IsReadOnly then
|
|
begin
|
|
actAnadir.Enabled := False;
|
|
actModificar.Enabled := False;
|
|
actEliminar.Enabled := False;
|
|
actConsultar.Enabled := True;
|
|
actImprimir.Enabled := True;
|
|
actConsultarCobros.Enabled := True;
|
|
Exit;
|
|
end;
|
|
|
|
if TablaClientes.RecordCount = 0 then
|
|
begin
|
|
actAnadir.Enabled := True;
|
|
actModificar.Enabled := False;
|
|
actEliminar.Enabled := False;
|
|
actConsultar.Enabled := False;
|
|
actImprimir.Enabled := False;
|
|
actConsultarCobros.Enabled := False;
|
|
end
|
|
else begin
|
|
actAnadir.Enabled := True;
|
|
actModificar.Enabled := True;
|
|
actEliminar.Enabled := True;
|
|
actConsultar.Enabled := True;
|
|
actImprimir.Enabled := True;
|
|
actConsultarCobros.Enabled := True;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrClientes.RdxFrameClientesShow(Sender: TObject);
|
|
begin
|
|
Buscar.SetFocus
|
|
end;
|
|
|
|
procedure TfrClientes.cxLookupComboBox1PropertiesEditValueChanged(
|
|
Sender: TObject);
|
|
begin
|
|
TablaClientes.Locate('CODIGO', (Sender as TcxLookupComboBox).EditValue, [loCaseInsensitive]);
|
|
end;
|
|
|
|
procedure TfrClientes.actAnadirExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrCliente.Create(Self);
|
|
Contenido.Modo := Anadir;
|
|
end;
|
|
|
|
procedure TfrClientes.actModificarExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrCliente.Create(Self);
|
|
Contenido.Modo := Modificar;
|
|
end;
|
|
|
|
procedure TfrClientes.actEliminarExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrCliente.Create(Self);
|
|
Contenido.Modo := Eliminar;
|
|
end;
|
|
|
|
procedure TfrClientes.actConsultarExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrCliente.Create(Self);
|
|
Contenido.Modo := Consultar;
|
|
end;
|
|
|
|
procedure TfrClientes.gridClientesDBTableView1DblClick(Sender: TObject);
|
|
begin
|
|
if Modo = Seleccionar then
|
|
actSeleccionar.Execute
|
|
else
|
|
actModificar.Execute;
|
|
end;
|
|
|
|
procedure TfrClientes.actSeleccionarExecute(Sender: TObject);
|
|
begin
|
|
CodigoCliente := TablaClientes.FieldByName('CODIGO').AsString;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrClientes.actCancelarExecute(Sender: TObject);
|
|
begin
|
|
FCodigoCliente := NULL;
|
|
CloseFrame;
|
|
end;
|
|
|
|
procedure TfrClientes.actImprimirExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrListadoClientes.Create(Self);
|
|
Contenido.Modo := Imprimir;
|
|
end;
|
|
|
|
procedure TfrClientes.actRefrescarDatosExecute(Sender: TObject);
|
|
begin
|
|
FCodigoCliente := TablaClientes.FieldByName('CODIGO').AsString;
|
|
BuscarCliente;
|
|
end;
|
|
|
|
procedure TfrClientes.actConsultarCobrosExecute(Sender: TObject);
|
|
var
|
|
lCodigo : Variant;
|
|
|
|
begin
|
|
lCodigo := TablaClientes.FieldByName('CODIGO').AsVariant;
|
|
if dmTablaFacturasCliente.ExisteFacturaConCliente(lCodigo)
|
|
or dmTablaPagosCliente.ExistePagoConCliente(lCodigo) then
|
|
begin
|
|
Contenido := TfrListadoPagosCliente.Create(Self);
|
|
Contenido.Modo := Consultar;
|
|
(Contenido as TfrListadoPagosCliente).activarFacturasCobrosCliente;
|
|
end
|
|
else
|
|
VerMensajeFmt(msgCliCliNoFacPag, [lCodigo]);
|
|
end;
|
|
|
|
procedure TfrClientes.SetContenido(NuevoFrame: TRdxFrame);
|
|
begin
|
|
inherited;
|
|
if (Contenido is TfrListadoPagosCliente) then
|
|
(Contenido as TfrListadoPagosCliente).CodigoCliente := CodigoCliente;
|
|
end;
|
|
|
|
procedure TfrClientes.Edit1Change(Sender: TObject);
|
|
begin
|
|
FiltrarGrid(gridClientes, Buscar.Text);
|
|
end;
|
|
|
|
procedure TfrClientes.bLimpiarClick(Sender: TObject);
|
|
begin
|
|
Buscar.Text := '';
|
|
end;
|
|
|
|
procedure TfrClientes.actEtiquetasExecute(Sender: TObject);
|
|
begin
|
|
Contenido := TfrEtiquetasClientes.Create(Self);
|
|
Contenido.Modo := Imprimir;
|
|
end;
|
|
|
|
end.
|