Tecsitel_FactuGES2/Source/Modulos/Historico de movimientos/Views/uEditorHistoricoMovimientos.pas
david 15113e1a5e - Repaso global
- Habilitado portapapeles

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@392 0c75b7a4-871f-7646-8a2f-f78d34cc349f
2008-05-30 16:56:23 +00:00

245 lines
7.6 KiB
ObjectPascal
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit uEditorHistoricoMovimientos;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
uCustomEditor, ImgList, PngImageList, StdActns, ActnList, TB2ExtItems, TBXExtItems, TBX, TB2Item,
TB2Dock, TB2Toolbar, JvExControls, JvComponent, JvNavigationPane,
uViewHistoricoMovimientos, Menus, DB, uDADataTable, ComCtrls, uViewGrid,
uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, pngimage, ExtCtrls, uCustomView,
uViewBase, uViewBarraSeleccion, JvComponentBase, uEditorGridBase,
uIEditorHistoricoMovimientos, uBizHistoricoMovimientos, uViewGridBase, uHistoricoMovimientosController,
JvExComCtrls, JvStatusBar, uViewGrid2Niveles, JSDialog, uDAInterfaces;
type
TfEditorHistoricoMovimientos = class(TfEditorGridBase, IEditorHistoricoMovimientos)
rasladar1: TMenuItem;
Liberar1: TMenuItem;
Reservar1: TMenuItem;
actExpandir: TAction;
actContraer: TAction;
JsElegirAlmacenDialog: TJSDialog;
frViewHistoricoMovimientos1: TfrViewHistoricoMovimientos;
procedure actModificarExecute(Sender: TObject);
procedure actExpandirExecute(Sender: TObject);
procedure actContraerExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
private
function SeleccionarAlmacen(Descripcion: String): Integer;
function DarIDAlmacenSeleccionado(Descripcion: String): Integer;
protected
FHistoricoMovimientos: IBizHistoricoMovimientos;
FController : IHistoricoMovimientosController;
function GetHistoricoMovimientos: IBizHistoricoMovimientos;
procedure SetHistoricoMovimientos(const Value: IBizHistoricoMovimientos);
function GetController : IHistoricoMovimientosController; virtual;
procedure SetController (const Value : IHistoricoMovimientosController); virtual;
procedure SetMultiSelect (AValue : Boolean);
function GetMultiSelect : Boolean;
function GetArticulosSeleccionados: IBizHistoricoMovimientos;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
public
property HistoricoMovimientos: IBizHistoricoMovimientos read GetHistoricoMovimientos write SetHistoricoMovimientos;
property Controller : IHistoricoMovimientosController read GetController write SetController;
property ArticulosSeleccionados: IBizHistoricoMovimientos read GetArticulosSeleccionados;
property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure PonerTitulos(const ATitulo: string = ''); override;
end;
implementation
{$R *.DFM}
uses
cxControls, uGridStatusUtils, uDataModuleHistoricoMovimientos, uDataModuleUsuarios,
uEditorBase, uDBSelectionListUtils, cxGridDBTableView, cxGridCustomTableView,
uAlmacenesController, uBizAlmacenes, uFactuGES_App;
//, uGenerarAlbaranesProvUtils;
{, uDBSelectionList, uDataModulePedidosProveedor,
uBizPedidosProveedor, uBizMontajes, uDataModuleMontajes;
}
{ TfEditorHistoricoMovimientos }
{
***************************** TfEditorHistoricoMovimientos *****************************
}
constructor TfEditorHistoricoMovimientos.Create(AOwner: TComponent);
begin
inherited;
ViewGrid := frViewHistoricoMovimientos1;
end;
function TfEditorHistoricoMovimientos.DarIDAlmacenSeleccionado(Descripcion: String): Integer;
begin
if (ViewGrid._Grid.ActiveLevel.Tag = -1) then
Result := SeleccionarAlmacen(Descripcion)
else
Result := ViewGrid._Grid.ActiveLevel.Tag;
end;
destructor TfEditorHistoricoMovimientos.Destroy;
begin
FHistoricoMovimientos := NIL;
inherited;
end;
procedure TfEditorHistoricoMovimientos.EliminarInterno;
begin
//
end;
procedure TfEditorHistoricoMovimientos.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(HistoricoMovimientos) then
raise Exception.Create('No hay ningún HistoricoMovimientos asignado');
HistoricoMovimientos.DataTable.Active := True;
actContraer.Execute;
ViewGrid.GotoFirst;
end;
procedure TfEditorHistoricoMovimientos.actModificarExecute(Sender: TObject);
begin
// inherited;
end;
function TfEditorHistoricoMovimientos.GetArticulosSeleccionados: IBizHistoricoMovimientos;
begin
SeleccionarFilasDesdeGrid((ViewGrid as IViewHistoricoMovimientos)._FocusedView, (HistoricoMovimientos as ISeleccionable).SelectedRecords);
// En Presupuestos.SelectedRecords tengo los ID de las filas seleccionadas del grid
// Result := Controller.ExtraerSeleccionados(HistoricoMovimientos);
end;
function TfEditorHistoricoMovimientos.GetController: IHistoricoMovimientosController;
begin
Result := FController;
end;
function TfEditorHistoricoMovimientos.GetHistoricoMovimientos: IBizHistoricoMovimientos;
begin
Result := FHistoricoMovimientos;
end;
function TfEditorHistoricoMovimientos.GetMultiSelect: Boolean;
begin
Result := ViewGrid.MultiSelect;
end;
procedure TfEditorHistoricoMovimientos.ImprimirInterno;
begin
inherited;
end;
procedure TfEditorHistoricoMovimientos.NuevoInterno;
begin
//
end;
procedure TfEditorHistoricoMovimientos.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Histórico de movimientos de artículos en almacén - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorHistoricoMovimientos.PrevisualizarInterno;
begin
inherited;
end;
function TfEditorHistoricoMovimientos.SeleccionarAlmacen(Descripcion: String): Integer;
var
AAlmacenes : IBizAlmacen;
Respuesta : integer;
begin
Result := -1;
JsElegirAlmacenDialog.Instruction.Text := Descripcion;
with JsElegirAlmacenDialog.RadioButtons do
begin
Clear;
AAlmacenes := (ViewGrid as IViewHistoricoMovimientos).Almacenes;
AAlmacenes.First;
while not AAlmacenes.EOF do
begin
with Add do
begin
Caption := AAlmacenes.NOMBRE;
Value := 1000 + AAlmacenes.ID;
end;
//Asi sabemos que solo va a intentar chequear el primero si hemos añadido al menos un item
Items[0].Checked := True;
AAlmacenes.Next;
end;
end;
//Sacar la pantalla de selección y devolver el almacén seleccionado.
Respuesta := JsElegirAlmacenDialog.Execute;
if Respuesta <> IDCANCEL then
Result := JsElegirAlmacenDialog.RadioResult - 1000;
end;
procedure TfEditorHistoricoMovimientos.SetController(const Value: IHistoricoMovimientosController);
begin
FController := Value;
if Assigned(FController) then
begin
if Assigned(ViewGrid) then
(ViewGrid as IViewHistoricoMovimientos).Almacenes := FController.AlmacenesController.BuscarTodos;
end;
end;
procedure TfEditorHistoricoMovimientos.SetHistoricoMovimientos(const Value: IBizHistoricoMovimientos);
begin
FHistoricoMovimientos := Value;
dsDataTable.DataTable := FHistoricoMovimientos.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewHistoricoMovimientos).HistoricoMovimientos := FHistoricoMovimientos;
end;
procedure TfEditorHistoricoMovimientos.SetMultiSelect(AValue: Boolean);
begin
ViewGrid.MultiSelect := AValue;
end;
procedure TfEditorHistoricoMovimientos.actContraerExecute(Sender: TObject);
begin
if Assigned(ViewGrid) then
ViewGrid.ContraerTodo;
end;
procedure TfEditorHistoricoMovimientos.actExpandirExecute(Sender: TObject);
begin
if Assigned(ViewGrid) then
ViewGrid.ExpandirTodo;
end;
end.