unit uEditorRemesasProveedor; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent, JvNavigationPane, uViewRemesasProveedor, uBizRemesasProveedor, 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, uIEditorRemesasProveedor, uEditorGridBase, JvComponentBase, uViewGridBase, uRemesasProveedorController, JvExComCtrls, JvStatusBar; type TfEditorRemesasProveedor = class(TfEditorGridBase, IEditorRemesasProveedor) actVolcarDisco: TAction; TBXSeparatorItem17: TTBXSeparatorItem; N4: TMenuItem; Volcaradisco1: TMenuItem; TBXSubmenuItem2: TTBXSubmenuItem; TBXItem38: TTBXItem; procedure FormShow(Sender: TObject); procedure actVolcarDiscoExecute(Sender: TObject); procedure actVolcarDiscoUpdate(Sender: TObject); private FRemesasProveedor: IBizRemesaProveedor; FController : IRemesasProveedorController; protected function GetRemesasProveedor: IBizRemesaProveedor; procedure SetRemesasProveedor(const Value: IBizRemesaProveedor); function GetController : IRemesasProveedorController; virtual; procedure SetController (const Value : IRemesasProveedorController); 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 RemesasProveedor: IBizRemesaProveedor read GetRemesasProveedor write SetRemesasProveedor; property Controller : IRemesasProveedorController read GetController write SetController; constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; implementation uses uCustomEditor, uDataModuleRemesasProveedor, uDataModuleUsuarios, //uEditorRemesaProveedor, uEditorDBBase, uBizFamilias, uFamiliasController, // uBancaElectronicaController, cxGrid, cxGridCustomTableView; //, uListaRemesasProveedor; {$R *.dfm} { ****************************** TfEditorRemesasProveedor ******************************* } procedure TfEditorRemesasProveedor.FormShow(Sender: TObject); begin inherited; if not Assigned(ViewGrid) then raise Exception.Create('No hay ninguna vista asignada'); if not Assigned(RemesasProveedor) then raise Exception.Create('No hay ningún RemesaProveedor asignado'); RemesasProveedor.DataTable.Active := True; ViewGrid.GotoFirst; end; function TfEditorRemesasProveedor.GetRemesasProveedor: IBizRemesaProveedor; begin Result := FRemesasProveedor; end; procedure TfEditorRemesasProveedor.ImprimirInterno; begin // inherited; FController.Print(RemesasProveedor); end; function TfEditorRemesasProveedor.GetController: IRemesasProveedorController; begin Result := FController; end; procedure TfEditorRemesasProveedor.ModificarInterno; begin inherited; FController.Ver(RemesasProveedor); end; procedure TfEditorRemesasProveedor.NuevoInterno; begin inherited; FController.Anadir(RemesasProveedor); FController.Ver(RemesasProveedor); end; procedure TfEditorRemesasProveedor.PonerTitulos(const ATitulo: string); var FTitulo : String; begin FTitulo := 'Lista de remesas de pago - ' + dmUsuarios.EmpresaActual.NOMBRE; inherited PonerTitulos(FTitulo); end; procedure TfEditorRemesasProveedor.PrevisualizarInterno; begin // inherited; FController.Preview(RemesasProveedor); end; procedure TfEditorRemesasProveedor.SetRemesasProveedor(const Value: IBizRemesaProveedor); begin FRemesasProveedor := Value; dsDataTable.DataTable := FRemesasProveedor.DataTable; if Assigned(ViewGrid) then (ViewGrid as IViewRemesasProveedor).RemesasProveedor := RemesasProveedor; end; procedure TfEditorRemesasProveedor.SetController(const Value: IRemesasProveedorController); begin FController := Value; end; destructor TfEditorRemesasProveedor.Destroy; begin FRemesasProveedor := NIL; FController := NIl; inherited; end; procedure TfEditorRemesasProveedor.EliminarInterno; begin if (Application.MessageBox('¿Desea borrar esta remesa de pago?', 'Atención', MB_YESNO) = IDYES) then begin inherited; //Para que en el caso de no poderse realizar la operación se refresquen //los datos y no nos permita eliminar un registro a la segunda if not FController.Eliminar(RemesasProveedor) then actRefrescar.Execute; end; end; procedure TfEditorRemesasProveedor.actVolcarDiscoExecute(Sender: TObject); //var // ABancaController : IBancaElectronicaController; begin // inherited; // ABancaController := TBancaElectronicaController.Create; // try // ABancaController.GenerarFicheroNorma19(FRemesasProveedor.ID); // finally // ABancaController := NIL; // end; end; procedure TfEditorRemesasProveedor.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 TfEditorRemesasProveedor.AsignarVista; begin ViewGrid := CreateView(TfrViewRemesasProveedor) as IViewRemesasProveedor; end; constructor TfEditorRemesasProveedor.Create(AOwner: TComponent); begin inherited; AsignarVista; end; end.