Varela_PuntosVenta/Source/Modulos/VentasTerminadas/Cliente/uViewControGridResumenVentas.pas

145 lines
4.9 KiB
ObjectPascal
Raw Normal View History

unit uViewControGridResumenVentas;
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, uDAInterfaces;
type
IViewControlGridResumenVentas = interface(IViewGrid)
['{E6D7FF0F-7E64-4E8C-8844-CAC011A62CDE}']
end;
TfrViewControlGridResumenVentas = class(TfrViewGrid, IViewControlGridResumenVentas)
dxComponentPrinterLink1: TdxGridReportLink;
cxEditRepository1: TcxEditRepository;
cxEditDia: TcxEditRepositoryTextItem;
cxEditImporte: TcxEditRepositoryCurrencyItem;
cxStyleDia: TcxStyle;
cxStyleTotal: TcxStyle;
cxStyleImporte: TcxStyle;
procedure cxGridViewCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure dsDataSourceStateChange(Sender: TObject);
private
procedure LimpiarGrid;
procedure GenerarGrid;
public
procedure Preview(Mes: String; Ano: String); overload;
procedure Print(Mes: String; Ano: String); overload;
end;
implementation
{$R *.dfm}
uses schVentasTerminadasClient_Intf, uViewGridBase;
{ TfrViewControlGridResumenVentas }
procedure TfrViewControlGridResumenVentas.Preview(Mes: String; Ano: String);
begin
inherited Preview;
dxComponentPrinterLink1.ReportTitle.Text := 'Ventas terminadas ' + Mes + ' de ' + Ano;
dxComponentPrinterLink1.Preview;
end;
procedure TfrViewControlGridResumenVentas.cxGridViewCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if not VarIsNull(AViewInfo.Value) then
if Pos('-', AViewInfo.Value) > 0 then
ACanvas.Canvas.Font.Color := $000000CC;
end;
procedure TfrViewControlGridResumenVentas.dsDataSourceStateChange(Sender: TObject);
begin
if dsDataSource.State = dsInactive then
LimpiarGrid
else
GenerarGrid;
end;
procedure TfrViewControlGridResumenVentas.GenerarGrid;
var
i, AuxPos, AuxLen: Integer;
begin
cxGridView.BeginUpdate;
try
cxGridView.DataController.CreateAllItems;
for i := 0 to cxGridView.ColumnCount - 1 do
begin
case i of
0: cxGridView.Columns[i].Visible := False;
1: begin
cxGridView.Columns[i].Styles.Content := cxStyleDia;
cxGridView.Columns[i].Properties := cxEditDia.Properties;
cxGridView.Columns[i].HeaderAlignmentHorz := taRightJustify;
cxGridView.Columns[i].FooterAlignmentHorz := taRightJustify;
cxGridView.Columns[i].Width := 30;
cxGridView.Columns[i].SortIndex := 0;
cxGridView.Columns[i].SortOrder := soAscending;
end;
else begin
cxGridView.Columns[i].Styles.Content := cxStyleImporte;
cxGridView.Columns[i].PropertiesClassName := 'TcxCurrencyEditProperties';
cxGridView.Columns[i].Properties := cxEditImporte.Properties;
cxGridView.Columns[i].Summary.FooterKind := skSum;
cxGridView.Columns[i].Summary.FooterFormat := ',0.## <20>;-,0.## <20>';
cxGridView.Columns[i].HeaderAlignmentHorz := taRightJustify;
cxGridView.Columns[i].FooterAlignmentHorz := taRightJustify;
cxGridView.Columns[i].Width := 175;
end;
end;
if i = 2 then
begin
cxGridView.Columns[i].HeaderAlignmentHorz := taLeftJustify;
cxGridView.Columns[i].Styles.Content := cxStyleTotal;
end;
//Dejamos de la descripci<63>n del centro lo m<>s corta y representativa posible
AuxPos := Pos('INGLES', cxGridView.Columns[i].Caption);
if AuxPos > 0 then AuxPos := AuxPos + 6;
AuxLen := Length(cxGridView.Columns[i].Caption) - AuxPos;
cxGridView.Columns[i].Caption := Trim(Copy(cxGridView.Columns[i].Caption, AuxPos, AuxLen));
end;
finally
cxGridView.EndUpdate;
end;
end;
procedure TfrViewControlGridResumenVentas.LimpiarGrid;
begin
cxGridView.BeginUpdate;
try
cxGridView.ClearItems;
finally
cxGridView.EndUpdate;
end;
end;
procedure TfrViewControlGridResumenVentas.Print(Mes, Ano: String);
begin
inherited Print;
dxComponentPrinterLink1.ReportTitle.Text := 'Ventas terminadas ' + Mes + ' de ' + Ano;
dxComponentPrinterLink1.Print(True, Nil);
end;
end.