V10 RecursosGuías
RecursosGuías
Guías
Años | List of Articles

Extensibilidad del Administrador

Última modificación el 03/05/2024

La integración con el administrador PRIMAVERA permite que las aplicaciones desarrolladas por terceros pueden añadirse al administrador PRIMAVERA y así tener acceso a una serie de funcionalidades proporcionadas por la plataforma, funcionalidad a nivel de la seguridad, configuración, gestión de bases de datos y registro de operaciones.

Componentes necesarios

Para registrar una aplicación externa en el administrador PRIMAVERA, es necesario definir un conjunto de componentes que implementan una interfaz, siguen una nomenclatura determinada y ofrecen un conjunto definido de funcionalidades. Solo así la solicitud será tenida en cuenta en el administrador y en las Entradas en el Registry, permitiendo al administrador localizar los distintos componentes.

A continuación se detallan los componentes y sus respectivas clases necesarias para registrar una aplicación en el administrador PRIMAVERA:

  • Audit: componente que permite añadir al sistema de seguridad los permisos de las aplicaciones y bases de datos soportadas.
    • clsOperaçõesAplicação: clase de implementación obligatoria que proporciona los permisos de la aplicación.
    • clsOperaçõesLog: clase de implementación obligatoria, que proporciona un conjunto de entidades de aplicación que estarán disponibles para el registro.
    • clsBaseDados: clase que proporciona un conjunto de bases de datos soportado por la aplicación.
  • Forms: componente donde se configuran los parámetros por defecto y los servicios de las aplicaciones desarrolladas por terceros.
    • clsImagens: icono asociado a la aplicación.
    • clsParametrizacoes: clase de implementación obligatoria que proporciona un conjunto de formularios con las parametrizaciones básicas de la aplicación.
    • clsServicos: clase de implementación obligatoria que proporciona un conjunto de utilidades de aplicación.
    • clsLoginsAssociados: clase que permite realizar el mapeado de usuarios entre la aplicación de terceros y un usuario PRIMAVERA.

La integración de aplicaciones debe obedecer un conjunto de normas de nomenclatura para la aplicación y los componentes proporcionados. Todas las aplicaciones que se integren en el Administrador deben tener una abreviatura definida que debe formar parte del nombre de sus componentes.
Esta abreviatura debe constar de 3 caracteres alfanuméricos (ejemplos: ABC, D01, EF2, etc.). Debe tenerse en cuenta que hay algunas abreviaturas que ya están reservadas para los módulos PRIMAVERA (por ejemplo: ADM -Administrador, DBM- Data Base Management, CBL - Contabilidad, entre otros).

Registrar aplicación externa

Paso 1 - Crear el proyecto de Audit 

1. Después de abrir Visual Studio, seleccione File > New > Project.

2. En la ventana que aparece, en el árbol de la izquierda, elija el lenguaje de desarrollo ("C#" o "VB").

3. Seleccione el tipo de proyecto Class Library (.NET Framework).

4. Dele un nombre al proyecto "EXTAudit100", y pulse OK.

Nota: La abreviatura de la aplicación debe tener tres caracteres, por ejemplo "EXT".

5. Añada las siguientes clases clsOperacoesAplicacao clsOperacoesLog.

6. Añada la referencia a la assembly StdClasses100.

7. A continuación, añada al nombre de la clase clsAplAudit. Este paso indica que nuestra clase heredará todos los métodos, propiedades y atributos de la clase clsAplAudit.

8. Añada el siguiente código a la clase clsEXTOperacoesAplicacao:

using StdClasses100;

namespace EXTAudit100
{
    public class clsEXTOperacoesAplicacao : clsAplAudit
    {
        #region private properties

            private string Instancia { get; set; }
            private string Utilizador { get; set; }
            private string PassWord { get; set; }

        #endregion

        #region _clsAplAudit Members
    
