none
Picklist dynamisch mit Werten aus einer XML Datei füllen RRS feed

  • Frage

  • Hallo,

    da ich leider newbie im Bereich CRM bin brauch ich leider eure Hilfe um mein tageswerk zu schaffen.
    ich habe CRM 4.0 Update 7 und habe folgende Anforderung:

    ich soll eine Maske bauen, die mehrere Reiter enthält.
    Ein Teil dieser Reiter und ein Teil der beinhaltenden Felder sollen aber abhängug von einem Dropdown feld aus oder wieder eingeblendet werden.
    Des weiteren sollen Dropdownboxen, oder besser Lookupfelder vorhanden sein, die Ihre Daten aus einem im Webserver root befindlichen XML datei holen.
    Zur not auch mehrere Dateien.

    Das das Möglich ist weiß ich, leider hab ich keine Ahnung wie das funktionieren soll.
    ichbräuchte bitte ein paar Beispielscripts.

    Danke schön

    Ich kenne mich mittlerweile ein bisschen mit JS aus und auch die Funktionsweisen im CRM sind mit mittlerweile ein bisschen bekannt. Es muss also mit Onload und onchange gehen.

    Danke, ich zähl auf eure Hilfe.

    Gruß
    Tom
    Freitag, 27. November 2009 15:07

Antworten

  • Hallo Tom,

    dann sollte folgnder Artikel genau das richtige für dich sein:
     

    http://jianwang.blogspot.com/2008/01/dynamic-picklist-values-load-from-xml.html


    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    Freitag, 27. November 2009 21:42
  • Hallo Ronny,

    DataValue ist Null oder kein Object bedeutet meistens, das du entweder einen Schreibfehler in deinem Script hast, oder das Feld in dem Moment, wo das Script ausgeführt wird, tatsächlich leer ist.

    Ohne weitere Angaben ist es schwer, genauer zu werden.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:13
    Donnerstag, 7. Januar 2010 14:46
  • Hallo Ronny,

    nein, das hast du schon richtig verstanden, das Script muss in das OnLoad des Formulares.
    Hast du denn die Namen der Picklisten richtig angepasst?

    "GetPicklist(crmForm.all.new_type1, crmForm.all.new_section1, crmForm.all.new_section1text);"
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:13
    Donnerstag, 7. Januar 2010 15:38
  • Hallo Ronny,

    ich vermute, du hast die möglichen Werte aus der XML-Datei nicht in der Pickliste hinterlegt. Wenn du einen Wert in einer Pickliste speichern möchtest, muss dieser auch in der Pickliste vorhanden sein, damit du speichern kannst.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:14
    Donnerstag, 7. Januar 2010 17:26
  • Hallo Ronny,

    ich habe mir das Script gerade noch einmal angesehen. Die Zeilen 1-48 gehören in das OnLoad des Formulares, die Zeilen 49-61 in das OnSave und die restlichen Zeilen in das OnChange des Feldes.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:14
    Freitag, 8. Januar 2010 19:49

Alle Antworten

  • Hallo Tom,

    dann sollte folgnder Artikel genau das richtige für dich sein:
     

    http://jianwang.blogspot.com/2008/01/dynamic-picklist-values-load-from-xml.html


    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    Freitag, 27. November 2009 21:42
  • Hallo Michael,
    ich habe jetzt mal eine Frage zu deinem Beitrag. Ich bin derzeit auch dabei eine Anpassung vorzunehmen, wo diese Funktion der dyn. Picklisten nicht schlecht wäre.

    Leider kommt bei mir immer die Fehlermeldung, dass ein Fehler im benutzerdefinierten Ereignis dieses Feldes ein Fehler vorliegt.

    Feld: window
    Ereignis: onload
    Fehler: 'DataValue' ist Null oder kein Objekt

    Ich habe jedoch, wie in deinem Link beschrieben, einmal die Einstellungen vorgenommen, funktionieren tut es trotzdem nicht :(.

    Irgendeine Idee, woran es liegen kann?

    Grüße Ronny
    Donnerstag, 7. Januar 2010 14:31
  • Hallo Ronny,

    DataValue ist Null oder kein Object bedeutet meistens, das du entweder einen Schreibfehler in deinem Script hast, oder das Feld in dem Moment, wo das Script ausgeführt wird, tatsächlich leer ist.

    Ohne weitere Angaben ist es schwer, genauer zu werden.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:13
    Donnerstag, 7. Januar 2010 14:46
  • Vielleicht habe ich das in deinem Link falsch verstanden.
    Wohin muss ich denn nun das entsprechende Script kopieren, als das lange, damit er funktioniert?

    Soll erstmal eine 1 zu 1 Teststellung, wie in deinem Link sein.

    Dachte in das onLoad Event des Formulars oder muss es in den onChange bereich des Atributes?

    Grüße Ronny

    Donnerstag, 7. Januar 2010 15:34
  • Hallo Ronny,

    nein, das hast du schon richtig verstanden, das Script muss in das OnLoad des Formulares.
    Hast du denn die Namen der Picklisten richtig angepasst?

    "GetPicklist(crmForm.all.new_type1, crmForm.all.new_section1, crmForm.all.new_section1text);"
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:13
    Donnerstag, 7. Januar 2010 15:38
  • Okay, habe ein Feld vergessen und zwar das Section1text. Jetzt kommt jedoch, bei dem Speichern eines Eintrags folgender Fehler
    Donnerstag, 7. Januar 2010 15:55
  • Hallo Ronny,

    ich vermute, du hast die möglichen Werte aus der XML-Datei nicht in der Pickliste hinterlegt. Wenn du einen Wert in einer Pickliste speichern möchtest, muss dieser auch in der Pickliste vorhanden sein, damit du speichern kannst.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:14
    Donnerstag, 7. Januar 2010 17:26
  • Hallo Michael,
    hmm.... also ich habe es eigentlich so gemacht, wie dort in der Anleitung beschrieben.

    1. Ich habe eine XML Datei erstellt, mit den selben Beispieldaten wie in der Vorlage
    2. Die entsprechenden Atribute erstellt, mit den selben Namen wie in der Vorlage
    3. Diese in ein Formular angebracht und das entsprechende Script in das onLoad Event eingebettet

    Nun will ich einen Datensatz erstellen.
    Ich wähle beim Type1 aus und speichere den Datensatz, damit ich einen Datensatz aus der Liste "section2" einen Wert auswählen kann.
    Dies tut er auch, zeigt mir jedoch immer nur den ersten Datensatz an. z.B. TypeC/D --- item4

    Wenn ich jetzt den Datensatz speichere, kommt die o.g. Fehlermeldung.

    Auch wenn ich unter section1text etwas eintrage, passiert auch nichts. :(


    Grüße Ronny
    Freitag, 8. Januar 2010 11:12
  • Hallo Ronny,

    ich habe mir das Script gerade noch einmal angesehen. Die Zeilen 1-48 gehören in das OnLoad des Formulares, die Zeilen 49-61 in das OnSave und die restlichen Zeilen in das OnChange des Feldes.
    Viele Grüße

    Michael Sulz
    axcentro GmbH
    MVP für Microsoft Dynamics CRM
    • Als Antwort markiert Michael Sulz Mittwoch, 2. Februar 2011 17:14
    Freitag, 8. Januar 2010 19:49
  • Hallo Michael,
    danke für die Info. Immer schlimm, wenn man teilweise auf seinen Augen sitzt und die Texte nicht richtig liest.

    Steht ja eigentlich auch beschrieben, im Quelltext.

    Danke dir trotzdem.

    Grüße Ronny
    Montag, 11. Januar 2010 08:53