Home

Ocultar Botones en el Ribbon de una entidad de Microsoft Dynamics CRM 2011 utilizando javascript

webmaster's picture

Los botones del Ribbon de cualquier entidad tienen 3 hubicaciones.

  • Form
  • Homepage Grid
  • Sub Grid
 
La via soportada por Microsoft Dynamic CRM para ocultar los botones sería la de editar las propiedades del <Dysplay Rules> dentro del Ribbon al botón afectado, asociandole un proceso javascript hubicado en un webresources que devuelva un valor positivo o negativo. En este artículo utilizaremos un metodo "no soportado" par oculltar aquellos botones que no nos interesen mostrar utilizando simplemente el modelo de objetos DOM de javascript.

En nuestro ejemplo utilizaremos la entidad Account para ocultar en el formulario los botones de Añadir Archivo y Añadir Notas que no nos interesa mostrar, por una personalización especifica de nuestro cliente.

 

Mostramos primeramente los botones que queremos ocultar cada vez que se cargue el formulario Account. Para poder localizar el ID del elemento en cuestión utilizamos en el IE la exploración de objetos (tecla F12).

 

Una vez que tenemos localizado el ID del objeto o de los objetos que componen los elementos que queremos ocultar procedemos a personalizar el formulario de la entidad, en este caso "Account" en donde especificaremos en el evento On Load la ejecución de una función Javascript que oculatrá los elementos.

 

Una vez que tengamos la libreria de nuestro webresources, codificaremos nuestra función dentro de la misma según se muestra en el código a continuación:

function Form_onload() 
{
          HideAddRibbonButtons();
}

function HideAddRibbonButtons() 

           var buttonAddFile = "account|NoRelationship|Form|Mscrm.Form.account.AddFile-Large";
           var buttonAddNote = "account|NoRelationship|Form|Mscrm.Form.account.AddNote-Large";
          var buttonGroup = "account|NoRelationship|Form|Mscrm.Form.account.Related.Document";
           var intervalId = window.setInterval(function () {
          if (window.top.document.getElementById(buttonAddFile) != null)
            { window.clearInterval(intervalId);
             //Top Menu has loaded
             window.top.document.getElementById(buttonAddFile).style.display = 'none';
             }
          if (window.top.document.getElementById(buttonAddNote) != null)
          { window.clearInterval(intervalId);
           //Top Menu has loaded
            window.top.document.getElementById(buttonAddNote).style.display = 'none';
            }
          if (window.top.document.getElementById(buttonGroup) != null)
          { window.clearInterval(intervalId);
          //Top Menu has loaded
          window.top.document.getElementById(buttonGroup).style.display = 'none';
          }
     }, 500);
}

 

Posteriomente publicaremos todos los cambios realizados en el formulario y al abrir la entidad veremos el resultado de los botones y grupo de botones oculto.

Fuente: 

Centro práctico de LEMURSOLUTION

Contacto: 
webmaster