unit uPluginContabilidad; interface uses uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList, ImgList, Controls, PngImageList; type IMCContabilidad = interface(IInterface) ['{A88ED1C0-8E93-4721-9B8B-7268F13155B3}'] end; TPluginContabilidad = class(TModuleController, IMCContabilidad) actEpigrafes: TAction; ExtraImages: TPngImageList; LargeImages: TPngImageList; MainMenu: TMainMenu; ModuleActionList: TActionList; SmallImages: TPngImageList; Contabilidad1: TMenuItem; Epigrafes1: TMenuItem; N1: TMenuItem; actBalances: TAction; actCuentasEspeciales: TAction; Contabilidad2: TMenuItem; Balances1: TMenuItem; Cuentasespeciales1: TMenuItem; actCuentas: TAction; Cuentas1: TMenuItem; actSubCuentas: TAction; Subcuentas1: TMenuItem; actDiario: TAction; Asientos1: TMenuItem; actCajasBancos: TAction; CajasBancos1: TMenuItem; N2: TMenuItem; procedure actEpigrafesExecute(Sender: TObject); procedure actBalancesExecute(Sender: TObject); procedure actCuentasEspecialesExecute(Sender: TObject); procedure actCuentasExecute(Sender: TObject); procedure actSubCuentasExecute(Sender: TObject); procedure actDiarioExecute(Sender: TObject); procedure actCuentasUpdate(Sender: TObject); procedure actEpigrafesUpdate(Sender: TObject); procedure actBalancesUpdate(Sender: TObject); procedure actCuentasEspecialesUpdate(Sender: TObject); procedure actSubCuentasUpdate(Sender: TObject); procedure actDiarioUpdate(Sender: TObject); procedure actCajasBancosExecute(Sender: TObject); procedure actCajasBancosUpdate(Sender: TObject); public constructor Create(AOwner: TComponent); override; destructor Destroy; override; end; implementation {$R *.dfm} uses Forms, Dialogs, SysUtils, uFactuGES_App, uEpigrafesController, uBalancesController, uCuentasEspecialesController, uCuentasController, uSubCuentasController, uAsientosController, uBizEpigrafes, uBizBalances, uBizCuentasEspeciales, uBizCuentas, uBizSubCuentas, uBizAsientos, uBizDiario, uContabilidadViewRegister; function GetModule : TModuleController; begin Result := TPluginContabilidad.Create(NIL); end; exports GetModule name GET_MODULE_FUNC; procedure TPluginContabilidad.actDiarioExecute(Sender: TObject); var AAsientosController : IAsientosController; ADiario : IBizDiario; begin AAsientosController := TAsientosController.Create; ADiario := (AAsientosController.BuscarAsientos as IBizDiario); AAsientosController.VerDiario(ADiario); end; procedure TPluginContabilidad.actDiarioUpdate(Sender: TObject); begin (Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo); end; procedure TPluginContabilidad.actBalancesExecute(Sender: TObject); var ABalancesController : IBalancesController; ABalances : IBizBalance; begin ABalancesController := TBalancesController.Create; ABalances := (ABalancesController.BuscarTodos as IBizBalance); ABalancesController.VerTodos(ABalances); end; procedure TPluginContabilidad.actBalancesUpdate(Sender: TObject); begin (Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo); end; procedure TPluginContabilidad.actCajasBancosExecute(Sender: TObject); var AAsientosController : IAsientosController; // ADiario : IBizDiario; begin AAsientosController := TAsientosController.Create; // ADiario := (AAsientosController.BuscarAsientos as IBizDiario); AAsientosController.VerExtracto; //(ADiario); end; procedure TPluginContabilidad.actCajasBancosUpdate(Sender: TObject); begin (Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo); end; procedure TPluginContabilidad.actCuentasEspecialesExecute(Sender: TObject); var ACuentasEspecialesController : ICuentasEspecialesController; ACuentasEspeciales : IBizCuentaEspecial; begin ACuentasEspecialesController := TCuentasEspecialesController.Create; ACuentasEspeciales := (ACuentasEspecialesController.BuscarTodos as IBizCuentaEspecial); ACuentasEspecialesController.VerTodos(ACuentasEspeciales); end; procedure TPluginContabilidad.actCuentasEspecialesUpdate(Sender: TObject); begin (Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo); end; procedure TPluginContabilidad.actCuentasExecute(Sender: TObject); var ACuentasController : ICuentasController; ACuentas : IBizCuenta; begin ACuentasController := TCuentasController.Create; ACuentas := (ACuentasController.BuscarTodos as IBizCuenta); ACuentasController.VerTodos(ACuentas); end; procedure TPluginContabilidad.actCuentasUpdate(Sender: TObject); begin (Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo); end; procedure TPluginContabilidad.actEpigrafesExecute(Sender: TObject); var AEpigrafesController : IEpigrafesController; AEpigrafes : IBizEpigrafe; begin AEpigrafesController := TEpigrafesController.Create; AEpigrafes := (AEpigrafesController.BuscarTodos as IBizEpigrafe); AEpigrafesController.VerTodos(AEpigrafes); end; procedure TPluginContabilidad.actEpigrafesUpdate(Sender: TObject); begin (Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo); end; procedure TPluginContabilidad.actSubCuentasExecute(Sender: TObject); var ASubCuentasController : ISubCuentasController; ASubCuentas : IBizSubCuenta; begin ASubCuentasController := TSubcuentasController.Create; ASubCuentas := (ASubCuentasController.BuscarTodos as IBizSubCuenta); ASubCuentasController.VerTodos(ASubCuentas); end; procedure TPluginContabilidad.actSubCuentasUpdate(Sender: TObject); begin (Sender as TAction).Enabled := Assigned(AppFactuGES.EjercicioActivo); end; constructor TPluginContabilidad.Create(AOwner: TComponent); begin inherited; uContabilidadViewRegister.RegisterViews; //Solo lo verá el perfil Administrador if (AppFactuGES.UsuarioActivo.ID_PERFIL <> CTE_PERFIL_ADMINISTRADOR) then begin actSubCuentas.Visible := False; actCuentas.Visible := False; end; //El usuario vendedor y logistica será restringido if ((AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PREFIL_LOGISTICA) OR (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR)) then begin actCuentasEspeciales.Visible := False; actBalances.Visible := False; end; end; destructor TPluginContabilidad.Destroy; begin uContabilidadViewRegister.UnregisterViews; inherited; end; initialization RegisterModuleClass(TPluginContabilidad); finalization UnRegisterModuleClass(TPluginContabilidad); end.