221 lines
7.8 KiB
ObjectPascal
221 lines
7.8 KiB
ObjectPascal
unit uViewControGridStockEDI;
|
||
|
||
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, uViewFiltrosStock;
|
||
|
||
type
|
||
IViewControlGridStockEDI = interface(IViewGrid)
|
||
['{9342442A-28CD-4EA9-95C3-79B1B5302BCE}']
|
||
end;
|
||
|
||
TfrViewControlGridStockEDI = class(TfrViewGrid, IViewControlGridStockEDI)
|
||
dxComponentPrinterLink1: TdxGridReportLink;
|
||
cxEditRepository1: TcxEditRepository;
|
||
cxEditDia: TcxEditRepositoryTextItem;
|
||
cxEditImporte: TcxEditRepositoryCurrencyItem;
|
||
cxGridViewRecID: TcxGridDBColumn;
|
||
cxGridViewCENTRO: TcxGridDBColumn;
|
||
cxGridViewCODIGO: TcxGridDBColumn;
|
||
cxGridViewPRODUCTO: TcxGridDBColumn;
|
||
cxGridViewTIPO_PRODUCTO: TcxGridDBColumn;
|
||
cxGridViewGRUPO_PRODUCTO: TcxGridDBColumn;
|
||
cxGridViewCOLECCION: TcxGridDBColumn;
|
||
cxGridViewCOLOR: TcxGridDBColumn;
|
||
cxGridViewE38: TcxGridDBColumn;
|
||
cxGridViewE40: TcxGridDBColumn;
|
||
cxGridViewE42: TcxGridDBColumn;
|
||
cxGridViewE44: TcxGridDBColumn;
|
||
cxGridViewE46: TcxGridDBColumn;
|
||
cxGridViewE48: TcxGridDBColumn;
|
||
cxGridViewTE: TcxGridDBColumn;
|
||
cxGridViewS38: TcxGridDBColumn;
|
||
cxGridViewS40: TcxGridDBColumn;
|
||
cxGridViewS42: TcxGridDBColumn;
|
||
cxGridViewS44: TcxGridDBColumn;
|
||
cxGridViewS46: TcxGridDBColumn;
|
||
cxGridViewS48: TcxGridDBColumn;
|
||
cxGridViewTS: TcxGridDBColumn;
|
||
cxGridViewK38: TcxGridDBColumn;
|
||
cxGridViewK40: TcxGridDBColumn;
|
||
cxGridViewK42: TcxGridDBColumn;
|
||
cxGridViewK44: TcxGridDBColumn;
|
||
cxGridViewK46: TcxGridDBColumn;
|
||
cxGridViewK48: TcxGridDBColumn;
|
||
cxGridViewKT: TcxGridDBColumn;
|
||
frViewFiltrosStock1: TfrViewFiltrosStock;
|
||
cxStyleEntrada: TcxStyle;
|
||
cxStyleSalida: TcxStyle;
|
||
cxStyleRepositoryInforme: TcxStyleRepository;
|
||
cxStyleContentInforme: TcxStyle;
|
||
cxStyleFooterInforme: TcxStyle;
|
||
cxStyleGroupInforme: TcxStyle;
|
||
cxStyleHeaderInforme: TcxStyle;
|
||
cxStyleSelectionInforme: TcxStyle;
|
||
cxStyleTotales: TcxStyle;
|
||
procedure cxGridViewKTCustomDrawCell(Sender: TcxCustomGridTableView;
|
||
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
|
||
var ADone: Boolean);
|
||
procedure cxGridViewStylesGetContentStyle(
|
||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
procedure cxGridViewE38GetDataText(Sender: TcxCustomGridTableItem;
|
||
ARecordIndex: Integer; var AText: String);
|
||
procedure cxGridViewTEStylesGetContentStyle(
|
||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
procedure frViewFiltrosStock1cbColeccionPropertiesEditValueChanged(Sender: TObject);
|
||
procedure frViewFiltrosStock1ccbCentroChange(Sender: TObject);
|
||
protected
|
||
FNivelFiltrado : TcxFilterCriteriaItemList;
|
||
procedure FilterChanged(Sender: TObject); override;
|
||
public
|
||
procedure Preview; override;
|
||
procedure Print; override;
|
||
constructor Create(AOwner: TComponent); override;
|
||
procedure ShowEmbedded(const AParent : TWinControl); override;
|
||
procedure Refresh; override;
|
||
end;
|
||
|
||
implementation
|
||
{$R *.dfm}
|
||
|
||
uses uViewGridBase;
|
||
|
||
{ TfrViewControlGridResumenVentas }
|
||
|
||
procedure TfrViewControlGridStockEDI.Preview;
|
||
begin
|
||
inherited;
|
||
dxComponentPrinterLink1.ReportTitle.Text := 'Control de stock de colecci<63>n ' + frViewFiltrosStock1.cbColeccion.Text + ' en centro(s) ' + frViewFiltrosStock1.ccbCentro.Text;
|
||
dxComponentPrinterLink1.Preview;
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.Print;
|
||
begin
|
||
inherited;
|
||
dxComponentPrinterLink1.ReportTitle.Text := 'Control de stock de colecci<63>n ' + frViewFiltrosStock1.cbColeccion.Text + ' en centro(s) ' + frViewFiltrosStock1.ccbCentro.Text;
|
||
dxComponentPrinterLink1.Print(True, Nil);
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.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 TfrViewControlGridStockEDI.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
frViewFiltrosStock1.FocusedView := cxGridView;
|
||
frViewFiltrosStock1.ColeccionColumnIndex := cxGridViewCOLECCION.Index;
|
||
frViewFiltrosStock1.CentroColumnIndex := cxGridViewCENTRO.Index;
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.ShowEmbedded(
|
||
const AParent: TWinControl);
|
||
begin
|
||
inherited;
|
||
frViewFiltrosStock1.Refresh;
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.cxGridViewStylesGetContentStyle(
|
||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
begin
|
||
inherited;
|
||
//
|
||
if Assigned(AItem) then
|
||
if (AItem.Index = cxGridViewTE.Index) or
|
||
(AItem.Index = cxGridViewTS.Index) or
|
||
(AItem.Index = cxGridViewKT.Index) then
|
||
AStyle := cxStyleTotales;
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.cxGridViewE38GetDataText(
|
||
Sender: TcxCustomGridTableItem; ARecordIndex: Integer;
|
||
var AText: String);
|
||
begin
|
||
inherited;
|
||
if AText = '0' then
|
||
AText := '';
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.cxGridViewTEStylesGetContentStyle(
|
||
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
|
||
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
|
||
begin
|
||
inherited;
|
||
AStyle := cxStyleTotales;
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.Refresh;
|
||
begin
|
||
inherited;
|
||
frViewFiltrosStock1.Refresh;
|
||
end;
|
||
|
||
|
||
procedure TfrViewControlGridStockEDI.frViewFiltrosStock1cbColeccionPropertiesEditValueChanged(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FreeAndNil(FNivelFiltrado);
|
||
FilterChanged(self);
|
||
end;
|
||
|
||
procedure TfrViewControlGridStockEDI.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 TfrViewControlGridStockEDI.frViewFiltrosStock1ccbCentroChange(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FreeAndNil(FNivelFiltrado);
|
||
FilterChanged(self);
|
||
end;
|
||
|
||
end.
|
||
|