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

188 lines
6.5 KiB
ObjectPascal
Raw Blame History

unit uViewControGridStockVARELA;
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;
type
IViewControlGridStockVARELA = interface(IViewGrid)
['{19831B1A-1D3B-4352-A848-52B00BFEF4EF}']
end;
TfrViewControlGridStockVARELA = class(TfrViewGrid, IViewControlGridStockVARELA)
dxComponentPrinterLink1: TdxGridReportLink;
cxGridViewRecID: TcxGridDBColumn;
cxGridViewFILIAL: TcxGridDBColumn;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewCOLOR: TcxGridDBColumn;
cxGridViewPRODUCTO: TcxGridDBColumn;
cxGridViewTIPO_PRODUTO: TcxGridDBColumn;
cxGridViewGRUPO_PRODUTO: TcxGridDBColumn;
cxGridViewCOLECCION: 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 cxGridViewK38GetDataText(Sender: TcxCustomGridTableItem;
ARecordIndex: Integer; var AText: String);
procedure cxGridViewKTStylesGetContentStyle(
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;
function GetFocusedView : TcxGridDBTableView; override;
public
procedure ShowEmbedded(const AParent : TWinControl); override;
procedure Preview; override;
procedure Print; override;
constructor Create(AOwner: TComponent); override;
end;
implementation
{$R *.dfm}
uses uViewGridBase;
{ TfrViewControlGridResumenVentas }
procedure TfrViewControlGridStockVARELA.Preview;
begin
inherited;
dxComponentPrinterLink1.ReportTitle.Text := 'Control de stock en almac<61>n';
dxComponentPrinterLink1.Preview;
end;
procedure TfrViewControlGridStockVARELA.Print;
begin
inherited;
dxComponentPrinterLink1.ReportTitle.Text := 'Control de stock en almac<61>n';
dxComponentPrinterLink1.Print(True, Nil);
end;
procedure TfrViewControlGridStockVARELA.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 TfrViewControlGridStockVARELA.Create(AOwner: TComponent);
begin
inherited;
frViewFiltrosStock1.FocusedView := cxGridView;
frViewFiltrosStock1.CentroColumnIndex := cxGridViewFILIAL.Index;
frViewFiltrosStock1.ColeccionColumnIndex := cxGridViewCOLECCION.Index;
end;
function TfrViewControlGridStockVARELA.GetFocusedView: TcxGridDBTableView;
begin
Result := cxGridView;
end;
procedure TfrViewControlGridStockVARELA.ShowEmbedded(
const AParent: TWinControl);
begin
inherited;
frViewFiltrosStock1.Refresh;
end;
procedure TfrViewControlGridStockVARELA.cxGridViewK38GetDataText(
Sender: TcxCustomGridTableItem; ARecordIndex: Integer;
var AText: String);
begin
inherited;
ShowMessage(AText);
if AText = '0' then
AText := '';
end;
procedure TfrViewControlGridStockVARELA.cxGridViewKTStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
begin
inherited;
AStyle := cxStyleTotales;
end;
procedure TfrViewControlGridStockVARELA.frViewFiltrosStock1cbColeccionPropertiesEditValueChanged(Sender: TObject);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
end;
procedure TfrViewControlGridStockVARELA.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 TfrViewControlGridStockVARELA.frViewFiltrosStock1ccbCentroChange(
Sender: TObject);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
end;
end.