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

172 lines
5.0 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 uEditorComisiones;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent,
JvNavigationPane, uViewComisiones, uBizComisiones, 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, uIEditorComisiones, uEditorGridBase,
JvComponentBase, uViewGridBase, uComisionesController, JvExComCtrls,
JvStatusBar;
type
TfEditorComisiones = class(TfEditorGridBase, IEditorComisiones)
N4: TMenuItem;
Volcaradisco1: TMenuItem;
TBXSubmenuItem2: TTBXSubmenuItem;
TBXItem38: TTBXItem;
procedure FormShow(Sender: TObject);
private
FComisiones: IBizComisiones;
FController : IComisionesController;
protected
function GetComisiones: IBizComisiones;
procedure SetComisiones(const Value: IBizComisiones);
function GetController : IComisionesController; virtual;
procedure SetController (const Value : IComisionesController); 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 Comisiones: IBizComisiones read GetComisiones write SetComisiones;
property Controller : IComisionesController read GetController write SetController;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
implementation
uses
uCustomEditor, uDataModuleComisiones, uDataModuleUsuarios,
//uEditorRemesaCliente,
uEditorDBBase, cxGrid, cxGridCustomTableView; //, uListaComisiones;
{$R *.dfm}
{
****************************** TfEditorComisiones *******************************
}
procedure TfEditorComisiones.FormShow(Sender: TObject);
begin
inherited;
if not Assigned(ViewGrid) then
raise Exception.Create('No hay ninguna vista asignada');
if not Assigned(Comisiones) then
raise Exception.Create('No hay ning<6E>n RemesaCliente asignado');
Comisiones.DataTable.Active := True;
ViewGrid.GotoFirst;
end;
function TfEditorComisiones.GetComisiones: IBizComisiones;
begin
Result := FComisiones;
end;
procedure TfEditorComisiones.ImprimirInterno;
begin
// inherited;
if (Application.MessageBox('<27>Desea previsualizar la liquidaci<63>n de comisiones sin desglosar?', 'Atenci<63>n', MB_YESNO) = IDYES) then
FController.Print(Nil, False)
else
FController.Print(Nil, True);
end;
function TfEditorComisiones.GetController: IComisionesController;
begin
Result := FController;
end;
procedure TfEditorComisiones.ModificarInterno;
begin
inherited;
FController.Ver(Comisiones);
end;
procedure TfEditorComisiones.NuevoInterno;
begin
inherited;
FController.Anadir(Comisiones);
FController.Ver(Comisiones);
end;
procedure TfEditorComisiones.PonerTitulos(const ATitulo: string);
var
FTitulo : String;
begin
FTitulo := 'Lista de liquidaciones de comisiones - ' + AppFactuGES.EmpresaActiva.NOMBRE;
inherited PonerTitulos(FTitulo);
end;
procedure TfEditorComisiones.PrevisualizarInterno;
begin
// inherited;
if (Application.MessageBox('<27>Desea previsualizar la liquidaci<63>n de comisiones sin desglosar?', 'Atenci<63>n', MB_YESNO) = IDYES) then
FController.Preview(Nil, False)
else
FController.Preview(Nil, True);
end;
procedure TfEditorComisiones.SetComisiones(const Value: IBizComisiones);
begin
FComisiones := Value;
dsDataTable.DataTable := FComisiones.DataTable;
if Assigned(ViewGrid) then
(ViewGrid as IViewComisiones).Comisiones := Comisiones;
end;
procedure TfEditorComisiones.SetController(const Value: IComisionesController);
begin
FController := Value;
end;
destructor TfEditorComisiones.Destroy;
begin
FComisiones := NIL;
FController := NIl;
inherited;
end;
procedure TfEditorComisiones.EliminarInterno;
begin
if (Application.MessageBox('<27>Desea borrar esta liquidaci<63>n de comisiones?', '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(Comisiones) then
actRefrescar.Execute;
end;
end;
procedure TfEditorComisiones.AsignarVista;
begin
ViewGrid := CreateView(TfrViewComisiones) as IViewComisiones;
end;
constructor TfEditorComisiones.Create(AOwner: TComponent);
begin
inherited;
AsignarVista;
end;
end.