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.
Noviseda_FactuGES2/Source/Modulos/Historico de movimientos/Views/uViewHistoricoMovimientos.pas
2009-12-16 17:16:54 +00:00

184 lines
6.0 KiB
ObjectPascal

unit uViewHistoricoMovimientos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, frxClass, frxPreview, cxStyles,
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB,
cxDBData, ActnList, uDADataTable, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, StdCtrls, ExtCtrls, cxLabel, dxPSGlbl, dxPSUtl,
dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, cxImage,
cxImageComboBox, ImgList, PngImageList, cxTextEdit, Grids, DBGrids, cxDBLookupComboBox,
cxButtonEdit, cxGridCustomPopupMenu, cxGridPopupMenu, uViewGrid,
uBizHistoricoMovimientos, uBizAlmacenes, cxSpinEdit, uViewFiltroBase, TB2Item, TBX,
TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, cxCurrencyEdit, uDAInterfaces;
type
IViewHistoricoMovimientos = interface(IViewGrid)
['{1E8F901C-F013-42E0-88B7-0D9DA2919A01}']
function GetHistoricoMovimientos: IBizHistoricoMovimientos;
procedure SetHistoricoMovimientos(const Value: IBizHistoricoMovimientos);
property HistoricoMovimientos: IBizHistoricoMovimientos read GetHistoricoMovimientos write SetHistoricoMovimientos;
function GetAlmacenes: IBizAlmacen;
procedure SetAlmacenes(const Value: IBizAlmacen);
property Almacenes: IBizAlmacen read GetAlmacenes write SetAlmacenes;
end;
TfrViewHistoricoMovimientos = class(TfrViewGrid, IViewHistoricoMovimientos)
cxGridDBTableView1: TcxGridDBTableView;
cxStyleEntrada: TcxStyle;
cxGridViewDESCRIPCION: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewFAMILIA: TcxGridDBColumn;
cxGridViewNOMBRE_ALMACEN: TcxGridDBColumn;
cxGridViewID_ALMACEN: TcxGridDBColumn;
cxGridViewFECHA: TcxGridDBColumn;
cxGridViewCANTIDAD: TcxGridDBColumn;
cxGridViewUNIDAD_MEDIDA: TcxGridDBColumn;
cxGridViewCAUSA: TcxGridDBColumn;
cxStyleSalida: TcxStyle;
cxGridViewFABRICANTE: TcxGridDBColumn;
cxGridViewREFERENCIA_FABR: TcxGridDBColumn;
cxGridViewTIPO_MOVIMIENTO: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out
AStyle: TcxStyle);
private
//Filtros relativos a la vista
procedure AnadirFiltroAlmacenes;
protected
FAlmacenes: IBizAlmacen;
FHistoricoMovimientos: IBizHistoricoMovimientos;
function GetAlmacenes: IBizAlmacen;
procedure SetAlmacenes(const Value: IBizAlmacen);
function GetHistoricoMovimientos: IBizHistoricoMovimientos;
procedure SetHistoricoMovimientos(const Value: IBizHistoricoMovimientos);
public
property HistoricoMovimientos: IBizHistoricoMovimientos read GetHistoricoMovimientos write SetHistoricoMovimientos;
procedure AnadirOtrosFiltros; override;
destructor Destroy; override;
end;
implementation
{$R *.dfm}
uses uDataModuleHistoricoMovimientos, schHistoricoMovimientosClient_Intf;
procedure TfrViewHistoricoMovimientos.AnadirFiltroAlmacenes;
var
FFiltro : TcxFilterCriteriaItemList;
CodigoAlmacen: String;
begin
{
FFiltro := AddFilterGrid(fboAnd);
CodigoAlmacen := IntToStr(cxGrid.Levels.Items[cxGrid.ActiveLevel.Index].Tag);
if CodigoAlmacen <> '-1' then
begin
FFiltro.AddItem(cxGridViewID_ALMACEN, foEqual, CodigoAlmacen, CodigoAlmacen);
cxGridViewNOMBRE_ALMACEN.Visible := False;
end
else
cxGridViewNOMBRE_ALMACEN.Visible := True;
}
end;
procedure TfrViewHistoricoMovimientos.AnadirOtrosFiltros;
begin
inherited;
AnadirFiltroAlmacenes;
//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 TfrViewHistoricoMovimientos.cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
begin
// inherited;
// RefrescarFiltro;
end;
procedure TfrViewHistoricoMovimientos.cxGridViewStylesGetContentStyle(Sender:
TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem:
TcxCustomGridTableItem; out AStyle: TcxStyle);
var
IndiceCol: Integer;
ACantidad: Variant;
begin
{
inherited;
if Assigned(ARecord) then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_HistoricoMovimientosCANTIDAD).Index;
ACantidad := ARecord.DisplayTexts[IndiceCol];
if (ACantidad < 0) then
AStyle.TextColor := cxStyleSalida.TextColor
else
AStyle.TextColor := cxStyleEntrada.TextColor;
end;
}
end;
destructor TfrViewHistoricoMovimientos.Destroy;
begin
FAlmacenes := Nil;
FHistoricoMovimientos := Nil;
inherited;
end;
function TfrViewHistoricoMovimientos.GetAlmacenes: IBizAlmacen;
begin
Result := FAlmacenes;
end;
function TfrViewHistoricoMovimientos.GetHistoricoMovimientos: IBizHistoricoMovimientos;
begin
Result := FHistoricoMovimientos;
end;
procedure TfrViewHistoricoMovimientos.SetAlmacenes(const Value: IBizAlmacen);
var
Nivel: TcxGridLevel;
begin
FAlmacenes := Value;
{
if Assigned(FAlmacenes) then
begin
if not FAlmacenes.DataTable.Active then
FAlmacenes.DataTable.Active := True;
FAlmacenes.First;
while not FAlmacenes.EOF do
begin
Nivel := cxGrid.Levels.Add;
Nivel.Caption := FAlmacenes.NOMBRE;
Nivel.Tag := FAlmacenes.ID;
FAlmacenes.Next;
end;
end;
}
end;
procedure TfrViewHistoricoMovimientos.SetHistoricoMovimientos(const Value: IBizHistoricoMovimientos);
begin
FHistoricoMovimientos := Value;
if Assigned(FHistoricoMovimientos) then
dsDataSource.DataTable := FHistoricoMovimientos.DataTable
else
dsDataSource.DataTable := Nil;
end;
end.