156 lines
4.7 KiB
ObjectPascal
156 lines
4.7 KiB
ObjectPascal
unit uEditorControlResumenVentas;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uEditorControlBase, DB, uDADataTable, JvAppStorage,
|
|
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
|
|
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
|
|
TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uBizControlesBase,
|
|
uCustomView, uViewBase, uViewControlBase, Grids, DBGrids, pngimage,
|
|
uViewControlVentasTerminadas, uEditorGridBase, uViewGridBase, uViewGrid,
|
|
uViewControGridResumenVentas, Menus, TB2ExtItems, TBXExtItems,
|
|
uBizVentasTerminadas, StdCtrls, uDAInterfaces;
|
|
|
|
type
|
|
IEditorControlResumenVentas = interface(IEditorGridBase)
|
|
['{FC3218D5-319A-4ECF-88E9-0CB8655EDFA9}']
|
|
function GetItems: IBizResumenVentas;
|
|
procedure SetItems(const Value: IBizResumenVentas);
|
|
property Items: IBizResumenVentas read GetItems write SetItems;
|
|
end;
|
|
|
|
TfEditorControlResumenVentas = class(TfEditorGridBase, IEditorControlResumenVentas)
|
|
dsVentasTerminadas: TDADataSource;
|
|
TBXSeparatorItem16: TTBXSeparatorItem;
|
|
tbxiExpandir: TTBXItem;
|
|
tbxiContraer: TTBXItem;
|
|
tbxiAnchoAuto: TTBXItem;
|
|
actExpandir: TAction;
|
|
actContraer: TAction;
|
|
actAnchoAuto: TAction;
|
|
TBXItem37: TTBXItem;
|
|
TBXItem36: TTBXItem;
|
|
TBXItem35: TTBXItem;
|
|
TBXSeparatorItem17: TTBXSeparatorItem;
|
|
edtMes: TTBXComboBoxItem;
|
|
edtAno: TTBXSpinEditItem;
|
|
frViewControlGridResumenVentas1: TfrViewControlGridResumenVentas;
|
|
TBXLabelItem2: TTBXLabelItem;
|
|
TBXLabelItem3: TTBXLabelItem;
|
|
TBXSeparatorItem18: TTBXSeparatorItem;
|
|
edtColeccion: TTBXEditItem;
|
|
TBXLabelItem4: TTBXLabelItem;
|
|
TBXSeparatorItem19: TTBXSeparatorItem;
|
|
procedure actAnchoAutoExecute(Sender: TObject);
|
|
procedure FormShow(Sender: TObject);
|
|
procedure actRefrescarExecute(Sender: TObject);
|
|
procedure actPrevisualizarExecute(Sender: TObject);
|
|
procedure actImprimirExecute(Sender: TObject);
|
|
protected
|
|
FItems : IBizResumenVentas;
|
|
function GetItems: IBizResumenVentas;
|
|
procedure SetItems(const Value: IBizResumenVentas);
|
|
public
|
|
property Items: IBizResumenVentas read GetItems write SetItems;
|
|
constructor Create(AOwner: TComponent); override;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
uses
|
|
cxControls, uEditorUtils, DateUtils, uROClasses, cxGridTableView, uCustomEditor, uEditorBase;
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfEditorControlVentasTerminadas }
|
|
|
|
procedure TfEditorControlResumenVentas.actAnchoAutoExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
frViewControlGridResumenVentas1.AjustarAncho;
|
|
end;
|
|
|
|
procedure TfEditorControlResumenVentas.FormShow(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
|
|
if not Assigned(FItems) then
|
|
raise Exception.Create('No hay items asignados');
|
|
|
|
if not Assigned(ViewGrid) then
|
|
raise Exception.Create('No hay una vista asignada');
|
|
|
|
//Inicializar
|
|
edtMes.ItemIndex := (MonthOf(Today)-1);
|
|
edtAno.Value := YearOf(Today);
|
|
end;
|
|
|
|
procedure TfEditorControlResumenVentas.actImprimirExecute(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
frViewControlGridResumenVentas1.Print(edtMes.Text, edtAno.Text);
|
|
end;
|
|
|
|
constructor TfEditorControlResumenVentas.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
ViewGrid := frViewControlGridResumenVentas1;
|
|
Self.Caption := 'Resumen de ventas mensuales por centro';
|
|
JvNavPanelHeader.Caption := Self.Caption;
|
|
end;
|
|
|
|
function TfEditorControlResumenVentas.GetItems: IBizResumenVentas;
|
|
begin
|
|
Result := FItems;
|
|
end;
|
|
|
|
procedure TfEditorControlResumenVentas.SetItems(
|
|
const Value: IBizResumenVentas);
|
|
begin
|
|
FItems := Value;
|
|
if Assigned(FItems) then
|
|
begin
|
|
dsDataTable.DataTable := FItems.DataTable;
|
|
frViewControlGridResumenVentas1.dsDataSource.DataTable := FItems.DataTable;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorControlResumenVentas.actRefrescarExecute(Sender: TObject);
|
|
var
|
|
AuxDate: TDateTime;
|
|
UltimoDia: Integer;
|
|
i : Integer;
|
|
|
|
begin
|
|
AuxDate := EncodeDate(edtAno.AsInteger , (edtMes.ItemIndex + 1), 1);
|
|
|
|
ShowHourglassCursor;
|
|
try
|
|
with FItems do
|
|
begin
|
|
if DataTable.Active then
|
|
DataTable.Active := False;
|
|
|
|
DataTable.ParamByName('FECHAINI').AsString := DateToStr(StartOfTheMonth(AuxDate));
|
|
DataTable.ParamByName('FECHAFIN').AsString := DateToStr(EndOfTheMonth(AuxDate));
|
|
DataTable.ParamByName('COLECCION').AsString := edtColeccion.Text;
|
|
|
|
if not DataTable.Active then
|
|
DataTable.Active := True;
|
|
end;
|
|
finally
|
|
HideHourglassCursor;
|
|
end;
|
|
end;
|
|
|
|
procedure TfEditorControlResumenVentas.actPrevisualizarExecute(Sender: TObject);
|
|
begin
|
|
frViewControlGridResumenVentas1.Preview(edtMes.Text, edtAno.Text);
|
|
end;
|
|
|
|
end.
|
|
|