{ =============================================================================== 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.