git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@137 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
222 lines
8.1 KiB
ObjectPascal
222 lines
8.1 KiB
ObjectPascal
unit uViewInfVentasAlbArticulo;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uViewInformeBase, ActnList, ImgList, PngImageList, uViewGrid,
|
||
uViewInformeBaseGrid, uViewSumarios, TBXDkPanels, StdCtrls,
|
||
uViewAgrupaciones, uCustomView, uViewBase, uViewColumnas, ComCtrls,
|
||
TB2Dock, uViewInformeBaseParametros, uBizInformes, cxStyles,
|
||
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB,
|
||
cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
|
||
cxTextEdit, uViewFiltros, uBizInfVentasArticulo, uInfVentasAlbArticuloController,
|
||
uViewPeriodoFechasInforme, uViewInfVentasAlbArticuloGrid, uDADataTable, uViewFiltroBase,
|
||
uDAInterfaces;
|
||
|
||
type
|
||
IViewInfVentasAlbArticulo = interface(IViewInformeBase)
|
||
['{B8B9105B-E833-4E7D-BA36-EB9A7EBDCE69}']
|
||
function GetDatos : IBizInfVentasAlbArticulo;
|
||
procedure SetDatos (const Value : IBizInfVentasAlbArticulo);
|
||
property Datos : IBizInfVentasAlbArticulo read GetDatos write SetDatos;
|
||
|
||
function GetController : IInfVentasAlbArticuloController;
|
||
procedure SetController (const Value : IInfVentasAlbArticuloController);
|
||
property Controller: IInfVentasAlbArticuloController read GetController write SetController;
|
||
end;
|
||
|
||
TfrViewInfVentasAlbArticulo = class(TfrViewInformeBase, IViewInfVentasAlbArticulo)
|
||
frViewPeriodoFechasInforme1: TfrViewPeriodoFechasInforme;
|
||
actPeriodoFechas: TAction;
|
||
frViewInfVentasAlbArticuloGrid1: TfrViewInfVentasAlbArticuloGrid;
|
||
dsVentasTerminadas: TDADataSource;
|
||
procedure actRefrescarExecute(Sender: TObject);
|
||
procedure actPeriodoFechasExecute(Sender: TObject);
|
||
procedure frViewInfVentasAlbArticuloGrid1cxGridViewIMPORTE_TOTAL_VENTAHeaderClick(Sender: TObject);
|
||
procedure frViewInfVentasAlbArticuloGrid1cxGridViewCANTIDADHeaderClick(Sender: TObject);
|
||
protected
|
||
FDatos : IBizInfVentasAlbArticulo;
|
||
FController : IInfVentasAlbArticuloController;
|
||
FModificado : Boolean;
|
||
procedure OnViewInformeBaseGridChanged(Sender : TObject);
|
||
procedure OnFilterChanged(Sender : TObject);
|
||
procedure ActivarTarea(const ATarea: Integer); override;
|
||
function GetFocusedView: TcxGridDBTableView; override;
|
||
function GetDatos : IBizInfVentasAlbArticulo;
|
||
procedure SetDatos (const Value : IBizInfVentasAlbArticulo);
|
||
function GetController : IInfVentasAlbArticuloController;
|
||
procedure SetController (const Value : IInfVentasAlbArticuloController);
|
||
|
||
public
|
||
property Controller: IInfVentasAlbArticuloController read GetController write SetController;
|
||
property Datos : IBizInfVentasAlbArticulo read GetDatos write SetDatos;
|
||
constructor Create(AOwner: TComponent); override;
|
||
procedure Refresh; override;
|
||
end;
|
||
|
||
implementation
|
||
{$R *.dfm}
|
||
{ TfrViewInfVentasAlbArticulo }
|
||
|
||
uses schInfVentasArticuloClient_Intf, StrUtils;
|
||
|
||
const
|
||
PERIODO = 0;
|
||
|
||
constructor TfrViewInfVentasAlbArticulo.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticuloGrid1.OnViewChanged := OnViewInformeBaseGridChanged;
|
||
frViewInfVentasAlbArticuloGrid1.OnFilterChanged := OnFilterChanged;
|
||
frViewColumnas1.ViewInformeBaseGrid := frViewInfVentasAlbArticuloGrid1;
|
||
frViewAgrupaciones1.ViewInformeBaseGrid := frViewInfVentasAlbArticuloGrid1;
|
||
frViewSumarios1.ViewInformeBaseGrid := frViewInfVentasAlbArticuloGrid1;
|
||
frViewFiltros1.ViewInformeBaseGrid := frViewInfVentasAlbArticuloGrid1;
|
||
pcParametros.ActivePage := TabSheet5;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.frViewInfVentasAlbArticuloGrid1cxGridViewCANTIDADHeaderClick(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.DataController.Groups.DataController.BeginUpdate;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.GetColumnByFieldName(fld_InfVentasAlbArticuloCANTIDAD).SortIndex := 1;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.GetColumnByFieldName(fld_InfVentasAlbArticuloCANTIDAD).Summary.SortByGroupFooterSummary := True;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.DataController.Groups.DataController.EndUpdate;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.frViewInfVentasAlbArticuloGrid1cxGridViewIMPORTE_TOTAL_VENTAHeaderClick(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.DataController.Groups.DataController.BeginUpdate;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.GetColumnByFieldName(fld_InfVentasAlbArticuloIMPORTE_TOTAL_VENTA).SortOrder := soAscending;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.GetColumnByFieldName(fld_InfVentasAlbArticuloIMPORTE_TOTAL_VENTA).Summary.SortByGroupFooterSummary := True;
|
||
frViewInfVentasAlbArticuloGrid1.cxGridView.DataController.Groups.DataController.EndUpdate;
|
||
end;
|
||
|
||
function TfrViewInfVentasAlbArticulo.GetController: IInfVentasAlbArticuloController;
|
||
begin
|
||
Result := FController;
|
||
end;
|
||
|
||
function TfrViewInfVentasAlbArticulo.GetDatos: IBizInfVentasAlbArticulo;
|
||
begin
|
||
Result := FDatos;
|
||
end;
|
||
|
||
function TfrViewInfVentasAlbArticulo.GetFocusedView: TcxGridDBTableView;
|
||
begin
|
||
Result := frViewInfVentasAlbArticuloGrid1.cxGridView;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.Refresh;
|
||
var
|
||
AColumns : TStringList;
|
||
AColumnsGroup : TStringList;
|
||
i: Integer;
|
||
Condicion: TDAWhereExpression;
|
||
AWhere : String;
|
||
begin
|
||
inherited;
|
||
ShowHourglassCursor;
|
||
actRefrescar.Enabled := False;
|
||
|
||
AWhere := ' ( ' + fld_InfVentasAlbArticuloFECHA_ALBARAN + ' between ''' + ReplaceStr(DateToStr(frViewPeriodoFechasInforme1.FechaInicial),'/','.') + ''' and ''' + ReplaceStr(DateToStr(frViewPeriodoFechasInforme1.FechaFinal),'/','.') + ''') ';
|
||
|
||
frViewInfVentasAlbArticuloGrid1.OnViewChanged := nil;
|
||
frViewInfVentasAlbArticuloGrid1.OnFilterChanged := nil;
|
||
|
||
try
|
||
// Calcular las columnas a pedir al servidor
|
||
AColumns := frViewColumnas1.GetCheckedColumns;
|
||
AColumns.sorted := true;
|
||
AColumns.Duplicates := dupIgnore;
|
||
|
||
//A<>adimos el nombre de los campos a los que referencia los captions de agrupacion
|
||
AColumnsGroup := frViewAgrupaciones1.GetAgrupaciones;
|
||
for i:= 0 to AColumnsGroup.Count - 1 do
|
||
AColumns.Add((frViewInfVentasAlbArticuloGrid1 as IViewInformeBaseGrid).GetColumnByCaption(AColumnsGroup.Strings[i]).DataBinding.FieldName);
|
||
|
||
|
||
FDatos := FController.BuscarTodos(AColumns.CommaText, Awhere);
|
||
dsVentasTerminadas.DataTable := FDatos.Datatable;
|
||
frViewInfVentasAlbArticuloGrid1.FocusedView.DataController.DataSource := dsVentasTerminadas;
|
||
|
||
|
||
with Datos.DataTable do
|
||
begin
|
||
DisableControls;
|
||
try
|
||
Active := False;
|
||
|
||
Active := True;
|
||
|
||
frViewColumnas1.Execute;
|
||
frViewAgrupaciones1.Execute;
|
||
frViewSumarios1.Refresh;
|
||
frViewFiltros1.Refresh;
|
||
pnlTareas.Visible := True;
|
||
|
||
if Assigned(FOnViewChanged) then
|
||
FOnViewChanged(Self);
|
||
finally
|
||
EnableControls;
|
||
frViewInfVentasAlbArticuloGrid1.Refresh;
|
||
frViewInfVentasAlbArticuloGrid1.ExpandirTodo;
|
||
frViewInfVentasAlbArticuloGrid1.GotoFirst;
|
||
end;
|
||
end;
|
||
|
||
finally
|
||
FreeAndNil(AColumns);
|
||
actRefrescar.Enabled := True;
|
||
HideHourglassCursor;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.SetController(const Value: IInfVentasAlbArticuloController);
|
||
begin
|
||
FController := Value;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.SetDatos(const Value: IBizInfVentasAlbArticulo);
|
||
begin
|
||
FDatos := Value;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.actRefrescarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
Refresh;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.OnViewInformeBaseGridChanged(
|
||
Sender: TObject);
|
||
begin
|
||
if Assigned(Self.OnViewChanged) then
|
||
Self.OnViewChanged(Self);
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.OnFilterChanged(Sender: TObject);
|
||
begin
|
||
frViewFiltros1.Refresh;
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.actPeriodoFechasExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ActivarTarea(PERIODO);
|
||
end;
|
||
|
||
procedure TfrViewInfVentasAlbArticulo.ActivarTarea(const ATarea: Integer);
|
||
begin
|
||
inherited;
|
||
case ATarea of
|
||
PERIODO : pcParametros.ActivePage := TabSheet5;
|
||
end;
|
||
end;
|
||
|
||
end.
|