Lockup eingeschränkt, aber 'falsche' Icons

Odpovědět Lockup eingeschränkt, aber 'falsche' Icons

  • 25. července 2012 14:22
     
      Obsahuje kód

    Ich habe in CRM 2011 auf einer Custom Activity die Lookups folgendermassen eingeschränkt.

    Habe das hier im Forum so gelesen.

    function constrainLookup()
    {
    // Regarding auf Account einschränken
    document.getElementById('regardingobjectid').setAttribute('lookuptypes', '1');
    // Customer auf Account einschränken
    document.getElementById('customers').setAttribute('lookuptypes', '1');
    // Teilnehmer auf Contact einschränken und Suchansicht richtig setzen, braucht es oben scheinbar nicht
    document.getElementById('to').setAttribute('lookuptypes', '2');
    document.getElementById('to').setAttribute('defaulttype', '2');
    // interner Veteiler auf Systemuser einschränken und Suchansicht richtig setzen, braucht es oben scheinbar nicht
    document.getElementById('cc').setAttribute('lookuptypes', '8');
    document.getElementById('cc').setAttribute('defaulttype', '8');
    }

    Leider werden beim eintragen der Elemente die falschen Icons angezeigt, nämlich immer das für Account.

    Nach dem ersten speichern erscheinen dann die richtigen für Contact und Systemuser.

    Wenn man einen weiteren Contact hinzufügt (z.B. bei to) dann kommt auch erst wieder das Account Icon und nach dem Speichern das Contact Icon.

Všechny reakce

  • 25. července 2012 15:00
    Moderátor
     
      Obsahuje kód

    Hallo,

    wenn du bei den Lookups die Default Entität entfernt hast, musst du auch die Default View für das Lookup neu setzen.

    //Nur eine Entitä bei einem Lookup anzeigen document.getElementById(‘customerid’).setAttribute(‘lookuptypes’, ’1′); //Möchte man mehrere Entitäten zur Auswahl anbieten, kann man diese durch Kommas getrennt angeben. // Das folgende Script zeigt z.B. noch die Entitäten Firma und Kontakt an. document.getElementById(‘customerid’).setAttribute(‘lookuptypes’, ’1, 2′); // Zusätzlich muss dann noch der Defaulttype für das Lookup gesetzt werden document.getElementById(‘customerid’).setAttribute(‘defaulttype’, ’1′);

    // Wird die Standardardanzeige des Lookups entfernt, muss zusätzlich eine neue Standardanzeige definiert werden
    Xrm.Page.getControl(‘customerid’).setDefaultView(‘GUID der View’);



    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website XING LinkedIn Facebook Twitter


  • 25. července 2012 15:22
     
      Obsahuje kód

    Hallo Michael,

    Das mit der Standardanzeige scheint wichtig zu sein, allerdings verstehe ich den Hinweis nicht.

    Wenn ich den lookup einschränke ohne defaulttype, dann erscheint bei Contact die View für den Account.

    Daher habe ich dies mit defaulttype auf Contact gesetzt.

    document.getElementById('to').setAttribute('lookuptypes', '2');
    document.getElementById('to').setAttribute('defaulttype', '2');

    Wenn man den Lookup öffnet ist auch alles gut. Object Type ist Contact, die View zeigt auf die Contacts an.

    Umschön ist nur, dass dann auf dem Form in der Zeile für Contacts das Accounticon angezeigt wird und nicht das Contact Icon. s. Bild oben.

    Ich habe keine View entfernt, zumal das mit der GUID für den Transport von DEV auf PROD nicht so schön ist.

    Wie habe ich den Hinweis zu verstehen oder liegt ein Missverständnis vor?

  • 25. července 2012 16:06
    Moderátor
     
     

    Hallo,

    doch, du hast den Default-Typ entfernt, da dieser Account ist.

    Du musst also mit setDefaultView die View für Kontakt bzw. Systemuser setzen, auch wenn das für die Übertragung zwischen Systemen unschön ist.

    Eine mögliche Lösung wäre, die GUID in einer Webressource zu speichern und im JavaScript aus der Webressource auszulesen. Oder du hast die GUID für das Testsystem und das P-System in zwei Variablen und ermittelst dann im JavaSCript, in welche BU du bist.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website XING LinkedIn Facebook Twitter

  • 31. července 2012 14:04
     
     

    Hallo Michael

    habe die View gesetzt.

    Xrm.Page.getControl('to').setDefaultView('00000000-0000-0000-00AA-000010001004');

    Ist auf DEV und PROD auch gleich und entspricht der Active Contacts View.

    Effekt ist bei mir, dass statt der Suchansicht im Popup jetzt Active Contacts angezeigt wird.

    Das Problem mit den Icons besteht aber noch.

    Noch Ideen?

    Danke.

    Grüße. Dirk

  • 31. července 2012 15:07
    Moderátor
     
     

    Hallo Dirk,

    du kannst auch die Suchansicht der Kontakte anzeigen, dazu musst du nur die GUID der Suchansicht verwenden.

    Ansonsten gehen mir im Moment allerdings die Ideen aus. Ich kann es bei mir auch nicht nachvollziehen, da funktioniert diese Technik.


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website XING LinkedIn Facebook Twitter

  • 31. července 2012 15:22
     
     

    Hallo Michael,

    danke für Deine Unterstützung.

    Vielleicht hat ja noch jemand eine Idee.

    Aktuell kann der Kunde damit leben.

    Grüße.

    Dirk

  • 7. srpna 2012 15:17
     
     Odpovědět Obsahuje kód

    Hallo zusammen,

    ich bin über diesen Link gestolpert.

    crmForm.all.requiredattendees.setAttribute(“lookuptypeIcons”, “/_imgs/ico_16_2.gif”);

    Bringt die Lösung für mein Problem. Über den Icon Namen kann man dann auch das Usericon ico_16_8.gif anzeigen.

    Wo ich mir aber nicht ganz sicher bin ist die Form. Ist das nicht CRM 4.0 Scripting?

    Müsste es für CRM 2011 nicht mit Xrm.Page gehen?

    Wenn hier noch jemand aufklären könnte wäre schön.

    Grüße.

    Dirk

    • Označen jako odpověď Doering 7. srpna 2012 15:18
    •