git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES2/trunk@6 40301925-124e-1c4e-b97d-170ad7a8785b
133 lines
4.5 KiB
ObjectPascal
133 lines
4.5 KiB
ObjectPascal
unit uViewContratosClienteBeneficios;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
|
|
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
|
dxPSEdgePatterns, ImgList, PngImageList, ActnList, cxGridCustomPopupMenu,
|
|
cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, uDAInterfaces,
|
|
uDADataTable, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uCustomView,
|
|
uViewBase, uViewFiltroBase, cxGridLevel, cxGridCustomTableView,
|
|
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
|
|
cxGrid, uBizContratosCliente, cxCalendar, cxCurrencyEdit;
|
|
|
|
type
|
|
TfrViewContratosClienteBeneficios = class(TfrViewGrid)
|
|
cxGridViewID: TcxGridDBColumn;
|
|
cxGridViewREFERENCIA: TcxGridDBColumn;
|
|
cxGridViewFECHA_CONTRATO: TcxGridDBColumn;
|
|
cxGridViewNOMBRE: TcxGridDBColumn;
|
|
cxGridViewNIF_CIF: TcxGridDBColumn;
|
|
cxGridViewIMPORTE_NETO: TcxGridDBColumn;
|
|
cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn;
|
|
cxGridViewBASE_IMPONIBLE: TcxGridDBColumn;
|
|
cxGridViewIMPORTE_FACTURAS_PROVEEDOR: TcxGridDBColumn;
|
|
cxGridViewIMPORTE_BENEFICIO: TcxGridDBColumn;
|
|
cxGridViewPORCENTAJE_BENEFICIO: TcxGridDBColumn;
|
|
cxGridPendientes: TcxGridLevel;
|
|
cxGridTerminados: TcxGridLevel;
|
|
cxGridViewSITUACION: TcxGridDBColumn;
|
|
cxGridViewVENDEDOR: TcxGridDBColumn;
|
|
cxGridViewREF_CONTENIDO: TcxGridDBColumn;
|
|
procedure CustomViewDestroy(Sender: TObject);
|
|
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid;
|
|
ALevel: TcxGridLevel);
|
|
private
|
|
FContratos: IBizContratosClienteBeneficios;
|
|
function GetContratos: IBizContratosClienteBeneficios;
|
|
procedure SetContratos(const Value: IBizContratosClienteBeneficios);
|
|
|
|
//Filtros relativos a la vista
|
|
procedure AnadirFiltroSituaciones;
|
|
procedure AnadirFiltroFechas;
|
|
|
|
public
|
|
procedure AnadirOtrosFiltros; override;
|
|
property Contratos: IBizContratosClienteBeneficios read GetContratos write SetContratos;
|
|
end;
|
|
|
|
var
|
|
frViewContratosClienteBeneficios: TfrViewContratosClienteBeneficios;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfrViewContratosClienteBeneficios }
|
|
|
|
procedure TfrViewContratosClienteBeneficios.AnadirFiltroFechas;
|
|
var
|
|
Columna: TcxGridDBColumn;
|
|
Fecha1, Fecha2: Variant;
|
|
FFiltro : TcxFilterCriteriaItemList;
|
|
begin
|
|
Fecha1 := frViewFiltroBase1.edtFechaIniFiltro.EditValue;
|
|
Fecha2 := frViewFiltroBase1.edtFechaFinFiltro.EditValue;
|
|
|
|
if not VarIsNull(Fecha1)
|
|
and not VarIsNull(Fecha2) then
|
|
begin
|
|
cxGridView.DataController.Filter.Options := [fcoCaseInsensitive, fcoSoftCompare];
|
|
FFiltro := AddFilterGrid(fboAnd);
|
|
|
|
Columna := (cxGridView as TcxGridDBTableView).GetColumnByFieldName('FECHA_CONTRATO');
|
|
FFiltro.AddItem(Columna, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2));
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewContratosClienteBeneficios.AnadirFiltroSituaciones;
|
|
var
|
|
FFiltro : TcxFilterCriteriaItemList;
|
|
begin
|
|
FFiltro := AddFilterGrid(fboAnd);
|
|
|
|
case cxGrid.ActiveLevel.Index of
|
|
1 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_CONTRATO_PENDIENTE, SITUACION_CONTRATO_PENDIENTE);
|
|
2 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_CONTRATO_TERMINADO, SITUACION_CONTRATO_TERMINADO);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewContratosClienteBeneficios.AnadirOtrosFiltros;
|
|
begin
|
|
inherited;
|
|
|
|
AnadirFiltroSituaciones;
|
|
AnadirFiltroFechas;
|
|
|
|
//Finalmente activamos el filtro si tenemos algo
|
|
if cxGridView.DataController.Filter.IsEmpty then
|
|
cxGridView.DataController.Filter.Active := False
|
|
else
|
|
cxGridView.DataController.Filter.Active := True;
|
|
cxGrid.ActiveLevel.GridView := cxGridView;
|
|
end;
|
|
|
|
procedure TfrViewContratosClienteBeneficios.CustomViewDestroy(Sender: TObject);
|
|
begin
|
|
FContratos := NIL;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TfrViewContratosClienteBeneficios.cxGridActiveTabChanged(
|
|
Sender: TcxCustomGrid; ALevel: TcxGridLevel);
|
|
begin
|
|
inherited;
|
|
RefrescarFiltro;
|
|
end;
|
|
|
|
function TfrViewContratosClienteBeneficios.GetContratos: IBizContratosClienteBeneficios;
|
|
begin
|
|
Result := FContratos;
|
|
end;
|
|
|
|
procedure TfrViewContratosClienteBeneficios.SetContratos(const Value: IBizContratosClienteBeneficios);
|
|
begin
|
|
FContratos := Value;
|
|
dsDataSource.DataTable := FContratos.DataTable;
|
|
end;
|
|
|
|
end.
|