AlonsoYSal_FactuGES2/Source/Modulos/Contabilidad/Plugin/uPluginContabilidad.pas
2020-02-10 10:32:15 +00:00

216 lines
6.6 KiB
ObjectPascal
Raw Blame History

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<65> 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<65> 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.