git-svn-id: https://192.168.0.254/svn/Proyectos.AbetoDesign_FactuGES/trunk@157 93f398dd-4eb6-7a46-baf6-13f46f578da2
181 lines
5.9 KiB
ObjectPascal
181 lines
5.9 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, 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,
|
||
uCustomView, uViewBase;
|
||
|
||
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;
|
||
PngImageList: TPngImageList;
|
||
cxStyleEntrada: TcxStyle;
|
||
cxGridViewDESCRIPCION: TcxGridDBColumn;
|
||
cxGridViewREFERENCIA: TcxGridDBColumn;
|
||
cxGridViewFAMILIA: TcxGridDBColumn;
|
||
cxGridViewNOMBRE_ALMACEN: TcxGridDBColumn;
|
||
cxGridViewID_ALMACEN: TcxGridDBColumn;
|
||
cxGridViewFECHA: TcxGridDBColumn;
|
||
cxGridViewCANTIDAD: TcxGridDBColumn;
|
||
cxGridViewREFERENCIA_PROV: TcxGridDBColumn;
|
||
cxGridViewTIPO_MOVIMIENTO: TcxGridDBColumn;
|
||
cxGridViewCAUSA: TcxGridDBColumn;
|
||
cxStyleSalida: TcxStyle;
|
||
|
||
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);
|
||
procedure AnadirOtrosFiltros; override;
|
||
|
||
public
|
||
property HistoricoMovimientos: IBizHistoricoMovimientos read GetHistoricoMovimientos write SetHistoricoMovimientos;
|
||
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 := cxStyleSalida
|
||
else
|
||
AStyle := cxStyleEntrada;
|
||
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.
|
||
|