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/uViewDetallesSinAlbaran.pas
2008-06-16 18:26:13 +00:00

242 lines
7.6 KiB
ObjectPascal

unit uViewDetallesSinAlbaran;
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
IViewDetalleSinAlbaran = interface(IViewGrid)
['{4417F53A-5BB1-4B99-8760-4C0E1D449582}']
function GetDetalles: IBizDetalleSinAlbaran;
procedure SetDetalles(const Value: IBizDetalleSinAlbaran);
property Detalles: IBizDetalleSinAlbaran read GetDetalles write SetDetalles;
// function GetAlmacenes: IBizAlmacen;
// procedure SetAlmacenes(const Value: IBizAlmacen);
// property Almacenes: IBizAlmacen read GetAlmacenes write SetAlmacenes;
end;
TfrViewDetallesSinAlbaran = class(TfrViewGrid, IViewDetalleSinAlbaran)
cxGridDBTableView1: TcxGridDBTableView;
PngImageList: TPngImageList;
cxStyleArticuloSinStock: TcxStyle;
cxGridViewRecID: TcxGridDBColumn;
cxGridViewREFERENCIA_PEDIDO: TcxGridDBColumn;
cxGridViewFECHA_PEDIDO: TcxGridDBColumn;
cxGridViewFECHA_PREVISTA_PEDIDO: TcxGridDBColumn;
cxGridViewID_CLIENTE: TcxGridDBColumn;
cxGridViewCLIENTE: TcxGridDBColumn;
cxGridViewID_ARTICULO: TcxGridDBColumn;
cxGridViewFAMILIA: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn;
cxGridViewDESCRIPCION: TcxGridDBColumn;
cxGridViewCANTIDAD_PEDIDA: TcxGridDBColumn;
cxGridViewCANTIDAD_RESERVADA: TcxGridDBColumn;
cxGridViewCANTIDAD_ENVIADA: TcxGridDBColumn;
cxGridViewCANTIDAD_SERVIDA: TcxGridDBColumn;
cxGridViewCANTIDAD_PENDIENTE: TcxGridDBColumn;
TBXItem2: TTBXItem;
TBXItem3: TTBXItem;
actClientes: TAction;
actPedidos: TAction;
TBXSeparatorItem1: TTBXSeparatorItem;
TBXSeparatorItem2: TTBXSeparatorItem;
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out
AStyle: TcxStyle);
procedure actClientesExecute(Sender: TObject);
procedure actClientesUpdate(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: IBizDetalleSinAlbaran;
function GetDetalles: IBizDetalleSinAlbaran;
procedure SetDetalles(const Value: IBizDetalleSinAlbaran);
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 TfrViewDetallesSinAlbaran.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 TfrViewDetallesSinAlbaran.actClientesExecute(Sender: TObject);
begin
if (cxGridViewCLIENTE.GroupIndex < 0) then
begin
cxGridViewCLIENTE.GroupIndex := cxGridView.GroupedColumnCount;
cxGridViewCLIENTE.Visible := False;
end
else
begin
cxGridViewCLIENTE.GroupIndex := -1;
cxGridViewCLIENTE.Visible := True;
end;
end;
procedure TfrViewDetallesSinAlbaran.actClientesUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewCLIENTE.GroupIndex < 0);
end;
procedure TfrViewDetallesSinAlbaran.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 TfrViewDetallesSinAlbaran.actPedidosUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewREFERENCIA_PEDIDO.GroupIndex < 0);
end;
procedure TfrViewDetallesSinAlbaran.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 TfrViewDetallesSinAlbaran.Create(AOwner: TComponent);
begin
inherited;
// FAlmacenesController := TAlmacenesController.Create;
// Almacenes := FAlmacenesController.BuscarTodos;
end;
procedure TfrViewDetallesSinAlbaran.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 TfrViewDetallesSinAlbaran.Destroy;
begin
// FAlmacenesController := Nil;
// FAlmacenes := Nil;
FDetalles := Nil;
inherited;
end;
{function TfrViewDetallesSinAlbaran.GetAlmacenes: IBizAlmacen;
begin
Result := FAlmacenes;
end;
}
function TfrViewDetallesSinAlbaran.GetDetalles: IBizDetalleSinAlbaran;
begin
Result := FDetalles;
end;
{
procedure TfrViewDetallesSinAlbaran.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 TfrViewDetallesSinAlbaran.SetDetalles(const Value: IBizDetalleSinAlbaran);
begin
FDetalles := Value;
if Assigned(FDetalles) then
dsDataSource.DataTable := FDetalles.DataTable
else
dsDataSource.DataTable := Nil;
end;
end.