git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@248 c93665c3-c93d-084d-9b98-7d5f4a9c3376
240 lines
7.5 KiB
ObjectPascal
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.
|