            public clsArvoreOperacoes GetArvOperacoes(clsParamOpsAplicacao objParametros)
            {
                clsArvoreOperacoes objOps = new clsArvoreOperacoes();
                clsOperacaoApl objOp;

                objOp = objOps.Add("mnuOperacao", "Operações", 0, ");
                objOp = objOps.Add("mnuOperacao1", "Operação 1", 0, "mnuOperacao");
                objOp = objOps.Add("mnuOperacao2", "Operação 2", 0, "mnuOperacao");

                return objOps;
                }

            public clsPermissoesVar GetPermissoesDinamicas(clsParamOpsAplicacao objParametros)
            {
                    clsPermissoesVar objVars = new clsPermissoesVar();
                    clsPermissaoVar objVar;

                    objVar = objVars.Add("Documento", "Documento", "FA", "Fatura Externa.", objParametros.Empresa);
                    objVar.OperacoesPossiveis.Add("CRIAR", "Criar");
                    objVar.OperacoesPossiveis.Add("MODIFICAR", "Modificar");
                    objVar.OperacoesPossiveis.Add("ANULAR", "Anular");
                    objVar.OperacoesPossiveis.Add("VISUALIZAR", "Visualizar");

                    return objVars;
            }

        #endregion
    }
}

El método clsArvoreOperacoes GetArvOperacoes(clsParamOpsAplicacao objParametros)  se utiliza para añadir permisos de acceso a las operaciones en la aplicación de terceros.  Este mecanismo de extensibilidad es muy útil para validar el acceso a las operaciones de opciones añadidas a la Ribbon mediante el mecanismo de extensibilidad.

El método clsPermissoesVar GetPermissoesDinamicas(clsParamOpsAplicacao objParametros) se utiliza para añadir permisos dinámicos a la aplicación. Este tipo de permisos puede rellenarse a partir de una consulta SQL (por ejemplo, tipos de documentos).

9. Añada el siguiente código a la clase clsExtOperacoesLog:

using StdClasses100;

namespace EXTAudit100
{
    public class clsExtOperacoesLog : clsAplOperacoesLog
    {
        #region _clsAplOperacoesLog Members
            public clsOperacoesLog GetDaOperacoesLog(clsParamOpsLog objParametros)
            {
                clsOperacoesLog opLog;

                return null;
            }
        #endregion
    }
}

Paso 2 - Cree el proyecto Forms 

1. Después de abrir Visual Studio, seleccione File > New > Project.

2. En la ventana que aparece, en el árbol de la izquierda, elija el lenguaje de desarrollo ("C#" o "VB").

3. Seleccione el tipo de proyecto Class Library (.NET Framework).

4. Dele un nombre al proyecto "EXTForms100", y pulse OK.

Nota: La abreviatura de la aplicación debe tener siempre tres caracteres, por ejemplo "EXT".

5. Añada las clases siguientes clsParametrizacoe clsServicos.

6. Añada referencia a las assemblies Primavera.Platform.Collections, StdClasses100 StdBE100.

8. En Toolbox > Containers, seleccione un "Panel" y arrástrelo al form.

9. Añada el siguiente código a la clase clsExtParametrizacoes. 

using ExtForms100.UI;
using Primavera.Platform.Collections;
using StdBE100;
using StdClasses100;

namespace ExtForms100
{
    public class clsExtParametrizacoes : clsAplParametrizacoes
    {
        private string Utilizador { get; set; }
        private string PassWord { get; set; }

        #region _clsAplParametrizacoes Members
        public void AtribuiUtilizador(string strUtilizador, string strPassword)
        {
            this.Utilizador = strUtilizador;
            this.PassWord = strPassword;
        }

        public void Inicializa(StdBETipos.EnumTipoPlataforma enuTipoPlataforma, string strEmpresa, string strInstalacao, clsLicenca objLic)
        {
        }

