User Role eines Benutzers mit der ID einer Rolle vergleichen

Yanıt User Role eines Benutzers mit der ID einer Rolle vergleichen

  • 09 Temmuz 2012 Pazartesi 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


Tüm Yanıtlar

  • 09 Temmuz 2012 Pazartesi 13: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

  • 09 Temmuz 2012 Pazartesi 13:37
     
      Kod İçerir

    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

  • 09 Temmuz 2012 Pazartesi 13:45
     
     Yanıt Kod İçerir

    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

  • 10 Temmuz 2012 Salı 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

  • 10 Temmuz 2012 Salı 06:22
     
     

    Poste doch bitte mal den ganzen Code.

    Gruß

    localh0rst

  • 10 Temmuz 2012 Salı 06:23
     
     

    Hat sich erledigt :) 

    Hatte im Aufruf der Funktion einen kleinen syntaxfehler :)

    Vielen Dank für die Hilfe.

    VG

    Martin