This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Modulos/Facturas de cliente2/Views/uViewFacturasCliente.pas
2007-06-11 15:35:41 +00:00

193 lines
6.3 KiB
ObjectPascal

unit uViewFacturasCliente;
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, uBizFacturasCliente, cxGridCustomPopupMenu,
cxGridPopupMenu, cxCalendar, cxCurrencyEdit;
type
IViewFacturasCliente = interface(IViewGrid)
['{927A005F-5D71-4C37-B9E7-10292F9D467C}']
function GetFacturas: IBizFacturaCliente;
procedure SetFacturas(const Value: IBizFacturaCliente);
property Facturas: IBizFacturaCliente read GetFacturas write SetFacturas;
end;
TfrViewFacturasCliente = class(TfrViewGrid, IViewFacturasCliente)
PngImageList: TPngImageList;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewICONO: TcxGridDBColumn;
cxGridViewFECHA_FACTURA: TcxGridDBColumn;
cxGridViewVENCIMIENTO: TcxGridDBColumn;
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewBASE_IMPONIBLE: TcxGridDBColumn;
cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn;
cxGridViewDESCUENTO: TcxGridDBColumn;
cxGridViewIMPORTE_IVA: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
cxGridViewIVA: TcxGridDBColumn;
cxGridViewNIF_CIF: TcxGridDBColumn;
cxGridViewCALLE: TcxGridDBColumn;
cxGridViewPROVINCIA: TcxGridDBColumn;
cxGridViewCODIGO_POSTAL: TcxGridDBColumn;
cxGridViewPOBLACION: TcxGridDBColumn;
cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn;
cxStylePagada: TcxStyle;
cxGridPendientes: TcxGridLevel;
cxGridPagadas: TcxGridLevel;
cxStyleAbono: TcxStyle;
cxGridViewID: TcxGridDBColumn;
procedure cxGridViewFECHA_VENCIMIENTOGetDataText(
Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: string);
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;
FFacturas: IBizFacturaCliente;
function GetFacturas: IBizFacturaCliente;
procedure SetFacturas(const Value: IBizFacturaCliente);
procedure FilterChanged(Sender : TObject); override;
public
property Facturas: IBizFacturaCliente read GetFacturas write SetFacturas;
end;
implementation
uses
uDataModuleFacturasCliente, DateUtils;
{$R *.dfm}
{ TfrViewFacturasCliente }
procedure TfrViewFacturasCliente.cxGridActiveTabChanged(Sender: TcxCustomGrid;
ALevel: TcxGridLevel);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(Self);
end;
procedure TfrViewFacturasCliente.cxGridViewFECHA_VENCIMIENTOGetDataText(
Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: string);
var
AFecha : TDateTime;
ADias : Integer;
AValue : Variant;
begin
inherited;
{ with cxGridView.ViewData.Records[ARecordIndex] do
begin
AValue := Values[cxGridViewFECHA_FACTURA.Index];
if VarType(AValue) = varDate then
begin
AFecha := VarToDateTime(AValue);
AValue := Values[cxGridViewVENCIMIENTO.Index];
if VarType(AValue) = varInteger then
begin
ADias := AValue;
AText := DateToStr(IncDay(AFecha, ADias));
end;
end;
end;}
end;
procedure TfrViewFacturasCliente.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 TfrViewFacturasCliente.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 TfrViewFacturasCliente.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, SITUACION_PENDIENTE, SITUACION_PENDIENTE);
2 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PAGADO, SITUACION_PAGADO);
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 TfrViewFacturasCliente.GetFacturas: IBizFacturaCliente;
begin
Result := FFacturas;
end;
procedure TfrViewFacturasCliente.SetFacturas(const Value: IBizFacturaCliente);
begin
FFacturas := Value;
if Assigned(FFacturas) then
dsDataSource.DataTable := FFacturas.DataTable;
end;
end.