git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@137 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
292 lines
9.4 KiB
ObjectPascal
292 lines
9.4 KiB
ObjectPascal
unit uEditorInfVentasAlbArticulo;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, uEditorInformeBaseInforme, DB, uDADataTable, JvAppStorage,
|
||
JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList,
|
||
PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock,
|
||
TB2Toolbar, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uBizInformes,
|
||
uCustomView, uViewBase, uViewInformeBase, uViewInfVentasAlbArticulo,
|
||
Grids, DBGrids, pngimage, JvExComCtrls, JvStatusBar, uInfVentasAlbArticuloController,
|
||
uIEditorInfVentasAlbArticulo, uBizInfVentasArticulo, uInformesController,
|
||
uViewGridBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, cxDBData, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||
cxGrid, TB2ExtItems, TBXExtItems, uDAInterfaces, cxContainer, cxLabel;
|
||
|
||
|
||
type
|
||
TfEditorInfVentasAlbArticulo = class(TfEditorInformeBaseInforme, IEditorInfVentasAlbArticulo)
|
||
TBXSeparatorItem16: TTBXSeparatorItem;
|
||
tbxiExpandir: TTBXItem;
|
||
tbxiContraer: TTBXItem;
|
||
tbxiAnchoAuto: TTBXItem;
|
||
actExpandir: TAction;
|
||
actContraer: TAction;
|
||
actAnchoAuto: TAction;
|
||
TBXItem37: TTBXItem;
|
||
TBXItem36: TTBXItem;
|
||
TBXItem35: TTBXItem;
|
||
TBXSeparatorItem17: TTBXSeparatorItem;
|
||
frViewInfVentasAlbArticulo1: TfrViewInfVentasAlbArticulo;
|
||
procedure actRefrescarExecute(Sender: TObject);
|
||
procedure actExpandirExecute(Sender: TObject);
|
||
procedure actContraerExecute(Sender: TObject);
|
||
procedure actAnchoAutoExecute(Sender: TObject);
|
||
procedure CustomEditorCreate(Sender: TObject);
|
||
procedure CustomEditorGetModified(Sender: TObject; var Modified: Boolean);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure actPrevisualizarExecute(Sender: TObject);
|
||
procedure actImprimirExecute(Sender: TObject);
|
||
procedure actConfPaginaExecute(Sender: TObject);
|
||
private
|
||
FInformesController: IInformesController;
|
||
procedure RestaurarConfiguracion;
|
||
procedure GuardarConfiguracion;
|
||
protected
|
||
FController : IInfVentasAlbArticuloController;
|
||
FModificado : Boolean;
|
||
procedure OnViewControlChanged(Sender: TObject);
|
||
procedure SetInforme(const Value: IBizInforme); override;
|
||
procedure RellenarCabeceraInforme; override;
|
||
|
||
function GetController : IInfVentasAlbArticuloController;
|
||
procedure SetController (const Value : IInfVentasAlbArticuloController);
|
||
|
||
procedure GuardarInterno; override;
|
||
|
||
public
|
||
property Controller: IInfVentasAlbArticuloController read GetController write SetController;
|
||
|
||
constructor Create(AOwner: TComponent); override;
|
||
destructor Destroy; override;
|
||
end;
|
||
|
||
|
||
implementation
|
||
|
||
uses
|
||
uROClasses, //cxControls, cxGridCustomView, //cxGridCustomTableView,
|
||
//cxGridTableView,
|
||
uCustomEditor, uDataModuleUsuarios, uSistemaFunc;
|
||
|
||
{$R *.dfm}
|
||
|
||
{ TfEditorInfVentasAlbArticulo }
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.SetController(const Value: IInfVentasAlbArticuloController);
|
||
begin
|
||
FController := Value;
|
||
if Assigned(FController) then
|
||
frViewInfVentasAlbArticulo1.Controller := (FController as IInfVentasAlbArticuloController);
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.SetInforme(const Value: IBizInforme);
|
||
begin
|
||
inherited;
|
||
// RefrescarTituloEditor;
|
||
if Assigned(FInforme) then
|
||
begin
|
||
frViewInfVentasAlbArticulo1.OnViewChanged := OnViewControlChanged;
|
||
// with (FInforme as IBizInforme) do
|
||
// begin
|
||
// Items.DataTable.Active := False; // No se abre la tabla hasta que no se pulse en 'Refrescar'
|
||
// dsVentasTerminadas.DataTable := Items.DataTable;
|
||
// frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.FocusedView.DataController.DataSource := dsVentasTerminadas;
|
||
// end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.actRefrescarExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticulo1.Refresh;
|
||
while (frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.FocusedView.Controller.FocusedRecord is TcxGridGroupRow) do
|
||
begin
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.FocusedView.Controller.FocusedRecord.Expand(True);
|
||
if (frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.FocusedView.Controller.FocusedRecordIndex <
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.FocusedView.DataController.RowCount - 1) then
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.FocusedView.Controller.GoToNext(False, True)
|
||
else
|
||
Exit;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.actExpandirExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.ExpandirTodo;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.actContraerExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.ContraerTodo;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.actAnchoAutoExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.AjustarAncho;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.OnViewControlChanged(
|
||
Sender: TObject);
|
||
begin
|
||
// if FInforme.EsModificable then
|
||
FModificado := True;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.CustomEditorCreate(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
FModificado := False;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.CustomEditorGetModified(
|
||
Sender: TObject; var Modified: Boolean);
|
||
begin
|
||
inherited;
|
||
Modified := FModificado;
|
||
end;
|
||
|
||
destructor TfEditorInfVentasAlbArticulo.Destroy;
|
||
begin
|
||
FInformesController := Nil;
|
||
FViewInforme := Nil;
|
||
inherited;
|
||
end;
|
||
|
||
function TfEditorInfVentasAlbArticulo.GetController: IInfVentasAlbArticuloController;
|
||
begin
|
||
Result := FController;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.GuardarConfiguracion;
|
||
var
|
||
Aux : IROStrings;
|
||
Fichero: TextFile;
|
||
NombreFichero: String;
|
||
|
||
begin
|
||
NombreFichero := DarFicheroTemporal;
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.cxGridView.StoreToIniFile(NombreFichero, true, [gsoUseFilter,gsoUseSummary]);
|
||
|
||
with TStringList.Create do
|
||
try
|
||
LoadFromFile(NombreFichero);
|
||
Aux := NewROStrings();
|
||
Aux.Add(Text);
|
||
|
||
{ if not (FInforme.DataTable.State in dsEditModes) then
|
||
FInforme.Edit;
|
||
FInforme.VISTA := Aux;
|
||
}
|
||
finally
|
||
Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.GuardarInterno;
|
||
begin
|
||
inherited;
|
||
|
||
ShowHourglassCursor;
|
||
|
||
try
|
||
if FModificado then
|
||
GuardarConfiguracion;
|
||
FInformesController.Guardar(FInforme);
|
||
FModificado := False;
|
||
finally
|
||
HideHourglassCursor;
|
||
end;
|
||
|
||
Modified := False;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.RestaurarConfiguracion;
|
||
var
|
||
Fichero: TextFile;
|
||
NombreFichero: String;
|
||
begin
|
||
try
|
||
//Creamos un fichero temporal para guardar la configuraci<63>n del informe que viene dada
|
||
//por su campo vista, para luego restaurarla en el grid a partir de dicho fichero porque el Stream falla
|
||
NombreFichero := DarFicheroTemporal;
|
||
AssignFile(Fichero, NombreFichero);
|
||
Rewrite(Fichero);
|
||
Writeln(Fichero, FInforme.VISTA.Text);
|
||
CloseFile(Fichero);
|
||
|
||
//Restauramos la configuraci<63>n
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.cxGridView.RestoreFromIniFile(NombreFichero,True,false,[gsoUseFilter,gsoUseSummary]);
|
||
|
||
finally
|
||
//Eliminamos el fichero temporal
|
||
DeleteFile(NombreFichero);
|
||
// FreeAndNil(Fichero)
|
||
end;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
if FInforme.DataTable.State <> dsInsert then // No restaurar si estamos insertando
|
||
RestaurarConfiguracion;
|
||
|
||
frViewInfVentasAlbArticulo1.frViewColumnas1.Refresh;
|
||
frViewInfVentasAlbArticulo1.frViewAgrupaciones1.Refresh;
|
||
|
||
if FInforme.DataTable.State = dsInsert then // Si es nuevo obligamos a meter nombre
|
||
actPropiedades.Execute;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.actPrevisualizarExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.Preview;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.actImprimirExecute(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.Print;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.actConfPaginaExecute(
|
||
Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.PrintSetup;
|
||
end;
|
||
|
||
constructor TfEditorInfVentasAlbArticulo.Create(AOwner: TComponent);
|
||
begin
|
||
inherited;
|
||
FInformesController := TInformesController.Create;
|
||
FViewInforme := frViewInfVentasAlbArticulo1;
|
||
end;
|
||
|
||
procedure TfEditorInfVentasAlbArticulo.RellenarCabeceraInforme;
|
||
begin
|
||
inherited;
|
||
with frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.dxPrintStyleManager1Style1.PrinterPage.PageHeader do
|
||
begin
|
||
LeftTitle.Clear;
|
||
// LeftTitle.Add(FInforme.NOMBRE);
|
||
LeftTitle.Add(FInforme.DESCRIPCION);
|
||
|
||
RightTitle.Clear;
|
||
RightTitle.Add(DateToStr(frViewInfVentasAlbArticulo1.frViewPeriodoFechasInforme1.edtFechaIni.Date) +
|
||
' - ' + DateToStr(frViewInfVentasAlbArticulo1.frViewPeriodoFechasInforme1.edtFechaFin.Date));
|
||
RightTitle.Add(frViewInfVentasAlbArticulo1.frViewInfVentasAlbArticuloGrid1.FocusedView.DataController.Filter.FilterText);
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|