git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@2 93f398dd-4eb6-7a46-baf6-13f46f578da2
194 lines
6.1 KiB
ObjectPascal
194 lines
6.1 KiB
ObjectPascal
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.
|