Tecsitel_FactuGES2/Source/Modulos/Recibos de cliente/Views/uViewRecibosCliCompensados.pas

194 lines
6.1 KiB
ObjectPascal
Raw Normal View History

unit uViewRecibosCliCompensados;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, ImgList, PngImageList,
uDADataTable, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, cxImageComboBox, cxCurrencyEdit, uDataModuleRecibosCliente,
uBizRecibosCliente, uRecibosClienteController, Grids, DBGrids, cxSpinEdit,
dxLayoutControl, uDAInterfaces;
type
IViewRecibosCompensados = interface
['{C683669A-002A-432D-BC20-3FA50BEA8721}']
function GetReciboCliente: IBizRecibosCliente;
procedure SetReciboCliente(const Value: IBizRecibosCliente);
property ReciboCliente: IBizRecibosCliente read GetReciboCliente write SetReciboCliente;
function GetController : IRecibosClienteController;
procedure SetController (const Value : IRecibosClienteController);
property Controller : IRecibosClienteController read GetController write SetController;
end;
TfrViewRecibosCliCompensados = class(TfrViewDetallesGenerico, IViewRecibosCompensados)
actExpandir: TAction;
actContraer: TAction;
ToolButton3: TToolButton;
ToolButton8: TToolButton;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
cxGridViewID_RECIBO_COMPENSADO: TcxGridDBColumn;
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewFECHA_EMISION: TcxGridDBColumn;
cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn;
cxGridViewNIF_CIF_CLIENTE: TcxGridDBColumn;
cxGridViewNOMBRE_CLIENTE: TcxGridDBColumn;
cxGridViewIMPORTE: TcxGridDBColumn;
cxGridViewOTROS_GASTOS: TcxGridDBColumn;
cxGridViewRecId: TcxGridDBColumn;
procedure actExpandirExecute(Sender: TObject);
procedure actContraerExecute(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actExpandirUpdate(Sender: TObject);
procedure actContraerUpdate(Sender: TObject);
procedure actAnadirUpdate(Sender: TObject);
protected
FHayCambios : Boolean;
FReciboCliente : IBizRecibosCliente;
FController : IRecibosClienteController;
procedure AnadirInterno; override;
procedure EliminarInterno; override;
function GetReciboCliente: IBizRecibosCliente;
procedure SetReciboCliente(const Value: IBizRecibosCliente);
function GetModified: Boolean; override;
procedure SetModified(const Value: Boolean); override;
function GetController : IRecibosClienteController;
procedure SetController (const Value : IRecibosClienteController);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property ReciboCliente: IBizRecibosCliente read GetReciboCliente write SetReciboCliente;
property Controller : IRecibosClienteController read GetController write SetController;
end;
implementation
{$R *.dfm}
uses
uCustomView;
{ TfrViewFacturasReciboCliente }
procedure TfrViewRecibosCliCompensados.actAnadirUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (ReciboCliente.SITUACION <> CTE_COBRADO);
end;
procedure TfrViewRecibosCliCompensados.actContraerExecute(Sender: TObject);
begin
inherited;
cxGridView.ViewData.Collapse(True);
end;
procedure TfrViewRecibosCliCompensados.actContraerUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos;
end;
procedure TfrViewRecibosCliCompensados.actEliminarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := ((cxGridView.Controller.SelectedRowCount > 0)
and (cxGridView.Controller.SelectedRows[0].HasCells)
and (ReciboCliente.SITUACION <> CTE_COBRADO));
end;
procedure TfrViewRecibosCliCompensados.actExpandirExecute(Sender: TObject);
begin
inherited;
cxGridView.ViewData.Expand(True);
end;
procedure TfrViewRecibosCliCompensados.actExpandirUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos;
end;
procedure TfrViewRecibosCliCompensados.AnadirInterno;
begin
//inherited; // No hacer el comportamiento normal
if FController.ElegirRecibosCompensados(ReciboCliente) then
Modified := True;
end;
constructor TfrViewRecibosCliCompensados.Create(AOwner: TComponent);
begin
inherited;
FHayCambios := False;
end;
procedure TfrViewRecibosCliCompensados.CustomViewShow(Sender: TObject);
begin
inherited;
cxGridView.OptionsSelection.MultiSelect := False;
end;
destructor TfrViewRecibosCliCompensados.Destroy;
begin
inherited;
end;
procedure TfrViewRecibosCliCompensados.EliminarInterno;
begin
if cxGridView.Controller.SelectedRowCount > 0 then
if cxGridView.Controller.SelectedRows[0].HasCells then
// ViewGrid._FocusedView.Controller.SelectedRecordCount
FController.QuitarReciboCompensado(ReciboCliente);
Modified := True;
end;
function TfrViewRecibosCliCompensados.GetController: IRecibosClienteController;
begin
Result := FController;
end;
function TfrViewRecibosCliCompensados.GetModified: Boolean;
begin
Result := FHayCambios or inherited GetModified;
end;
function TfrViewRecibosCliCompensados.GetReciboCliente: IBizRecibosCliente;
begin
Result := FReciboCliente;
end;
procedure TfrViewRecibosCliCompensados.SetController(
const Value: IRecibosClienteController);
begin
FController := Value;
end;
procedure TfrViewRecibosCliCompensados.SetModified(const Value: Boolean);
begin
FHayCambios := Value;
inherited;
end;
procedure TfrViewRecibosCliCompensados.SetReciboCliente(const Value: IBizRecibosCliente);
begin
FReciboCliente := Value;
FHayCambios := False;
if Assigned(FReciboCliente) then
dsDetalles.DataTable := FReciboCliente.RecibosCompensados.DataTable
else
dsDetalles.DataTable := NIL;
actAnchoAutomatico.Execute;
end;
end.