ProGestion/Modulos/Obras final/Cliente/uViewFacturasObra.pas
2007-06-21 16:12:43 +00:00

173 lines
6.0 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2006. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión: 22-05-2006
Versión actual: 1.0.0
Fecha versión actual: 22-05-2006
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit uViewFacturasObra;
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, dxPSCore, dxPScxCommon, dxPScxGridLnk, ActnList,
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
ComCtrls, ToolWin, ExtCtrls, JvExControls, JvComponent, JvNavigationPane,
ImgList, PngImageList, Menus, uBizObraFinal, cxImageComboBox;
type
IViewFacturasObra = interface(IViewGrid)
['{36022E0B-E6B7-427E-AFFF-58595DF0BC86}']
function GetFacturas: IBizFacturasObras;
procedure SetFacturas(const Value: IBizFacturasObras);
property Facturas: IBizFacturasObras read GetFacturas write SetFacturas;
end;
TfrViewFacturasObra = class(TfrViewGrid, IViewFacturasObra)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton4: TToolButton;
actAnadir: TAction;
actModificar: TAction;
actEliminar: TAction;
cxGridViewRecID: TcxGridDBColumn;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewCLASEFACTURA: TcxGridDBColumn;
cxGridViewFECHAFACTURA: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewPAGADA: TcxGridDBColumn;
JvNavPanelHeader: TJvNavPanelHeader;
Image1: TImage;
PngImageList: TPngImageList;
cxStyleRepository: TcxStyleRepository;
cxStyleFinalizado: TcxStyle;
cxStylePendiente: TcxStyle;
MenuProyectos: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
cxGridViewFECHAVENCIMIENTO: TcxGridDBColumn;
cxGridViewNIFCIF: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewIMPORTETOTAL: TcxGridDBColumn;
cxGridViewCODIGOOBRA: TcxGridDBColumn;
ToolButton3: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
actEliminarTodo: TAction;
actDuplicar: TAction;
procedure cxGridViewPAGADACustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure actModificarUpdate(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure actEliminarTodoUpdate(Sender: TObject);
procedure actDuplicarUpdate(Sender: TObject);
protected
FFacturas : IBizFacturasObras;
function GetFacturas: IBizFacturasObras;
procedure SetFacturas(const Value: IBizFacturasObras);
public
property Facturas: IBizFacturasObras read GetFacturas write SetFacturas;
procedure setFiltro(CodigoObra: Integer);
end;
implementation
{$R *.dfm}
uses uBizFacturasCliente;
procedure TfrViewFacturasObra.actModificarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (cxGridView.DataController.RecordCount > 0);
end;
procedure TfrViewFacturasObra.actEliminarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (cxGridView.DataController.RecordCount > 0);
end;
procedure TfrViewFacturasObra.cxGridViewPAGADACustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
IndiceCol : Integer;
ClaseFactura : String;
R : TRect;
begin
ClaseFactura := '';
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName('CLASEFACTURA').Index;
if not VarIsNull(AViewInfo.GridRecord.Values[IndiceCol]) then
ClaseFactura := AViewInfo.GridRecord.Values[IndiceCol];
if (ClaseFactura = CTE_PROFORMA) then
begin
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
ADone := True;
end;
end;
function TfrViewFacturasObra.GetFacturas: IBizFacturasObras;
begin
Result := FFacturas;
end;
procedure TfrViewFacturasObra.SetFacturas(const Value: IBizFacturasObras);
begin
FFacturas := Value;
if Assigned(FFacturas) then
begin
DADataSource.DataTable := FFacturas.Datatable;
DADataSource.DataTable.Active := True;
end;
end;
procedure TfrViewFacturasObra.setFiltro(CodigoObra: Integer);
begin
cxGridView.DataController.Filter.BeginUpdate;
cxGridView.DataController.Filter.Clear;
cxGridView.DataController.Filter.Root.AddItem(cxGridViewCODIGOOBRA, foEqual, IntToStr(CodigoObra), IntToStr(CodigoObra));
cxGridView.DataController.Filter.EndUpdate;
end;
procedure TfrViewFacturasObra.actEliminarTodoUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (cxGridView.DataController.RecordCount > 0);
end;
procedure TfrViewFacturasObra.actDuplicarUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (cxGridView.DataController.RecordCount > 0);
end;
end.