Varela_PuntosVenta/Source/Modulos/Stock/Cliente/uViewControGridStockPrendasCentros.pas
2008-05-06 17:55:55 +00:00

226 lines
7.3 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, Grids, DBGrids, uDAInterfaces, TBXDkPanels,
uViewParametrosCentro, uViewParametrosColeccion, TB2Dock, uBizStock,
uViewParametrosFecha;
type
IViewControlGridStockPrendasCentros = interface(IViewGrid)
['{E6251B25-10FE-4D0C-94CD-0E554F88B54D}']
function GetItems: IBizStockPrendasCentros;
procedure SetItems(const Value: IBizStockPrendasCentros);
property Items: IBizStockPrendasCentros read GetItems write SetItems;
end;
TfrViewControlGridStockPrendasCentros = class(TfrViewGrid, IViewControlGridStockPrendasCentros)
dxComponentPrinterLink1: TdxGridReportLink;
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;
TBXDockablePanel1: TTBXDockablePanel;
frViewParametrosColeccion1: TfrViewParametrosColeccion;
pnlAgrupaciones: TTBXAlignmentPanel;
TBXButton3: TTBXButton;
TBXLabel1: TTBXLabel;
frViewParametrosFecha1: TfrViewParametrosFecha;
cxGridView36: 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);
protected
FItems : IBizStockPrendasCentros;
function GetFocusedView : TcxGridDBTableView; override;
function GetItems: IBizStockPrendasCentros;
procedure SetItems(const Value: IBizStockPrendasCentros);
public
property Items: IBizStockPrendasCentros read GetItems write SetItems;
procedure Preview; override;
procedure Print; override;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Refresh;
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;
destructor TfrViewControlGridStockPrendasCentros.Destroy;
begin
FItems := Nil;
inherited;
end;
constructor TfrViewControlGridStockPrendasCentros.Create(AOwner: TComponent);
begin
inherited;
FItems := Nil;
frViewParametrosColeccion1.Refresh;
end;
function TfrViewControlGridStockPrendasCentros.GetFocusedView: TcxGridDBTableView;
begin
Result := cxGridView;
end;
function TfrViewControlGridStockPrendasCentros.GetItems: IBizStockPrendasCentros;
begin
Result := FItems;
end;
procedure TfrViewControlGridStockPrendasCentros.SetItems(const Value: IBizStockPrendasCentros);
begin
FItems := Value;
if Assigned(FItems) then
dsDataSource.DataTable := FItems.DataTable;
end;
procedure TfrViewControlGridStockPrendasCentros.cxGridViewCOLUMN7StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
begin
inherited;
AStyle := cxStyleTotales;
end;
procedure TfrViewControlGridStockPrendasCentros.Refresh;
var
AFecha : Variant;
AColeccionesList : TStringList;
ACentrosList : TStringList;
AWhereColeccion : String;
AWhereCentro : String;
AWhereFecha : String;
AWhere : String;
i : integer;
begin
AColeccionesList := Nil;
if Assigned(FItems) then
Items.DataTable.Active := False;
AColeccionesList := frViewParametrosColeccion1.ColeccionesSeleccionadas;
AFecha := frViewParametrosFecha1.Fecha;
ShowHourglassCursor;
try
if Assigned(AColeccionesList) then
begin
AWhereColeccion := '';
if AColeccionesList.Count = 0 then
begin
ShowMessage('Debe seleccionar al menos una colecci<63>n en los par<61>metros de la consulta.');
Exit;
end
else begin
AWhereColeccion := AWhereColeccion + ' COLECCION in (';
for i := 0 to AColeccionesList.Count - 1 do
begin
if i > 0 then
AWhereColeccion := AWhereColeccion + ', ';
AWhereColeccion := AWhereColeccion + '''' + AColeccionesList[i] + '''';
end;
AWhereColeccion := AWhereColeccion + ')';
end;
end;
AWhereFecha := '';
if not VarIsNull(AFecha) then
AWhereFecha := '(FECHA >= ''' + VarToStr(AFecha) + ''')';
AWhere := '';
if AWhereColeccion <> '' then
AWhere := AWhere + AWhereColeccion;
if AWhereFecha <> '' then
begin
if AWhere <> '' then
AWhere := AWhere + ' AND ';
AWhere := AWhere + AWhereFecha;
end;
Items.DataTable.Where.Clear;
Items.DataTable.Where.AddText(AWhere, False);
Items.DataTable.Active := True;
finally
HideHourglassCursor;
FreeAndNIL(AColeccionesList);
end;
end;
procedure TfrViewControlGridStockPrendasCentros.cxGridView38GetDataText(
Sender: TcxCustomGridTableItem; ARecordIndex: Integer;
var AText: String);
begin
inherited;
if AText = '0' then
AText := '';
end;
end.