        public void Lista(clsParamAplParams objParametros, ref string[/av_rLista, PrimaveraOrderedDictionary colLoc)
        {
            string[] Parametros;

            Parametros = new string[2];

            Parametros[1] = "Parametros Gerais";
            strLista = Parametros;
        }

        public bool ModuloDisponivelLocalizacao(StdBETipos.EnumLocalizacaoSede enuLocSede)
        {
            //Obrigatório estar definido como verdadeiro.
            return true;
        }

        public void Mostra(int intIndex, int intModoOperacao, dynamic objOwnerForm)
        {
            // Aqui colocar o código para abrir os vários formulário de parâmetros.
        }

        public void Termina()
        {
        }

        public void TiposExercicioSuportados(StdBETipos.EnumTipoPlataforma enuTipoPlataforma, ref StdBETipos.EnumTipoExercicio[] enuTiposExercicio)
        {
        }
        #endregion
    }
}

14. Adicionar o código seguinte à classe clsExtServicos:

using Primavera.Platform.Collections;
using StdBE100;
using StdClasses100;

namespace ExtForms100
{
    public class clsExtServicos : clsAplServicos
    {
        private string Utilizador { get; set; }
        private string PassWord { get; set; }

        #region _clsAplServicos Members
        public void AtribuiUtilizador(string strUtilizador, string strPassword)
        {
            this.Utilizador = strUtilizador;
            this.PassWord = strPassword;
        }

        public void Executa(int intIndex)
        {
            // Aqui colocar o código para chamar os vários serviços.
        }

        public void Inicializa(StdBETipos.EnumTipoPlataforma enuTipoPlataforma, string strEmpresa, string strInstalacao, clsLicenca objLic)
        {
        }

        public void Lista(clsParamAplServicos objParametros, ref string[] strLista, PrimaveraOrderedDictionary colLoc)
        {
			string[] servicos;
			servicos = new string[2];

			servicos[1] = "Assistente de criação de utilizadores";

			strLista = servicos;
        }

        public void Termina()
        {
        }
        #endregion
    }
}

Passo 3 - Registar a aplicação

1.  Para registar a aplicação de extensibilidade no administrador é necessário adicionar uma nova entrada com a abreviatura da aplicação ao ficheiro runtime.config na pasta PRIMAVERA, por exemplo “EXT”.

2. Adicionar ao ficheiro as seguintes chaves.

<Module Name="Exemplo Extensibilidade" Abbreviation="EXT">
	<ApplicationPath>C:PRIMAVERASG100Apl</ApplicationPath>
	<DataPath>C:PRIMAVERASG100LE</DataPath>
	<CommonDataPath>C:PRIMAVERASG100DADOS</CommonDataPath>
	<ReportsPath>C:PRIMAVERASG100MAPASLEGCP</ReportsPath>
	<Version>100</Version>
	<ERPLoadOrder>0</ERPLoadOrder>
	<LoginPath />
	<Post>0</Post>
	<SAASLIC />
	<ADMIntegration>1</ADMIntegration>
	<ERPIntegration>0</ERPIntegration>
	<Installed>1</Installed>
	<ThirdParty>true</ThirdParty>
	<Audit>Primavera.ExtAudit100</Audit>
	<Forms>Primavera.ExtForms100</Forms>
	<Exec>Ext3rdParty</Exec>
	<Lic>false</Lic>
</Module>

3. Abrir o Administrador e verificar o registo da aplicação.

4. Aceder as propriedades de uma empresa. No separador “Parâmetros”, adicionar a aplicação criada, que no caso é “Exemplo Extensibilidade”.

5. Confirmar.

Para obter mais informações, veja um exemplo sobre a tecnologia de extensibilidade do Administrador PRIMAVERA no GitHub.

Bookmark or share this article
Esta página foi útil?
Obrigado pelo seu voto.

login para deixar a sua opinião.

Obrigado pelo seu feedback. Iremos analisá-lo para continuarmos a melhorar!