unit uPluginContratosCliente; interface uses uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList, ImgList, Controls, PngImageList; type //CAMBIAR DE SITIO IMCContratosCliente = interface(IInterface) ['{40408746-83CA-42C9-A8BA-3EF26302163C}'] end; TPluginContratosCliente = class(TModuleController, IMCContratosCliente) actContratosCliente: TAction; ExtraImages: TPngImageList; LargeImages: TPngImageList; MainMenu: TMainMenu; ModuleActionList: TActionList; SmallImages: TPngImageList; Ventas1: TMenuItem; PresupuestosdeCliente1: TMenuItem; actInfContratos: TAction; procedure actContratosClienteExecute(Sender: TObject); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure VerPresupuestos(const ID_Cliente: Integer; const ANombreCliente : String = ''); end; implementation {$R *.dfm} uses Forms, Dialogs, SysUtils, cxControls, uFactuGES_App, uContratosClienteController, uBizContratosCliente, uContratosClienteViewRegister; function GetModule : TModuleController; begin Result := TPluginContratosCliente.Create(NIL); end; exports GetModule name GET_MODULE_FUNC; procedure TPluginContratosCliente.actContratosClienteExecute(Sender: TObject); var AContratosClienteController : IContratosClienteController; AContratosCliente : IBizContratoCliente; begin AContratosClienteController := TContratosClienteController.Create; AContratosCliente := AContratosClienteController.BuscarTodos; AContratosClienteController.VerTodos(AContratosCliente); end; constructor TPluginContratosCliente.Create(AOwner: TComponent); begin inherited; // ModuleName := MODULENAME_PRESUPUESTOS_CLIENTE; uContratosClienteViewRegister.RegisterViews; //Los usuarios SOLO PRESUPUESTOS verán solo clientes y presupuestos de la empresa asignada o todas if ((AppFactuGES.UsuarioActivo.ID_PERFIL >= CTE_PERFIL_PRESUPUESTOS_INI) and (AppFactuGES.UsuarioActivo.ID_PERFIL <= CTE_PERFIL_PRESUPUESTOS_FIN)) then begin actContratosCliente.Enabled := False; actContratosCliente.Visible := False; end; end; destructor TPluginContratosCliente.Destroy; begin uContratosClienteViewRegister.UnregisterViews; inherited; end; procedure TPluginContratosCliente.VerPresupuestos(const ID_Cliente: Integer; const ANombreCliente : String = ''); var AContratosClienteController : IContratosClienteController; AContratosCliente : IBizContratoCliente; AText : String; begin AText := Format('Lista de contratos del cliente %s', [ANombreCliente]); AContratosClienteController := TContratosClienteController.Create; try ShowHourglassCursor; try AContratosCliente := AContratosClienteController.BuscarTodos(ID_Cliente); finally HideHourglassCursor; end; AContratosClienteController.VerTodos(AContratosCliente, True, AText); finally AContratosCliente := NIL; AContratosClienteController := NIL; end; end; initialization RegisterModuleClass(TPluginContratosCliente); finalization UnRegisterModuleClass(TPluginContratosCliente); end.