Microsoft Dynamics CRM - Kurzanleitung
Customer Relationship Management (CRM) ist ein System zur Verwaltung der Interaktionen eines Unternehmens mit aktuellen und zukünftigen Kunden. Oft wird Technologie zum Organisieren, Automatisieren und Synchronisieren von Vertrieb, Marketing, Kundendienst und technischem Support verwendet. CRM kann helfen, Kosten zu senken und die Rentabilität zu steigern, indem Geschäftsprozesse organisiert und automatisiert werden, die die Kundenzufriedenheit und -bindung fördern.
Microsoft Dynamics CRM
Microsoft Dynamics CRM ist ein von Microsoft entwickeltes Softwarepaket für das Kundenbeziehungsmanagement, das sich auf die Verbesserung der Kundenbeziehung für jedes Unternehmen konzentriert. Standardmäßig konzentriert sich das Produkt hauptsächlich auf die Bereiche Vertrieb, Marketing und Kundendienst, obwohl Microsoft Dynamics CRM als XRM-Plattform vermarktet und Partner dazu ermutigt hat, das proprietäre (.NET-basierte) Framework zur Anpassung zu verwenden. In den letzten Jahren hat es sich auch zu einer von CRM betriebenen Analytics-Plattform entwickelt.
Die CRM-Lösung kann verwendet werden, um die Vertriebsproduktivität und Marketingeffektivität eines Unternehmens zu steigern, die gesamte Kundenunterstützungskette abzuwickeln und soziale Einblicke, Business Intelligence und viele andere sofort einsatzbereite Funktionen und Merkmale bereitzustellen. Als Produkt bietet Microsoft Dynamics CRM auch umfassende mobile Unterstützung für die Verwendung von CRM-Apps auf Mobiltelefonen und Tablets.
Zum Zeitpunkt des Schreibens dieses Lernprogramms ist CRM 2016 die neueste Version von CRM. In diesem Lernprogramm wird jedoch die Online-Version von CRM 2015 verwendet, da es sich um die neueste stabile Version handelt, die in vielen Organisationen häufig verwendet wird. Selbst wenn Sie andere CRM-Versionen verwenden, gelten alle Konzepte im Lernprogramm.
Produktangebote
Microsoft Dynamics CRM wird in zwei Kategorien angeboten:
CRM Online
CRM Online ist ein Cloud-basiertes Angebot von Microsoft Dynamics CRM, bei dem alle Backend-Prozesse (wie Anwendungsserver, Setups, Bereitstellungen, Datenbanken, Lizenzen usw.) auf Microsoft-Servern verwaltet werden. CRM Online ist ein abonnementbasiertes Angebot, das für Unternehmen bevorzugt wird, die möglicherweise nicht alle technischen Details einer CRM-Implementierung verwalten möchten. Sie können in wenigen Tagen (nicht Wochen, Monaten oder Jahren) mit der Einrichtung Ihres Systems beginnen und über Ihren Browser im Web darauf zugreifen.
CRM vor Ort
CRM On-Premise ist ein angepasstes und robusteres Angebot von Microsoft Dynamics CRM, bei dem die CRM-Anwendung und -Datenbanken auf Ihren Servern bereitgestellt werden. Mit diesem Angebot können Sie alle Ihre Datenbanken, Anpassungen, Bereitstellungen, Sicherungen, Lizenzen und andere Netzwerk- und Hardware-Setups steuern. Im Allgemeinen bevorzugen Unternehmen, die sich für eine angepasste CRM-Lösung entscheiden möchten, die Bereitstellung vor Ort, da diese bessere Integrations- und Anpassungsfunktionen bietet.
Vom funktionalen Standpunkt aus bieten beide Angebote ähnliche Funktionen. Sie unterscheiden sich jedoch erheblich in der Umsetzung. Die Unterschiede sind in der folgenden Tabelle zusammengefasst.
CRM Online | CRM vor Ort |
---|---|
Dies ist eine Cloud-basierte Lösung von Microsoft, in der alle Server und Datenbanken von Microsoft verwaltet werden. | Dies ist eine von Microsoft bereitgestellte On-Premise-Lösung, bei der die Server und Datenbanken vom Kunden verwaltet werden. |
Sie können in wenigen Tagen mit einem Online-Angebot beginnen. Sie bezahlen für die Benutzer und den genutzten Speicherplatz für unterwegs. | Das Einrichten eines On-Premise-Angebots erfordert technische Kenntnisse sowie ausreichend Zeit, um die CRM-Instanz einzurichten und zum Laufen zu bringen. |
Es unterstützt relativ weniger Anpassungen und Erweiterungen. | Es unterstützt relativ mehr Anpassungen und Erweiterungen. |
CRM Online bietet keine Möglichkeit, manuelle Datensicherungs- und Wiederherstellungsoptionen durchzuführen, da die Datenbank auf Microsoft-Servern gehostet wird. Microsoft führt jedoch tägliche Sicherungen der Datenbank durch. | CRM On-Premise bietet die vollständige Möglichkeit, Ihre Datenbank zu verwalten. |
CRM Online hat verschiedene Pläne, die auf den Datenspeichergrenzen basieren, z. B. 5 GB, 20 GB usw. | CRM On-Premise unterliegt keinen solchen Einschränkungen für die Speichergröße, da die Daten auf Ihren eigenen Servern vorhanden sind. |
CRM Online bietet integrierte Funktionen für Funktionen wie Einblicke, Social Listening, Analysen usw. | CRM On-Premise verursacht zusätzliche Kosten für diese Funktionen. |
CRM Online unterstützt automatische Updates für zukünftige Versionen. | CRM-On-Premise-Updates müssen vom Administrator installiert werden. |
Zugriff auf CRM
Auf Microsoft Dynamics CRM kann über eine der folgenden Optionen zugegriffen werden:
- Browser
- Handy und Tablets
- Outlook
Produktkonkurrenten
Microsoft Dynamics CRM ist zweifellos eines der Top-Produkte im CRM-Bereich. Im Folgenden sind jedoch die anderen Produkte aufgeführt, die mit Microsoft Dynamics CRM konkurrieren.
- Salesforce.com
- Oracle
- SAP
- Sage CRM
- Zucker CRM
- NetSuite
Produktversionen
Microsoft Dynamics CRM ist im Laufe der Jahre seit der Version 1.0 im Jahr 2003 gewachsen. Die neueste Version (zum Zeitpunkt des Schreibens dieses Artikels) ist 2015. Nachfolgend finden Sie die chronologische Liste der Release-Versionen:
- Microsoft CRM 1.0
- Microsoft CRM 1.2
- Microsoft Dynamics CRM 3.0
- Microsoft Dynamics CRM 4.0
- Microsoft Dynamics CRM 2011
- Microsoft Dynamics CRM 2013
- Microsoft Dynamics CRM 2015
- Microsoft Dynamics CRM 2016
Beginnen wir mit der Einrichtung unserer CRM-Umgebung. Wir werden die Online-Version von CRM 2015 verwenden, da die Online-Version einen einmonatigen kostenlosen Testzugriff bietet. Auf diese Weise müssen Sie keine Lizenz erwerben, um CRM zu lernen.
Note- Da Microsoft Dynamics CRM ein wachsendes Produkt ist, ist es möglich, dass Sie zu dem Zeitpunkt, an dem Sie dies lernen, eine neuere Version des Produkts haben. In diesem Fall sieht die Anwendung möglicherweise nicht genau so aus, wie Sie es in den Screenshots dieses Tutorials sehen würden. Die Kernkonzepte des Produkts bleiben jedoch gleich. Das Erscheinungsbild und die Navigation des Produkts können sich ändern. In den meisten Fällen können Sie jedoch problemlos navigieren und die erforderlichen Optionen finden.
Einrichten des Microsoft Dynamics CRM-Onlinekontos
Step 1 - Navigieren Sie zur folgenden URL -
https://www.microsoft.com/en-us/dynamics365/home
Falls Sie die Optionen der Testversion über diesen Link in Zukunft nicht mehr sehen, suchen Sie einfach bei Google nach "Microsoft Dynamics CRM Free Trial".
Step 2- Klicken Sie auf die Schaltfläche Kostenlos testen. Dadurch wird ein dreistufiger Registrierungsprozess gestartet, wie im folgenden Screenshot gezeigt. Geben Sie in Schritt 1 der dreistufigen Registrierung die obligatorischen Details wie Name, E-Mail-Adresse und Sprache ein.
Step 3- Klicken Sie auf die Schaltfläche Kostenlos testen. Dadurch wird ein dreistufiger Registrierungsprozess gestartet, wie im folgenden Screenshot gezeigt. Geben Sie in Schritt 1 der dreistufigen Registrierung die obligatorischen Details wie Name, E-Mail-Adresse und Sprache ein.
Step 4- In Schritt 3 der dreistufigen Registrierung überprüft Microsoft die von Ihnen angegebene Handynummer. Dazu können Sie Ihre Handynummer angeben und auf Text me klicken. Anschließend wird ein OTP an Ihr Mobiltelefon gesendet, mit dem Sie mit dem Setup fortfahren können.
Step 5- Ihre Office 365-Benutzer-ID wird erstellt. Sie können diese Benutzer-ID-Informationen für den späteren Zugriff speichern.
Nach dem Einrichten des Kontos wird nun Ihr CRM-Dashboard geöffnet, das ungefähr wie folgt aussieht.
Um es noch einmal zu betonen, die obigen Screenshots können sich mit einer zukünftigen Version ändern. Das Einrichten der Umgebung ist jedoch ein ziemlich einfacher Vorgang.
CRM SDK herunterladen
Das Software Development Kit (SDK) von Microsoft Dynamics CRM enthält wichtige Codebeispiele, einschließlich serverseitigem Code, clientseitigem Code, Erweiterungen, Plugins, Webdiensten, Workflows, Sicherheitsmodell usw. Grundsätzlich enthält das SDK alle Entwicklungsressourcen, die Sie benötigen würden um mit CRM zu beginnen. Unabhängig davon, ob Sie ein neues Plugin-Projekt oder ein Web-Service-Projekt für CRM einrichten möchten, bietet das SDK die grundlegende Architektur und Beispiele, die von einfach bis fortgeschritten reichen, um Ihnen den Start zu erleichtern. Wir werden uns nun die Schritte zum Herunterladen und Installieren des SDK ansehen.
Step 1- Jede Version von Microsoft Dynamics CRM verfügt über eine eigene SDK-Version. Der beste Weg, um die richtige SDK-Version zu erhalten, besteht darin, bei Google nach Ihrer jeweiligen CRM-Version zu suchen. Wenn Ihre CRM-Version beispielsweise 2015 lautet, suchen Sie nach "Microsoft Dynamics CRM 2015 SDK".
Step 2- Führen Sie nach dem Herunterladen das exe-Setup aus. Klicken Sie auf Weiter.
Step 3- Sie werden aufgefordert, den Speicherort für das SDK auszuwählen. Wählen Sie einen geeigneten Speicherort aus, an dem Sie das Referenz-SDK aufbewahren möchten.
Step 4- Öffnen Sie den Ordner, in den Sie extrahiert haben. Von hier aus können Sie auf alle SDK-Inhalte zugreifen.
Fazit
In diesem Kapitel haben wir unsere Umgebung durch Erstellen eines CRM Online-Kontos eingerichtet. Anschließend haben wir das CRM SDK heruntergeladen, das in den folgenden Kapiteln dieses Tutorials verwendet wird. Notieren Sie sich die Anmeldeinformationen, mit denen Sie das Konto eingerichtet haben, da Sie diese Anmeldeinformationen bei der nächsten Anmeldung benötigen.
Das gesamte Microsoft Dynamics CRM basiert auf den folgenden Funktionsmodulen.
- Sales
- Marketing
- Service-Management
Diese Funktionsmodule werden oft als bezeichnet Work Areas.
Grundlegendes zu CRM-Funktionsmodulen
Die gesamte CRM-Anwendung ist funktional für verschiedene Benutzertypen und Teams aufgeteilt. Wenn eine Organisation CRM zur Verwaltung ihrer Prozesse verwendet, verwenden die Benutzer des Vertriebsteams die Funktionen, die unter das Vertriebsmodul fallen, während die Benutzer des Marketingteams Funktionen verwenden, die unter das Marketingmodul fallen.
Alle diese drei Funktionsmodule bilden zusammen den gesamten Lebenszyklus der Gewinnung eines neuen Kunden (Marketing), des Verkaufs der Services (Vertrieb) und der Pflege der bestehenden Kunden (Service Management).
Um diesen Ablauf besser zu verstehen, sollten Sie eine Bank in Betracht ziehen, die Kreditkarten an ihre Kunden verkauft. Der typische Lebenszyklus des Verkaufs einer Kreditkarte an einen Kunden wäre wie folgt. In jedem Schritt dieses Lebenszyklus sehen Sie, wie die Vertriebs-, Marketing- und Servicemodule ihre Rolle erfüllen.
Sales & Marketing- Der Callcenter-Leiter der Bank erhält Daten potenzieller Kunden. wird in CRM häufig als Leads bezeichnet. Diese Leads werden im CRM-System über Marketingkampagnen, Verkaufsförderungsaktionen, Empfehlungen usw. erfasst.
Sales- Der Callcenter-Manager kommuniziert mit diesen Leads entweder über Telefonanrufe / E-Mails / etc. Wenn der Kunde an dem Kreditkartenangebot interessiert ist, wird der Lead-Datensatz in einen Opportunity-Datensatz (gewonnener Lead) umgewandelt.
Service- Sobald ein Kunde Teil des Systems wird, unterstützt ihn das Unternehmen bei Zahlungen, Abrechnungen, Rückerstattungen usw. Wenn der Kunde Fragen oder Bedenken hat, ruft er das Callcenter an und wirft Vorfälle auf. Die Führungskraft wird den Fall weiter verfolgen, um dem Kunden einen qualitativ hochwertigen Service zu bieten. Diese Aufgaben fallen unter CRM Service Management.
Navigieren in CRM-Arbeitsbereichen
Step 1 - Öffnen Sie die CRM-Startseite.
Step 2 - Standardmäßig wird der Arbeitsbereich Vertrieb als ausgewählt angezeigt.
Step 3- Um den Arbeitsbereich zu ändern, klicken Sie auf die Option Arbeitsbereiche anzeigen. Sie sehen die Optionen zur Auswahl von Vertrieb, Service und Marketing.
Step 4- Klicken Sie auf Vertrieb. Dies zeigt Ihnen alle Entitäten, die unter Verkäufe fallen, wie Konten, Kontakte, Leads, Opportunities, Konkurrenten usw. Jede dieser Entitäten wird nach ihren Geschäftsprozessen wie Meine Arbeit, Kunden, Verkäufe, Sicherheiten usw. kategorisiert.
Step 5 - Wenn Sie auf den Arbeitsbereich Marketing klicken, werden alle Entitäten angezeigt, die sich auf Marketing-Geschäftsfunktionen beziehen.
Verkaufsmodul
Das Vertriebsmodul von CRM dient dazu, den gesamten Vertriebslebenszyklus eines neuen Kunden zu steuern. Das Verkaufsmodul besteht aus folgenden Untermodulen:
Leads- Repräsentiert eine Person oder Organisation, die in Zukunft ein potenzieller Kunde des Unternehmens sein kann. Dies ist der erste Schritt, um einen potenziellen Kunden für das System zu gewinnen.
Opportunities- Stellt einen potenziellen Verkauf an den Kunden dar. Sobald ein Lead Interesse an dem Angebot zeigt, wird es in eine Opportunity umgewandelt. Eine Opportunity wird entweder gewonnen oder verloren.
Accounts- Stellt ein Unternehmen dar, zu dem die Organisation Beziehungen unterhält. Sobald eine Opportunity gewinnt, wird sie entweder in ein Konto oder in Kontakte umgewandelt.
Contacts- Repräsentiert eine Person oder eine Person, zu der die Organisation Beziehungen unterhält. Meist sind diese Kontakte die Kunden der Organisationen (z. B. alle Kreditkartenkunden einer Bank). Sobald eine Opportunity gewinnt, wird sie entweder in ein Konto oder in Kontakte umgewandelt.
Competitors - Verwaltet alle Marktkonkurrenten der Organisation.
Products - Verwaltet alle Produkte, die die Organisation ihren Kunden anbietet (Beispiel alle Kreditkartenpläne).
Quotes - Ein formelles Angebot für Produkte oder Dienstleistungen, die zu bestimmten Preisen angeboten werden, die an einen potenziellen Kunden gesendet werden (Beispiel: jährliche Preisgestaltung eines bestimmten Kreditkartenplans, der an den Kunden gesendet wird).
Orders - Ein Angebot, das vom Kunden angenommen wird, wird zu einer Bestellung (Beispiel: Von allen Plänen, die die Organisation Ihnen anbietet, können Sie ein 6-Monats-Abonnement abschließen).
Invoices - Eine in Rechnung gestellte Bestellung generiert eine Rechnung.
Marketing-Modul
Das Marketing-Modul von CRM soll den gesamten Marketingprozess eines Unternehmens für seine bestehenden und potenziellen Kunden steuern. Das Marketing-Modul besteht aus folgenden Untermodulen:
Marketing Lists- Bietet eine Möglichkeit, Ihre Kontakte, Konten und Leads zu gruppieren und mit ihnen zu interagieren, indem Sie Werbe-E-Mails, Veranstaltungsdetails, Newsletter und andere für die Zielkunden relevante Updates senden. Sie können die Kriterien für die Erstellung Ihrer Marketinglisten definieren (Beispiel: Kontakte zwischen 25 und 35 Jahren).
Campaigns - Kampagnen dienen dazu, die Effektivität zu messen und ein bestimmtes Ergebnis zu erzielen, z. B. die Einführung eines neuen Produkts oder die Erhöhung des Marktanteils. Sie können verschiedene Kommunikationskanäle wie E-Mail, Zeitungsanzeigen, YouTube-Anzeigen usw. umfassen.
Quick Campaigns - Eine Schnellkampagne ähnelt der Kampagne, kann jedoch nur einer Art von Aktivität zugeordnet werden.
Alle oben genannten Marketingmodule arbeiten eng mit dem Vertriebsmodul zusammen.
Service Management Modul
Das Service Management-Modul von CRM dient zum Fokussieren, Verwalten und Verfolgen der Kundendienstvorgänge einer Organisation, z. B. zur Unterstützung der auf Vorfällen basierenden Dienste, zur Unterstützung der Kunden bei der Serviceplanung usw.
Das Service Management-Modul umfasst die folgenden Untermodule:
Cases (Incidents)- Unterstützt alle Kundenanfragen, Probleme oder Beschwerden, die über Vorfälle / Fälle verfolgt werden sollen. Ein Fall folgt verschiedenen Phasen eines Problemlösungsprozesses und wird dann endgültig gelöst und geschlossen.
Knowledge Base - Unterhält ein Master-Repository für alle allgemeinen Fragen und Antworten, die der Kunde häufig stellt.
Contracts - Verträge arbeiten mit Fällen, in denen alle aktiven Verträge des Kunden angegeben sind.
Resources/Resource Groups- Repräsentiert die Personen, Werkzeuge, Räume oder Ausrüstungsgegenstände, die zur Erbringung einer Dienstleistung verwendet werden. Diese Ressourcen können verwendet werden, um ein bestimmtes Kundenproblem zu lösen.
Services - Repräsentiert alle Dienste, die die Organisation den Kunden anbietet.
Service Calendar - Wird verwendet, um Arbeitszeiten und Zeitpläne der Benutzer zu planen, die in der Organisation arbeiten.
Aktivitätsmanagement
Alle oben erläuterten Module verwenden das Aktivitätsmanagement-Modul von CRM. Eine Aktivität stellt jede Art von Interaktion mit dem Kunden dar, z. B. einen Anruf, eine E-Mail, einen Brief usw. Diese Aktivitäten können sich auf eine der zuvor erläuterten Entitäten beziehen, z. B. Konto, Kontakt, Lead, Fall usw. Standardmäßig CRM bietet sofort verschiedene Arten von Aktivitäten:
- Anruf
- Task
- Appointment
- Wiederkehrender Termin
- Letter
- Fax
- Antwort der Kampagne
- Kampagnenaktivitäten
- Serviceaktivität
- Benutzerdefinierte Aktivitäten
Fazit
In diesem Kapitel haben wir die drei Hauptmodule von CRM kennengelernt - Vertrieb, Marketing und Service Management. Wir haben verstanden, wie die Arbeitsbereiche in CRM organisiert sind und wie der gesamte Lebenszyklus einer CRM-Organisation funktioniert. Wir haben uns auch das Aktivitätsmanagement-Modul von CRM angesehen, mit dem Telefon-, E-Mail-, Fax- und andere Arten von Kundeninteraktionsaktivitäten erstellt werden können.
Nachdem wir nun einen funktionalen Überblick über alle CRM-Module haben, lernen und verstehen wir die Entitäten und Formulare in CRM.
Was ist eine Entität?
Eine Entität wird zum Modellieren und Verwalten von Geschäftsdaten in CRM verwendet. Kontakte, Fälle, Konten, Leads, Opportunities, Aktivitäten usw. sind alle Entitäten, die Datensätze enthalten. Konzeptionell entspricht eine CRM-Entität einer Datenbanktabelle. Beispielsweise würde die Kontaktentität Kontaktdatensätze enthalten, die Fallentität würde Falldatensätze enthalten und so weiter.
Sie können sowohl standardmäßige Entitäten (standardmäßig im CRM enthalten) als auch benutzerdefinierte Entitäten (die Sie mit der Anpassung erstellen können) verwenden. Angenommen, Sie verwalten die Daten der Bücher, die Ihre Kunden gelesen haben. Zu diesem Zweck speichern Sie die Kundendaten mithilfe der sofort einsatzbereiten Kontakteinheit. Wo würden Sie jedoch die Buchdaten speichern? Sie haben keine Entität, die Daten für Bücher speichern kann. In solchen Szenarien erstellen Sie eine neue benutzerdefinierte Entität mit dem Namen "Bücher" und verknüpfen diese mit der vorhandenen Entität "Kontakte".
Nehmen wir für dieses Tutorial ein Beispiel für die Speicherung von Arbeitgebern und Arbeitnehmern in CRM. Unter Berücksichtigung dieses Beispiels bietet CRM sofort einsatzbereitContactEinheit, in der Sie idealerweise alle Ihre Mitarbeiter speichern können. Es bietet auch eineAccountUnternehmen, in dem Sie alle Ihre Arbeitgeber speichern können. Um Lerneinheiten zu lernen, erstellen wir eine neue benutzerdefinierte Entität mit dem NamenEmployer (und nicht die vorhandene Kontoentität verwenden).
Erstellen einer neuen Entität
Step 1 - Klicken Sie auf die Schaltfläche mit dem oberen Menüband und anschließend auf SettingsMöglichkeit. KlickenCustomizations Option aus dem Abschnitt Anpassung (siehe folgenden Screenshot).
Step 2 - Klicken Sie nun auf die Option System anpassen.
Dies öffnet das Fenster Standardlösung. In den nächsten Kapiteln erfahren Sie mehr über CRM-Lösungen. Derzeit verwenden Sie jedoch die Standard-CRM-Lösung.
Step 3 - Erweitern Sie die Option Entitäten im linken Bereich.
Step 4 - Klicken Sie nun auf Neu → Entität.
Step 5- Geben Sie im Entitätsformular den Anzeigenamen als Arbeitgeber und PluralName als Arbeitgeber ein. Aktivieren Sie im Abschnitt "Bereiche, in denen diese Entität angezeigt wird" die Option "Vertrieb, Service und Marketing". Wenn Sie diese Optionen aktivieren, wird die neu erstellte Entität auf den Registerkarten Vertrieb, Service und Marketing von CRM angezeigt.
Step 6- Klicken Sie auf das Symbol Speichern und schließen. Dadurch wird hinter den Kulissen eine neue Entität in der CRM-Datenbank erstellt.
Step 7 - Im übergeordneten Fenster der Standardlösung wird die neu erstellte Entität "Arbeitgeber" angezeigt.
Step 8- Klicken Sie in der oberen Multifunktionsleiste auf die Option Alle Anpassungen veröffentlichen. Dadurch werden alle Änderungen veröffentlicht (auch bekannt als Commit), die wir bisher vorgenommen haben. Sie können dieses Fenster schließen, indem Sie auf Speichern und schließen klicken.
Datensätze erstellen
Bei CRM geht es darum, wertvolle Daten in Ihrem System zu verwalten. In diesem Abschnitt erfahren Sie, wie Sie Datensätze in CRM erstellen, öffnen, lesen und löschen. Wir werden mit dem Arbeitgeberunternehmen fortfahren, das wir im letzten Kapitel erstellt haben.
Step 1 - Navigieren Sie über Arbeitsbereiche anzeigen → Vertrieb → Erweiterungen → Arbeitgeber zum Raster für Arbeitgeberentitätsdatensätze.
Step 2 - Klicken Sie auf das Symbol Neu.
Dadurch wird das Standardformular für neue Arbeitgeber geöffnet. Sie können sehen, dass in diesem Standardformular nur ein bearbeitbares Feld Name vorhanden ist. Geben Sie Arbeitgeber 1 in das Feld Name ein. Klicken Sie auf Speichern und schließen.
Step 3 - In der Active Employers In dieser Ansicht können Sie den neu erstellten Arbeitgeberdatensatz anzeigen.
Zugriff auf Datensätze
Wechseln Sie zu dieser Entitätsseite, um auf die bereits in CRM erstellten Datensätze zuzugreifen. Navigieren Sie in unserem Fall zu Arbeitsbereiche anzeigen → Vertrieb → Erweiterungen → Arbeitgeber. Sie sehen eine Liste der dort vorhandenen Datensätze im Raster. Klicken Sie auf einen Arbeitgeberdatensatz, um darauf zuzugreifen.
Datensätze aktualisieren
Sobald Sie einen Datensatz geöffnet haben, können Sie einfach alle Details im Formular bearbeiten. Standardmäßig verfügt CRM 2015 über eine automatische Speicheroption, mit der alle am Formular vorgenommenen Änderungen 30 Sekunden nach der Änderung gespeichert werden. Alternativ können Sie auf Strg + S klicken.
Wenn Sie die automatische Speicherfunktion deaktivieren möchten, gehen Sie zu Einstellungen → Administration → Systemeinstellungen → Automatische Speicherung für alle Formulare aktivieren und wählen Sie Nein.
Datensätze löschen
Step 1 - Wählen Sie einen oder mehrere Datensätze aus, die Sie löschen möchten, und klicken Sie auf Delete Taste.
Step 2 - Bestätigen Sie das Löschen von Datensätzen durch Klicken auf Delete.
Fazit
Wie im obigen Beispiel gezeigt, hatte das Standardformular für Arbeitgeber nur ein Feld. In realen Szenarien haben Sie jedoch viele benutzerdefinierte Felder in einem Formular. Wenn Sie sich beispielsweise einen Beispielkontaktdatensatz ansehen (der eine sofort einsatzbereite CRM-Entität ist), enthält er viele Felder zum Speichern von Kontaktinformationen wie vollständigen Namen, E-Mail, Telefon, Adresse, Fällen usw.
In den nächsten Kapiteln erfahren Sie, wie Sie dieses Standardformular bearbeiten und verschiedene Arten von Feldern hinzufügen.
Bevor Sie lernen, wie Sie CRM-Formularen benutzerdefinierte Felder hinzufügen, werfen wir einen Blick darauf, welche Art von Datenfeldern von CRM unterstützt werden.
Feldtypen
CRM bietet standardmäßig 11 Arten von Datenfeldern, die in Formulare eingefügt werden können:
- Einzelne Textzeile
- Optionssatz (Dropdown)
- Zwei Optionen (Optionsfeld)
- Image
- Ganze Zahl
- Gleitkommazahl
- Dezimalzahl
- Currency
- Mehrere Textzeilen
- Datum (und Uhrzeit
- Lookup
In der folgenden Tabelle ist jeweils eine kurze Beschreibung aufgeführt.
Sr.Nr. | Feldtyp & Beschreibung |
---|---|
1 | Single Line of Text In diesem Feld werden bis zu 4000 Zeichen Text gespeichert. Sie können das Format auch als eines der folgenden festlegen: E-Mail, Text, Textbereich, URL, Tickersymbol und Telefon. Sie können die maximale Länge und den IME-Modus für jede dieser Einstellungen festlegen. |
2 | Option Set (Dropdown) In diesem Feld werden eine Reihe von Optionen mit jeweils einem Zahlenwert und einer Bezeichnung gespeichert. Mit anderen Worten, es ist ein Dropdown-Feld in CRM. Sie können auch globale Optionssätze definieren, die für mehrere Formulare verwendet werden können. |
3 | Two Options (Radio Button) Dieses Feld bietet dem Benutzer zwei Optionen zur Auswahl (0 oder 1). Mit anderen Worten, es ist ein Optionsfeld. |
4 | Image Wenn eine Entität ein Bildfeld hat, kann es so konfiguriert werden, dass das Bild für den Datensatz in der Anwendung angezeigt wird. |
5 | Whole Number In diesem Feld werden ganzzahlige Werte zwischen -2.147.483.648 und 2.147.483.647 gespeichert. Es unterstützt die Angabe der Formate Keine, Dauer, Zeitzone und Sprache. Sie können auch die Minimal- und Maximalwerte einstellen. |
6 | Floating Point Number In diesem Feld werden die Gleitkommazahlen mit einer Genauigkeit von bis zu 5 Dezimalstellen zwischen 0,00 und 1.000.000.000,00 gespeichert. Sie können auch die Minimal- und Maximalwerte einstellen. |
7 | Decimal Number In diesem Feld werden bis zu 10 Dezimalstellen mit Werten zwischen -100.000.000.000,00 und 100.000.000.000,00 gespeichert. |
8 | Currency In diesem Feld werden Währungswerte im Bereich von 922.337.203.685.477.0000 bis 922.337.203.685.477.0000 gespeichert. Sie können die Genauigkeit auch als Preisdezimalzahl, Währungsgenauigkeit oder einen beliebigen Wert zwischen 0 und 4 angeben. |
9 | Multiple Lines of Text Dies ist ein scrollendes Textfeld. Sie können die maximale Anzahl von Zeichen für dieses Feld festlegen. |
10 | Date and Time In diesem Feld werden datumsbezogene Daten in CRM in zwei unterstützten Formaten gespeichert: Nur Datum sowie Datum und Uhrzeit. Sie können das Verhalten auch als Benutzerlokal, Nur Datum und Zeitzonenunabhängig angeben. |
11 | Lookup Sie können ein Suchfeld mithilfe einer Entitätsbeziehung erstellen, die bereits erstellt, aber noch nicht mit einem anderen Suchfeld verwendet wurde. Wenn Sie ein Suchfeld in einem Entitätsformular erstellen, wird die Beziehung automatisch generiert. Ein Suchfeld wird als Beziehungsfeld erstellt. |
In den letzten beiden Kapiteln haben Sie sich mit dem Erstellen neuer Entitäten, dem Erstellen neuer Datensätze und Feldtypen befasst, die in CRM verfügbar sind. In diesem Kapitel lernen Sie, neue Felder in CRM-Formularen hinzuzufügen.
Von den 11 Arten von Datenfeldern, die im vorherigen Kapitel untersucht wurden, verwenden Sie drei Arten von Feldern in Ihrem Arbeitgeber: Optionssatz (Dropdown), Mehrere Textzeilen und DateTime. Das Feld Optionssatz wird zum Speichern des Arbeitgebertyps verwendet, mehrere Textzeilen werden zum Speichern einer kurzen Beschreibung des Arbeitgebers verwendet und das Feld DateTime wird zum Speichern des Datums verwendet, an dem das Unternehmen gegründet wurde.Note: Sie hatten bereits ein Namensfeld in Ihrem Formular, das eine einzelne Textzeile war.
Hinzufügen von Feldern zum Formular
Step 1 - Klicken Sie auf die Schaltfläche mit dem oberen Menüband und anschließend auf SettingsMöglichkeit. KlickenCustomizations Option aus dem Abschnitt Anpassung (siehe Abbildung unten).
Step 2 - Klicken Sie nun auf die Option System anpassen.
Dies öffnet das DefaultSolution-Fenster. In den nächsten Kapiteln erfahren Sie mehr über CRM-Lösungen. Derzeit verwenden Sie jedoch die Standard-CRM-Lösung.
Step 3 - Erweitern Sie die Option Entitäten im linken Bereich.
Step 4- Wählen Sie unter den erweiterten Entitäten die Option Arbeitgeber aus. Dadurch werden die Details der Entität im rechten Fenster geöffnet. Erweitern Sie die Option Arbeitgeber im linken Bereich, und Sie können Formulare, Ansichten, Diagramme, Felder und andere verschiedene Optionen anzeigen.
Step 5- Klicken Sie auf Felder. Es wird ein Raster geöffnet, in dem alle Felder angezeigt werden, die beim Erstellen dieser Entität standardmäßig eingegeben wurden.
Step 6- Klicken Sie auf die Schaltfläche Neu. Geben Sie im neuen Fenster die folgenden Details ein:
Display Name - Arbeitgeberart
Name- Dieses Feld wird basierend auf dem von Ihnen ausgewählten Anzeigenamen automatisch ausgefüllt. Wenn Sie es jedoch ändern möchten, können Sie dies tun.
Data Type- Optionssatz. Sobald Sie den Datentyp als Optionssatz auswählen, wird das Optionsfeld angezeigt. Durch Klicken auf das Pluszeichen (+) wird ein neues Optionssatzelement mit der Standardbezeichnung als Element und dem Standardwert als 100.000.000 erstellt. Sie können die Bezeichnung dieses Elements ändern, um vier Optionen für Arbeitgeberarten hinzuzufügen: Privat, Regierung, Multinational und Öffentlich.
Step 7- Klicken Sie im oberen Menüband auf Speichern und schließen. Sie haben das Feld Arbeitgeber-Typ erfolgreich erstellt.
Step 8 - Fügen Sie ähnlich wie beim Hinzufügen des Felds "Arbeitgebertyp" drei weitere Felder hinzu, wie in den folgenden Screenshots beschrieben und gezeigt. -
Number of Employees - Dies ist ein Feld für eine ganze Zahl.
Founded On - Dies ist ein DateTime-Feld.
Employer Description - Dies ist ein Feld mit mehreren Textzeilen.
Step 9- Fügen Sie nun diese neuen Felder in das Arbeitgeberformular ein. Klicken Sie dazu in der linken Navigation unter Arbeitgeberentität auf Formulare. Dies zeigt Ihnen zwei Formulare mit dem Namen Information. Standardmäßig erstellt CRM zwei Formulare - Main und Mobile-Express. Klicken Sie auf das Hauptformular.
Step 10 - Sie können die neu hinzugefügten Felder im Feld-Explorer rechts sehen.
Step 11 - Ziehen Sie diese Felder auf die Registerkarte Allgemein und legen Sie sie dort ab.
Step 12 - Klicken Sie auf Speichern und dann auf Veröffentlichen.
Step 13- Sie können jetzt Arbeitgeberdatensätze mit den Aktualisierungsfeldern erstellen. Navigieren Sie zu CRM Home → Vertrieb → Arbeitgeber → Neu. Das neue Formular, das dieses Mal geöffnet wird, enthält alle neuen Felder, die Sie in diesem Kapitel hinzugefügt haben. Sie können einige Details eingeben und auf Speichern und schließen klicken.
Fazit
In diesem Kapitel haben wir gelernt, wie man mit CRM-Formularen arbeitet und wie man sie anpasst, indem man verschiedene Arten von Feldern in sie einfügt. Wir haben auch gelernt, so viele Felder wie gewünscht in ein Formular einzufügen und sie mithilfe verschiedener Registerkarten und Abschnitte gemäß den Geschäftsanforderungen anzuordnen.
Microsoft Dynamics CRM ist ein umfangreiches Produkt, das sich im Laufe der Jahre erheblich weiterentwickelt hat. Das Produkt verfügt über viele sofort einsatzbereite Funktionen, die im System integriert sind. Sie müssen keinen Code schreiben, um diese Funktionen nutzen zu können. Eine der wichtigsten sofort einsatzbereiten Funktionen ist die Suchfunktion von CRM, da sie erweiterte Abfrage- und Filterfunktionen unterstützt.
Schnelle Suche
Standardmäßig unterstützt die Rasteransicht jeder Entität in CRM eine Schnellsuchfunktion mithilfe einer Suchleiste oben rechts. Es folgt ein Screenshot der Schnellsuche in der Kontaktentität.
Sie können versuchen, eine Suchzeichenfolge wie "Robert" einzugeben, die alle übereinstimmenden Datensätze zurückgibt.
Sie können dem Suchschlüsselwort * (Sternchen) voranstellen, um eine Platzhaltersuche durchzuführen.
Note - Bei Verwendung der Webclient-Version von Microsoft Dynamics CRM durchsucht die Schnellsuche immer alle aktiven Datensätze, unabhängig von der ausgewählten Ansicht.
Sie können die Schnellsuche anpassen (wie jede andere Ansicht anpassen), um die Filterkriterien zu ändern, die Sortierung zu konfigurieren, Ansichtsspalten hinzuzufügen, Suchspalten hinzuzufügen und andere Eigenschaften zu ändern.
Erweiterte Suche
Mit der erweiterten Suche können Sie Datensätze aller Entitäten in CRM durchsuchen. Es ist eine der stärksten und nützlichsten Funktionen, die mit CRM sofort einsatzbereit sind. Das Symbol für die erweiterte Suche wird in der oberen Multifunktionsleiste von Microsoft Dynamics CRM angezeigt, unabhängig davon, auf welchem Bildschirm Sie sich befinden.
Klicken Sie auf das Symbol Erweiterte Suche, um das Fenster Erweiterte Suche zu öffnen. In diesem Fenster können Sie die Entität auswählen, nach der Sie Datensätze durchsuchen möchten, Filter- und Gruppierungskriterien anwenden und Ihre erweiterten Suchansichten als persönliche Ansichten speichern.
Nehmen wir ein Beispiel. Angenommen, Sie möchten nach allen Kontakten mit Vornamen suchen, die Robert enthalten und die geschieden sind. Dafür -
Step 1- Wählen Sie in der Dropdown-Liste Suchen nach Kontakte aus. Diese Dropdown-Liste enthält alle in Ihrem System vorhandenen Entitäten.
Step 2- Geben Sie die Suchkriterien wie im folgenden Screenshot gezeigt ein. Sie können beliebig viele Suchabfrageparameter hinzufügen. Sie können solche Kriterien sogar mithilfe von Gruppenparametern gruppieren. Wenn Sie beispielsweise alle Kontakte durchsuchen möchten, deren Vorname entweder Robert oder Mark ist, können Sie zwei Suchkriterien hinzufügen und diese mit GroupOR gruppieren.
Step 3- Klicken Sie auf die Schaltfläche Ergebnisse. Die übereinstimmenden Datensätze werden auf einer neuen Registerkarte angezeigt.
Step 4- Sie können auch die Spalten bearbeiten, die in den Suchergebnissen angezeigt werden sollen, indem Sie auf Spalten bearbeiten klicken. Beispielsweise enthält unser aktuelles Raster nur zwei Spalten - Vollständiger Name und Geschäftstelefon. Wenn Sie jedoch eine zusätzliche Spalte mit der E-Mail-ID zu diesem Raster hinzufügen möchten, können Sie dies mit dieser Option tun.
Benutzerdefinierte Ansicht speichern
Wenn Sie zu diesem Zeitpunkt diese Suchkriterien zusammen mit den Filtern und bearbeiteten Spalten speichern möchten, können Sie dies tun, indem Sie auf die Schaltfläche Speichern klicken. Nach dem Speichern können Sie diese gespeicherte Ansicht verwenden, wenn Sie sich auf dieser Entitätsseite befinden.
Stellen Sie sich beispielsweise vor, dass Sie als Kundenbetreuer zwei Arten von Kunden bedienen: Normal und Premium. Daher können Sie einen erweiterten Filter mit diesen jeweiligen Kategorien erstellen und diese als mir zugewiesene normale Kontakte und mir zugewiesene Premium-Kontakte speichern. Sie können dann schnell direkt von der Seite "Entität" auf diese Ansichten zugreifen, ohne bei jeder Verwendung des Systems eine Schnellsuche oder eine erweiterte Suche durchführen zu müssen.
Webressourcen in CRM sind die virtuellen Webdateien, die in der CRM-Datenbank gespeichert und zum Implementieren von Webseitenfunktionen in CRM verwendet werden. Diese Dateien können HTML, JScript, Silverlight oder andere unterstützte Typen sein.
CRM ist ein Produkt und verfügt über eine Vielzahl von Features und Funktionen. In den meisten Fällen müssten Sie diese vorhandenen Funktionen jedoch erweitern, um Ihre benutzerdefinierten Anforderungen zu erfüllen. Die Erweiterung dieser Funktionen erfolgt im Allgemeinen auf zwei Arten:
Extending on Client Side - Verwenden von Webressourcen und Formularskripten.
Extending on Server Side - Plugins, Workflows und Web Services (wir werden diesen Teil in den kommenden Kapiteln lernen).
Verwendung von Webressourcen
Wie oben erwähnt, wird bei der Erweiterung von CRM auf der Clientseite die Webressource angezeigt. Um dies klar zu verstehen, betrachten Sie die folgenden Anwendungsfälle:
Sie haben ein CRM-Formular mit bestimmten Feldern. CRM bietet sofort einsatzbereite Funktionen für grundlegende Überprüfungen wie Pflichtfelder, Feldlängen usw. Was ist jedoch, wenn Sie eine komplexere Überprüfung wünschen, z. B. die Überprüfung, ob die eingegebene Telefonnummer das richtige Format hat, oder Überprüfen, ob die eingegebene Adresse tatsächlich vorhanden ist oder ob die eingegebene SSN korrekt ist?
CRM bietet sofort einsatzbereite Anpassungen der Benutzeroberfläche, z. B. das Erstellen von Abschnitten und Registerkarten in einem Formular, das Neuanordnen von Feldern usw. Was ist jedoch, wenn der Client eine benutzerdefinierte Seite erstellen möchte, auf der alle Informationen des Kunden angezeigt werden, die von seinem Kunden stammen ERP-System?
CRM wird mit einer Standard-Multifunktionsleiste geliefert, die alle Schaltflächen und Optionen enthält. Was ist, wenn Sie eine eigene Multifunktionsleistenschaltfläche hinzufügen möchten?
Beachten Sie, dass bereits ein ERP-System vorhanden ist. Was ist, wenn Sie einige CRM-Bildschirme von diesem ERP-System aus öffnen möchten?
Sie können jederzeit externe Webdienste in Ihrem serverseitigen Plugin-Code aufrufen. Was ist jedoch, wenn Sie externe Webdienste aufrufen möchten, während Sie noch auf der Clientseite sind?
Die Antwort auf all diese „Was wäre wenn“ sind Webressourcen. Auf jede Webressource kann über ihre eindeutige URL zugegriffen werden. Sie können entweder eine Webressourcendatei hochladen oder für codebasierte Ressourcen (wie HTML, Jscript usw.) diese sogar direkt in CRM bearbeiten. Da Webressourcen in CRM gespeichert sind, können sie zusammen mit allen CRM-Anpassungen problemlos von einer Umgebung in eine andere migriert werden.
Arten von Webressourcen
Art der Webressource | Beispielanwendung in CRM |
---|---|
Webseite (HTML) | Möglicherweise möchten Sie eine benutzerdefinierte HTML-Seite wie Karten, eine benutzerdefinierte Anwendungsseite usw. erstellen und in Ihr CRM-Formular einfügen. |
Stylesheet (CSS) | Alle CSS-Dateien, die zusammen mit den HTML-Dateien verwendet werden. |
Skript (JScript) | Jede clientseitige Logik wie Validierungen, Manipulieren von Feldwerten usw. |
Daten (XML) | Kann zum Speichern statischer Einstellungen oder Konfigurationsdaten verwendet werden. |
Bild (PNG, JPG, GIF, ICO) | Alle Bilder, die in der Anwendung auf Multifunktionsleistenschaltflächen, Symbolen, Formularen usw. verwendet werden. |
Silverlight (XAP) | Jede benutzerdefinierte Silverlight-Anwendung, die in CRM eingebettet ist. |
StyleSheet (XSL) | Wird zum Transformieren von XML-Daten verwendet. |
Von all diesen Arten von Webressourcen werden wir in den folgenden Kapiteln die wichtigsten Arten von Webressourcen untersuchen - HTML-Webressourcen und JScript-Webressourcen.
Zugriff auf Webressourcen für eine beliebige Entität
Auf alle in der Datenbank gespeicherten Webressourcen kann in CRM zugegriffen werden. Im Folgenden sind die Schritte aufgeführt:
Step 1 - Gehen Sie zu Einstellungen → Anpassungen → System anpassen.
Step 2 - Wählen Sie in der linken Navigation aus Web Resources. Derzeit können Sie keine Webressourcen sehen, da wir noch nichts erstellt haben.
In den nächsten Kapiteln werden wir uns ansehen, wie Webressourcen erstellt werden.
JScript-Webressourcen sind wahrscheinlich die wichtigste Art von Webressourcen, die Sie mit Microsoft Dynamics CRM verwenden werden.
Anwendungen von JavaScript in CRM
Formularereignisprogrammierung
Die Formularereignisprogrammierung wird verwendet, um clientseitige Verhaltensweisen zu behandeln, z. B. was passiert, wenn ein Benutzer ein Formular öffnet, einige Daten ändert, durch Registerkarten wechselt usw. Um solche clientseitigen Interaktionen zu erreichen, schreiben Sie JavaScript-Code und fügen ihn als hinzu JScript-Webressource in CRM. Der JavaScript-Code, den Sie schreiben, muss jedoch das Xrm.Page-Modell von Dynamic CRM verwenden und nicht das Standard-JavaScript-DOM. Die Verwendung des Xrm.Page-Modells ist die Codierungsmethode von Microsoft, mit der sichergestellt wird, dass jeder Code, den Sie mit diesem Modell schreiben, mit zukünftigen Versionen von CRM kompatibel ist.
Webressourcen
JavaScript wird nicht nur in der Formularereignisprogrammierung verwendet, sondern auch in anderen CRM-Anwendungen wie -
Öffnen Sie Formulare, Ansichten und Dialoge mit einer eindeutigen URL.
Verwenden von OData- und SOAP-Endpunkten zur Interaktion mit Webdiensten.
Verweisen auf JavaScript-Code in anderen Webressourcen (z. B. HTML-Webressourcen).
In solchen Fällen würden Sie Ihren JavaScript-Code (unter Verwendung des Xrm.Page-Modells) schreiben und ihn als JScript-Webressource in CRM hinzufügen, auf die dann überall mit einem eindeutigen URI verwiesen werden kann.
Multifunktionsleistenanpassungen
Schließlich besteht eine der anderen häufig verwendeten Anwendungen von JavaScript darin, Multifunktionsleistenanpassungen wie - durchzuführen.
- Anzeigen / Ausblenden von Multifunktionsleistenschaltflächen basierend auf einer bestimmten Logik
- Aktivieren / Deaktivieren von Multifunktionsleistenschaltflächen basierend auf einer bestimmten Logik
- Behandeln Sie, was passiert, wenn Sie auf eine bestimmte Multifunktionsleistenschaltfläche klicken
Um mit solchen Szenarien umzugehen, schreiben Sie Ihre JavaScript-Logik (unter Verwendung des Xrm.Page-Modells) und fügen sie dann als JScript-Webressource hinzu. Diese Webressource kann dann im XML der Multifunktionsleistenschaltfläche referenziert werden, und wir können angeben, in welcher Methode welche JScript-Datei aufgerufen werden soll, um zu überprüfen, ob eine Multifunktionsleistenschaltfläche angezeigt / ausgeblendet oder aktiviert / deaktiviert werden soll, oder um Klickereignisse zu behandeln.
Xrm.Page-Objektmodell
Im Folgenden finden Sie die Hierarchie des Xrm.Page-Objekts mit den verfügbaren Namespaces, Objekten und ihren Sammlungen. Sie werden diese Eigenschaften beim Schreiben von JScript-Code verwenden.
Namespaces
Sr.Nr. | Objekt & Beschreibung |
---|---|
1 | Context Bietet Methoden zum Abrufen kontextspezifischer Informationen wie Organisationsdetails, angemeldete Benutzerdetails oder Parameter, die in einer Abfragezeichenfolge an das Formular übergeben wurden. |
2 | Data Bietet Zugriff auf die Entitätsdaten und -methoden zum Verwalten der Daten im Formular sowie in der Steuerung des Geschäftsprozessflusses. |
3 | UI Enthält Methoden zum Abrufen von Informationen zur Benutzeroberfläche sowie Sammlungen für mehrere Unterkomponenten des Formulars. |
Objekte
Sr.Nr. | Objekt & Beschreibung |
---|---|
1 | Entity Bietet Methode zu -
|
2 | Process Methoden zum Abrufen von Eigenschaften des Geschäftsprozessflusses. |
3 | Navigation Bietet Zugriff auf Navigationselemente mithilfe der Elementsammlung. |
4 | FormSelector Verwendet die Elementauflistung, um dem Benutzer auf verfügbare Formulare zuzugreifen. Verwendet auch die Navigationsmethode zum Schließen und Öffnen von Formularen. |
5 | Stages Jeder Prozess verfügt über eine Sammlung von Phasen, auf die mit der Prozessmethode getStages zugegriffen werden kann. |
6 | Steps Jede Stufe besteht aus verschiedenen Schritten, auf die mit der Methode getSteps der Stufe zugegriffen werden kann. |
Sammlungen
Sr.Nr. | Sammlungen & Beschreibung |
---|---|
1 | Attributes Bietet Zugriff auf Entitätsattribute, die im Formular verfügbar sind. |
2 | Controls ui.controls - Ermöglicht den Zugriff auf jedes auf dem Formular vorhandene Steuerelement. attribute.controls - Bietet Zugriff auf alle Steuerelemente innerhalb eines Attributs. section.controls - Bietet Zugriff auf alle Steuerelemente innerhalb eines Abschnitts. |
3 | Items Bietet Zugriff auf alle Navigationselemente in einem Formular. |
4 | Tabs Bietet Zugriff auf alle Registerkarten in einem Formular. |
5 | Sections Bietet Zugriff auf alle Abschnitte eines Formulars. |
Unterstützte Ereignisse in der Formularprogrammierung
Mit der Formularprogrammierung mit dem Xrm.Page-Modell können Sie die folgenden Formularereignisse verarbeiten:
- onLoad
- onSave
- onChange
- TabStateChange
- OnReadyStateComplete
- PreSearch
- Ereignisse zur Steuerung des Geschäftsprozessflusses
Beispiel für die Formularprogrammierung
In diesem Beispiel werden einige Validierungen in das Kontaktformular aufgenommen, die auf der vom Benutzer ausgewählten PreferredMethodofCommunication basieren. Wenn der Benutzer seine bevorzugte Methode als E-Mail auswählt, sollte das Feld E-Mail obligatorisch werden, und dies gilt auch für andere Bereiche von Telefon und Fax.
Step 1 - Erstellen Sie eine JavaScript-Datei mit dem Namen contacts.js und kopieren Sie den folgenden Code.
function validatePreferredMethodOfCommunication() {
//get the value of Preffered Method of Communication code
var prefferedContactMethodCode =
Xrm.Page.getAttribute('preferredcontactmetho dcode').getValue();
//if Preferred Method = Any, make all fields as non-mandatory
//else if Preferred Method = Phone, make Mobile Phone field mandatory
//and all other fields as non-mandatory
//else if Preferred Method = Fax, make Fax field mandatory
//and all other fields as non-mandatory
if(prefferedContactMethodCode == 1) {
clearAllMandatoryFields();
}
if(prefferedContactMethodCode == 2) {
clearAllMandatoryFields();
Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('required');
} else if(prefferedContactMethodCode == 3) {
clearAllMandatoryFields();
Xrm.Page.getAttribute('mobilephone').setRequiredLevel('required');
} else if(prefferedContactMethodCode == 4) {
clearAllMandatoryFields();
Xrm.Page.getAttribute('fax').setRequiredLevel('required');
}
}
function clearAllMandatoryFields() {
//clear all mandatory fields
Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('none');
Xrm.Page.getAttribute('mobilephone').setRequiredLevel('none');
Xrm.Page.getAttribute('fax').setRequiredLevel('none');
}
Step 2 - Öffnen Sie das Kontaktentitätsformular, indem Sie zu Einstellungen → Anpassungen → System anpassen → Kontaktentität → Formulare → Hauptformular navigieren.
Step 3 - Klicken Sie auf Formulareigenschaften.
Step 4 - Klicken Sie im Fenster Formulareigenschaften auf Hinzufügen.
Step 5 - Klicken Sie im nächsten Fenster "Webressourcendatensatz nachschlagen" auf "Neu", da wir eine neue Webressource erstellen.
Step 6 - Geben Sie im Fenster Neue Webressource die folgenden Details ein:
Name - new_contacts.js
Display Name - contacts.js
Type - JScript
Upload File - Laden Sie die JavaScript-Datei hoch, die Sie von Ihrem lokalen Computer erstellt haben.
Step 7- Klicken Sie auf Speichern und anschließend auf Veröffentlichen. Danach schließen Sie das Fenster und Sie kehren zum Fenster Nachschlagen des Webressourcendatensatzes zurück.
Step 8- Hier sehen Sie jetzt die Webressource new_contacts.js. Wählen Sie es aus und klicken Sie auf Hinzufügen. Sie haben jetzt erfolgreich eine neue Webressource hinzugefügt und im Formular registriert.
Step 9- Jetzt fügen wir einen Ereignishandler zur Änderung des Felds Bevorzugte Kommunikationsmethode hinzu. Dieser Ereignishandler ruft die gerade geschriebene JavaScript-Funktion auf. Wählen Sie im Abschnitt Ereignishandler die folgenden Optionen aus.
Control - Bevorzugte Kommunikationsmethode
Event - OnChange
Klicken Sie dann auf Add Schaltfläche, wie im folgenden Screenshot gezeigt.
Step 10 - Im nächsten Fenster der Handler-Eigenschaften geben wir die Methode an, die aufgerufen werden soll, wenn das Änderungsereignis auftritt.
Wählen Sie Library als new_contacts.js und Function als validatePreferredMethodOfCommunication aus. OK klicken.
Step 11- Sie können jetzt die Formularbibliothek (Webressource) und die darauf registrierten Ereignisse anzeigen. OK klicken.
Step 12 - Klicken Sie auf Speichern und anschließend auf Veröffentlichen.
Step 13- Öffnen Sie nun ein Kontaktformular und legen Sie die bevorzugte Kommunikationsmethode als Telefon fest. Dadurch wird das Feld Mobiltelefon obligatorisch. Wenn Sie jetzt versuchen, diesen Kontakt zu speichern, ohne eine Handynummer einzugeben, wird die Fehlermeldung "Sie müssen einen Wert für das Mobiltelefon angeben" angezeigt.
Fazit
In diesem Kapitel haben wir zunächst die drei wichtigen Anwendungen von JavaScript in CRM verstanden. Später haben wir das Xrm.Page-Modell untersucht und es verwendet, um die Formularprogrammierung zusammen mit einem Beispiel zu lernen.
In diesem Kapitel lernen wir die verschiedenen Webressourcen in Microsoft Dynamics CRM kennen.
Anwendungen von HTML-Webressourcen
Eine HTML-Webressource in CRM kann jeden HTML-Inhalt enthalten, der in einem Browser gerendert werden kann. Stellen Sie sich die folgenden Szenarien vor, in denen Sie HTML-Webressourcen verwenden möchten:
Sie haben eine statische HTML-Seite, die Sie im CRM-Bildschirm anzeigen möchten.
Sie haben eine benutzerdefinierte HTML-Seite, die einige Eingabeparameter erwartet und basierend auf diesen Eingabeparametern gerendert wird. Angenommen, Sie rufen Informationen von einer externen API oder einem Webdienst ab und möchten diese in CRM anzeigen.
Sie möchten einige Informationen mit einem anderen Erscheinungsbild als die Standard-CRM-Benutzeroberfläche anzeigen.
Sie haben eine benutzerdefinierte ASPX-Seite (außerhalb der CRM-Anwendung), die basierend auf den Eingabeparametern gerendert wird. Da Sie in CRM keine ASPX-Webressourcen verwenden können, können Sie eine HTML-Webressource erstellen und die externe ASPX-Seite von dieser HTML-Seite aus aufrufen.
Beispiel für eine HTML-Webressource
Wir werden eine sehr einfache HTML-Webressource erstellen, die einen benutzerdefinierten Text "Willkommen bei TutorialsPoint" anzeigt. Beachten Sie, dass dies ein sehr einfaches Beispiel für eine HTML-Webressource ist. In der Praxis wären die HTML-Webressourcen komplexer.
Step 1 - Erstellen Sie eine HTML-Datei mit dem Namen sampleHTMLWebResource.html und kopieren Sie den folgenden Code.
<!DOCTYPE html>
<htmllang = "en"xmlns = "http://www.w3.org/1999/xhtml">
<head>
<metacharset = "utf-8"/>
<title>Welcome to Tutorials Point</title>
</head>
<body>
<h1>Welcome to Tutorials Point. This is an example of HTML Web Resource.</h1>
</body>
</html>
Step 2- Zuerst erstellen wir eine neue Webressource und verweisen dann auf das Kontaktformular. Öffnen Sie die DefaultSolution und navigieren Sie im linken Bereich zur Registerkarte WebResources. Klicken Sie auf Neu.
Step 3- Es öffnet sich ein neues Webressourcenfenster. Geben Sie die Details wie im folgenden Screenshot gezeigt ein und durchsuchen Sie die in Schritt 1 erstellte HTML-Datei. Klicken Sie auf Speichern und veröffentlichen. Schließe das Fenster.
Step 4 - Sie sehen die neue Webressource, die dem Raster der Webressourcen hinzugefügt wurde.
Step 5- Öffnen Sie nun das Kontaktformular über Einstellungen → Anpassungen → System anpassen → Kontakt → Hauptformular. Wählen Sie den Abschnitt Kontaktinformationen und wechseln Sie in der oberen Multifunktionsleiste zur Registerkarte Einfügen. Klicken Sie auf Webressource.
Step 6- Es wird ein Fenster zum Hinzufügen von Webressourcen geöffnet. Klicken Sie in diesem Fenster auf die Webressourcensuche, um das Fenster Webressourcensuchdatensatz zu öffnen. Durchsuchen Sie die soeben erstellte Webressource (new_sampleHTMLWebResource), wählen Sie sie aus dem Raster aus und klicken Sie auf Hinzufügen.
Step 7- Wenn Sie zu Webressource hinzufügen zurückkehren, geben Sie den Namen und die Bezeichnung ein, wie im folgenden Screenshot gezeigt, und klicken Sie auf OK. Schließe das Fenster.
Sie sehen die HTML-Webressource unter dem Feld Adresse.
Step 8 - Um dies zu testen, öffnen Sie einen beliebigen Kontaktdatensatz. Dort wird der Inhalt der HTML-Webressource angezeigt.
Einschränkungen von HTML-Webressourcen
Es gibt keine unterstützte Möglichkeit, den serverseitigen Code in HTML-Webressourcen zu verwenden.
HTML-Webressourcen können nur eine begrenzte Anzahl von Parametern akzeptieren. Um mehr als einen Wert im Datenparameter zu übergeben, müssen Sie die Parameter einschließlich der Decodierungslogik am anderen Ende codieren.
Mit Workflows in CRM können Sie einfache und komplexe Geschäftsprozesse in CRM automatisieren. Sie können entweder Workflows mit sofort einsatzbereiten CRM-Funktionen erstellen oder benutzerdefinierte Workflows mit .NET-Code schreiben, um komplexe Workflows zu implementieren. Workflow-Prozesse werden im Hintergrund oder in Echtzeit ausgeführt und können optional eine Benutzereingabe erfordern.
Workflows können basierend auf bestimmten Bedingungen ausgelöst oder sogar manuell von den Benutzern gestartet werden. Intern werden CRM-Workflows mit Windows Workflow Foundation implementiert. In diesem Kapitel lernen wir die Konfiguration von Workflows kennen.
Das Konfigurieren eines Workflows besteht aus den folgenden Hauptteilen (nacheinander):
- Konfigurieren Sie die Entität, auf der der Workflow ausgeführt wird
- Konfigurieren Sie, ob der Workflow synchron oder asynchron ausgeführt wird
- Konfigurieren Sie die Nachricht (Ereignis), auf der der Workflow ausgeführt wird
- Konfigurieren Sie den Bereich, in dem der Workflow ausgeführt wird
- Konfigurieren Sie die Phasen und Schritte (Aktionen) des Workflows
Synchroner / asynchroner Workflow
Wenn Sie einen Workflow erstellen, wird die Option "Diesen Workflow ausführen" im Hintergrund (empfohlen) angezeigt, mit der festgelegt wird, ob der Workflow in Echtzeit (synchron) oder im Hintergrund (asynchron) ausgeführt wird.
Im Allgemeinen wird empfohlen, die Workflows im Hintergrund auszuführen, da sie nach Bedarf Systemressourcen verwenden. Sie können jedoch jederzeit von einem Echtzeit-Workflow zu einem Hintergrund-Workflow und umgekehrt zurückkehren.
Workflow-Nachrichten
Workflows können für bestimmte Ereignisse wie folgt registriert werden:
- Wenn ein Datensatz erstellt wird
- Wenn sich ein Datensatzstatus ändert
- Wenn ein Datensatz zugewiesen ist
- Wenn sich ein Datensatzfeldwert ändert
- Wenn ein Datensatz gelöscht wird
Workflow-Bereich
In Workflows können Sie den Bereich festlegen, in dem der Workflow ausgeführt wird. Im Folgenden sind die unterstützten Workflow-Bereiche aufgeführt:
User | Der Workflow wird nur für die Datensätze ausgeführt, die demselben Benutzer gehören wie der Workflowbenutzer. |
Business Unit | Der Workflow wird auf den Datensätzen ausgeführt, die den Benutzern der Geschäftseinheit gehören, genau wie der Workflowbenutzer. |
Parent Child Business Units | Der Workflow wird in den Datensätzen ausgeführt, deren Eigentümer die Benutzer der Geschäftseinheit sind, ebenso wie der Workflowbenutzer sowie in allen untergeordneten Geschäftseinheiten. |
Organization | Der Workflow wird für Datensätze ausgeführt, die einem Benutzer in CRM gehören. |
Workflow-Schritte
Workflows in CRM sind eine Kombination aus mehreren Schritten, denen der Workflow folgen wird. Sie können diese Schritte sogar in logische Stufen unterteilen. Die folgenden Schritte werden von CRM-Workflows unterstützt:
Conditional Steps |
|
||||||||||||||
Wait Steps |
|
||||||||||||||
Action Steps |
|
Workflow-Beispiel
In diesem Beispiel erstellen wir einen einfachen Workflow, der im Hintergrund ausgeführt wird, um einen neu erstellten Kontaktdatensatz einem bestimmten Benutzer zuzuweisen und anschließend eine Begrüßungs-E-Mail an den Kunden zu senden.
Step 1 - Gehen Sie zu Einstellungen → Prozesse.
Step 2 - Klicken Sie auf Neu.
Step 3 - Geben Sie im Fenster CreateProcess die folgenden Details ein:
Process Name - Neukunden-Workflow (Dies kann ein beliebiger Name sein)
Category - Workflow
Entity - Kontakt (Dies ist die Entität, für die Sie den Workflow erstellen. In unserem Fall ist es Kontakt)
Run this workflow in the background (recommended)- Aktivieren Sie diese Option, während wir einen asynchronen Hintergrundworkflow erstellen. Klicken Sie abschließend auf OK.
Step 4 - Geben Sie im Fenster Neuer Prozess die folgenden Details ein:
Activate As - Prozess
Scope - Benutzer
Start when - Datensatz wird erstellt
Klicken Add Step → Datensatz zuweisen.
Step 5- Sie sehen einen neuen Schritt zum Workflow hinzugefügt. In diesem Schritt geben wir den Benutzer an, dem alle erstellten Kontakte zugewiesen werden sollen. Geben Sie den Namen des Schritts als einAssign Record to Team. Die Option Zuweisen wird standardmäßig als die Entität verwendet, für die wir den Workflow erstellen (in unserem Fall Kontakt). Klicken Sie auf das Suchsymbol.
Step 6- Wählen Sie im Suchfenster einen beliebigen Benutzer aus. Sie können sogar ein bestimmtes Team auswählen, dem Sie die Datensätze zuweisen möchten. Klicken Sie auf Hinzufügen.
Step 7- Fügen Sie einen weiteren Schritt hinzu, indem Sie auf Schritt hinzufügen → E-Mail senden klicken. In diesem Schritt konfigurieren wir das Senden von E-Mails an den Kunden.
Step 8- Ein neuer Schritt wird hinzugefügt. Geben Sie den Namen als E-Mail an Kunden senden ein. Klicken Sie auf Eigenschaften festlegen.
Step 9 - Führen Sie im nächsten Fenster zum Konfigurieren von E-Mails die folgenden Vorgänge aus:
From- Klicken Sie auf Von Feld. Wählen Sie im rechten Bereich OwningUser und User aus. Klicken Sie auf Hinzufügen → OK.
To- Klicken Sie auf das Feld An. Wählen Sie im rechten Bereich Kontakt und Kontakt aus. Klicken Sie auf Hinzufügen → OK.
Subject - Geben Sie einen relevanten Betreff ein.
Body - Geben Sie einen relevanten Body-Inhalt ein.
Step 10 - Klicken Sie auf Speichern und dann auf Aktivieren.
Step 11 - Klicken Sie im folgenden Popup "Bestätigung aktivieren" auf "Aktivieren".
Step 12- Gehen Sie zur Registerkarte Kontakte und erstellen Sie einen neuen Kontakt. Sobald Sie durch Speichern des Datensatzes einen neuen Kontakt erstellen, wird das Feld Eigentümer auf den Benutzer gesetzt, den Sie im Workflow konfiguriert haben. Wenn Sie auf die Registerkarte Aktivitäten klicken, wird eine E-Mail-Aktivität für diesen Kontakt erstellt. Dies bestätigt, dass der Workflow erfolgreich ausgeführt wurde.
Workflow vs Plugin
Workflows und Plugins können sowohl zur Erweiterung als auch zur Automatisierung von CRM-Funktionen verwendet werden. In vielen Szenarien können beide Ansätze austauschbar verwendet werden. Wenn Sie beispielsweise einfach eine E-Mail an Ihre Kunden senden müssen, können Sie dies entweder über ein Plugin oder einen Workflow tun.
Wie wählen Sie zwischen dem Erstellen eines Workflows und dem Plugin? Die folgende Liste versucht das gleiche zu erklären -
Obwohl sowohl Plugins als auch Workflows zum Ausführen von synchroner und asynchroner Logik verwendet werden können, werden Plugins im Allgemeinen für synchrone Logik bevorzugt, während Workflows für asynchrone Logik verwendet werden.
Um eine komplexe Geschäftslogik zu implementieren, werden Plugins im Allgemeinen Workflows vorgezogen. Workflows werden bevorzugt, wenn Sie relativ einfachere Funktionen erreichen möchten (z. B. Senden von E-Mails, Zuweisen von Benutzern usw.).
Plugins müssen mit Codierung entwickelt werden, während Workflows direkt von Geschäftsbenutzern ohne Kenntnis der Workflows konfiguriert werden können.
Workflows können bei Bedarf ausgeführt werden. Wenn es Anforderungen gibt, bei denen der Benutzer eine Logik manuell ausführen möchte, sind Workflows die bessere Wahl.
Aufgrund der Auswirkungen auf die Leistung bieten synchrone Plugins eine bessere Leistung (und einen besseren Durchsatz) als Echtzeit-Workflows in Szenarien, in denen die Anforderungshäufigkeit höher ist.
Fazit
Dieses Kapitel führte uns in eine der sehr wichtigen Funktionen von CRM - Workflows ein. Wir haben zuerst die Sync / Async-Workflows, Nachrichten, den Umfang und die Schritte verstanden und uns schließlich ein Live-Beispiel für das Erstellen und Ausführen eines Workflows angesehen. Schließlich haben wir die Unterschiede zwischen einem Workflow und einem Plugin gesehen.
Ein Plug-In ist eine benutzerdefinierte Geschäftslogik, die in Microsoft Dynamics CRM integriert wird, um das Standardverhalten der Plattform zu ändern oder zu erweitern. Plug-Ins fungieren als Ereignishandler und sind für die Ausführung eines bestimmten Ereignisses in CRM registriert. Plugins werden entweder in C # oder VB geschrieben und können entweder im synchronen oder im asynchronen Modus ausgeführt werden.
Einige Szenarien, in denen Sie ein Plugin schreiben würden, sind:
Sie möchten eine Geschäftslogik ausführen, z. B. das Aktualisieren bestimmter Felder eines Datensatzes oder das Aktualisieren zugehöriger Datensätze usw., wenn Sie einen CRM-Datensatz erstellen oder aktualisieren.
Sie möchten einen externen Webdienst bei bestimmten Ereignissen aufrufen, z. B. beim Speichern oder Aktualisieren eines Datensatzes.
Sie möchten die Feldwerte dynamisch berechnen, wenn ein Datensatz geöffnet wird.
Sie möchten Prozesse wie das Senden von E-Mails an Ihre Kunden zu bestimmten Ereignissen in CRM automatisieren.
Event Framework
Das Event Processing Framework in CRM verarbeitet die synchronen und asynchronen Plugin-Anforderungen, indem es sie an die Ereignisausführungspipeline übergibt. Immer wenn ein Ereignis eine Plugin-Logik auslöst, wird eine Nachricht an den CRM Organization Web Service gesendet, wo sie von anderen Plugins oder Kernoperationen der Plattform gelesen oder geändert werden kann.
Plugin-Pipeline-Stufen
Die gesamte Plugin-Pipeline ist in mehrere Phasen unterteilt, in denen Sie Ihre benutzerdefinierte Geschäftslogik registrieren können. Die angegebene Pipeline-Phase gibt an, in welcher Phase des Plugin-Ausführungszyklus Ihr Plugin-Code ausgeführt wird. Von allen in der folgenden Tabelle angegebenen Pipeline-Phasen können Sie Ihre benutzerdefinierten Plugins nur für Pre- und Post-Events registrieren. Sie können keine Plugins für Platform Core Main Operations registrieren.
Veranstaltung | Künstlername | Beschreibung |
---|---|---|
Pre-Event | Vorvalidierung | Phase in der Pipeline für Plug-Ins, die vor dem Betrieb des Hauptsystems ausgeführt werden sollen. In dieser Phase registrierte Plug-Ins können außerhalb der Datenbanktransaktion ausgeführt werden. |
Pre-Event | Vorbetrieb | Phase in der Pipeline für Plug-Ins, die vor dem Betrieb des Hauptsystems ausgeführt werden sollen. In dieser Phase registrierte Plugins werden innerhalb der Datenbanktransaktion ausgeführt. |
Plattformkernbetrieb | Hauptbetrieb | Intransaction, die Hauptoperation des Systems, wie z. B. Erstellen, Aktualisieren, Löschen usw. In dieser Phase können keine benutzerdefinierten Plug-Ins registriert werden. Nur für interne Benutzung. |
Nach dem Event | Nach der Operation | Phase in der Pipeline für Plug-Ins, die nach der Hauptoperation ausgeführt werden sollen. In dieser Phase registrierte Plug-Ins werden innerhalb der Datenbanktransaktion ausgeführt. |
Immer wenn die CRM-Anwendung ein Ereignis aufruft (z. B. Speichern oder Aktualisieren eines Datensatzes), wird die folgende Abfolge von Aktionen ausgeführt:
Das Ereignis löst einen Webdienstaufruf aus und die Ausführung wird durch die Ereignispipeline-Phasen (Vorereignis, Plattformkernoperationen, Nachereignis) geleitet.
Die Informationen werden intern als OrganizationRequest-Nachricht verpackt und schließlich an die internen CRM-Webdienstmethoden und Plattformkernvorgänge gesendet.
Die OrganizationRequest-Nachricht wird zuerst von Plugins vor dem Ereignis empfangen, die die Informationen ändern können, bevor sie an die Kernoperationen der Plattform übergeben werden. Nach den Kernoperationen der Plattform wird die Nachricht als OrganizationResponse gepackt und an die Plugins nach der Operation übergeben. Die Postoperations-Plugins können diese Informationen optional ändern, bevor sie an das asynchrone Plugin übergeben werden.
Die Plugins erhalten diese Informationen in Form eines Kontextobjekts, das an die Execute-Methode übergeben wird, wonach die weitere Verarbeitung erfolgt.
Nachdem die gesamte Plugin-Verarbeitung abgeschlossen ist, wird die Ausführung an die Anwendung zurückgegeben, die das Ereignis ausgelöst hat.
Plugin-Nachrichten
Nachrichten sind die Ereignisse, bei denen das Plugin (oder die Geschäftslogik) registriert ist. Sie können beispielsweise ein Plugin für die Entität Nachricht des Kontakts erstellen registrieren. Dies würde die Geschäftslogik auslösen, wenn ein neuer Kontaktdatensatz erstellt wird.
Bei benutzerdefinierten Entitäten werden die folgenden Meldungen unterstützt, die darauf basieren, ob sich die Entität im Besitz des Benutzers oder der Organisation befindet.
Nachrichtenname | Eigentumstyp |
---|---|
Zuordnen | Nur benutzereigene Entitäten |
Erstellen | Entitäten im Besitz von Benutzern und Organisationen |
Löschen | Entitäten im Besitz von Benutzern und Organisationen |
Zugriff gewähren | Nur benutzereigene Entitäten |
ModifyAccess | Nur benutzereigene Entitäten |
Abrufen | Entitäten im Besitz von Benutzern und Organisationen |
RetrieveMultiple | Entitäten im Besitz von Benutzern und Organisationen |
RetrievePrincipalAccess | Nur benutzereigene Entitäten |
RetrieveSharedPrincipalsAndAccess | Nur benutzereigene Entitäten |
Zugriffsrechte entziehen | Nur benutzereigene Entitäten |
SetState | Entitäten im Besitz von Benutzern und Organisationen |
SetStateDynamicEntity | Entitäten im Besitz von Benutzern und Organisationen |
Aktualisieren | Entitäten im Besitz von Benutzern und Organisationen |
Für standardmäßige Standardentitäten werden mehr als 100 Nachrichten unterstützt. Einige dieser Nachrichten gelten für alle Entitäten, während einige für bestimmte Entitäten spezifisch sind. Die vollständige Liste der unterstützten Nachrichten finden Sie in einer Excel-Datei im SDK:SDK\Message-entity support for plug-ins.xlsx
Plugin schreiben
In diesem Abschnitt lernen wir die Grundlagen des Schreibens eines Plugins. Wir werden ein Beispiel-Plugin erstellen, das eine Aufgabenaktivität erstellt, mit der der Kunde nachverfolgt werden kann, wenn ein neuer Kunde zum System hinzugefügt wird, dh wenn ein neuer Kontaktdatensatz in CRM erstellt wird.
Zunächst müssten Sie die Verweise auf einfügen Microsoft.Xrm.SdkNamespace. Das CRM SDK enthält alle erforderlichen SDK-Assemblys. Angenommen, Sie haben das SDK bereits in Kapitel 2 heruntergeladen und installiert, öffnen Sie Visual Studio. Erstellen Sie ein neues Projekt vom Typ Klassenbibliothek. Sie können das Projekt als SamplePlugins benennen und auf OK klicken.
Fügen Sie die Referenz von hinzu Microsoft.Xrm.SdkMontage zu Ihrem Projekt. Die Baugruppe ist in vorhandenSDK/Bin.
Erstellen Sie nun eine Klasse mit dem Namen PostCreateContact.cs und erweitern Sie die Klasse von IPlugin. Bis jetzt sieht Ihr Code ungefähr so aus.
Sie müssen auch einen Verweis auf System.Runtime.Serialization hinzufügen. Nachdem Sie die erforderlichen Referenzen hinzugefügt haben, kopieren Sie den folgenden Code in dasPostCreateContact Klasse.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xrm.Sdk;
namespace SamplePlugins {
public class PostCreateContact:IPlugin {
/// A plug-in that creates a follow-up task activity when a new account is created.
/// Register this plug-in on the Create message, account entity,
/// and asynchronous mode.
public void Execute(IServiceProviderserviceProvider) {
// Obtain the execution context from the service provider.
IPluginExecutionContext context =(IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));
// The InputParameters collection contains all the data
passed in the message request.
if(context.InputParameters.Contains("Target")&&
context.InputParameters["Target"]isEntity) {
// Obtain the target entity from the input parameters.
Entity entity = (Entity)context.InputParameters["Target"];
try {
// Create a task activity to follow up with the account customer in 7 days
Entity followup = new Entity("task");
followup["subject"] = "Send e-mail to the new customer.";
followup["description"] =
"Follow up with the customer. Check if there are any new issues
that need resolution.";
followup["scheduledstart"] = DateTime.Now;
followup["scheduledend"] = DateTime.Now.AddDays(2);
followup["category"] = context.PrimaryEntityName;
// Refer to the contact in the task activity.
if(context.OutputParameters.Contains("id")) {
Guid regardingobjectid = new Guid(context.OutputParameter
s["id"].ToString());
string regardingobjectidType = "contact";
followup["regardingobjectid"] =
new EntityReference(rega rdingobjectidType,regardingobjectid);
}
// Obtain the organization service reference.
IOrganizationServiceFactory serviceFactory =
(IOrganizationSer viceFactory)serviceProvider.GetService
(typeof(IOrganizationServiceFactory));
IOrganizationService service =
serviceFactory.CreateOrganizationService(context.UserId);
// Create the followup activity
service.Create(followup);
} catch(Exception ex) {
throw new InvalidPluginExecutionException(ex.Message);
}
}
}
}
}
Im Folgenden wird Schritt für Schritt erklärt, was dieser Code bewirkt:
Step 1- Implementiert die Execute-Methode, indem das IServiceProvider-Objekt als Parameter verwendet wird. Der Dienstanbieter enthält Verweise auf viele nützliche Objekte, die Sie im Plugin verwenden werden.
Step 2 - Ruft das IPluginExecutionContext-Objekt mit der GetService-Methode von IServiceProvider ab.
Step 3- Ruft das Objekt der Zielentität aus der InputParameters-Auflistung des Kontextobjekts ab. Dieses Entitätsklassenobjekt bezieht sich auf den Kontaktentitätsdatensatz, auf dem unser Plugin registriert wäre.
Step 4- Anschließend wird ein Objekt der Task-Entität erstellt und das richtige Thema, die Beschreibung, die Daten, die Kategorie und das betreffende Objekt festgelegt. Die betreffende Objekt-ID gibt an, für welchen Kontaktdatensatz dieser Aktivitätsdatensatz erstellt wird. Sie können sehen, dass der Code die ID des übergeordneten Kontaktdatensatzes mithilfe von context.OutputParameters abruft und sie dem von Ihnen erstellten Task-Entitätsdatensatz zuordnet.
Step 5 - Erstellt ein Objekt von IOrganizationServiceFactory mit dem IServiceProvider-Objekt.
Step 6 - Erstellt ein Objekt von IOrganizationService mithilfe des IOrganizationServiceFactory-Objekts.
Step 7- Verwenden Sie abschließend die Create-Methode dieses Serviceobjekts. Es wird die Folgeaktivität erstellt, die in CRM gespeichert wird.
Signieren der Plugin-Assembly
Dieser Abschnitt gilt nur, wenn Sie Ihre Plugin-Assembly zum ersten Mal registrieren. Sie müssen sich in der Assembly mit einem Schlüssel anmelden, um das Plugin bereitstellen zu können. Klicken Sie mit der rechten Maustaste auf die Lösung und klicken Sie auf Eigenschaften.
Wählen Sie die Registerkarte Signieren aus den linken Optionen und aktivieren Sie die Option 'Baugruppe signieren'. Wählen Sie dann Neu unter Wählen Sie eine Option für einen Schlüsselnamen mit starkem Namen.
Geben Sie den Namen der Schlüsseldatei als Beispielplugins ein (dies kann ein beliebiger anderer Name sein). Deaktivieren Sie die Option Meine Schlüsseldatei mit einem Kennwort schützen und klicken Sie auf OK. Klicken Sie auf Speichern.
Erstellen Sie schließlich die Lösung. Rechtsklick → Erstellen. Durch das Erstellen der Lösung wird eine Assembly-DLL generiert, die wir im nächsten Kapitel zum Registrieren dieses Plugins verwenden werden.
Ausnahmebehandlung im Plugin
In den meisten Fällen muss Ihre Plugin-Logik Laufzeitausnahmen behandeln. Für synchrone Plugins können Sie eine zurückgebenInvalidPluginExecutionExceptionAusnahme, die dem Benutzer ein Fehlerdialogfeld anzeigt. Das Fehlerdialogfeld enthält die benutzerdefinierte Fehlermeldung, die Sie an das Nachrichtenobjekt des Ausnahmeobjekts übergeben.
Wenn Sie sich unseren Code ansehen, lösen wir die InvalidPluginExecutionException-Ausnahme in unserem catch-Block aus.
throw new InvalidPluginExecutionException(ex.Message);
Fazit
Plugins sind definitiv entscheidend für jede benutzerdefinierte CRM-Implementierung. In diesem Kapitel haben wir uns darauf konzentriert, das Ereignis-Framework-Modell, Pipeline-Phasen, Nachrichten und das Schreiben eines Beispiel-Plugins zu verstehen. Im nächsten Kapitel werden wir dieses Plugin in CRM registrieren und sehen, wie es von Ende zu Ende funktioniert.
Im letzten Kapitel haben wir ein Beispiel-Plugin erstellt, um eine nachfolgende Aufgabenaktivität zu erstellen, wenn ein Kontaktdatensatz erstellt wird. In diesem Kapitel erfahren Sie, wie Sie dieses Plugin mit dem Plugin Registration Tool in CRM registrieren. Sie finden das Tool unter folgender Adresse: SDK / Tools / PluginRegistration / PluginRegistration.exe.
Der Einfachheit halber ist der Plugin-Registrierungsprozess in drei Abschnitte unterteilt:
- Verbinde mit dem Server
- Registrierung der Versammlung
- Plugin registrieren
Verbinde mit dem Server
Step 1 - Führen Sie die PluginRegistration.exevon dem zuvor angegebenen Ort. Klicken Sie auf die Schaltfläche Neue Verbindung erstellen.
Step 2- Wählen Sie im Anmeldefenster Office 365 aus, da wir die Online-Version von CRM verwenden. Geben Sie Ihre Anmeldeinformationen ein und klicken Sie auf Anmelden.
Step 3 - Das Tool wird geöffnet und sieht wie im folgenden Screenshot aus.
Registrierung der Versammlung
Step 1 - Gehen Sie zu Registrieren → Neue Baugruppe registrieren.
Step 2- Dadurch wird das Fenster Neue Baugruppe registrieren geöffnet. Klicken Sie auf das Navigationssymbol und suchen Sie die Plugin-DLL, die Sie im letzten Kapitel erstellt haben.
Step 3- Klicken Sie nach dem Navigieren in der DLL auf Baugruppe laden. Dadurch werden die SamplePlugins-Assembly und alle ihre Plugin-Klassen gefüllt. Du kannst das ... sehenPostCreateContactPlugin-Klasse unten hervorgehoben. Wenn Ihre Plugin-Assembly 3 Plugin-Klassen hätte, hätte sie drei dort aufgeführte Plugins angezeigt.
Step 4- Wählen Sie Isolationsmodus als Sandbox, Speicherort als Datenbank und klicken Sie auf Ausgewählte Plugins registrieren. Es wird eine Erfolgsmeldung angezeigt, wenn die Registrierung erfolgreich ist.
Plugin registrieren
Jetzt registrieren wir die spezifischen Schritte, bei denen die einzelnen Plugins aufgerufen werden.
Step 1 - Wählen Sie das PostCreateContact-Plugin aus.
Step 2 - Klicken Sie auf Registrieren → Neuen Schritt registrieren.
Step 3 - Wir werden dieses Plugin bei der Erstellung der Kontakteinheit, in der Postoperationsphase und im synchronen Modus registrieren.
Message - Erstellen
Primary Entity - Kontakt
Event Pipeline Stage of Execution - Nachoperation
Execution Mode - Synchron
Behalten Sie die restlichen Optionen standardmäßig bei und klicken Sie auf Neuen Schritt registrieren.
Sie können sehen, dass dem Plugin ein neuer Schritt hinzugefügt wurde.
Jetzt gehen wir zu CRM und testen, ob unser Plugin richtig funktioniert. Beachten Sie, dass diese Testschritte spezifisch für unser Beispiel-Plugin sind.
Testen des Plugins
Gehen Sie zur Registerkarte Kontakte und erstellen Sie einen neuen Datensatz. Sobald Sie den Datensatz gespeichert haben, wird eine neue Aktivität angezeigt, die erstellt und diesem Datensatz zugeordnet wurde.
Sie können auf die Aktivität klicken, um die Details anzuzeigen, die wir im Code festgelegt haben.
Dies bestätigt, dass unser Plugin erfolgreich ausgeführt wurde. Ebenso können Sie Ihre Plugins erweitern, um hochkomplexe Funktionen zu erreichen.
Microsoft Dynamics CRM bietet zwei wichtige Webdienste, mit denen Sie von einer externen Anwendung aus auf CRM zugreifen und Webmethoden aufrufen können, um allgemeine Geschäftsdatenvorgänge wie Erstellen, Löschen, Aktualisieren und Suchen in CRM auszuführen.
Betrachten Sie die folgenden Szenarien:
Sie haben eine externe .NET-Anwendung, die mit CRM kommunizieren muss. Beispielsweise möchten Sie möglicherweise einen Kontaktdatensatz in CRM einfügen, wenn ein neuer Kunde in Ihrer externen Anwendung registriert ist.
Oder Sie möchten Datensätze in CRM durchsuchen und die Suchergebnisse in Ihrer externen Anwendung anzeigen.
In solchen Szenarien können Sie die von CRM bereitgestellten Webdienste verwenden, um sie in Ihrer Anwendung zu verwenden und Vorgänge zum Erstellen, Löschen, Aktualisieren und Suchen in CRM auszuführen.
IDiscoveryService-Webdienst
Dieser Webdienst gibt eine Liste der Organisationen zurück, zu denen der angegebene Benutzer gehört, sowie den URL-Endpunkt für jede Organisation.
IOrganizationService-Webdienst
Dieser Webdienst ist der primäre Webdienst, der für den Zugriff auf Daten und Metadaten in CRM verwendet wird. Der IOrganizationService verwendet zwei wichtige Assemblys -Microsoft.Xrm.Sdk.dll und Microsoft.Crm.Sdk.Proxy.dll. Diese Assemblys finden Sie im CRM SDK-Paket imBin Mappe.
Microsoft.Xrm.Sdk.dll
Diese Assembly definiert die wichtigsten xRM-Methoden und -Typen, einschließlich Proxy-Klassen, um die Verbindung zu Microsoft Dynamics CRM zu vereinfachen, Authentifizierungsmethoden und Serviceverträge.
Microsoft.Crm.Sdk.Proxy.dll
Diese Assembly definiert die Anforderungen und Antworten für Nicht-Kernnachrichten sowie die Aufzählungen, die für die Arbeit mit den Organisationsdaten erforderlich sind. Im Folgenden sind die von diesen beiden Assemblys unterstützten Namespaces aufgeführt.
Jede dieser Assemblys unterstützt bestimmte Nachrichten, die zum Arbeiten mit den in einer Entität gespeicherten Daten verwendet werden. Eine vollständige Liste der von ihnen unterstützten Nachrichten finden Sie unter den folgenden Links:
Supported xRM Messages - - https://msdn.microsoft.com/en-us/library/gg334698.aspx
Supported CRM Messages - - https://msdn.microsoft.com/en-us/library/gg309482.aspx
IOrganizationService-Webdienstmethoden
Das IOrganizationService bietet acht Methoden, mit denen Sie alle allgemeinen Vorgänge für das System und benutzerdefinierte Entitäten sowie Organisationsmetadaten ausführen können.
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | IOrganizationService.Create Erstellt einen Datensatz. |
2 | IOrganizationService.Update Aktualisiert einen vorhandenen Datensatz. |
3 | IOrganizationService. Retrieve Ruft einen Datensatz ab. |
4 | IOrganizationService. RetrieveMultiple Ruft eine Sammlung von Datensätzen ab. |
5 | IOrganizationService. Delete Löscht einen Datensatz. |
6 | IOrganizationService. Associate Erstellt eine Verknüpfung zwischen Datensätzen. |
7 | IOrganizationService.Disassociate Löscht eine Verknüpfung zwischen Datensätzen. |
8 | IOrganizationService.Execute Wird sowohl für die allgemeine Datensatzverarbeitung als auch für die spezielle Verarbeitung wie Fallauflösung, Duplikaterkennung usw. verwendet. |
Beispiel für einen Webdienst
Um zu verstehen, wie die Webdienste in CRM funktionieren, sehen wir uns ein Beispiel aus dem CRM SDK an. In diesem Beispiel erstellen wir einen neuen Kontodatensatz, aktualisieren ihn und löschen ihn schließlich mithilfe des CRMIOrganizationService Internetservice.
Step 1- Öffnen Sie den Ordner, in den Sie das CRM SDK extrahiert haben. Öffnen Sie nun die QuickStartCS.sln-Lösung, indem Sie zum folgenden Speicherort navigieren: SDK \ SampleCode \ CS \ QuickStart
Step 2 - Wir werden das erkunden QuickStart mit Simplified ConnectionProjekt. Öffnenapp.configIn diesem Projekt. Standardmäßig ist dieconnectionStrings Abschnitt in dieser Datei wird kommentiert.
Kommentieren Sie den ersten Verbindungszeichenfolgenschlüssel aus und bearbeiten Sie die folgenden drei Details:
Url- Geben Sie die URL Ihrer CRM-Instanz an. In unserem Fall müssen Sie diese URL angeben, da wir die Online-Version von CRM verwenden.
Username - Ihr CRM Online-Benutzername.
Password - Ihr CRM Online-Passwort.
Step 3 - Öffnen Sie die SimplifiedConnection.cs Datei in diesem Projekt und Runmethod darin.
public void Run(StringconnectionString, boolpromptforDelete) {
try {
// Establish a connection to the organization web service using CrmConnection.
Microsoft.Xrm.Client.CrmConnection connection =
CrmConnection.Parse(connectionString);
// Obtain an organization service proxy.
// The using statement assures that the service proxy will be properly disposed.
using(_orgService = new OrganizationService(connection)) {
//Create any entity records this sample requires.
CreateRequiredRecords();
// Obtain information about the logged on user from the web service.
Guid userid = ((WhoAmIResponse)_orgService.Execute(new WhoAmIRequest())).UserId;
SystemUser systemUser = (SystemUser)_orgService.Retrieve("systemuser",userid,
new ColumnSet(newstring[]{"firstname","lastname"}));
Console.WriteLine("Logged on user is {0} {1}.",
systemUser.FirstName,systemUser.LastName);
// Retrieve the version of Microsoft Dynamics CRM.
RetrieveVersionRequest versionRequest = new RetrieveVersionRequest();
RetrieveVersionResponse versionResponse =
(RetrieveVersionResponse)_orgService.Execute(versionRequest);
Console.WriteLine("Microsoft Dynamics CRM version {0}.",
versionResponse.Version);
// Instantiate an account object. Note the use of option set
enumerations defined in OptionSets.cs.
// Refer to the Entity Metadata topic in the SDK documentation to
determine which attributes must
// be set for each entity.
Account account = new Account{Name = "Fourth Coffee"};
account.AccountCategoryCode = new OptionSetValue(
(int)AccountAccountCateg oryCode.PreferredCustomer);
account.CustomerTypeCode = new OptionSetValue(
(int)AccountCustomerTypeCod e.Investor);
// Create an account record named Fourth Coffee.
_accountId = _orgService.Create(account);
Console.Write("{0} {1} created, ",account.LogicalName,account.Name);
// Retrieve the several attributes from the new account.
ColumnSet cols = new ColumnSet(
new String[]{"name","address1_postalcode","lastusedincampaign"});
Account retrievedAccount =
(Account)_orgService.Retrieve("account", _accountId, cols);
Console.Write("retrieved, ");
// Update the postal code attribute.
retrievedAccount.Address1_PostalCode = "98052";
// The address 2 postal code was set accidentally, so set it to null.
retrievedAccount.Address2_PostalCode = null;
// Shows use of a Money value.
retrievedAccount.Revenue = new Money(5000000);
// Shows use of a Boolean value.
retrievedAccount.CreditOnHold = false;
// Update the account record.
_orgService.Update(retrievedAccount);
Console.WriteLine("and updated.");
// Delete any entity records this sample created.
DeleteRequiredRecords(promptforDelete);
}
}
// Catch any service fault exceptions that Microsoft Dynamics CRM throws.
catch(FaultException<microsoft.xrm.sdk.organizationservicefault>) {
// You can handle an exception here or pass it back to the calling method.
throw;
}
}
Step 4- Diese Methode demonstriert grundsätzlich alle CRUD-Operationen unter Verwendung von CRM-Webdiensten. Der Code erstellt zuerst eine Organisationsinstanz, erstellt dann einen Kontodatensatz, aktualisiert den erstellten Datensatz und löscht ihn schließlich. Schauen wir uns die wichtigen Komponenten dieses Codes an. Um Änderungen in CRM zu sehen, wenn dieser Code ausgeführt wird, können Sie diesen Code Schritt für Schritt debuggen (wie unten erläutert) und gleichzeitig die Änderungen in CRM anzeigen.
Step 4.1 - Stellt die Verbindung zur Organisation mithilfe der Verbindungszeichenfolge her, die wir geändert haben Step 2.
Microsoft.Xrm.Client.CrmConnection connection = CrmConnection.Parse(connectionString);
Step 4.2 - Ruft eine Proxy-Instanz des Webdienstes der CRM-Organisation ab.
_orgService = new OrganizationService(connection)
Step 4.3 - Erstellt ein neues Kontoentitätsobjekt und legt dessen Namen, AccountCategoryCode und CustomerTypeCode fest.
Account account = new Account{Name = "Fifth Coffee"};
account.AccountCategoryCode = new OptionSetValue(
(int)AccountAccountCategoryCode.P referredCustomer);
account.CustomerTypeCode = new OptionSetValue(
(int)AccountCustomerTypeCode.Investor);
Step 4.4 - Erstellt den neuen Datensatz mit der Methode Create des Organisationsdienstes.
_accountId = _orgService.Create(account);
Wenn Sie zu CRM navigieren, wird ein neu erstellter Kontodatensatz angezeigt.
Step 4.5 - Sobald das Konto erstellt wurde, ruft der Dienst den Datensatz mithilfe der Methode "Webdienst abrufen" aus CRM zurück.
ColumnSet cols = new ColumnSet(new String[]{
"name","address1_postalcode","lastusedincampaign"});
Account retrievedAccount =
(Account)_orgService.Retrieve("account", _accountId, cols);
Step 4.6 - Sobald Sie den abgerufenen Datensatz haben, können Sie den aktualisierten Wert des Datensatzes festlegen.
retrievedAccount.Address1_PostalCode = "98052";
retrievedAccount.Address2_PostalCode = null;
retrievedAccount.Revenue = new Money(5000000);
retrievedAccount.CreditOnHold = false;
Step 4.7 - Nachdem Sie den aktualisierten Wert des Datensatzes festgelegt haben, aktualisieren Sie den Datensatz mithilfe der Webdienstmethode "Aktualisieren" wieder in der CRM-Datenbank.
_orgService.Update(retrievedAccount);
Wenn Sie den Datensatz in CRM öffnen, werden diese Werte dort aktualisiert.
Step 4.8 - Löschen Sie den Datensatz abschließend mit der Webdienstmethode Löschen.
_orgService.Delete(Account.EntityLogicalName, _accountId);
Wenn Sie jetzt denselben Datensatz in CRM aktualisieren, werden Sie feststellen, dass der Datensatz nicht mehr verfügbar ist, da er bereits gelöscht wurde.
Fazit
In diesem Kapitel haben wir uns mit zwei wichtigen Webdiensten befasst, die von CRM bereitgestellt werden, und ein funktionierendes Beispiel dafür, wie diese Webdienste von einer externen Anwendung aus verwendet werden können, um verschiedene CRUD-Operationen auszuführen.
Lösungen bieten ein Framework zum Verpacken, Installieren und Deinstallieren von Komponenten, das Ihren Geschäftsfunktionen entspricht. Mithilfe von Lösungen können Benutzer und Entwickler Softwareeinheiten erstellen, verpacken und warten, die CRM erweitern. Alle in CRM vorgenommenen Anpassungen, Erweiterungen oder Konfigurationen werden mithilfe von Lösungen gepackt, verwaltet und verteilt. Die Lösungen können als Zip-Datei aus der Quellorganisation exportiert und dann in die Zielorganisation importiert werden.
Betrachten Sie zum Verständnis die folgenden Beispielszenarien:
Sie als Entwickler oder Customizer haben CRM in der Entwicklungsumgebung erweitert oder angepasst. Jetzt möchten Sie Ihre Änderungen verpacken und in die nächste Umgebung verschieben. Dazu können Sie individuelle Lösungen erstellen und in höheren Umgebungen veröffentlichen.
Als CRM-Anbieter eines Drittanbieters haben Sie ein CRM-Modul erstellt, mit dem Daten in Microsoft Dynamics CRM-Entitäten mithilfe externer Webdienst-APIs verwaltet werden können. Jetzt möchten Sie dieses Modul an andere Kunden verkaufen. Mithilfe von Lösungen können Sie dieses Modul verpacken und an andere Clients verteilen, die diese Lösung installieren und die von Ihrem Modul bereitgestellten Funktionen nutzen können.
Arten von Lösungen
Standardsystemlösung
Die Systemlösung enthält die in Microsoft Dynamics CRM definierten Standardlösungskomponenten ohne Anpassungen. Viele der Komponenten in der Systemlösung sind anpassbar und können in verwalteten Lösungen oder nicht verwalteten Anpassungen verwendet werden.
In diesem Tutorial haben wir keine Lösung erstellt und die Standardsystemlösung angepasst. Wenn Sie sich erinnern, gingen wir zu Einstellungen → Anpassungen → System anpassen. Diese Option passt die Standardlösung direkt an.
Verwaltete Lösung
Eine verwaltete Lösung ist eine Lösung, die abgeschlossen ist und verteilt und installiert werden soll. Verwaltete Lösungen können über der Systemlösung oder anderen verwalteten Lösungen installiert werden.
Important Points - -
Wenn Sie eine verwaltete Lösung aus einer Organisation exportieren und in eine andere importieren, können Sie die Lösung in der neuen Organisation nicht bearbeiten.
Eine verwaltete Lösung verweist nicht direkt auf die Systemlösung.
Durch das Deinstallieren einer verwalteten Lösung werden alle mit der Lösung verbundenen Anpassungen deinstalliert.
Standardmäßig kann eine verwaltete Lösung in der Zielorganisation nicht angepasst werden. Mithilfe des Konzepts der verwalteten Eigenschaften können Sie jedoch definieren, ob eine Lösungskomponente anpassbar sein soll und wenn ja, welche spezifischen Teile der Komponente anpassbar sind, sobald die Lösung als verwaltete Lösung exportiert wird.
Nicht verwaltete Lösung
Eine nicht verwaltete Lösung ist eine Lösung, die sich noch in der Entwicklung befindet und nicht verteilt werden soll. Eine nicht verwaltete Lösung enthält alle nicht verwalteten Anpassungen von CRM-Komponenten, einschließlich aller hinzugefügten, geänderten, entfernten oder gelöschten Komponenten. Standardmäßig ist jede neue Lösung eine nicht verwaltete Lösung. Sie können eine nicht verwaltete Lösung jedoch als verwaltete oder nicht verwaltete Lösung exportieren.
Important Points - -
Wenn Sie eine nicht verwaltete Lösung aus einer Organisation exportieren und in eine andere importieren, können Sie die Lösung in der neuen Organisation bearbeiten.
Eine nicht verwaltete Lösung verweist direkt auf die Systemlösung. Daher werden die an einer nicht verwalteten Lösung vorgenommenen Änderungen auf alle nicht verwalteten Lösungen angewendet, die auf dieselben Komponenten verweisen, einschließlich der Systemlösung.
Wenn Sie eine Lösungskomponente aus einer nicht verwalteten Lösung löschen, wird die Komponente dauerhaft aus dem System gelöscht und ist nicht mehr verfügbar. Wenn Sie die Komponente nur aus einer bestimmten nicht verwalteten Lösung entfernen möchten, verwenden Sie Entfernen anstelle von Löschen.
Durch das Deinstallieren einer nicht verwalteten Lösung werden die zugehörigen Anpassungen nicht entfernt. Die Lösung wird nur aus dem System gelöscht, die von Ihnen vorgenommenen Änderungen bleiben jedoch erhalten.
Lösungskomponenten
Eine Lösung kann verwendet werden, um die folgenden Komponenten zu verpacken, die mit Standardlösungen, nicht verwalteten oder verwalteten Lösungen angepasst werden können.
Komponententyp | Komponente |
---|---|
Schema | Entitäten |
Attribute | |
Beziehungen | |
Globale Optionssätze | |
Benutzeroberfläche | Anwendungsband |
Seitenverzeichnis | |
Formen | |
Entitätsbänder | |
Webressourcen | |
Analytik | Dashboards |
Berichte | |
Visualisierungen | |
Prozess / Code | Prozesse |
Dialoge | |
Workflows | |
Plugins | |
Baugruppen | |
Verarbeitungsschritte | |
Vorlagen | Seriendruck |
Vertrag | |
Artikel | |
Sicherheit | Sicherheitsrollen |
Sicherheitsprofile auf Feldebene |
Eine Lösung erstellen
Step 1- Navigieren Sie zu Einstellungen → Lösungen. Klicken Sie auf Neu.
Step 2 - Geben Sie im folgenden Fenster die folgenden Details ein und klicken Sie auf Speichern und schließen.
Display Name - Beispiellösung (Dies kann ein beliebiger Name sein).
Name- Wird automatisch basierend auf dem Anzeigenamen festgelegt. Sie können dies jedoch ändern.
Publisher- Standard-Publisher. Der Lösungsverleger bietet ein allgemeines Anpassungspräfix und ein Optionswertpräfix. Durch das Definieren eines Lösungsherausgebers wird gesteuert, wie Ihre verwalteten Lösungen nach der Verteilung aktualisiert werden können. In diesem Beispiel und in den meisten allgemeinen Fällen können Sie dies jedoch als Standardverleger festlegen.
Version- Geben Sie eine Version mit dem folgenden Format an: major.minor.build.revision. Zum Beispiel: 1.0.0.0.
Standardmäßig wird jede Lösung als nicht verwaltete Lösung hinzugefügt. Sobald eine Lösung hinzugefügt wurde, können Sie Lösungskomponenten hinzufügen, indem Sie sie im Kontext dieser Lösung erstellen oder die vorhandenen Komponenten aus anderen Lösungen hinzufügen. Beispielsweise können Sie im Kontext dieser neuen Lösung neue Entitäten, Formulare usw. erstellen.
Eine Lösung exportieren
Sobald Sie alle Änderungen vorgenommen haben, die Sie als verwaltete oder nicht verwaltete Lösung verpacken möchten, können Sie Ihre Lösung wie folgt exportieren.
Step 1- Öffnen Sie die Quellorganisation und navigieren Sie zu Einstellungen → Lösungen. Wählen Sie die Lösung aus, die Sie exportieren möchten, und klicken Sie auf die Schaltfläche Exportieren.
Step 2 - Klicken Sie im Fenster Anpassungen veröffentlichen auf Alle Anpassungen veröffentlichen und dann auf Weiter.
Step 3- Im folgenden Fenster können Sie optional beliebige Systemeinstellungen wie automatische Nummerierung, Kalendereinstellungen usw. auswählen, die mit der Lösung exportiert werden sollen. Im Moment können Sie die Auswahl einer Option vermeiden und auf Weiter klicken.
Step 4- Im Fenster Pakettyp können Sie auswählen, ob Sie das Paket als verwaltete oder nicht verwaltete Lösung exportieren möchten. In diesem Beispiel exportieren wir es als nicht verwaltet. Wenn Sie fertig sind, klicken Sie auf Weiter.
Step 5- Im nächsten Fenster sehen Sie die von Ihnen verwendete Quellversion von CRM und können die Zielversion auswählen. Klicken Sie auf Exportieren.
Step 6- Sobald Sie auf Exportieren klicken, wird die Lösung als Zip-Datei exportiert. Speichern Sie diese Zip-Datei an einem gewünschten Ort auf Ihrem System.
Eine Lösung importieren
Jetzt importieren wir die im vorherigen Abschnitt exportierte Lösungs-Zip-Datei in eine neue Zielorganisation.
Step 1- Öffnen Sie die Zielorganisation und navigieren Sie zu Einstellungen → Lösungen. Klicken Sie auf Importieren.
Step 2 - Durchsuchen Sie die Zip-Datei, die Sie aus dem Exportschritt heruntergeladen haben, und klicken Sie auf Next.
Step 3- Im nächsten Fenster können Sie bei Bedarf die Details des Lösungspakets anzeigen. Durch Klicken auf Importieren wird der Lösungsimportvorgang gestartet.
Step 4- Sobald der Importvorgang abgeschlossen ist, wird der Status von Erfolg oder Misserfolg angezeigt. Wenn der Vorgang erfolgreich ist, klicken Sie auf Alle Anpassungen veröffentlichen. Falls der Lösungsimport fehlschlägt, erhalten Sie ein detailliertes Fehlerprotokoll darüber, welcher Schritt des Importvorgangs fehlgeschlagen ist.
Step 5- Wir sind fertig. Die Lösung wird erfolgreich in die Zielorganisation importiert. Klicken Sie auf Schließen.
Konfliktlösung
Da mehrere Entwickler an der Anpassung und Erweiterung von CRM arbeiten können, stehen Ihnen mehrere verwaltete und nicht verwaltete Lösungen zur Verfügung. Das Exportieren und Importieren dieser Lösungen kann manchmal zu Konfliktszenarien führen. Angenommen, 'Lösung A' enthält ein Feld in einem Formular, während 'Lösung B' das Feld entfernt und 'Lösung C' das Feld umbenannt hat. Was wäre in diesem Szenario die letzte Änderung? In solchen widersprüchlichen Szenarien verwendet CRM zwei Ansätze.
Merge- Dieser Ansatz wird für Benutzeroberflächenkomponenten wie Befehlsleiste, Bänder und Sitemaps verwendet. Gemäß diesem Ansatz werden die Lösungskomponenten von unten neu berechnet, und die nicht verwalteten Anpassungen des Unternehmens werden zuletzt angewendet.
Top Wins- Dieser Ansatz wird für alle anderen Konfliktszenarien mit Ausnahme der Benutzeroberflächenkomponenten verwendet. Gemäß diesem Ansatz hat die letzte Änderung (entweder verwaltet oder nicht verwaltet) die Priorität und wird angewendet.
Fazit
In diesem Kapitel haben wir das Konzept von Lösungen und verschiedenen Arten von Lösungen und deren Komponenten vorgestellt. Anschließend haben wir gelernt, wie Sie eine Lösung erstellen, exportieren und importieren. Schließlich haben wir uns mit den beiden Konfliktlösungsstrategien befasst, die stattfinden, wenn mehrere verwaltete und nicht verwaltete Lösungen dieselben Lösungskomponenten betreffen.