Extensibilidad del Administrador
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. 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: 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. 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 y 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: 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: 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 y clsServicos. 6. Añada referencia a las assemblies Primavera.Platform.Collections, StdClasses100 y StdBE100. 8. En Toolbox > Containers, seleccione un "Panel" y arrástrelo al form. 9. Añada el siguiente código a la clase clsExtParametrizacoes. 14. Adicionar o código seguinte à classe clsExtServicos: 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. 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.Componentes necesarios
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
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
}
}
using StdClasses100;
namespace EXTAudit100
{
public class clsExtOperacoesLog : clsAplOperacoesLog
{
#region _clsAplOperacoesLog Members
public clsOperacoesLog GetDaOperacoesLog(clsParamOpsLog objParametros)
{
clsOperacoesLog opLog;
return null;
}
#endregion
}
}
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
}
}
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
}
}
<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>
login para deixar a sua opinião.