User Role eines Benutzers mit der ID einer Rolle vergleichen

Answered User Role eines Benutzers mit der ID einer Rolle vergleichen

  • 2012年7月9日 下午 12:23
     
     

    Hallo zusammen,

    ich lese derzeit mit Xrm.Page.context.getUserRoles die zugewiesenen Rollen des angemeldeten Benutzers aus.

    Hier bekomme ich dann, mit einem Komma getrennt, alle IDs der dem User zugewiesenen Rollen.

    Ich möchte aus diesen IDs dann vergleichen ob eine bestimmte ID dabei ist.

    Habe es mit IndexOf probiert aber das kennt CRM scheinbar nicht.

    Oder kann das einfach am Datentyp liegen? 

    Nächste Frage wäre warum folgende Zeile nicht funktioniert:

    Xrm.Page.context.getUserId() != Xrm.Page.getAttribute("ownerid").getValue()

    wenn ich mir folgendes per alert ausgeben lasse kommt nur (object Object)

    alert(Xrm.Page.getAttribute("ownerid").getValue())

    Bin sehr dankbar für Ideen und Anregungen.

    VG

    Martin


所有回覆

  • 2012年7月9日 下午 01:00
     
     

    Hallo Martin,

    Zu deiner 1. Frage: Javascript ist Case-Sensitive - hast du sicher "indexOf" geschrieben (siehe: http://www.electrictoolbox.com/javascript-index-of-string/) Wenn hier das Ergebnis != -1 ist, dann ist die GUID in dem String enthalten!

    Zu deiner 2.Frage: ownerid.getValue() liefert (ohne es jetzt getestet zu haben) ein Lookup auf einen Benutzer, d.h. du müsstest mit dem Ergebnis und [0].id auf die gewünschte GUID kommen!

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010

  • 2012年7月9日 下午 01:37
     
      包含代碼

    Hallo Andreas,

    zum Testen habe ich folgenden Code verwendet:

    var UsrRole = Xrm.Page.context.getUserRoles();
    
    if ( UsrRole.indexOf("b07da830-83c8-de11-bf20-000c294f51a3") > -1){
    alert("yes")}
    else{ alert("no")};

    Kann es sein, dass ich es erst in einen String konvertieren oder casten muss?

    VG

    Martin

  • 2012年7月9日 下午 01:45
     
     已答覆 包含代碼

    Hi,

    Du musst das empfangene Objekt in einen String casten um die Funktion indexOf zu bekommen:

    var UsrRole = Xrm.Page.context.getUserRoles() + "";

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010

  • 2012年7月10日 上午 05:50
     
     

    Hallo Andreas,

    bekomme hier nach wie vor die Meldung: Fehler: Der Wert der Eigenschaft "Form_onload" ist Null oder undefiniert, kein function-Objekt

    VG

    Martin

  • 2012年7月10日 上午 06:22
     
     

    Poste doch bitte mal den ganzen Code.

    Gruß

    localh0rst

  • 2012年7月10日 上午 06:23
     
     

    Hat sich erledigt :) 

    Hatte im Aufruf der Funktion einen kleinen syntaxfehler :)

    Vielen Dank für die Hilfe.

    VG

    Martin