git-svn-id: https://192.168.0.254/svn/Proyectos.Noviseda_FactuGES2/trunk@124 f33bb606-9f5c-448d-9c99-757f00063c96
182 lines
5.7 KiB
ObjectPascal
182 lines
5.7 KiB
ObjectPascal
unit uViewComisiones;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uViewGrid, uViewPreview, cxStyles, cxCustomData, cxGraphics,
|
|
cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl,
|
|
dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider,
|
|
dxPSFillPatterns, dxPSEdgePatterns, cxImageComboBox, cxTextEdit, ImgList,
|
|
PngImageList, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
|
dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, ActnList, uDADataTable,
|
|
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid,
|
|
cxImage, Grids, DBGrids, uBizComisiones, cxGridCustomPopupMenu,
|
|
cxGridPopupMenu, cxCalendar, cxCurrencyEdit, uViewFiltroBase, TB2Item, SpTBXItem,
|
|
TB2Toolbar, SpTBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces, uCustomView,
|
|
uViewBase, cxLookAndFeels, cxLookAndFeelPainters, dxPSPDFExportCore,
|
|
dxPSPDFExport, cxDrawTextUtils, dxPSPrVwStd, dxPSPrVwAdv,
|
|
dxPScxEditorProducers, dxPScxExtEditorProducers, dxPScxPageControlProducer;
|
|
|
|
type
|
|
IViewComisiones = interface(IViewGrid)
|
|
['{65A80949-4DE4-4620-8218-87439AAFABE1}']
|
|
function GetComisiones: IBizComision;
|
|
procedure SetComisiones(const Value: IBizComision);
|
|
property Comisiones: IBizComision read GetComisiones write SetComisiones;
|
|
end;
|
|
|
|
TfrViewComisiones = class(TfrViewGrid, IViewComisiones)
|
|
PngImageList: TPngImageList;
|
|
cxGridViewDESCRIPCION: TcxGridDBColumn;
|
|
cxGridViewREFERENCIA: TcxGridDBColumn;
|
|
cxGridViewFECHA: TcxGridDBColumn;
|
|
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
|
|
cxGridViewID_AGENTE: TcxGridDBColumn;
|
|
cxStylePagada: TcxStyle;
|
|
cxStyleAbono: TcxStyle;
|
|
cxStylePendientes: TcxStyle;
|
|
cxStyleParciales: TcxStyle;
|
|
actCliente: TAction;
|
|
actProvincia: TAction;
|
|
TBXItem2: TSpTBXItem;
|
|
TBXSeparatorItem1: TSpTBXSeparatorItem;
|
|
TBXItem3: TSpTBXItem;
|
|
TBXSeparatorItem2: TSpTBXSeparatorItem;
|
|
cxGridViewAGENTE: TcxGridDBColumn;
|
|
procedure actClienteExecute(Sender: TObject);
|
|
procedure actProvinciaExecute(Sender: TObject);
|
|
procedure actProvinciaUpdate(Sender: TObject);
|
|
procedure actClienteUpdate(Sender: TObject);
|
|
procedure cxGridViewDataControllerCompare(
|
|
ADataController: TcxCustomDataController; ARecordIndex1, ARecordIndex2,
|
|
AItemIndex: Integer; const V1, V2: Variant; var Compare: Integer);
|
|
|
|
private
|
|
//Filtros relativos a la vista
|
|
procedure AnadirFiltroFechas;
|
|
|
|
protected
|
|
FComisiones: IBizComision;
|
|
function GetComisiones: IBizComision;
|
|
procedure SetComisiones(const Value: IBizComision);
|
|
|
|
public
|
|
procedure AnadirOtrosFiltros; override;
|
|
property Comisiones: IBizComision read GetComisiones write SetComisiones;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
uses
|
|
uDataModuleComisiones, DateUtils, uViewGridBase, uReferenciasUtils,
|
|
cxVariants;
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfrViewComisiones }
|
|
|
|
procedure TfrViewComisiones.actClienteExecute(Sender: TObject);
|
|
begin
|
|
{
|
|
if (cxGridViewNOMBRE.GroupIndex < 0) then
|
|
begin
|
|
cxGridViewNOMBRE.GroupIndex := cxGridView.GroupedColumnCount;
|
|
cxGridViewNOMBRE.Visible := False;
|
|
end
|
|
else
|
|
begin
|
|
cxGridViewNOMBRE.GroupIndex := -1;
|
|
cxGridViewNOMBRE.Visible := True;
|
|
end;
|
|
}
|
|
end;
|
|
|
|
procedure TfrViewComisiones.actClienteUpdate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
// (Sender as TAction).Checked := not (cxGridViewNOMBRE.GroupIndex < 0);
|
|
end;
|
|
|
|
procedure TfrViewComisiones.actProvinciaExecute(Sender: TObject);
|
|
begin
|
|
{
|
|
if (cxGridViewPROVINCIA.GroupIndex < 0) then
|
|
begin
|
|
cxGridViewPROVINCIA.GroupIndex := cxGridView.GroupedColumnCount;
|
|
cxGridViewPROVINCIA.Visible := False;
|
|
end
|
|
else
|
|
begin
|
|
cxGridViewPROVINCIA.GroupIndex := -1;
|
|
cxGridViewPROVINCIA.Visible := True;
|
|
end;
|
|
}
|
|
end;
|
|
|
|
procedure TfrViewComisiones.actProvinciaUpdate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
// (Sender as TAction).Checked := not (cxGridViewPROVINCIA.GroupIndex < 0);
|
|
end;
|
|
|
|
procedure TfrViewComisiones.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');
|
|
FFiltro.AddItem(Columna, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2));
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewComisiones.AnadirOtrosFiltros;
|
|
begin
|
|
inherited;
|
|
|
|
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 TfrViewComisiones.cxGridViewDataControllerCompare(
|
|
ADataController: TcxCustomDataController; ARecordIndex1, ARecordIndex2,
|
|
AItemIndex: Integer; const V1, V2: Variant; var Compare: Integer);
|
|
begin
|
|
inherited;
|
|
if (AItemIndex = cxGridViewREFERENCIA.Index) and
|
|
(VarType(V1) = VarType(V2)) and (VarType(V1) = varString) then
|
|
Compare := CompararReferencias(V1, V2)
|
|
else
|
|
Compare := VarCompare(V1, V2);
|
|
end;
|
|
|
|
function TfrViewComisiones.GetComisiones: IBizComision;
|
|
begin
|
|
Result := FComisiones;
|
|
end;
|
|
|
|
procedure TfrViewComisiones.SetComisiones(const Value: IBizComision);
|
|
begin
|
|
FComisiones := Value;
|
|
if Assigned(FComisiones) then
|
|
dsDataSource.DataTable := FComisiones.DataTable;
|
|
end;
|
|
|
|
end.
|