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/Source/Modulos/Inventario/Views/uViewDetallesSinRecibir.pas
2008-06-16 18:26:13 +00:00

240 lines
7.5 KiB
ObjectPascal

unit uViewDetallesSinRecibir;
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,
uBizInventario, uBizAlmacenes, cxSpinEdit, uViewFiltroBase, TB2Item, TBX,
TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, cxCurrencyEdit, uAlmacenesController;
type
IViewDetalleSinRecibir = interface(IViewGrid)
['{AC8507FF-B6FB-48D3-9FEA-2380FE2F7699}']
function GetDetalles: IBizDetalleSinRecibir;
procedure SetDetalles(const Value: IBizDetalleSinRecibir);
property Detalles: IBizDetalleSinRecibir read GetDetalles write SetDetalles;
// function GetAlmacenes: IBizAlmacen;
// procedure SetAlmacenes(const Value: IBizAlmacen);
// property Almacenes: IBizAlmacen read GetAlmacenes write SetAlmacenes;
end;
TfrViewDetallesSinRecibir = class(TfrViewGrid, IViewDetalleSinRecibir)
cxGridDBTableView1: TcxGridDBTableView;
PngImageList: TPngImageList;
cxStyleArticuloSinStock: TcxStyle;
cxGridViewRecID: TcxGridDBColumn;
cxGridViewREFERENCIA_PEDIDO: TcxGridDBColumn;
cxGridViewFECHA_PEDIDO: TcxGridDBColumn;
cxGridViewFECHA_CONFIRMACION: TcxGridDBColumn;
cxGridViewID_PROVEEDOR: TcxGridDBColumn;
cxGridViewPROVEEDOR: TcxGridDBColumn;
cxGridViewID_ARTICULO: TcxGridDBColumn;
cxGridViewFAMILIA: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn;
cxGridViewDESCRIPCION: TcxGridDBColumn;
cxGridViewCANTIDAD_PEDIDA: TcxGridDBColumn;
cxGridViewCANTIDAD_RECIBIDA: TcxGridDBColumn;
cxGridViewCANTIDAD_PENDIENTE: TcxGridDBColumn;
TBXItem2: TTBXItem;
TBXItem3: TTBXItem;
actProveedores: TAction;
actPedidos: TAction;
TBXSeparatorItem1: TTBXSeparatorItem;
TBXSeparatorItem2: TTBXSeparatorItem;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out
AStyle: TcxStyle);
procedure actProveedoresExecute(Sender: TObject);
procedure actProveedoresUpdate(Sender: TObject);
procedure actPedidosExecute(Sender: TObject);
procedure actPedidosUpdate(Sender: TObject);
private
// FAlmacenesController: IAlmacenesController;
// FAlmacenes: IBizAlmacen;
// function GetAlmacenes: IBizAlmacen;
// procedure SetAlmacenes(const Value: IBizAlmacen);
//Filtros relativos a la vista
// procedure AnadirFiltroAlmacenes;
protected
FDetalles: IBizDetalleSinRecibir;
function GetDetalles: IBizDetalleSinRecibir;
procedure SetDetalles(const Value: IBizDetalleSinRecibir);
procedure AnadirOtrosFiltros; override;
public
// property Almacenes: IBizAlmacen read GetAlmacenes write SetAlmacenes;
// property DetalleReservas: IBizDetalleReservas read GetDetalleReservas write SetDetalleReservas;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
{$R *.dfm}
uses uDataModuleInventario, schInventarioClient_Intf;
{
procedure TfrViewDetallesSinRecibir.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_ALB, foEqual, CodigoAlmacen, CodigoAlmacen);
cxGridViewALMACEN_ALB.Visible := False;
end
else
cxGridViewALMACEN_ALB.Visible := True;
end;
}
procedure TfrViewDetallesSinRecibir.actProveedoresExecute(Sender: TObject);
begin
if (cxGridViewPROVEEDOR.GroupIndex < 0) then
begin
cxGridViewPROVEEDOR.GroupIndex := cxGridView.GroupedColumnCount;
cxGridViewPROVEEDOR.Visible := False;
end
else
begin
cxGridViewPROVEEDOR.GroupIndex := -1;
cxGridViewPROVEEDOR.Visible := True;
end;
end;
procedure TfrViewDetallesSinRecibir.actProveedoresUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewPROVEEDOR.GroupIndex < 0);
end;
procedure TfrViewDetallesSinRecibir.actPedidosExecute(Sender: TObject);
begin
if (cxGridViewREFERENCIA_PEDIDO.GroupIndex < 0) then
begin
cxGridViewREFERENCIA_PEDIDO.GroupIndex := cxGridView.GroupedColumnCount;
cxGridViewREFERENCIA_PEDIDO.Visible := False;
end
else
begin
cxGridViewREFERENCIA_PEDIDO.GroupIndex := -1;
cxGridViewREFERENCIA_PEDIDO.Visible := True;
end;
end;
procedure TfrViewDetallesSinRecibir.actPedidosUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewREFERENCIA_PEDIDO.GroupIndex < 0);
end;
procedure TfrViewDetallesSinRecibir.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;
constructor TfrViewDetallesSinRecibir.Create(AOwner: TComponent);
begin
inherited;
// FAlmacenesController := TAlmacenesController.Create;
// Almacenes := FAlmacenesController.BuscarTodos;
end;
procedure TfrViewDetallesSinRecibir.cxGridViewStylesGetContentStyle(Sender:
TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem:
TcxCustomGridTableItem; out AStyle: TcxStyle);
var
IndiceCol: Integer;
AStock: Variant;
begin
inherited;
{
if Assigned(ARecord) then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_DetalleReservasSTOCK).Index;
AStock := ARecord.DisplayTexts[IndiceCol];
if (AStock < 0) then
AStyle := cxStyleArticuloSinStock;
end;
}
end;
destructor TfrViewDetallesSinRecibir.Destroy;
begin
// FAlmacenesController := Nil;
// FAlmacenes := Nil;
FDetalles := Nil;
inherited;
end;
{function TfrViewDetallesSinRecibir.GetAlmacenes: IBizAlmacen;
begin
Result := FAlmacenes;
end;
}
function TfrViewDetallesSinRecibir.GetDetalles: IBizDetalleSinRecibir;
begin
Result := FDetalles;
end;
{
procedure TfrViewDetallesSinRecibir.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 TfrViewDetallesSinRecibir.SetDetalles(const Value: IBizDetalleSinRecibir);
begin
FDetalles := Value;
if Assigned(FDetalles) then
dsDataSource.DataTable := FDetalles.DataTable
else
dsDataSource.DataTable := Nil;
end;
end.