Microsoft Dynamics CRM 2011 | Funktion–Adresse wählen

Microsoft Dynamics CRM bietet für die Verwaltung von Adressen gleich mehrere Möglichkeiten. Wir alle kennen die zwei Adressen, die im Standard bei Leads, Kontakten und Firmen erfasst werden können. Darüber hinaus können noch diverse weitere Adressen erfasst werden. Wie man dies für den Seriendruck nutzen kann, hatte ich bereits hier vorgestellt.

Address_Account_Addressname

Heute möchte ich Euch für Eure Projekte eine Funktion näher bringen, wie man mit einer Schaltfläche aus den für Leads, Kontakten oder Firmen hinterlegten Adressen entsprechende Felder an Eurer Entität füllen könnt. Voraussetzung hierfür sind:

a) Ihr sorgt dafür, dass auf allen Entitäten ein sprechender Adressname gesetzt wird, mit dem sich die Adressen eindeutig identifizieren lassen,

b) Ihr installiert das XrmSvcToolkit. Jene Bibliothek nutze ich, um Daten abzufragen.

Address_select_CustomerAddress

Auf meiner Entität habe ich entsprechende Adressfelder angelegt, in die ich eine ausgewählte Adresse hinterlegen möchte.

Hierzu habe ich eine Schaltfläche integriert, die mir alle zu einem Kontakt, einer Firma hinterlegten Adressen zur Auswahl bringen soll.

Ein weiterer Lösungsansatz hierzu findet sich hier. Daran gefiel mir jedoch nicht, dass ich mehrere Popups habe, noch dazu eine Auswahl “Liefer-/Rechnungsadresse” tätigen muss, obwohl ich dies in meiner Lösung vielleicht gar nicht benötige.

Somit bin ich zu einem Lösungsansatz von Stunnware (für 4.0) zurückgekehrt, der mir unmittelbar die hinterlegten Adressen zur Auswahl anzeigen sollte.

Auch dieses Script findet Ihr auf meinem SkyDrive. Diesmal im Ordner “AddressPicker”.

Address_NewCustomerAddressBesonders wichtig ist es hier, die vorhandenen Funktionen zu erhalten. D.h. auch die Schaltfläche “Neu” sollte hier erhalten bleiben, so dass man unmittelbar zu einem ausgewählten Kontakt oder einer ausgewählten Firma eine neue Adresse hinterlegen kann.

Address_NewCustomerAddress_selectable

Eine neu hinzugefügte Adresse ist somit nach Anlage auch unmittelbar auswählbar.

Bestätigt man den Dialog, so werden die entsprechenden Adressfelder mit Hilfe eines Retrieve ausgelesen und an zugehörige Felder auf der Form übergeben.Address_Addressfields_filled_AfterSelect

Somit können also auch Felder übergeben werden, die Ihr beispielsweise zu den vorhandenen Standard-Felder ergänzt habt.

Damit lässt sich die Entität “CustomerAddress” in vollem Umfang nutzen.

Auch hier wünsche ich viel Spass in der Umsetzung.

Technorati Tags:

4 Gedanken zu “Microsoft Dynamics CRM 2011 | Funktion–Adresse wählen

  1. Hallo Carsten,

    danke für den Beitrag, verstehe jedoch nicht was ist jetzt genau machen soll. Im oben erwähnten LInk zu Stunnware.com muss ich nix machen oder? und falls ja, da ist ja die Rede davon, dass ein übergeordneter Datensatz vorhanden sein muss und nur davon könnten die adressen genommen werden.

    Weiter unten steht, dass man in deim SkyDrive den AdressPicker nehmen könnte. Das ist eine js Dabei. Wo binde ich diese ein (als WEbrescource) und dann in welchem Feld binde ich das ein?

    oder muss ich doch einen Teil oder alles, aus der Stunnware Seite machen aber für was ist dann dein Script aus dem skydrive?

    Danke, Gruss Peter

    • Der Link zu stunnware dient der Aufklärung, wie dies unter 4.0 zu handhaben war. Der Code innerhalb der JS-Datei kann in Eure Bibliotheken integriert werden. Der Aufruf der Funktion sollte über einen Button erfolgen. Und ja, es benötigt ein oder mehrere Customer-Felder, um von diesem Datensatz die hinterlegten Adressen nachladen zu können. Die Adressen sollten dabei alle einen Adressnamen haben.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s