git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/tags/1.7.0@18 c93665c3-c93d-084d-9b98-7d5f4a9c3376
174 lines
5.8 KiB
ObjectPascal
174 lines
5.8 KiB
ObjectPascal
unit uViewRecibosCliente;
|
|
|
|
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, dxPScxGridLnk, ActnList, uDADataTable,
|
|
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid,
|
|
cxImage, Grids, DBGrids, uBizRecibosCliente, cxGridCustomPopupMenu,
|
|
cxGridPopupMenu, cxCalendar, cxCurrencyEdit;
|
|
|
|
type
|
|
IViewRecibosCliente = interface(IViewGrid)
|
|
['{27D0229A-6340-4F03-B97A-7776E9166F2F}']
|
|
function GetRecibos: IBizRecibosCliente;
|
|
procedure SetRecibos(const Value: IBizRecibosCliente);
|
|
property Recibos: IBizRecibosCliente read GetRecibos write SetRecibos;
|
|
end;
|
|
|
|
TfrViewRecibosCliente = class(TfrViewGrid, IViewRecibosCliente)
|
|
PngImageList: TPngImageList;
|
|
cxStylePagada: TcxStyle;
|
|
cxGridPendientes: TcxGridLevel;
|
|
cxGridPagados: TcxGridLevel;
|
|
cxStyleAbono: TcxStyle;
|
|
cxGridViewRecID: TcxGridDBColumn;
|
|
cxGridViewID: TcxGridDBColumn;
|
|
cxGridViewREFERENCIA: TcxGridDBColumn;
|
|
cxGridViewSITUACION: TcxGridDBColumn;
|
|
cxGridViewID_FACTURA: TcxGridDBColumn;
|
|
cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn;
|
|
cxGridViewDESCRIPCION: TcxGridDBColumn;
|
|
cxGridViewOBSERVACIONES: TcxGridDBColumn;
|
|
cxGridViewIMPORTE: TcxGridDBColumn;
|
|
cxGridViewFECHA_FACTURA: TcxGridDBColumn;
|
|
cxGridViewFORMA_PAGO_FACTURA: TcxGridDBColumn;
|
|
cxGridViewIMPORTE_FACTURA: TcxGridDBColumn;
|
|
cxGridViewNOMBRE_CLIENTE: TcxGridDBColumn;
|
|
cxGridViewNIF_CIF_CLIENTE: TcxGridDBColumn;
|
|
cxGridViewENTIDAD_CLIENTE: TcxGridDBColumn;
|
|
cxGridViewSUCURSAL_CLIENTE: TcxGridDBColumn;
|
|
cxGridViewDC_CLIENTE: TcxGridDBColumn;
|
|
cxGridViewCUENTA_CLIENTE: TcxGridDBColumn;
|
|
cxGridViewID_EMPRESA: TcxGridDBColumn;
|
|
cxGridViewFECHA_ALTA: TcxGridDBColumn;
|
|
cxGridViewFECHA_MODIFICACION: TcxGridDBColumn;
|
|
cxGridViewUSUARIO: TcxGridDBColumn;
|
|
cxGridViewID_REMESA: TcxGridDBColumn;
|
|
cxGridViewREFERENCIA_REMESA: TcxGridDBColumn;
|
|
cxGridDevueltos: TcxGridLevel;
|
|
procedure cxGridViewICONOCustomDrawCell(Sender: TcxCustomGridTableView;
|
|
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
|
|
var ADone: Boolean);
|
|
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
|
|
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
|
|
out AStyle: TcxStyle);
|
|
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
|
|
protected
|
|
FNivelFiltrado : TcxFilterCriteriaItemList;
|
|
FRecibos: IBizRecibosCliente;
|
|
function GetRecibos: IBizRecibosCliente;
|
|
procedure SetRecibos(const Value: IBizRecibosCliente);
|
|
procedure FilterChanged(Sender : TObject); override;
|
|
public
|
|
property Recibos: IBizRecibosCliente read GetRecibos write SetRecibos;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
uses
|
|
uDataModuleRecibosCliente, DateUtils;
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfrViewRecibosCliente }
|
|
|
|
procedure TfrViewRecibosCliente.cxGridActiveTabChanged(Sender: TcxCustomGrid;
|
|
ALevel: TcxGridLevel);
|
|
begin
|
|
inherited;
|
|
FreeAndNil(FNivelFiltrado);
|
|
FilterChanged(Self);
|
|
end;
|
|
|
|
procedure TfrViewRecibosCliente.cxGridViewICONOCustomDrawCell(
|
|
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
|
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
|
var
|
|
R : TRect;
|
|
begin
|
|
inherited;
|
|
{
|
|
R := AViewInfo.ContentBounds;
|
|
ACanvas.FillRect(R);
|
|
if (Pos('-', AViewInfo.GridRecord.DisplayTexts[cxGridViewIMPORTE_TOTAL.Index]) > 0) then
|
|
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 3)
|
|
else
|
|
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 2);
|
|
ADone := True;
|
|
}
|
|
end;
|
|
|
|
procedure TfrViewRecibosCliente.cxGridViewStylesGetContentStyle(
|
|
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
|
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
|
var
|
|
IndiceCol: Integer;
|
|
ASituacion: string;
|
|
begin
|
|
inherited;
|
|
{
|
|
if Assigned(ARecord) then
|
|
begin
|
|
IndiceCol := cxGridViewSITUACION.Index;
|
|
ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
|
|
if ASituacion = SITUACION_PAGADO then
|
|
AStyle := cxStylePagada;
|
|
|
|
IndiceCol := cxGridViewIMPORTE_TOTAL.Index;
|
|
if (Pos('-', ARecord.DisplayTexts[IndiceCol]) > 0) then
|
|
AStyle := cxStyleAbono;
|
|
|
|
end;
|
|
}
|
|
end;
|
|
|
|
procedure TfrViewRecibosCliente.FilterChanged(Sender: TObject);
|
|
var
|
|
AItemList: TcxFilterCriteriaItemList;
|
|
AItemList2: TcxFilterCriteriaItemList;
|
|
begin
|
|
inherited;
|
|
|
|
cxGridView.DataController.Filter.BeginUpdate;
|
|
|
|
AItemList := cxGridView.DataController.Filter.Root;
|
|
AItemList2 := AItemList.AddItemList(fboAnd);
|
|
FNivelFiltrado := AItemList2;
|
|
|
|
case cxGrid.ActiveLevel.Index of
|
|
1 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, CTE_PENDIENTE, CTE_PENDIENTE);
|
|
2 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, CTE_COBRADO, CTE_COBRADO);
|
|
3 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, CTE_DEVUELTO, CTE_DEVUELTO);
|
|
end;
|
|
AItemList := AItemList2;
|
|
|
|
if cxGridView.DataController.Filter.IsEmpty
|
|
then cxGridView.DataController.Filter.Active := False
|
|
else cxGridView.DataController.Filter.Active := True;
|
|
|
|
cxGridView.DataController.Filter.EndUpdate;
|
|
cxGrid.ActiveLevel.GridView := cxGridView;
|
|
end;
|
|
|
|
function TfrViewRecibosCliente.GetRecibos: IBizRecibosCliente;
|
|
begin
|
|
Result := FRecibos;
|
|
end;
|
|
|
|
procedure TfrViewRecibosCliente.SetRecibos(const Value: IBizRecibosCliente);
|
|
begin
|
|
FRecibos := Value;
|
|
if Assigned(FRecibos) then
|
|
dsDataSource.DataTable := FRecibos.DataTable;
|
|
end;
|
|
|
|
end.
|