git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@40 93f398dd-4eb6-7a46-baf6-13f46f578da2
115 lines
3.0 KiB
ObjectPascal
115 lines
3.0 KiB
ObjectPascal
unit uViewFiltroClientes;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uViewBase, cxControls, cxContainer, cxEdit, cxTextEdit, cxDBEdit,
|
|
StdCtrls, Buttons, TBXDkPanels, uViewParametrosInforme, uBizContactos,
|
|
uClientesController, uIViewFiltroClientes;
|
|
|
|
type
|
|
|
|
|
|
TfrViewFiltroClientes = class(TfrViewParametrosInforme, IViewFiltroClientes)
|
|
TBXLabel2: TTBXLabel;
|
|
rbTodosClientes: TRadioButton;
|
|
rbUnCliente: TRadioButton;
|
|
cbxDesglosado: TCheckBox;
|
|
bElegirCliente: TBitBtn;
|
|
edtCliente: TcxTextEdit;
|
|
procedure rbTodosClientesClick(Sender: TObject);
|
|
procedure rbUnClienteClick(Sender: TObject);
|
|
procedure CustomViewCreate(Sender: TObject);
|
|
procedure bElegirClienteClick(Sender: TObject);
|
|
procedure CustomViewDestroy(Sender: TObject);
|
|
private
|
|
FCliente : IBizCliente;
|
|
FClientesController : IClientesController;
|
|
function getIdCliente: Integer;
|
|
procedure setIdCliente(const IdCliente:Integer);
|
|
public
|
|
property IdCliente : Integer read getIdCliente write setIdCliente;
|
|
property Cliente : IBizCliente read FCliente;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TfrViewFiltroClientes.bElegirClienteClick(Sender: TObject);
|
|
var
|
|
AClientes : IBizCliente;
|
|
begin
|
|
inherited;
|
|
AClientes := IBizCliente(FClientesController.BuscarTodos);
|
|
try
|
|
FCliente := IBizCliente(FClientesController.ElegirContacto(AClientes, '', False));
|
|
if Assigned(FCliente) then
|
|
begin
|
|
FCliente.Open;
|
|
edtCliente.Text := FCliente.NOMBRE;
|
|
end;
|
|
finally
|
|
AClientes := NIL;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewFiltroClientes.CustomViewCreate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
FCliente := NIL;
|
|
FClientesController := NIL;
|
|
end;
|
|
|
|
procedure TfrViewFiltroClientes.CustomViewDestroy(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
FCliente := NIL;
|
|
FClientesController := NIL;
|
|
end;
|
|
|
|
function TfrViewFiltroClientes.getIdCliente: Integer;
|
|
begin
|
|
Result := FCliente.ID;
|
|
end;
|
|
|
|
procedure TfrViewFiltroClientes.rbTodosClientesClick(Sender: TObject);
|
|
begin
|
|
if rbTodosClientes.Checked then
|
|
begin
|
|
cbxDesglosado.Enabled := True;
|
|
FCliente := NIL;
|
|
bElegirCliente.Enabled := False;
|
|
edtCliente.Clear;
|
|
edtCliente.Enabled := False;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewFiltroClientes.rbUnClienteClick(Sender: TObject);
|
|
begin
|
|
if rbUnCliente.Checked then
|
|
begin
|
|
cbxDesglosado.Enabled := False;
|
|
bElegirCliente.Enabled := True;
|
|
edtCliente.Enabled := True;
|
|
if not Assigned(FClientesController) then
|
|
FClientesController := TClientesController.Create;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewFiltroClientes.setIdCliente(const IdCliente: Integer);
|
|
begin
|
|
if not Assigned(FClientesController) then
|
|
FClientesController := TClientesController.Create;
|
|
|
|
FCliente := IBizCliente(FClientesController.Buscar(IdCliente));
|
|
if Assigned(FCliente) then
|
|
begin
|
|
FCliente.Open;
|
|
edtCliente.Text := FCliente.NOMBRE;
|
|
end;
|
|
end;
|
|
|
|
end.
|