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

¿Cómo añadir nuevas pestañas a la ribbon del ERP?

Última modificación el 03/05/2024

Este documento describe los pasos para añadir nuevos menús a la ribbon del ERP. Este mecanismo es una alternativa al uso de menús de usuario, ya que permite un control total sobre la organización de las distintas opciones de la aplicación externa, mediante la posibilidad de crear distintas TABs y grupos que permiten organizar las operaciones según su función.

A diferencia de los menús de usuario, las operaciones creadas con esta tecnología no implementan automáticamente el mecanismo de seguridad del ERP, es decir, no es posible que el administrador defina por perfil quién tiene acceso a las operaciones. Para superar esta situación, es necesario crear un proyecto de extensibilidad del administrador para definir los permisos de las operaciones disponibles en la ribbon.

Esta opción es la más adecuada cuando se desea crear una extensión que añada una nueva área funcional al ERP, sin depender de la creación manual de menús de usuario.

Requisitos previos

  • PRIMAVERA ERP.
  • Visual Studio & NET Framework 4.7.

Paso 1 - Crear el proyecto

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 "Primavera.CustomRibbon" y pulse en OK.
5. Seleccione las propiedades del proyecto y en Project > Properties > Resources, añada una imagen para el botón.

Paso 2 - Referencias

Una vez creado el proyecto, debe añadir un conjunto de referencias a la plataforma de extensibilidad. Esto permitirá suscribir al evento DepoisDeCriarMenus, publicado en la plataforma, que se utilizará para construir el nuevo menú.

  • PrimaveraExtensibility.BusinessEntities.
  • Primavera.Extensibility.Integration
  • Primavera.Extensibility.Platform
  • StdPlatBS100

Paso 3 - Crear la ribbon

1. Renombre la clase "Classe1.cs" a "PrimaveraRibbon.cs".
2. Añada al principio de la clase los siguientes namespaces con la directiva using.
3. Después del nombre de la clase, añada Plataforma. Este paso indica que nuestra clase hereda de la clase base Plataforma todos los métodos, propiedades y atributos.

 width=

4. En el cuerpo de la clase creada escriba override y pulse TAB. Se mostrará una lista de todos los eventos a los que puede suscribirse. En este caso, seleccione el evento DepoisDeCriarMenus y añada el siguiente código.

using System;
using System.Diagnostics;
using System.Drawing;
using Primavera.Extensibility.BusinessEntities.ExtensibilityService.EventArgs;
using Primavera.Extensibility.Platform.Services;
using StdPlatBS100;
namespace Primavera.CustomRibbon { public class PrimaveraRibbon : Plataforma { const string cIDTAB = "10000";
const string cIDGROUP = "100001";
const string cIDBUTTON1 = "1000011";
const string cIDBUTTON2 = "1000012";
private StdBSPRibbon RibbonEvents; 
///
/// This event will execute for all ribbon changes.
///
///
public override void DepoisDeCriarMenus(ExtensibilityEventArgs e)
{
// Register the Ribbon events.
RibbonEvents = this.PSO.Ribbon;
RibbonEvents.Executa += RibbonEvents_Executa;
// Create a new TAB.
this.PSO.Ribbon.CriaRibbonTab("TAB", cIDTAB, 10);
// Create a new Group.
this.PSO.Ribbon.CriaRibbonGroup(cIDTAB, "Group 1", CIDGROUP01);

// Create a new 32x32 Button.
this.PSO.Ribbon.CriaRibbonButton(cIDTAB, CIDGROUP, cIDBUTTON1, "My Button", true, Resource.button1);
}
///
/// Ribbon events.
///
///
///
private void RibbonEvents_Executa(string Id, string Comando)
{
try
{
switch (Id)
{
case CIDBUTTON1:
//Call action.
break;
}
}
catch (System.Exception ex)
{
PSO.Dialogos.MostraAviso("Fail to execute the command.",StdBSTipos.IconId.PRI_Informativo,ex.Message);
}
}
}
}

5. Compile su solución en BUILD > Build Solution.

6. Registre la assembly como se describe en "¿Cómo registrar proyectos de extensibilidad?".

Paso 4 - Permisos de las operaciones

Con la tecnología de extensibilidad del Administrador se pueden definir permisos para las operaciones de la aplicación y luego validar que el usuario tiene acceso a la operación seleccionada.

Validar permisos a la operación

private void RibbonEvents_Executa(string Id, string Comando)
{
	switch (Id)
	{
	case CIDBUTTON1:
		if (Plataforma.Contexto.Utilizador.AcedeOperacao("EXT", "mnuOperacao1"))
		{
			//Call action.
		}	
		break;
	}
}

Validar permisos a las dinámicas

private void RibbonEvents_Executa(string Id, string Comando)
{
	switch (Id)
	{
	case CIDBUTTON1:
		if (Plataforma.Contexto.Utilizador.AcedeAtributo("Documento", "FA", "EXT", "CRIAR"))
		{
			//Call action.
		}	
		break;
	}
}
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!