Tecsitel_FactuGES2/Source/Modulos/Comisiones/Views/uEditorRemesasCliente.pas

196 lines
5.8 KiB
ObjectPascal
Raw Blame History

unit uEditorRemesasCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewRemesasCliente, uBizRemesasCliente, ActnList, DBActns, uViewGrid,
Menus, uDataModuleBase, ImgList, PngImageList, TB2Dock, TB2Toolbar, TBX,
TB2Item, StdActns, TB2ExtItems, TBXExtItems, TB2MRU, DB, uDADataTable,
JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, JvAppStorage,
JvAppRegistryStorage, JvFormPlacement, ExtCtrls, uCustomView, uViewBase,
uViewBarraSeleccion, pngimage, uIEditorRemesasCliente, uEditorGridBase,
JvComponentBase, uViewGridBase, uRemesasClienteController, JvExComCtrls,
JvStatusBar;
type
TfEditorRemesasCliente = class(TfEditorGridBase, IEditorRemesasCliente)
actVolcarDisco: TAction;
TBXItem37: TTBXItem;
TBXSeparatorItem17: TTBXSeparatorItem;
N4: TMenuItem;
Volcaradisco1: TMenuItem;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXItem38: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actVolcarDiscoExecute(Sender: TObject);
procedure actVolcarDiscoUpdate(Sender: TObject);
private
FRemesasCliente: IBizRemesaCliente;
FController : IRemesasClienteController;
protected
function GetRemesasCliente: IBizRemesaCliente;
procedure SetRemesasCliente(const Value: IBizRemesaCliente);
function GetController : IRemesasClienteController; virtual;
procedure SetController (const Value : IRemesasClienteController); virtual;
procedure NuevoInterno; override;
procedure EliminarInterno; override;
procedure ModificarInterno; override;
procedure PrevisualizarInterno; override;
procedure ImprimirInterno; override;
//Si queremos crear otra vista para el editor heredado solo tendriamos que
//sobreescribir este metodo
procedure AsignarVista; virtual;
public
procedure PonerTitulos(const ATitulo: string = ''); override;
property RemesasCliente: IBizRemesaCliente read GetRemesasCliente write SetRemesasCliente;
property Controller : IRemesasClienteController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uCustomEditor, uDataModuleRemesasCliente, uDataModuleUsuarios,
//uEditorRemesaCliente,
uEditorDBBase, uBizFamilias, uFamiliasController,
uBancaElectronicaController,
cxGrid, cxGridCustomTableView; //, uListaRemesasCliente;
{$R *.dfm}
{
****************************** TfEditorRemesasCliente *******************************
}
procedure TfEditorRemesasCliente.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(RemesasCliente) then
raise Exception.Create('No hay ning<6E>n RemesaCliente asignado');
RemesasCliente.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorRemesasCliente.GetRemesasCliente: IBizRemesaCliente;
begin
Result := FRemesasCliente;
end;
procedure TfEditorRemesasCliente.ImprimirInterno;
begin
inherited;
FController.Print(RemesasCliente);
end;
function TfEditorRemesasCliente.GetController: IRemesasClienteController;
begin
Result := FController;
end;
procedure TfEditorRemesasCliente.ModificarInterno;
begin
inherited;
FController.Ver(RemesasCliente);
end;
procedure TfEditorRemesasCliente.NuevoInterno;
begin
inherited;
FController.Anadir(RemesasCliente);
FController.Ver(RemesasCliente);
end;
procedure TfEditorRemesasCliente.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de remesas de cobro - ' + dmUsuarios.EmpresaActual.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorRemesasCliente.PrevisualizarInterno;
begin
inherited;
FController.Preview(RemesasCliente);
end;
procedure TfEditorRemesasCliente.SetRemesasCliente(const Value: IBizRemesaCliente);
begin
FRemesasCliente := Value;
dsDataTable.DataTable := FRemesasCliente.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewRemesasCliente).RemesasCliente := RemesasCliente;
end;
procedure TfEditorRemesasCliente.SetController(const Value: IRemesasClienteController);
begin
FController := Value;
end;
destructor TfEditorRemesasCliente.Destroy;
begin
FRemesasCliente := NIL;
FController := NIl;
inherited;
end;
procedure TfEditorRemesasCliente.EliminarInterno;
begin
if (Application.MessageBox('<27>Desea borrar esta remesa de cobro?', 'Atenci<63>n', MB_YESNO) = IDYES) then
begin
inherited;
//Para que en el caso de no poderse realizar la operaci<63>n se refresquen
//los datos y no nos permita eliminar un registro a la segunda
if not FController.Eliminar(RemesasCliente) then
actRefrescar.Execute;
end;
end;
procedure TfEditorRemesasCliente.actVolcarDiscoExecute(Sender: TObject);
var
ABancaController : IBancaElectronicaController;
begin
inherited;
ABancaController := TBancaElectronicaController.Create;
try
ABancaController.GenerarFicheroNorma19(FRemesasCliente.ID);
finally
ABancaController := NIL;
end;
end;
procedure TfEditorRemesasCliente.actVolcarDiscoUpdate(Sender: TObject);
begin
inherited;
if HayDatos and Assigned(ViewGrid) then
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
and not ViewGrid.IsEmpty
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorRemesasCliente.AsignarVista;
begin
ViewGrid := CreateView(TfrViewRemesasCliente) as IViewRemesasCliente;
end;
constructor TfEditorRemesasCliente.Create(AOwner: TComponent);
begin
inherited;
AsignarVista;
end;
end.