none
CRM 2015 - crear un enlace con menú superior/cabecera escondido/a RRS feed

  • Pregunta

  • Buenos días a todos,

    Necesito generar una serie de enlaces en la cual el usuario solo pueda ir al formulario de nuev@ tarea / fax / cita / llamada / correo / carta / cita periódica. sin que aparezca el menú superior. (así no va a otros sitios)

    En 2011 se hacía utilizando ésto por parámetro

    TAREA: urldelcrm/main.aspx?etc=4212&extraqs=%3fpagemode%3diframe%26new_colaboradorid%3D%7b8b7e2ee5-4ae7-e411-a7da-005056b701b6%7d%26new_colaboradoridname%3DColaborador+Producci%c3%b3n%26scheduledend%3D2015-11-20T10%253a45&pagetype=entityrecord

    Y estos formularios nombrados anteriormente son los únicos que no me esconden el menú superior mediante esta funcionalidad.

    ¿¿Sabéis de algún otro modo de hacerlo??

    Gracias por adelantado y un saludo

    martes, 24 de noviembre de 2015 9:05

Todas las respuestas

  • mmmmmmm me gustaría encontrar una solución "soportada" si es que la tiene. 

    De momento lo que he hecho es el siguiente,

    En el JavaScript de la entidad en cuestión he insertado esta línea de código:

    parent.$('head').append('<style type="text/css">#crmMasthead { display: none !important; } </style>');

    haciendo una comprobación de roles previamente para que esconda la cabecera si no es administrador:

    //Check login User has 'System Administrator' role
    function CheckUserRole() {
        var currentUserRoles = Xrm.Page.context.getUserRoles();
        for (var i = 0; i < currentUserRoles.length; i++) {
             var userRoleId = currentUserRoles[i];
        var userRoleName = GetRoleName(userRoleId);
            if (userRoleName == "Administrador del sistema") {
                return true;
            }
        }
        return false;
    }
     
    //Get Rolename based on RoleId
    function GetRoleName(roleId) {
        //var serverUrl = Xrm.Page.context.getServerUrl();
        var serverUrl = location.protocol + "//" + location.host + "/" + Xrm.Page.context.getOrgUniqueName();
        var odataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc" + "/" + "RoleSet?$filter=RoleId eq guid'" + roleId + "'";
        var roleName = null;
        $.ajax(
            {
                type: "GET",
                async: false,
                contentType: "application/json; charset=utf-8",
                datatype: "json",
                url: odataSelect,
                beforeSend: function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("Accept", "application/json"); },
                success: function (data, textStatus, XmlHttpRequest) {
                    roleName = data.d.results[0].Name;
                },
                error: function (XmlHttpRequest, textStatus, errorThrown) { alert('OData Select Failed: ' + textStatus + errorThrown + odataSelect); }
            }
        );
        return roleName;
    }

    Me mantengo alerta por si alguien encuentra una solución mejor ^^

    Un saludo a todos!!

    viernes, 27 de noviembre de 2015 13:26