2011-11-14 17:40:41 +00:00
|
|
|
|
unit uPantallaPrincipal;
|
|
|
|
|
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
|
Windows, Forms, SysUtils, Messages, JvMenus, Menus, Graphics, AppEvnts,
|
|
|
|
|
|
JvAppStorage, JvAppRegistryStorage, JvFormPlacement, JvComponentBase,
|
|
|
|
|
|
JvNavigationPane, ImgList, Controls, PngImageList, Classes, ActnList, XPMan,
|
|
|
|
|
|
TBXStatusBars, JvXPCore, JvXPContainer, pngimage, ExtCtrls, StdCtrls,
|
|
|
|
|
|
JvPageList, JvExControls, JvExExtCtrls, JvSplitter, JvSyncSplitter,
|
|
|
|
|
|
TBXDkPanels, uCustomEditor, uHostManager, uGUIBase,
|
|
|
|
|
|
Dialogs, cxLocalization;
|
|
|
|
|
|
|
|
|
|
|
|
type
|
|
|
|
|
|
IMainForm = interface(IHostForm)
|
|
|
|
|
|
['{7F6F5574-5E5C-486C-AA24-D3AEAA52D243}']
|
|
|
|
|
|
procedure ReleaseEmbedded;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TfPantallaPrincipal = class(TForm, IHostForm, IMainForm)
|
|
|
|
|
|
GeneralActionList: TActionList;
|
|
|
|
|
|
ModulesSmallImageList: TPngImageList;
|
|
|
|
|
|
XPManifest1: TXPManifest;
|
|
|
|
|
|
actSalir: TAction;
|
|
|
|
|
|
ModulesActionList: TActionList;
|
|
|
|
|
|
ModulesLargeImageList: TPngImageList;
|
|
|
|
|
|
pnlContenido: TTBXAlignmentPanel;
|
|
|
|
|
|
JvNavigationPane: TJvNavigationPane;
|
|
|
|
|
|
pnlMain: TTBXAlignmentPanel;
|
|
|
|
|
|
JvSyncSplitter1: TJvSyncSplitter;
|
|
|
|
|
|
actLogin: TAction;
|
|
|
|
|
|
StyleManagerButtons: TJvNavPaneStyleManager;
|
|
|
|
|
|
JvFormStorage: TJvFormStorage;
|
|
|
|
|
|
JvAppRegistryStorage: TJvAppRegistryStorage;
|
|
|
|
|
|
actAdministracion: TAction;
|
|
|
|
|
|
ApplicationEvents: TApplicationEvents;
|
|
|
|
|
|
actCambiarPass: TAction;
|
|
|
|
|
|
actConexion: TAction;
|
|
|
|
|
|
actAcerca: TAction;
|
|
|
|
|
|
pnlBorde: TJvXPContainer;
|
2012-07-30 17:08:39 +00:00
|
|
|
|
HostMenu: TMainMenu;
|
2011-11-14 17:40:41 +00:00
|
|
|
|
Archivo2_OLD: TMenuItem;
|
|
|
|
|
|
Ayuda2_OLD: TMenuItem;
|
|
|
|
|
|
Cambiarmicontrasea2_OLD: TMenuItem;
|
|
|
|
|
|
N3_OLD: TMenuItem;
|
|
|
|
|
|
Configurarconexin2_OLD: TMenuItem;
|
|
|
|
|
|
Paneldeadministracin2_OLD: TMenuItem;
|
|
|
|
|
|
N4_OLD: TMenuItem;
|
|
|
|
|
|
Salir2_OLD: TMenuItem;
|
|
|
|
|
|
Acercade2_OLD: TMenuItem;
|
|
|
|
|
|
lblBienvenido: TLabel;
|
|
|
|
|
|
Label22: TLabel;
|
|
|
|
|
|
TBXStatusBar1: TTBXStatusBar;
|
|
|
|
|
|
StatusPanelImageList: TPngImageList;
|
|
|
|
|
|
Empresa1_OLD: TMenuItem;
|
|
|
|
|
|
Listadeempresas1_OLD: TMenuItem;
|
|
|
|
|
|
Opciones1_OLD: TMenuItem;
|
|
|
|
|
|
Edicin1_OLD: TMenuItem;
|
|
|
|
|
|
N1: TMenuItem;
|
|
|
|
|
|
Compras1: TMenuItem;
|
|
|
|
|
|
Ventas1: TMenuItem;
|
|
|
|
|
|
actMenuCompras: TAction;
|
|
|
|
|
|
actMenuLogistica: TAction;
|
|
|
|
|
|
actMenuVentas: TAction;
|
|
|
|
|
|
Logistica1: TMenuItem;
|
|
|
|
|
|
pagInicio: TJvNavPanelPage;
|
|
|
|
|
|
Panel1: TPanel;
|
|
|
|
|
|
Label1: TLabel;
|
|
|
|
|
|
Image1: TImage;
|
|
|
|
|
|
actVerPanel: TAction;
|
|
|
|
|
|
actVerBarraEstado: TAction;
|
|
|
|
|
|
Paneldeexploracin1: TMenuItem;
|
|
|
|
|
|
Paneldeexploracin2: TMenuItem;
|
|
|
|
|
|
Informacindeempresa1: TMenuItem;
|
|
|
|
|
|
Administracin1: TMenuItem;
|
|
|
|
|
|
N2: TMenuItem;
|
|
|
|
|
|
Usuarios1: TMenuItem;
|
|
|
|
|
|
Perfiles1: TMenuItem;
|
|
|
|
|
|
N3: TMenuItem;
|
|
|
|
|
|
N4: TMenuItem;
|
|
|
|
|
|
Datos1: TMenuItem;
|
|
|
|
|
|
N5: TMenuItem;
|
|
|
|
|
|
N6: TMenuItem;
|
|
|
|
|
|
N7: TMenuItem;
|
|
|
|
|
|
N8: TMenuItem;
|
|
|
|
|
|
N9: TMenuItem;
|
|
|
|
|
|
N10: TMenuItem;
|
|
|
|
|
|
Contabilidad1: TMenuItem;
|
|
|
|
|
|
actConfigurar: TAction;
|
|
|
|
|
|
ConfigurarFactuGES1: TMenuItem;
|
|
|
|
|
|
actMenuContabilidad: TAction;
|
|
|
|
|
|
actMenuEmpresa: TAction;
|
|
|
|
|
|
Informes1: TMenuItem;
|
|
|
|
|
|
actMenuInformes: TAction;
|
|
|
|
|
|
actInformacionEmpresa: TAction;
|
|
|
|
|
|
cxLocalizer1: TcxLocalizer;
|
|
|
|
|
|
procedure FormCreate(Sender: TObject);
|
|
|
|
|
|
procedure Salir1Click(Sender: TObject);
|
|
|
|
|
|
procedure actSalirExecute(Sender: TObject);
|
|
|
|
|
|
procedure actCambiarPassExecute(Sender: TObject);
|
|
|
|
|
|
procedure actAcercaExecute(Sender: TObject);
|
|
|
|
|
|
procedure actConexionExecute(Sender: TObject);
|
|
|
|
|
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
|
|
|
|
procedure JvNavigationPaneChange(Sender: TObject);
|
|
|
|
|
|
procedure ApplicationEventsException(Sender: TObject; E: Exception);
|
|
|
|
|
|
procedure actMenuComprasExecute(Sender: TObject);
|
|
|
|
|
|
procedure actMenuComprasUpdate(Sender: TObject);
|
|
|
|
|
|
procedure actMenuLogisticaExecute(Sender: TObject);
|
|
|
|
|
|
procedure actMenuVentasExecute(Sender: TObject);
|
|
|
|
|
|
procedure actActualizacionesExecute(Sender: TObject);
|
|
|
|
|
|
procedure actVerPanelUpdate(Sender: TObject);
|
|
|
|
|
|
procedure actVerPanelExecute(Sender: TObject);
|
|
|
|
|
|
procedure actVerBarraEstadoUpdate(Sender: TObject);
|
|
|
|
|
|
procedure actVerBarraEstadoExecute(Sender: TObject);
|
|
|
|
|
|
procedure Acercade1Click(Sender: TObject);
|
|
|
|
|
|
procedure Usuarios1Click(Sender: TObject);
|
|
|
|
|
|
procedure Perfiles1Click(Sender: TObject);
|
|
|
|
|
|
procedure FormShow(Sender: TObject);
|
|
|
|
|
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
|
|
|
procedure actConfigurarExecute(Sender: TObject);
|
|
|
|
|
|
procedure actMenuContabilidadExecute(Sender: TObject);
|
|
|
|
|
|
procedure actMenuEmpresaExecute(Sender: TObject);
|
|
|
|
|
|
procedure actMenuInformesExecute(Sender: TObject);
|
|
|
|
|
|
procedure Listadeempresas1_OLDClick(Sender: TObject);
|
|
|
|
|
|
procedure actInformacionEmpresaExecute(Sender: TObject);
|
|
|
|
|
|
private
|
|
|
|
|
|
FContenido : TCustomEditor;
|
|
|
|
|
|
procedure ShowEmbedded(AEditor : ICustomEditor);
|
|
|
|
|
|
procedure ReleaseEmbedded;
|
|
|
|
|
|
procedure AplicarPerfil;
|
|
|
|
|
|
procedure InicializarUI;
|
|
|
|
|
|
procedure CargarIdioma;
|
|
|
|
|
|
procedure OnThemeChange(Sender: TObject);
|
|
|
|
|
|
procedure ExecuteActionMenu(Sender : TObject);
|
|
|
|
|
|
//procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
|
|
|
|
|
|
protected
|
|
|
|
|
|
function GetWorkPanel : TWinControl;
|
|
|
|
|
|
procedure CreateParams(var Params: TCreateParams);
|
|
|
|
|
|
public
|
|
|
|
|
|
procedure RefrescarUI;
|
|
|
|
|
|
function IsShortcut(var Message: TWMKey): Boolean; override;
|
|
|
|
|
|
procedure OnWorkPanelChanged(AEditor : ICustomEditor);
|
|
|
|
|
|
constructor Create(AOwner: TComponent); override;
|
|
|
|
|
|
property WorkPanel : TWinControl read GetWorkPanel;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
var
|
|
|
|
|
|
fPantallaPrincipal: TfPantallaPrincipal;
|
|
|
|
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
{$INCLUDE ..\FactuGES.inc}
|
|
|
|
|
|
|
|
|
|
|
|
uses
|
|
|
|
|
|
uSplash, uAcercaDe, UxTheme, Themes, uMenuUtils, uBizEmpresas,
|
|
|
|
|
|
uFactuGES_App, uDMBase, uDataModuleConexion,
|
|
|
|
|
|
uModuleController, uMainMenuController, uNavPaneController,
|
|
|
|
|
|
uDialogUtils, cxControls;
|
|
|
|
|
|
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
***************************** TfPantallaPrincipal ******************************
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.FormClose(Sender: TObject; var Action: TCloseAction);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//Tiene que ser en este m<>todo porque salta antes que liberar la aplicaci<63>n, si lo dejamos
|
|
|
|
|
|
//en el evento onDestroy no le da tiempo a liberar el contenido y se pone a liberar la aplicaci<63>n
|
|
|
|
|
|
//provocando un error de memoria
|
|
|
|
|
|
ReleaseEmbedded;
|
|
|
|
|
|
ApplicationEvents.CancelDispatch;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.FormCloseQuery(Sender: TObject;
|
|
|
|
|
|
var CanClose: Boolean);
|
|
|
|
|
|
begin
|
|
|
|
|
|
CanClose := True;
|
|
|
|
|
|
if Assigned(FContenido) then
|
|
|
|
|
|
CanClose := FContenido.CloseQuery;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.FormCreate(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
ApplicationEvents.Activate;
|
|
|
|
|
|
Application.Title := AppFactuGES.AppName + ' ' + AppFactuGES.AppVersion;
|
|
|
|
|
|
Caption := Application.Title;
|
|
|
|
|
|
|
|
|
|
|
|
JvNavigationPane.StyleManager := dmBase.StyleManager;
|
|
|
|
|
|
dmBase.OnThemeChange := Self.OnThemeChange;
|
|
|
|
|
|
Self.OnThemeChange(Self); // Forzar el refresco de los colores del tema activo
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.FormShow(Sender: TObject);
|
|
|
|
|
|
begin
|
2023-05-05 07:42:51 +00:00
|
|
|
|
//El usuario vendedor de graden solo podr<64> ver ventas y caja (Graden-Vendedor(2))
|
2023-02-10 17:16:11 +00:00
|
|
|
|
if (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR_GRADEN)
|
2023-03-28 15:45:30 +00:00
|
|
|
|
or (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR_MARBELLA)
|
2023-04-25 16:40:44 +00:00
|
|
|
|
or (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR_DONOSTI)
|
|
|
|
|
|
or (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_VENDEDOR_GRADEN_UECKO) then
|
2017-02-20 14:49:58 +00:00
|
|
|
|
begin
|
|
|
|
|
|
Compras1.Enabled := False;
|
|
|
|
|
|
Compras1.Visible := False;
|
2022-03-12 10:40:36 +00:00
|
|
|
|
Logistica1.Enabled := False;
|
|
|
|
|
|
Logistica1.Visible := False;
|
2023-04-25 16:40:44 +00:00
|
|
|
|
ConfigurarFactuGES1.Enabled := False;
|
|
|
|
|
|
ConfigurarFactuGES1.Visible := False;
|
2020-02-25 18:05:39 +00:00
|
|
|
|
end
|
2023-05-05 07:42:51 +00:00
|
|
|
|
//El usuario normal de uecko solo no ver<65> contabilidad
|
2020-02-25 18:05:39 +00:00
|
|
|
|
else if (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_USUARIO) then
|
|
|
|
|
|
begin
|
2022-03-12 10:40:36 +00:00
|
|
|
|
Contabilidad1.Enabled := False;
|
|
|
|
|
|
Contabilidad1.Visible := False;
|
2023-04-25 16:40:44 +00:00
|
|
|
|
ConfigurarFactuGES1.Enabled := False;
|
|
|
|
|
|
ConfigurarFactuGES1.Visible := False;
|
2022-03-12 10:40:36 +00:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
//El usuario COMPRAS
|
|
|
|
|
|
if (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_COMPRAS) then
|
|
|
|
|
|
begin
|
2020-02-25 18:05:39 +00:00
|
|
|
|
Contabilidad1.Enabled := False;
|
|
|
|
|
|
Contabilidad1.Visible := False;
|
2022-03-12 10:40:36 +00:00
|
|
|
|
Ventas1.Enabled := False;
|
|
|
|
|
|
Ventas1.Visible := False;
|
2023-04-25 16:40:44 +00:00
|
|
|
|
ConfigurarFactuGES1.Enabled := False;
|
|
|
|
|
|
ConfigurarFactuGES1.Visible := False;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
//El usuario GERENCIA)
|
|
|
|
|
|
if (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_GERENCIA)
|
|
|
|
|
|
or (AppFactuGES.UsuarioActivo.ID_PERFIL = CTE_PERFIL_ADMINISTRADOR) then
|
|
|
|
|
|
begin
|
|
|
|
|
|
Informes1.Enabled := True;
|
|
|
|
|
|
Informes1.Visible := True;
|
|
|
|
|
|
end
|
|
|
|
|
|
else
|
|
|
|
|
|
begin
|
|
|
|
|
|
Informes1.Enabled := False;
|
|
|
|
|
|
Informes1.Visible := False;
|
2017-02-20 14:49:58 +00:00
|
|
|
|
end;
|
|
|
|
|
|
|
2022-03-12 10:40:36 +00:00
|
|
|
|
|
2011-11-14 17:40:41 +00:00
|
|
|
|
InicializarUI;
|
2016-11-10 17:05:04 +00:00
|
|
|
|
|
2017-02-20 14:49:58 +00:00
|
|
|
|
//Solo ver<65> administracion de usuarios el perfil Administrador(3), est<73>n en la tabla usuarios
|
2019-07-21 19:40:15 +00:00
|
|
|
|
if (AppFactuGES.UsuarioActivo.ID_PERFIL <> CTE_PERFIL_ADMINISTRADOR) then
|
2016-11-10 17:05:04 +00:00
|
|
|
|
begin
|
|
|
|
|
|
// Perfiles1.Visible := False;
|
|
|
|
|
|
Administracin1.Visible := False;
|
|
|
|
|
|
end;
|
2017-02-20 14:49:58 +00:00
|
|
|
|
|
2011-11-14 17:40:41 +00:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.RefrescarUI;
|
|
|
|
|
|
var
|
|
|
|
|
|
ATitulo : String;
|
|
|
|
|
|
i: Integer;
|
|
|
|
|
|
begin
|
|
|
|
|
|
ATitulo := AppFactuGES.GetAppFullName;
|
|
|
|
|
|
|
|
|
|
|
|
if Assigned(AppFactuGES.EmpresaActiva) then
|
2023-02-10 17:16:11 +00:00
|
|
|
|
begin
|
2011-11-14 17:40:41 +00:00
|
|
|
|
ATitulo := AppFactuGES.EmpresaActiva.NOMBRE + ' - ' + ATitulo;
|
|
|
|
|
|
|
2023-02-10 17:16:11 +00:00
|
|
|
|
actMenuLogistica.Enabled := AppFactuGES.EmpresaActiva.ID = CTE_EMPRESA_ABETO;
|
|
|
|
|
|
actMenuLogistica.Visible := AppFactuGES.EmpresaActiva.ID = CTE_EMPRESA_ABETO;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-11-14 17:40:41 +00:00
|
|
|
|
Application.Title := ATitulo;
|
|
|
|
|
|
Caption := Application.Title;
|
|
|
|
|
|
|
|
|
|
|
|
if dmConexion.HayConexion then
|
|
|
|
|
|
TBXStatusBar1.Panels[0].Caption := 'Conectado a: ' + dmConexion.TargetURL
|
|
|
|
|
|
else
|
|
|
|
|
|
TBXStatusBar1.Panels[0].Caption := 'Desconectado';
|
|
|
|
|
|
|
|
|
|
|
|
if Assigned(AppFactuGES.UsuarioActivo) then
|
|
|
|
|
|
TBXStatusBar1.Panels[1].Caption := AppFactuGES.UsuarioActivo.UserName
|
|
|
|
|
|
else
|
|
|
|
|
|
TBXStatusBar1.Panels[1].Caption := '';
|
|
|
|
|
|
|
|
|
|
|
|
if Assigned(AppFactuGES.TiendaActiva) then
|
|
|
|
|
|
TBXStatusBar1.Panels[2].Caption := AppFactuGES.TiendaActiva.NOMBRE
|
|
|
|
|
|
else
|
|
|
|
|
|
TBXStatusBar1.Panels[2].Caption := 'Sin tienda por defecto';
|
|
|
|
|
|
|
|
|
|
|
|
// Comprobar que el panel lateral tiene la empresa activa
|
|
|
|
|
|
if Assigned(AppFactuGES.EmpresaActiva) then
|
|
|
|
|
|
for i := 0 to JvNavigationPane.PageCount - 1 do
|
|
|
|
|
|
if (JvNavigationPane.Pages[i].Tag = AppFactuGES.EmpresaActiva.ID) and
|
|
|
|
|
|
(JvNavigationPane.ActivePageIndex <> i) then
|
|
|
|
|
|
JvNavigationPane.ActivePageIndex := i;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.ReleaseEmbedded;
|
|
|
|
|
|
begin
|
|
|
|
|
|
if Assigned(FContenido) then
|
|
|
|
|
|
FContenido.Release;
|
|
|
|
|
|
FContenido := Nil;
|
|
|
|
|
|
Application.ProcessMessages;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.Salir1Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
Close;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actSalirExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
Close;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actMenuVentasExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actVerBarraEstadoExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
TBXStatusBar1.Visible := not TBXStatusBar1.Visible;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actVerBarraEstadoUpdate(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
(Sender as TAction).Checked := TBXStatusBar1.Visible;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actVerPanelExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
JvNavigationPane.Visible := not JvNavigationPane.Visible;
|
|
|
|
|
|
if (JvNavigationPane.Visible) and (JvNavigationPane.Width = 0) then
|
|
|
|
|
|
JvNavigationPane.Width := 210;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actVerPanelUpdate(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
(Sender as TAction).Checked := JvNavigationPane.Visible and (JvNavigationPane.Width > 0);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.OnThemeChange(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
LockWindowUpdate(Handle);
|
|
|
|
|
|
try
|
|
|
|
|
|
Color := dmBase.StyleManager.Colors.DividerColorTo;
|
|
|
|
|
|
pnlBorde.BoundColor := dmBase.StyleManager.Colors.FrameColor;
|
|
|
|
|
|
with StyleManagerButtons do
|
|
|
|
|
|
begin
|
|
|
|
|
|
Colors.ButtonColorFrom := clWindow;
|
|
|
|
|
|
Colors.ButtonColorTo := clWindow;
|
|
|
|
|
|
Colors.ButtonSeparatorColor := clWindow;
|
|
|
|
|
|
Colors.SplitterColorFrom := clWindow;
|
|
|
|
|
|
Colors.SplitterColorTo := clWindow;
|
|
|
|
|
|
Colors.DividerColorFrom := clWindow;
|
|
|
|
|
|
Colors.DividerColorTo := clWindow;
|
|
|
|
|
|
Colors.HeaderColorFrom := clWindow;
|
|
|
|
|
|
Colors.HeaderColorTo := clWindow;
|
|
|
|
|
|
Colors.FrameColor := clWindow;
|
|
|
|
|
|
Colors.ToolPanelHeaderColorFrom := clWindow;
|
|
|
|
|
|
Colors.ToolPanelHeaderColorTo := clWindow;
|
|
|
|
|
|
|
|
|
|
|
|
Colors.ButtonHotColorFrom := dmBase.StyleManager.Colors.ButtonHotColorFrom;
|
|
|
|
|
|
Colors.ButtonHotColorTo := dmBase.StyleManager.Colors.ButtonHotColorTo;
|
|
|
|
|
|
|
|
|
|
|
|
Colors.ButtonSelectedColorFrom := dmBase.StyleManager.Colors.ButtonSelectedColorFrom;
|
|
|
|
|
|
Colors.ButtonSelectedColorTo := dmBase.StyleManager.Colors.ButtonSelectedColorTo;
|
|
|
|
|
|
end;
|
|
|
|
|
|
lblBienvenido.Font.Color := JvNavigationPane.Colors.ButtonColorTo;
|
|
|
|
|
|
finally
|
|
|
|
|
|
LockWindowUpdate(0);
|
|
|
|
|
|
Refresh;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
function TfPantallaPrincipal.GetWorkPanel: TWinControl;
|
|
|
|
|
|
begin
|
|
|
|
|
|
Result := pnlMain;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.InicializarUI;
|
|
|
|
|
|
var
|
|
|
|
|
|
AListaEmpresas : IBizEmpresa;
|
|
|
|
|
|
i : Integer;
|
|
|
|
|
|
begin
|
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
|
try
|
|
|
|
|
|
CargarIdioma;
|
|
|
|
|
|
|
|
|
|
|
|
for i := 0 to AppFactuGES.ModuleManager.ModulesCount - 1 do
|
|
|
|
|
|
MainMenuController.RegisterModule(AppFactuGES.ModuleManager.Modules[i]);
|
|
|
|
|
|
|
|
|
|
|
|
MainMenuController.SortMenuByTag;
|
|
|
|
|
|
MainMenuController.InitMainMenu;
|
|
|
|
|
|
|
|
|
|
|
|
for i := 0 to AppFactuGES.ModuleManager.ModulesCount - 1 do
|
|
|
|
|
|
NavPaneController.RegisterModule(AppFactuGES.ModuleManager.Modules[i]);
|
|
|
|
|
|
|
|
|
|
|
|
NavPaneController.InitNavPane;
|
|
|
|
|
|
|
|
|
|
|
|
try
|
2016-11-10 17:05:04 +00:00
|
|
|
|
AListaEmpresas := AppFactuGES.EmpresasController.BuscarTodos(AppFactuGES.UsuarioActivo.ID_PERFIL);
|
2011-11-14 17:40:41 +00:00
|
|
|
|
if Assigned(AListaEmpresas) then
|
|
|
|
|
|
begin
|
|
|
|
|
|
AListaEmpresas.Active := True;
|
|
|
|
|
|
if AListaEmpresas.RecordCount > 0 then
|
|
|
|
|
|
begin
|
|
|
|
|
|
// Oculto la p<>gina de inicio cuando
|
|
|
|
|
|
// se pueden manejar varias empresas.
|
|
|
|
|
|
JvNavigationPane.ActivePageIndex := 1;
|
|
|
|
|
|
pagInicio.PageList := NIL;
|
|
|
|
|
|
pagInicio.Visible := False;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
finally
|
|
|
|
|
|
AListaEmpresas.Close;
|
|
|
|
|
|
AListaEmpresas := NIL;
|
|
|
|
|
|
end;
|
|
|
|
|
|
RefrescarUI;
|
|
|
|
|
|
finally
|
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actMenuComprasExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actMenuComprasUpdate(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
(Sender as TAction).Enabled := Assigned(AppFactuGES.EmpresaActiva);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actMenuContabilidadExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actMenuEmpresaExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actMenuInformesExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actMenuLogisticaExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.ExecuteActionMenu(Sender: TObject);
|
|
|
|
|
|
var
|
|
|
|
|
|
i : integer;
|
|
|
|
|
|
begin
|
|
|
|
|
|
for i := 0 to JvNavigationPane.PageCount - 1 do
|
|
|
|
|
|
begin
|
|
|
|
|
|
if JvNavigationPane.NavPages[i].Caption = (Sender as TAction).Caption then
|
|
|
|
|
|
begin
|
|
|
|
|
|
JvNavigationPane.ActivePageIndex := i;
|
|
|
|
|
|
Break;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.AplicarPerfil;
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.ApplicationEventsException(Sender: TObject;
|
|
|
|
|
|
E: Exception);
|
|
|
|
|
|
begin
|
|
|
|
|
|
{ if E is EROSessionNotFound then
|
|
|
|
|
|
begin
|
|
|
|
|
|
// OJOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
|
|
|
|
|
|
if not dmUsuarios.Login then
|
|
|
|
|
|
ShowMessage(E.Message);
|
|
|
|
|
|
end
|
|
|
|
|
|
else}
|
|
|
|
|
|
ShowMessage(E.Message);
|
|
|
|
|
|
//ShowErrorMessage('Se ha producido un error', '', E);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.OnWorkPanelChanged(AEditor: ICustomEditor);
|
|
|
|
|
|
begin
|
|
|
|
|
|
//
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.Perfiles1Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
AppFactuGES.UsuariosController.VerPerfiles
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.ShowEmbedded(AEditor: ICustomEditor);
|
|
|
|
|
|
begin
|
|
|
|
|
|
if Assigned(FContenido) and not FContenido.CloseQuery then
|
|
|
|
|
|
begin
|
|
|
|
|
|
AEditor.Release;
|
|
|
|
|
|
AEditor := NIL;
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
ShowHourglassCursor;
|
|
|
|
|
|
LockWindowUpdate(Handle);
|
|
|
|
|
|
ReleaseEmbedded;
|
|
|
|
|
|
try
|
|
|
|
|
|
FContenido := TCustomEditor(AEditor.GetInstance);
|
|
|
|
|
|
with (FContenido) do
|
|
|
|
|
|
begin
|
|
|
|
|
|
Visible := False;
|
|
|
|
|
|
BorderIcons := [];
|
|
|
|
|
|
BorderStyle := bsNone;
|
|
|
|
|
|
Parent := WorkPanel;
|
|
|
|
|
|
FContenido.Show;
|
|
|
|
|
|
Align := alClient;
|
|
|
|
|
|
FContenido.SetFocus;
|
|
|
|
|
|
end;
|
|
|
|
|
|
finally
|
|
|
|
|
|
Application.ProcessMessages;
|
|
|
|
|
|
LockWindowUpdate(0);
|
|
|
|
|
|
HideHourglassCursor;
|
|
|
|
|
|
end;
|
|
|
|
|
|
OnWorkPanelChanged(FContenido);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.Usuarios1Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
AppFactuGES.UsuariosController.VerUsuarios
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
{procedure TfPantallaPrincipal.WMSysCommand(var Msg: TWMSysCommand);
|
|
|
|
|
|
begin}
|
|
|
|
|
|
// sirve para recuperar el foco el formulario principal cuando
|
|
|
|
|
|
// tenemos varios formularios hijos abiertos a la vez.
|
|
|
|
|
|
{ case (Msg.cmdtype and $FFF0) of
|
|
|
|
|
|
SC_MINIMIZE: begin
|
|
|
|
|
|
ShowWindow(handle, SW_MINIMIZE);
|
|
|
|
|
|
Msg.result := 0;
|
|
|
|
|
|
end;
|
|
|
|
|
|
SC_RESTORE: begin
|
|
|
|
|
|
ShowWindow(handle, SW_RESTORE);
|
|
|
|
|
|
Msg.result := 0;
|
|
|
|
|
|
end;
|
|
|
|
|
|
else
|
|
|
|
|
|
DefaultHandler(Msg);
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;}
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.CargarIdioma;
|
|
|
|
|
|
begin
|
|
|
|
|
|
cxLocalizer1.LoadFromFile(ExtractFilePath(Application.ExeName) + '\languages.ini');
|
|
|
|
|
|
cxLocalizer1.Locale := 1034; // C<>digo para castellano
|
|
|
|
|
|
cxLocalizer1.Translate;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
constructor TfPantallaPrincipal.Create(AOwner: TComponent);
|
|
|
|
|
|
begin
|
|
|
|
|
|
inherited;
|
|
|
|
|
|
|
|
|
|
|
|
{$IFDEF MULTIEMPRESA}
|
|
|
|
|
|
//
|
|
|
|
|
|
{$ELSE}
|
|
|
|
|
|
Listadeempresas1_OLD.Destroy;
|
|
|
|
|
|
{$ENDIF}
|
|
|
|
|
|
|
|
|
|
|
|
FContenido := NIL;
|
|
|
|
|
|
|
|
|
|
|
|
with AppFactuGES.ModuleManager do
|
|
|
|
|
|
begin
|
|
|
|
|
|
MainMenu := Self.Menu;
|
|
|
|
|
|
MainForm := Self;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
with NavPaneController do
|
|
|
|
|
|
begin
|
|
|
|
|
|
SmallImages := ModulesSmallImageList;
|
|
|
|
|
|
LargeImages := ModulesLargeImageList;
|
|
|
|
|
|
NavigationPane := JvNavigationPane;
|
|
|
|
|
|
MainForm := Self;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
with MainMenuController do
|
|
|
|
|
|
begin
|
|
|
|
|
|
SmallImages := ModulesSmallImageList;
|
|
|
|
|
|
LargeImages := ModulesLargeImageList;
|
|
|
|
|
|
MainMenu := HostMenu;
|
|
|
|
|
|
MainForm := Self;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.CreateParams(var Params: TCreateParams);
|
|
|
|
|
|
begin
|
|
|
|
|
|
{ <EFBFBD><EFBFBD><EFBFBD>No quitar este procedimiento aunque no haga nada!!!!!
|
|
|
|
|
|
Si se quita, esta pantalla principal se queda en el fondo
|
|
|
|
|
|
despu<EFBFBD>s de desaparecer la pantalla de login. }
|
|
|
|
|
|
inherited CreateParams(Params);
|
|
|
|
|
|
end;
|
|
|
|
|
|
procedure TfPantallaPrincipal.actActualizacionesExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
{ fActualizacion := TfActualizacion.Create(Self);
|
|
|
|
|
|
try
|
|
|
|
|
|
fActualizacion.ShowModal;
|
|
|
|
|
|
finally
|
|
|
|
|
|
FreeAndNil(fActualizacion);
|
|
|
|
|
|
end;}
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actCambiarPassExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
AppFactuGES.UsuariosController._ShowChangePassword;
|
|
|
|
|
|
RefrescarUI;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.Acercade1Click(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
AppFactuGES.UsuariosController.StartLogin;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actAcercaExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
with TfAcercaDe.Create(NIL) do
|
|
|
|
|
|
try
|
|
|
|
|
|
HostManager := AppFactuGES.ModuleManager;
|
|
|
|
|
|
ShowModal;
|
|
|
|
|
|
finally
|
|
|
|
|
|
Free;
|
|
|
|
|
|
end;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
function TfPantallaPrincipal.IsShortcut(var Message: TWMKey): Boolean;
|
|
|
|
|
|
Var
|
|
|
|
|
|
ctrl: TWinControl;
|
|
|
|
|
|
comp: TComponent;
|
|
|
|
|
|
i: Integer;
|
|
|
|
|
|
Begin
|
|
|
|
|
|
ctrl := ActiveControl;
|
|
|
|
|
|
If ctrl <> Nil Then Begin
|
|
|
|
|
|
Repeat
|
|
|
|
|
|
ctrl := ctrl.Parent
|
|
|
|
|
|
Until (ctrl = nil) or (ctrl Is TCustomForm);
|
|
|
|
|
|
// Note: replace TCustomFrame with TForm, check if the found form is
|
|
|
|
|
|
// self, if not, execute the following block of code.
|
|
|
|
|
|
If ctrl <> nil Then Begin
|
|
|
|
|
|
For i:= 0 To ctrl.componentcount-1 Do Begin
|
|
|
|
|
|
comp:= ctrl.Components[i];
|
|
|
|
|
|
If comp Is TCustomActionList Then Begin
|
|
|
|
|
|
result := TCustomActionList(comp).IsShortcut( message );
|
|
|
|
|
|
If result Then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
End;
|
|
|
|
|
|
End;
|
|
|
|
|
|
End;
|
|
|
|
|
|
End;
|
|
|
|
|
|
//Result := inherited IsShortCut(Message);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.JvNavigationPaneChange(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
{ Cuando se destruye el formulario este evento salta pero no
|
|
|
|
|
|
hay que cambiar de empresa }
|
|
|
|
|
|
if (csDestroying in ComponentState) then
|
|
|
|
|
|
Exit;
|
|
|
|
|
|
|
|
|
|
|
|
//Se libera el contenido que tenga ya que cambiamos de empresa;
|
|
|
|
|
|
ReleaseEmbedded;
|
|
|
|
|
|
|
|
|
|
|
|
AppFactuGES.CambiarEmpresa(JvNavigationPane.ActivePage.Tag);
|
|
|
|
|
|
RefrescarUI;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.Listadeempresas1_OLDClick(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
AppFactuGES.SeleccionarEmpresa;
|
|
|
|
|
|
RefrescarUI;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actConexionExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
dmConexion.ConfigurarConexion;
|
|
|
|
|
|
RefrescarUI;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actConfigurarExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
AppFactuGES.Configurar;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
procedure TfPantallaPrincipal.actInformacionEmpresaExecute(Sender: TObject);
|
|
|
|
|
|
begin
|
|
|
|
|
|
AppFactuGES.EmpresasController.Ver(AppFactuGES.EmpresaActiva);
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
end.
|