2007-08-01 16:16:26 +00:00
unit uViewControGridStockEDIInventario;
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,
2007-09-18 17:11:41 +00:00
cxEditRepositoryItems, uDataModuleStock, uDAInterfaces, TBXDkPanels,
uViewParametrosCentro, uCustomView, uViewBase, uViewParametrosControlGrid,
uViewParametrosColeccion, TB2Dock, uBizStock;
2007-08-01 16:16:26 +00:00
type
IViewControlGridStockEDIInventario = interface( IViewGrid)
[ '{38BB8BB9-E15D-4D49-970E-14418C4EB1E4}' ]
2007-09-18 17:11:41 +00:00
function GetItems: IBizStockEDIInventario;
procedure SetItems( const Value: IBizStockEDIInventario) ;
property Items: IBizStockEDIInventario read GetItems write SetItems;
2007-08-01 16:16:26 +00:00
end ;
TfrViewControlGridStockEDIInventario = class( TfrViewGrid, IViewControlGridStockEDIInventario)
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;
cxGridViewI38: TcxGridDBColumn;
cxGridViewI40: TcxGridDBColumn;
cxGridViewI42: TcxGridDBColumn;
cxGridViewI44: TcxGridDBColumn;
cxGridViewI46: TcxGridDBColumn;
cxGridViewI48: TcxGridDBColumn;
cxGridViewTI: TcxGridDBColumn;
cxGridViewK38: TcxGridDBColumn;
cxGridViewK40: TcxGridDBColumn;
cxGridViewK42: TcxGridDBColumn;
cxGridViewK44: TcxGridDBColumn;
cxGridViewK46: TcxGridDBColumn;
cxGridViewK48: TcxGridDBColumn;
cxGridViewTK: TcxGridDBColumn;
cxGridViewD38: TcxGridDBColumn;
cxGridViewD40: TcxGridDBColumn;
cxGridViewD42: TcxGridDBColumn;
cxGridViewD44: TcxGridDBColumn;
cxGridViewD46: TcxGridDBColumn;
cxGridViewD48: TcxGridDBColumn;
cxGridViewDT: TcxGridDBColumn;
cxStyleEntrada: TcxStyle;
cxStyleSalida: TcxStyle;
cxStyleRepositoryInforme: TcxStyleRepository;
cxStyleContentInforme: TcxStyle;
cxStyleFooterInforme: TcxStyle;
cxStyleGroupInforme: TcxStyle;
cxStyleHeaderInforme: TcxStyle;
cxStyleSelectionInforme: TcxStyle;
cxStyleTotales: TcxStyle;
2007-09-18 17:11:41 +00:00
TBXDockablePanel1: TTBXDockablePanel;
frViewParametrosColeccion1: TfrViewParametrosColeccion;
frViewParametrosCentro1: TfrViewParametrosCentro;
pnlAgrupaciones: TTBXAlignmentPanel;
TBXButton3: TTBXButton;
TBXLabel1: TTBXLabel;
2007-08-01 16:16:26 +00:00
procedure cxGridViewDTCustomDrawCell( Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean ) ;
procedure cxGridViewStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle) ;
procedure cxGridViewI38GetDataText( Sender: TcxCustomGridTableItem;
ARecordIndex: Integer ; var AText: String ) ;
procedure cxGridViewTEStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle) ;
protected
2007-09-18 17:11:41 +00:00
FItems : IBizStockEDIInventario;
function GetItems: IBizStockEDIInventario;
procedure SetItems( const Value: IBizStockEDIInventario) ;
2007-08-01 16:16:26 +00:00
public
2007-09-18 17:11:41 +00:00
property Items: IBizStockEDIInventario read GetItems write SetItems;
2007-08-01 16:16:26 +00:00
procedure Preview; override ;
procedure Print; override ;
constructor Create( AOwner: TComponent) ; override ;
2007-09-18 17:11:41 +00:00
destructor Destroy; override ;
procedure Refresh;
2007-08-01 16:16:26 +00:00
end ;
implementation
{$R *.dfm}
uses
uViewGridBase;
{ TfrViewControlGridResumenVentas }
procedure TfrViewControlGridStockEDIInventario. Preview;
begin
inherited ;
2007-09-21 17:56:46 +00:00
dxComponentPrinterLink1. ReportTitle. Text : = 'Diferencias con <20> ltimo inventario de colecci<63> n ' + frViewParametrosColeccion1. ccbColeccion. Text + ' en centro(s) ' + frViewParametrosCentro1. ccbCentro. Text ;
2007-08-01 16:16:26 +00:00
dxComponentPrinterLink1. Preview;
end ;
procedure TfrViewControlGridStockEDIInventario. Print;
begin
inherited ;
2007-09-21 17:56:46 +00:00
dxComponentPrinterLink1. ReportTitle. Text : = 'Diferencias con <20> ltimo inventario de colecci<63> n ' + frViewParametrosColeccion1. ccbColeccion. Text + ' en centro(s) ' + frViewParametrosCentro1. ccbCentro. Text ;
2007-08-01 16:16:26 +00:00
dxComponentPrinterLink1. Print( True , Nil ) ;
end ;
procedure TfrViewControlGridStockEDIInventario. cxGridViewDTCustomDrawCell( 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 TfrViewControlGridStockEDIInventario. Create( AOwner: TComponent) ;
begin
inherited ;
2007-09-18 17:11:41 +00:00
FItems : = Nil ;
frViewParametrosColeccion1. Refresh;
frViewParametrosCentro1. Refresh;
2007-08-01 16:16:26 +00:00
end ;
2007-09-18 17:11:41 +00:00
procedure TfrViewControlGridStockEDIInventario. SetItems( const Value: IBizStockEDIInventario) ;
2007-08-01 16:16:26 +00:00
begin
2007-09-18 17:11:41 +00:00
FItems : = Value;
if Assigned( FItems) then
dsDataSource. DataTable : = FItems. DataTable;
2007-08-01 16:16:26 +00:00
end ;
procedure TfrViewControlGridStockEDIInventario. cxGridViewStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle) ;
begin
inherited ;
//
if Assigned( AItem) then
if ( AItem. Index = cxGridViewTI. Index ) or
( AItem. Index = cxGridViewTK. Index ) or
( AItem. Index = cxGridViewDT. Index ) then
AStyle : = cxStyleTotales;
end ;
procedure TfrViewControlGridStockEDIInventario. cxGridViewI38GetDataText(
Sender: TcxCustomGridTableItem; ARecordIndex: Integer ;
var AText: String ) ;
begin
inherited ;
if AText = '0' then
AText : = '' ;
end ;
procedure TfrViewControlGridStockEDIInventario. cxGridViewTEStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle) ;
begin
inherited ;
AStyle : = cxStyleTotales;
end ;
2007-09-18 17:11:41 +00:00
destructor TfrViewControlGridStockEDIInventario. Destroy;
2007-08-01 16:16:26 +00:00
begin
2007-09-18 17:11:41 +00:00
FItems : = Nil ;
2007-08-01 16:16:26 +00:00
inherited ;
end ;
2007-09-18 17:11:41 +00:00
procedure TfrViewControlGridStockEDIInventario. Refresh;
2007-08-01 16:16:26 +00:00
var
2007-09-18 17:11:41 +00:00
AColeccionesList : TStringList;
ACentrosList : TStringList;
AWhereColeccion : String ;
AWhereCentro : String ;
AWhere : String ;
i : integer ;
2007-08-01 16:16:26 +00:00
begin
2007-09-18 17:11:41 +00:00
AColeccionesList : = Nil ;
ACentrosList : = Nil ;
if Assigned( FItems) then
Items. DataTable. Active : = False ;
AColeccionesList : = frViewParametrosColeccion1. ColeccionesSeleccionadas;
2007-09-21 17:56:46 +00:00
ACentrosList : = frViewParametrosCentro1. CodigoCentrosSeleccionados;
2007-08-01 16:16:26 +00:00
ShowHourglassCursor;
try
2007-09-18 17:11:41 +00:00
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 ;
2007-08-01 16:16:26 +00:00
2007-09-18 17:11:41 +00:00
if Assigned( ACentrosList) then
begin
AWhereCentro : = '' ;
if ACentrosList. Count = 0 then
begin
ShowMessage( 'Debe seleccionar al menos un centro en los par<61> metros de la consulta.' ) ;
Exit;
end
else begin
AWhereCentro : = AWhereCentro + ' CENTRO in (' ;
for i : = 0 to ACentrosList. Count - 1 do
begin
if i > 0 then
AWhereCentro : = AWhereCentro + ', ' ;
AWhereCentro : = AWhereCentro + '' '' + ACentrosList[ i] + '' '' ;
end ;
AWhereCentro : = AWhereCentro + ')' ;
end ;
end ;
2007-08-01 16:16:26 +00:00
2007-09-18 17:11:41 +00:00
AWhere : = '' ;
if AWhereColeccion < > '' then
AWhere : = AWhere + AWhereColeccion;
if AWhereCentro < > '' then
2007-08-01 16:16:26 +00:00
begin
2007-09-18 17:11:41 +00:00
if AWhere < > '' then
AWhere : = AWhere + ' AND ' ;
AWhere : = AWhere + AWhereCentro;
2007-08-01 16:16:26 +00:00
end ;
2007-09-18 17:11:41 +00:00
Items. DataTable. Where. Clear;
2007-09-24 18:08:48 +00:00
Items. DataTable. Where. AddText( AWhere, False ) ;
2007-09-18 17:11:41 +00:00
Items. DataTable. Active : = True ;
2007-08-01 16:16:26 +00:00
finally
HideHourglassCursor;
2007-09-18 17:11:41 +00:00
FreeAndNIL( AColeccionesList) ;
FreeAndNIL( ACentrosList) ;
2007-08-01 16:16:26 +00:00
end ;
end ;
2007-09-18 17:11:41 +00:00
function TfrViewControlGridStockEDIInventario. GetItems: IBizStockEDIInventario;
2007-08-01 16:16:26 +00:00
begin
2007-09-18 17:11:41 +00:00
Result : = FItems;
2007-08-01 16:16:26 +00:00
end ;
end .