This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES/Source/Modulos/Recibos de cliente/Views/uEditorRecibosCliente.pas

215 lines
6.4 KiB
ObjectPascal
Raw Normal View History

{
===============================================================================
Copyright (<EFBFBD>) 2007. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versi<EFBFBD>n:
Versi<EFBFBD>n actual: 1.0.0
Fecha versi<EFBFBD>n actual:
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit uEditorRecibosCliente;
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,
uBizRecibosCliente, uIEditorRecibosCliente, uRecibosClienteController,
uViewRecibosCliente, JSDialog;
type
TfEditorRecibosCliente = class(TfEditorGridBase, IEditorRecibosCliente)
frViewRecibosCliente1: TfrViewRecibosCliente;
JsPrevisualizarDialog: TJSDialog;
JsImprimirDialog: TJSDialog;
procedure FormShow(Sender: TObject);
private
FRecibosCliente: IBizRecibosCliente;
FController : IRecibosClienteController;
protected
function GetRecibosCliente: IBizRecibosCliente;
procedure SetRecibosCliente(const Value: IBizRecibosCliente);
function GetController : IRecibosClienteController;
procedure SetController (const Value : IRecibosClienteController);
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 RecibosCliente: IBizRecibosCliente read GetRecibosCliente write SetRecibosCliente;
property Controller : IRecibosClienteController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uDataModuleRecibosCliente, uDataModuleUsuarios;
{$R *.dfm}
{
*************************** TfEditorRecibosCliente ***************************
}
constructor TfEditorRecibosCliente.Create(AOwner: TComponent);
begin
inherited;
FController := TRecibosClienteController.Create;
ViewGrid := frViewRecibosCliente1; // CreateView(TfrViewRecibosCliente) as IViewRecibosCliente;
end;
destructor TfEditorRecibosCliente.Destroy;
begin
FRecibosCliente := NIL;
FController := NIL;
inherited;
end;
procedure TfEditorRecibosCliente.DuplicarInterno;
begin
// No se pueden duplicar recibos
end;
procedure TfEditorRecibosCliente.EliminarInterno;
begin
//
//No se pueden eliminar recibos
end;
procedure TfEditorRecibosCliente.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(FRecibosCliente) then
raise Exception.Create('No hay ning<6E>n objeto asignado');
FRecibosCliente.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorRecibosCliente.GetController: IRecibosClienteController;
begin
Result := FController;
end;
function TfEditorRecibosCliente.GetRecibosCliente: IBizRecibosCliente;
begin
Result := FRecibosCliente;
end;
procedure TfEditorRecibosCliente.ImprimirInterno;
var
Respuesta : Integer;
begin
//Si esta agrupado solo podr<64> imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsImprimirDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsImprimirDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
FController.Print(FRecibosCliente);
end;
end;
end;
end;
end;
procedure TfEditorRecibosCliente.ModificarInterno;
begin
inherited;
FController.Ver(FRecibosCliente);
RefrescarInterno;
end;
procedure TfEditorRecibosCliente.NuevoInterno;
begin
// inherited;
//No se pueden a<>adir recibos nuevos
end;
procedure TfEditorRecibosCliente.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de recibos de cliente - ' + dmUsuarios.EmpresaActual.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorRecibosCliente.PrevisualizarInterno;
var
Respuesta : Integer;
begin
//Si esta agrupado solo podr<64> imprimir la lista de elementos visibles
if not ViewGrid.esSeleccionCeldaDatos then
inherited
else
begin
Respuesta := JsPrevisualizarDialog.Execute;
if Respuesta <> IDCANCEL then
begin
case JsPrevisualizarDialog.CustomButtonResult of
200 : begin // Lista de elementos visibles
inherited;
end;
100 : begin // Elemento Seleccionado
FController.Preview(FRecibosCliente);
end;
end;
end;
end;
end;
procedure TfEditorRecibosCliente.SetController(const Value: IRecibosClienteController);
begin
FController := Value;
end;
procedure TfEditorRecibosCliente.SetRecibosCliente(const Value: IBizRecibosCliente);
begin
FRecibosCliente := Value;
dsDataTable.DataTable := FRecibosCliente.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRecibosCliente).Recibos := FRecibosCliente;
end;
end.