none
CRM lookup Feld Auswahl einschränken RRS feed

  • Frage

  • Hallo an alle CRM-Begeisterten,

    wie kann ich denn bei einem Lookup-Feld eine Einschränkung setzen, das aus einer Entität (z.B.) Produkte nicht alle angelegten Produkte zur Auswahl angezeigt werden sondern nur Bestimmte - z.B. in Anhängigkeit eines anderen Feldes -> wenn dort a drin steh dann nur a-Produkte, wenn b dann nur b-Produkte usw. ????

     

    Vielen Dank vorab.

    tubka

    Donnerstag, 19. Mai 2011 15:36

Antworten

Alle Antworten

  • In 4.0 geht das nur mit einer Pseudo Filterung bzw. mit Stunnware Filtered Lookup AddOn. In CRM 2011 ist das mittlerweile zu konfigurieren. Welche Version ist also im Einsatz?
    Carsten Groth http://carstengroth.wordpress.com
    Donnerstag, 19. Mai 2011 16:50
  • Hallo Carsten,

     

    es ist CRM 4.0 im Einsatz.

    Freitag, 20. Mai 2011 09:37
  • Hallo tubka,

    Die Filterung von Lookups kannst du relativ leicht nachbauen - sogar supported:

    • beim gewünschten Lookup beim Property additionalparams einen fetchXML-Filter dem Lookup-Fenster mitgeben (dass wird dann in der URL angehängt)
    • ein Plugin schreiben, dass den angehängten Filter des Lookup-Fensters in der Abfrage an die richtige Stelle hängt
    • dieses Plugin registrieren auf: Message: Execute / Primary Ent.: None / Secondary Ent.: None / Pre / Synchron

    Dieses Plugin läuft dann bei jeder Anfrage auf den Server - hier musst du sicherstellen, dass die Logik die Anfrage nur verändert, wenn in der URL ein fetchXML-Filter angehängt ist.

    Hoffe ich konnte helfen!

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Freitag, 20. Mai 2011 09:50
  • Hallo Andreas,

     

    leider nicht so recht, da ich sooo tief nicht im CRM drin bin!

    Um vielleicht ein wenig konkreter zu werden. Auf dem Formular Verkaufschance gibt es ein Feld des Typs customer, und in Abhängigkeit welche FIRMA dort ausgewählt wird, soll er mir beim Ansprechpartner (lookupFeld contact) nur die Kontakte dieser Firma zur Auswahl anzeigen...

     

    Vielen Dank für Eure Antworten vorab!!

    Gruß

    tubka

    Freitag, 20. Mai 2011 10:39
  • Hallo Tuba,

    wenn ihr das CRM im Haus habt, geht das ganze auch viel einfacher, indem du einfach einen Parameter an den Aufruf des Lookups hängst und eine ASPX-Datei anpasst.

    Eine entsprechende Beschreibung findest du hier: http://crm.georged.id.au/post/2008/02/16/Filtering-lookup-data-in-CRM-4.aspx


    Viele Grüße

    Michael Sulz
    MVP für Microsoft Dynamics CRM
    Blog
    Website
    • Als Antwort markiert Michael Sulz Montag, 13. Juni 2011 09:01
    Freitag, 20. Mai 2011 11:00
  • Hallo Herr Sulz,

    ja haben wir - haben Sie sogar noch verkauft und installiert;-)))

    ...in Aachen

     

    VG

    tubka

    Freitag, 20. Mai 2011 11:03
  • Hallo,

    Der Lösungsvorschlag von Michael ist auch eine Möglichkeit, wobei hier zu bemerken ist, dass diese Anpassung unsupported ist, da man die ASPX-Seite des Lookup-Fensters verändert. Zusätzlich verliert man die Möglichkeit nach Datensätzen im Lookup-Fenster zu suchen.

    Folgend eine genauere Beschreibung meines Lösungsansatzes:

    Wenn du ein Plugin mit der oben beschriebenen Konfiguration registrierst (Execute/None/None/Pre/Synchron) bekommst du in der Execute-Methode über context.InputParameters["FetchXML"] die Abfrage die vom Lookup-Fenster ausgeführt wird (fetchXML-Abfrage). In dieser Abfrage findest du den Filter, den du am Lookup beim Property additionalparams angehängt hast. Nun kannst du mittels LINQToXML oder XDocument diese Zeichenfolge extrahieren und korrekt im fetchXML wieder einhängen. Wenn die Abfrage dann so aussieht wie gewünscht überschreibst du einfach den InputParameter "FetchXML" im Context und lieferst so die neue Abfrage zurück.

    Falls du programmiertechnisch gar nicht konform bist empfehle ich entweder die Lösung von Michael oder von stuunware !

    Liebe Grüße,

    Andreas


    Andreas Buchinger
    Microsoft Dynamics Certified Technology Specialist
    MCPD: SharePoint Developer 2010
    Freitag, 20. Mai 2011 11:45