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

221 lines
7.8 KiB
ObjectPascal
Raw Blame History

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.