Tecsitel_FactuGES2/Source/Modulos/Recibos de proveedor/Views/uEditorRecibosProveedor.pas

211 lines
6.4 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2007. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión:
Versión actual: 1.0.0
Fecha versión actual:
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit uEditorRecibosProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, uDADataTable, JvAppStorage,
JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList,
PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems,
TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls,
JvNavigationPane, uViewGrid, pngimage, JvComponentBase,
JvExComCtrls, JvStatusBar, uViewBase, uViewBarraSeleccion, uViewGridBase,
uEditorGridBase, uCustomView,
uBizRecibosProveedor, uIEditorRecibosProveedor, uRecibosProveedorController,
uViewRecibosProveedor, uDAInterfaces, JSDialog;
type
TfEditorRecibosProveedor = class(TfEditorGridBase, IEditorRecibosProveedor)
frViewRecibosProveedor1: TfrViewRecibosProveedor;
JSInformesDialog: TJSDialog;
actInformes: TAction;
TBXItem38: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actInformesExecute(Sender: TObject);
private
FRecibosProveedor: IBizRecibosProveedor;
FController : IRecibosProveedorController;
protected
function GetRecibosProveedor: IBizRecibosProveedor;
procedure SetRecibosProveedor(const Value: IBizRecibosProveedor);
function GetController : IRecibosProveedorController;
procedure SetController (const Value : IRecibosProveedorController);
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure DuplicarInterno; override;
procedure ImprimirInterno; override;
procedure PrevisualizarInterno; override;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property RecibosProveedor: IBizRecibosProveedor read GetRecibosProveedor write SetRecibosProveedor;
property Controller : IRecibosProveedorController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uDataModuleRecibosProveedor, uFactuGES_App, uDataModuleUsuarios, uGestorInformesController;
{$R *.dfm}
{
*************************** TfEditorRecibosProveedor ***************************
}
procedure TfEditorRecibosProveedor.actInformesExecute(Sender: TObject);
var
Respuesta : Integer;
AGestorInformesController : IGestorInformesController;
begin
AGestorInformesController := TGestorInformesController.Create;
try
Respuesta := JsInformesDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsInformesDialog.CustomButtonResult of
100 : begin // Listado de recibos pendientes
AGestorInformesController.VerInformeListadoRecibosProvPendientes;
end;
200 : begin // Listado de recibos de cliente
AGestorInformesController.VerInformeListadoRecibosProveedor;
end;
end;
end;
finally
AGestorInformesController := NIL;
end;
end;
constructor TfEditorRecibosProveedor.Create(AOwner: TComponent);
begin
inherited;
FController := TRecibosProveedorController.Create;
FHeaderText := 'Lista de recibos de proveedor';
FWindowCaption := FHeaderText;
ViewGrid := frViewRecibosProveedor1; // CreateView(TfrViewRecibosProveedor) as IViewRecibosProveedor;
end;
destructor TfEditorRecibosProveedor.Destroy;
begin
FRecibosProveedor := NIL;
FController := NIL;
inherited;
end;
procedure TfEditorRecibosProveedor.DuplicarInterno;
begin
// No se pueden duplicar recibos
end;
procedure TfEditorRecibosProveedor.EliminarInterno;
begin
//
//No se pueden eliminar recibos
end;
procedure TfEditorRecibosProveedor.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(FRecibosProveedor) then
raise Exception.Create('No hay ningún objeto asignado');
FRecibosProveedor.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorRecibosProveedor.GetController: IRecibosProveedorController;
begin
Result := FController;
end;
function TfEditorRecibosProveedor.GetRecibosProveedor: IBizRecibosProveedor;
begin
Result := FRecibosProveedor;
end;
procedure TfEditorRecibosProveedor.ImprimirInterno;
begin
inherited;
end;
procedure TfEditorRecibosProveedor.ModificarInterno;
begin
inherited;
FController.Ver(FRecibosProveedor);
RefrescarInterno;
end;
procedure TfEditorRecibosProveedor.NuevoInterno;
begin
// inherited;
//No se pueden añadir recibos nuevos
end;
procedure TfEditorRecibosProveedor.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := FWindowCaption + ' - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorRecibosProveedor.PrevisualizarInterno;
begin
inherited;
end;
procedure TfEditorRecibosProveedor.SetController(const Value: IRecibosProveedorController);
begin
FController := Value;
end;
procedure TfEditorRecibosProveedor.SetRecibosProveedor(const Value: IBizRecibosProveedor);
begin
FRecibosProveedor := Value;
dsDataTable.DataTable := FRecibosProveedor.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRecibosProveedor).Recibos := FRecibosProveedor;
end;
end.