Varela_PuntosVenta/Source/Modulos/Stock/Cliente/uViewControGridStockPrendasCentros.pas

200 lines
7.1 KiB
ObjectPascal
Raw Blame History

unit uViewControGridStockPrendasCentros;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewControlGrid, DB, uDADataTable, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData,
cxTextEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid,
cxCurrencyEdit, cxCalendar, dxPSGlbl, dxPSUtl, dxPrnPg, dxBkgnd, dxWrap,
dxPrnDev, dxPSEngn, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, dxPgsDlg,
cxDropDownEdit, StdCtrls, cxSpinEdit, uViewGrid, cxMemo,
cxEditRepositoryItems, uDataModuleStock, uCustomView, uViewBase,
uViewParametrosControlGrid, uViewFiltrosStock, Grids, DBGrids;
type
IViewControlGridStockPrendasCentros = interface(IViewGrid)
['{E6251B25-10FE-4D0C-94CD-0E554F88B54D}']
end;
TfrViewControlGridStockPrendasCentros = class(TfrViewGrid, IViewControlGridStockPrendasCentros)
dxComponentPrinterLink1: TdxGridReportLink;
frViewFiltrosStock1: TfrViewFiltrosStock;
cxStyleEntrada: TcxStyle;
cxStyleSalida: TcxStyle;
cxStyleRepositoryInforme: TcxStyleRepository;
cxStyleContentInforme: TcxStyle;
cxStyleFooterInforme: TcxStyle;
cxStyleGroupInforme: TcxStyle;
cxStyleHeaderInforme: TcxStyle;
cxStyleSelectionInforme: TcxStyle;
cxStyleTotales: TcxStyle;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewPRODUCTO: TcxGridDBColumn;
cxGridViewTIPO_PRODUCTO: TcxGridDBColumn;
cxGridViewGRUPO_PRODUCTO: TcxGridDBColumn;
cxGridViewCOLECCION: TcxGridDBColumn;
cxGridViewCOLOR: TcxGridDBColumn;
cxGridView38: TcxGridDBColumn;
cxGridView40: TcxGridDBColumn;
cxGridView42: TcxGridDBColumn;
cxGridView44: TcxGridDBColumn;
cxGridView46: TcxGridDBColumn;
cxGridView48: TcxGridDBColumn;
cxGridViewTOTAL: TcxGridDBColumn;
procedure cxGridViewKTCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure cxGridViewCOLUMN7StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
procedure cxGridView38GetDataText(Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: String);
procedure frViewFiltrosStock1cbColeccionPropertiesEditValueChanged(Sender: TObject);
procedure frViewFiltrosStock1cbCentroPropertiesEditValueChanged(Sender: TObject);
procedure frViewFiltrosStock1ccbCentroChange(Sender: TObject);
protected
FNivelFiltrado : TcxFilterCriteriaItemList;
procedure FilterChanged(Sender: TObject); override;
function GetFocusedView : TcxGridDBTableView; override;
public
procedure ShowEmbedded(const AParent : TWinControl); override;
procedure Preview; override;
procedure Print; override;
constructor Create(AOwner: TComponent); override;
procedure Refresh; override;
end;
implementation
{$R *.dfm}
uses uViewGridBase;
{ TfrViewControlGridResumenVentas }
procedure TfrViewControlGridStockPrendasCentros.Preview;
begin
inherited;
dxComponentPrinterLink1.ReportTitle.Text := 'Resumen de stock por centros de colecci<63>n: ' + frViewFiltrosStock1.cbColeccion.Text;
dxComponentPrinterLink1.Preview;
end;
procedure TfrViewControlGridStockPrendasCentros.Print;
begin
inherited;
dxComponentPrinterLink1.ReportTitle.Text := 'Resumen de stock por centros de colecci<63>n: ' + frViewFiltrosStock1.cbColeccion.Text;
dxComponentPrinterLink1.Print(True, Nil);
end;
procedure TfrViewControlGridStockPrendasCentros.cxGridViewKTCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
inherited;
if not VarIsNull(AViewInfo.Value) then
if Pos('-', AViewInfo.Value) > 0 then
ACanvas.Canvas.Font.Color := $000000CC;
end;
constructor TfrViewControlGridStockPrendasCentros.Create(AOwner: TComponent);
begin
inherited;
frViewFiltrosStock1.FocusedView := cxGridView;
frViewFiltrosStock1.CentroColumnIndex := -1;
frViewFiltrosStock1.ColeccionColumnIndex := cxGridViewCOLECCION.Index;
end;
function TfrViewControlGridStockPrendasCentros.GetFocusedView: TcxGridDBTableView;
begin
Result := cxGridView;
end;
procedure TfrViewControlGridStockPrendasCentros.ShowEmbedded(
const AParent: TWinControl);
begin
inherited;
frViewFiltrosStock1.Refresh;
end;
procedure TfrViewControlGridStockPrendasCentros.cxGridViewCOLUMN7StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
begin
inherited;
AStyle := cxStyleTotales;
end;
procedure TfrViewControlGridStockPrendasCentros.Refresh;
begin
inherited;
frViewFiltrosStock1.Refresh;
end;
procedure TfrViewControlGridStockPrendasCentros.cxGridView38GetDataText(
Sender: TcxCustomGridTableItem; ARecordIndex: Integer;
var AText: String);
begin
inherited;
if AText = '0' then
AText := '';
end;
procedure TfrViewControlGridStockPrendasCentros.frViewFiltrosStock1cbColeccionPropertiesEditValueChanged(Sender: TObject);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
end;
procedure TfrViewControlGridStockPrendasCentros.frViewFiltrosStock1cbCentroPropertiesEditValueChanged(Sender: TObject);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
end;
procedure TfrViewControlGridStockPrendasCentros.FilterChanged(Sender: TObject);
var
AItemList: TcxFilterCriteriaItemList;
i : Integer;
begin
inherited;
cxGridView.DataController.Filter.BeginUpdate;
AItemList := cxGridView.DataController.Filter.Root;
FNivelFiltrado := AItemList.AddItemList(fboAnd);
if (Length(frViewFiltrosStock1.cbColeccion.Text) > 0) and (frViewFiltrosStock1.cbColeccion.Text <> 'Todos') then
FNivelFiltrado.AddItem(cxGridView.Columns[frViewFiltrosStock1.ColeccionColumnIndex], foEqual, frViewFiltrosStock1.cbColeccion.Text, frViewFiltrosStock1.cbColeccion.Text);
if (Length(frViewFiltrosStock1.ccbCentro.Text) > 0) and
(Pos('Todos', frViewFiltrosStock1.ccbCentro.Text) = 0) then
begin
FNivelFiltrado := FNivelFiltrado.AddItemList(fboOr);
for i := 0 to frViewFiltrosStock1.ccbCentro.Items.Count - 1 do
if frViewFiltrosStock1.ccbCentro.IsChecked(i) then
FNivelFiltrado.AddItem(cxGridView.Columns[frViewFiltrosStock1.CentroColumnIndex], foEqual, frViewFiltrosStock1.ccbCentro.Items[i], frViewFiltrosStock1.ccbCentro.Items[i]);
end;
if cxGridView.DataController.Filter.IsEmpty then
cxGridView.DataController.Filter.Active := False
else
cxGridView.DataController.Filter.Active := True;
cxGridView.DataController.Filter.EndUpdate;
end;
procedure TfrViewControlGridStockPrendasCentros.frViewFiltrosStock1ccbCentroChange(
Sender: TObject);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
end;
end.