Hallo Habr! In diesem Artikel möchte ich auf einige Standardfunktionen von Dynamics CRM (um zu verstehen, worum es geht), seine Hauptgeschäftsprozesse und Mittel zur sofortigen Erweiterung der Funktionalität eingehen.

Lassen Sie uns zunächst einige Fakten zum CRM-System von Microsoft erläutern:
- Derzeit in den TOP 5 CRM-Systemen der Welt enthalten. Die Zahl der Kunden wächst von Jahr zu Jahr.
- Neukunden können nur in Form einer Cloud arbeiten - der Online-Version. Zuvor war eine Version auf einem Personal Server verfügbar - alte Clients verwenden sie vor Ort weiterhin.
- Verfügbar für die Arbeit über einen Browser, ein Outlook-Plug-In, mobile Anwendungen und eine spezielle Unified Interface-Anwendung.
- Beim jüngsten Umdenken wurden Vermarkter unter den neuen Namen Dynamics 365 for Sales und Dynamics 365 for Customer Engagement bekannt. Wird im Volksmund weiterhin als Dynamics CRM bezeichnet.
- Der Kunde erhält sofort ein Verkaufsmanagement, einen Katalog mit Produkten und Dienstleistungen sowie eine Aktionsverfolgung. Marketingkampagnenmanagement und Incident Management sind ebenfalls verfügbar.
Für Entwickler ist es gut zu wissen, dass:
- Durchschnittlicher US-Sn auf dem US-Markt: Junior - 87163 USD, Middle - 127614 USD, Senior - 151321 USD
- Für die Auswahl der Berater und Programmierer stehen ganze Agenturen zur Verfügung, zum Beispiel Nigel Frank.
Schauen wir uns auch an, wo sich CRM (Vertrieb) im Microsoft-Ökosystem von Lösungen befindet.

Starten Sie die Verwendung
Aus Sicht des Anwenders ist alles einfach. Wir erhalten die URL-Adresse und gehen mit Ihrem Lieblingsbrowser dorthin.
Bis vor kurzem hat Microsoft empfohlen, nur Internet Explorer zu verwenden, aber nichts hält für immer, und jetzt können Sie mit gutem Gewissen über Chrome arbeiten.
Wenn Sie zur Adresse gehen, müssen Sie den Benutzernamen und das Kennwort des Kontos eingeben (CRM verwendet ADFS zur Authentifizierung von Benutzern), und wir gelangen zur Startseite.

Verkaufsmodul
Stellen wir uns als Verkaufsleiter vor.
Unser Unternehmen hat vor einer Woche eine Werbekampagne durchgeführt, und der Marketingleiter hat das Lead-System (Lead oder potenzieller Kunde) eingegeben und uns zugewiesen.
Was ist Blei? Nun, es gibt eine Art Unternehmen, das an unseren Dienstleistungen interessiert zu sein scheint, und wir haben die Möglichkeit, ihnen etwas anzubieten, aber sie wissen immer noch nicht, was sie definitiv brauchen.
Lidas Form sieht folgendermaßen aus:

Wir rufen sie an und finden heraus, was zu tun ist. Sie scheinen dem Vorschlag zuzustimmen und sind bereit, weitere Diskussionen zu führen. Großartig! Dies bedeutet, dass wir den Lead qualifizieren können und CRM automatisch bis zu 3 aus einem Datensatz erstellt: Kontakt, Organisation und Konto sowie Opportunity.
Die nächste Stufe nach Lida ist der mögliche Deal. In dieser Phase gibt es eine aktive Klärung der Bedürfnisse des Kunden, wir beginnen, die Produkte der möglichen Transaktion auszufüllen, die aus dem Produktkatalog entnommen sind.
Standardfelder für Opportunity-Transaktionen:
- Potenzieller Kunde - kann entweder Kontakt oder Organisation sein. Mit dieser Beziehung können Sie den gesamten Verlauf der Arbeit mit einem Kunden verfolgen.
- Voraussichtlicher Schlusstermin - Zeigt den Zeitpunkt des Abschlusses der Bestellung an. Es kann für eine ungefähre Berechnung des Geldeingangs oder für die Vorbereitung der Arbeit für das Projekt verwendet werden.
Zusätzlich können Sie die Wettbewerbstabelle ausfüllen. Es hilft bei der Analyse des Wettbewerbs im Allgemeinen und speichert eine Historie von Gewinnen und Verlusten für jeden Rivalen des Unternehmens.
Tabelle (Teilraster) Mit dem Verkaufsteam können Sie eine Liste der Personen erstellen, die an einem Geschäft arbeiten.
Beim Hinzufügen von Produkten zu einer möglichen Transaktion wird der erwartete Gewinn automatisch berechnet. Entwickler haben die Möglichkeit, es neu zu definieren, wenn der Berechnungsformel neue Felder hinzugefügt werden müssen. Möchten Sie einen möglichen Rollback sofort in Ihre Gewinnberechnung einbeziehen? Keine Frage.
Es ist wichtig zu beachten, dass der Deal als verloren abgeschlossen werden kann. CRM wird sicherlich nach einem Grund fragen und ihn als Aktion in der Kundenhistorie aufzeichnen.
Der nächste Schritt ist das Erstellen eines Angebots.
Kommerzielles Angebot hat einen eigenen Lebenszyklus. Es wird aus einer möglichen Transaktion im Entwurfsstatus mit dem Abrufen seiner Produkte erstellt. Der Benutzer kann die Produkte und deren Preis ändern. Sobald er den Punkt erreicht hat, an dem er bereit ist, ein Angebot an den Kunden zu senden, wird der Datensatz in den aktiven Status versetzt und der Datensatz kann nicht mehr bearbeitet werden.
Wenn der Kunde mit dem Angebot einverstanden ist, endet es mit dem Status Won (Won) und wir fahren mit der Bestellphase fort. Wenn etwas geändert werden muss, wählen wir Überarbeiten, und es wird ein neues Angebot mit den festgezogenen Produkten erstellt.
Eine Bestellung ist im Wesentlichen ein genehmigtes Angebot. Es enthält Informationen zu den vom Kunden bestellten Produkten oder Dienstleistungen. Daraus können Sie eine Rechnung erstellen, die mit dem Status Bezahlt oder Storniert geschlossen werden kann.
Weitere Integrationen mit anderen Systemen sollten ins Spiel kommen. Zum Beispiel MS NAV. Microsoft bietet hierfür einen schlüsselfertigen Anschluss an.
Mit einer solchen Kundenhistorie können Sie das wichtigste Diagramm in CRM - Sales Funnel erstellen:

Sie können die Dynamik des Verkaufs in verschiedenen Phasen vom Lead bis zum Auftrag analysieren. Beispielsweise können Sie Engpässe finden, bei denen die meisten Kunden verloren gehen, und versuchen, diese zu beheben. Außerdem kann der Vertriebsleiter die zukünftigen Gewinne abhängig von der Anzahl der aktuellen Leads schätzen.
Kundendienst-Management-Modul
Enthält Fälle, die vom Support-Team automatisch per E-Mail oder durch Integration in Systeme von Drittanbietern erstellt werden. Vorfälle speichern Informationen über das Problem eines Kunden. Sie können zu speziellen Warteschlangen hinzugefügt werden, sodass Sie die Last auf dem Support Desk effizienter verteilen können.
Dynamics CRM verfügt über eine Knowledge Base-Funktionalität zur Lösung von Problemen. Die Datenbank enthält Artikel, die nach Themen gruppiert sind.
Es ist auch möglich, KPIs (Key Performance Indicators) mithilfe benutzerdefinierter SLAs (Service Level Agreements) zu überwachen. SLAs können basierend auf Geschäftszeiten, Werktagen und Wochenendplänen angepasst werden. Beim Erstellen eines Vorfalls werden diese SLAs verwendet und die zur Behebung des Problems benötigte Zeit berechnet.
Für den Benutzer kann dies als Timer in der Hauptform des Vorfalls angesehen werden. Der Rückhub kann gestoppt werden, wenn der Benutzer beispielsweise auf eine Antwort vom Client wartet.
Marketing-Modul
Marketinglisten sind eine bequeme Möglichkeit, Kontakte, Organisationen und Leads nach beliebigen Kriterien oder manuell in Gruppen zu gruppieren. Sie können entweder statisch oder dynamisch sein (offensichtlich für diejenigen, die nach einem vorgegebenen Kriterium erstellt wurden). Letztendlich werden diese Listen für jede Art von Marketingaktion verwendet: Versenden von Newslettern, Werbematerialien usw.

Kampagnen in Dynamics CRM werden durch regelmäßige Kampagnen (Campaings) und schnelle Kampagnen (Quick Campaigns) dargestellt. Im Allgemeinen werden sie erstellt, um die Aktionen für jede von ihnen zu steuern und um den ROI (Return on Investemnts / Return on Investment) bequem zu berechnen.

Kampagnen verfügen über eine Liste mit Kampagnenantworten, die erstellt wird, um den Erfolg zu verstehen. Antworten können entweder manuell oder automatisch über eingehende elektronische Nachrichten erfolgen.
Was sind die Unterschiede zwischen Kampagne und Schnellkampagne?
Eine schnelle Kampagne kann nur einen Aktivitätstyp haben, eine Kundenliste, keine integrierten Metriken, kann nicht aus Kampagnenvorlagen erstellt werden und erfordert eine schnelle Ausführung. Als Beispiel eine Thanksgiving-E-Mail-Kampagne vor dem Verkauf. Wir haben eine Mailingliste erstellt, erstellt, Feedback erhalten, die Anzahl der Leads und den ROI berechnet, die auf der Umwandlung von Lead in eine mögliche Transaktion generiert wurden, und die Kampagne abgeschlossen.
Tools zur Funktionserweiterung
Schließlich können Sie fortfahren, warum ich das alles angefangen habe.
Es gibt viele Möglichkeiten, die Funktionalität von CRM zu erweitern. In diesem Artikel beschreibe ich grundlegende Dinge wie das Erstellen neuer Entitäten, Felder, Formulare und Ansichten.
Lösungen
Um zu beginnen, müssen Sie über Lösungen sprechen. Dies sind Pakete, die den vollständigen oder teilweisen Status eines dort hinzugefügten Objekts enthalten. Sie dienen dazu, Komponenten von einem System auf ein anderes zu übertragen sowie neue Komponenten zu entwickeln. Sie können zur Liste der Lösungen gelangen, indem Sie das Menü unter Einstellungen / Lösungen aufrufen.
Vor uns liegt die Form der neu erstellten Lösung.

Achten Sie auf das Feld Publisher. Es speichert den Namen und das Präfix des Komponentenentwicklers. Abhängig davon, in welcher Lösung die Komponente erstellt wird, hat sie ein solches Präfix. Der Publisher hat beispielsweise das Präfix habr, sodass die neue Benutzerentität einen Systemnamen in der Form habr_user hat.

Lösungen können exportiert oder importiert werden. Beim Exportieren können Sie auswählen, was es sein soll. Verwaltet oder nicht verwaltet.
Die Lösungen sind in 3 Typen unterteilt.
- Standardlösung - Die Standardlösung oder globale Lösung. Jedes CRM-System verfügt über eine Standardlösung. Es enthält im Allgemeinen alles, was sich im aktuellen System befindet.
- Verwaltete Lösung - Kann während des Exports einer nicht verwalteten Lösung durch Auswahl der entsprechenden Option erstellt werden. Alles, was in dieser Entscheidung enthalten ist, kann nicht weiter geändert werden. In der Regel wird dieser Typ verwendet, um das fertige Produkt für CRM-Systeme mehrerer Kunden zu verteilen.
- Nicht verwaltete Lösung - Alles, was sich in einer solchen Lösung befindet, kann gelöscht oder geändert werden. Sie können auch neue Anpassungen hinzufügen. Wenn Sie CRM individuell anpassen (für jeden Kunden - Ihre eigenen Änderungen), verwenden Sie höchstwahrscheinlich nur diese Art von Lösung.
Damit die Änderungen wirksam werden, müssen sie veröffentlicht werden (Veröffentlichen). Klicken Sie dazu einfach auf die gewünschte Schaltfläche, indem Sie die gewünschte Lösung auswählen.
EntitätenOder Entitäten. Mit ihrer Hilfe können Sie die Arten von Datensätzen bestimmen. Die nächste Analogie ist die Datenbanktabelle.
Lassen Sie uns unsere erste Entität erstellen. Gehen Sie zum Abschnitt Entitäten und klicken Sie auf Neu.

Ein neues Formular zum Erstellen einer Entität wird geöffnet.

Eigentümertyp - Mit dieser Option können Sie den Eigentümer des Datensatzes auswählen. Standardmäßig ist dies Organisation, d. H. Es gibt keinen Eigentümer als solchen. Wenn Sie Benutzer oder Gruppe auswählen, verfügt die Entität über ein Eigentümerfeld. In Zukunft können Sie je nach Art des Eigentums den Benutzerzugriff auf Datensätze und deren Sichtbarkeit in Einheiten flexibel konfigurieren.
Wenn Sie Als Aktivitätsentität definieren auswählen, wird die Entität zu einer Aktion. Aktionen sind Einträge, die in einem Kalender angezeigt werden können. Für eine solche Entität werden die Felder Startzeit, Endzeit und Dauer automatisch hinzugefügt. Die Aktion kann Rückgängig oder Ausführen sein. Nur der Benutzer oder die Gruppe kann Eigentümer einer solchen Entität sein.
Auf der Registerkarte Primärfeld können Sie die Parameter des Hauptfelds angeben, die erforderlich sind.

Falls gewünscht, können Sie den Namen oder den Typ in etwas anderes ändern. In diesem Fall empfehle ich, dass Sie sicherstellen, dass es für jeden Eintrag ausgefüllt und eindeutig ist. Der Wert dieses Feldes wird als Bezeichnung für das Suchfeld verwendet. Suchen Sie beispielsweise das Feld Publisher im Formular Solutions. (PS-Feldtypen werden niedriger sein)

Es gibt auch eine ziemlich große Liste von Einstellungen, die Sie festlegen können. Lassen Sie uns die am häufigsten verwendeten durchgehen.


Bereiche der Sichtbarkeit der Entität (Bereiche, in denen diese Entität angezeigt wird) - Sie können die Registerkarten des Hauptmenüs festlegen, in denen die Entität verfügbar sein wird.
Schnelle Erstellung zulassen - Standardmäßig wird ein neuer Eintrag in einem neuen Fenster erstellt. Wenn diese Funktion aktiviert ist, kann aus dem aktiven Fenster ein Datensatz erstellt werden, in dem nur die erforderlichen Felder eingegeben werden.
Doppelte Erkennung - Mit dieser Option können Sie die Erstellung identischer Datensätze mithilfe von Regeln verhindern.
Überwachung - Sie können Entitätsfelder auswählen, für die der gesamte Änderungsverlauf gespeichert wird. Sie müssen mit dieser Einstellung vorsichtig sein, da Sie das Volumen der Datenbank erheblich erhöhen können.
FelderOder Felder. Wird verwendet, um einzelne Datenelemente zu identifizieren.
Nach dem Erstellen der Entität erstellt CRM automatisch Basisfelder

Ergänzen wir die Essenz mit unserer eigenen. Klicken Sie auf Neu und sehen Sie, wie das Formular ein neues Feld erstellt.

Anzeigename - Der Name, der auf dem Aufnahmeformular angezeigt wird.
Feldanforderung - Legt das erforderliche Feld fest. Insgesamt gibt es 3 Typen. Optional - Ermöglicht das Erstellen eines Datensatzes, ohne das Feld auszufüllen. Geschäft empfohlen - ähnlich wie optional, aber neben dem Feld wird ein Sternchen als Empfehlung für die Fertigstellung angezeigt. Erforderlich - Sie können keinen Datensatz erstellen, ohne dieses Feld auszufüllen.
Name - Der Systemname des Feldes.
Durchsuchbar - Mit dieser Option können Sie das Feld verwenden, um nach Datensätzen anhand ihres Werts zu suchen.
Feldsicherheit - Mit dieser Option können Sie zusätzlich konfigurieren, wem dieses Feld angezeigt wird.
Überwachung - Mit dieser Option können Sie die Überwachung des Felds aktivieren. (Änderungsverlauf wird beibehalten)
Datentyp - Datentyp des Feldes. Insgesamt gibt es 12 Datentypen.

Einzelne Textzeile - eine Textzeile. Es kann bis zu 4000 Zeichen enthalten, kann jedoch auf eine kleinere Anzahl beschränkt werden.
Optionssatz - Name-Wert-Liste
Zwei Optionen - regulärer Boolescher Wert
Bild - Bild
Ganze Zahl - Eine ganze Zahl zwischen -2.147.483.648 und 2.147.483.647.
Gleitkommazahl - eine Zahl im Bereich von -100.000.000.000 bis 100.000.000.000, die bis zu 5 Dezimalstellen enthalten kann
Dezimalzahl - Eine Zahl zwischen -100.000.000.000 und 100.000.000.000, die bis zu 10 Dezimalstellen enthalten kann
Währung - Geldwerte im Bereich von -922 337 203 685 477 bis 922 337 203 685 477
Mehrere Textzeilen - mehrere Textzeilen. Es kann bis zu 1.048.576 Zeichen enthalten, kann jedoch auf eine kleinere Anzahl beschränkt werden.
Datum und Uhrzeit - Datum und Uhrzeit. In der Datenbank wird dieses Feld in UTC gespeichert. Das Feld kann so konfiguriert werden, dass UTC oder lokale Benutzerzeit angezeigt werden. Sie können auch Datum und Uhrzeit oder nur das Datum anzeigen.
Lookup - ist ein Link zu einem Datensatz einer Entität. Es werden sofort 3 Werte gespeichert (Datensatzname, GUID und Entitätstyp). Nach der Regel des guten Tons wird 'id' am Ende des Namens als Bezeichnung für das Suchfeld geschrieben. Ein kleiner Exkurs: Eine Anleitung von Microsoft übersetzt den Namen dieses Feldes als Suche. Jeder nennt ihn jedoch einfach Lucap.

Kunde - in der Tat ist es Multi-Lookup, die sich nur auf 2 Entitäten beziehen kann - Kontakt oder Konto.
Es gibt 3 Arten von Feldern. Nicht jeder Datentyp kann alle drei Feldtypen haben.
- Einfaches - reguläres Feld
- - Berechnet - Der Inhalt kann mit dem Editor angepasst werden. Ein Beispiel:

- Rollup - enthält den aggregierten Wert, der aus den untergeordneten Datensätzen berechnet wird. Mit dem Editor konfigurierbar. Ein Beispiel für ein solches Feld ist der Gesamtbetrag aller Transaktionen für einen Manager.
FormulareJede Entität enthält ihre eigenen Formulare. Mit ihnen können Sie die Anzeige von Feldern für verschiedene Fälle anpassen.
Es gibt 4 Arten von Formularen:
Main - das Formular, das beim Öffnen eines Datensatzes über den Browser angezeigt wird.
Mobil - Dieses Formular wird auf einem mobilen Gerät geöffnet.
Schnellansicht - Ermöglicht das Einbetten dieses Formulars in die Formulare anderer Entitäten. Das Hauptformular der Entität "Post" enthält beispielsweise das Feld "Autor" (das sich auf die Entität "Benutzer" bezieht), und wir zeigen zusätzliche Benutzerdaten über das Formular "Schnellansicht" an.

Schnelle Erstellung - ein Formular zum schnellen Erstellen von Aufzeichnungen (ohne ein neues Browserfenster zu öffnen)
FormulareinstellungenMit Dynamics CRM können Sie das Erscheinungsbild und die Funktionalität von Formularen flexibel anpassen.
Hauptmerkmale des Formulareditors:
- Feld hinzufügen
- Feld löschen
- Feld verstecken
- Geschäftsregeln hinzufügen
- Ändern Sie das Layout eines Formulars
- Hinzufügen von JS-Skripten und Registrieren dieser bei Formularereignissen
So sieht der Formulareditor für unsere Post-Entität aus.
In unserem Fall haben wir nur 1 Tab mit dem Namen General (blau eingekreist), in dem sich ein Abschnitt befindet, der ebenfalls den Namen General trägt.
Registerkarte "Startseite"

Im Allgemeinen bestehen die Hauptformulare aus 4 Teilen: Kopfzeile, Körper, Fußzeile und Navigation auf der linken Seite.
Um auszuwählen, was Sie aktuell bearbeiten möchten, müssen Sie die Gruppe Auswählen in der Multifunktionsleiste verwenden.
Felder werden durch Doppelklicken oder Ziehen hinzugefügt.
Sie werden mit der Schaltfläche Entfernen gelöscht. Erforderliche Felder (die mit einem roten Sternchen versehen sind) können daher einfach nicht aus dem Formular entfernt werden. Sie müssen zuerst ihren Typ in Optional ändern.
Über die Schaltfläche Formulareigenschaften können Sie dem Formular JS-Dateien hinzufügen und deren Funktionen für Formularereignisse und -felder registrieren.

Registerkarte einfügen

Auf der Registerkarte Einfügen arbeiten wir nur mit dem Hauptteil des Formulars. Hier ändern wir das Layout.
Multifunktionsleistenbefehle in diesem Fall:
Abschnitt - Fügt der ausgewählten Registerkarte einen Abschnitt hinzu. Kann 1-4 Spalten enthalten.
Registerkarten - Viele Optionen fügen eine Registerkarte mit der Anzahl der Abschnitte 1-3 unterschiedlicher Breite hinzu.
Hier ist ein Beispiel für eine Registerkarte mit drei Abschnitten. Ein Abschnitt hat drei Spalten, die anderen zwei jeweils eine. Jede Spalte ist ein potenzieller Feldort.

Sub-Grid - Fügt dem Formular eine Liste der Datensätze der zugehörigen (oder nicht verwandten) Entität hinzu.
Kurz darüber, was es ist.
Zum Beispiel fügte Habr eine Funktion von Spenden für Artikel hinzu. Erstellen Sie eine Spendenentität, die eine Suche in Post enthält. In diesem Fall wird beim Erstellen eines Felds eine N: 1-Beziehung erstellt.

Jetzt können wir ein Sub-Grid hinzufügen, in dem Spenden angezeigt werden. Das Sub-Grid-Setup-Fenster sieht folgendermaßen aus:

Und unsere Form wird so aussehen:

Spacer - schafft einen leeren Raum
Schnellansichtsformular - Fügt ein Schnellansichtsformular hinzu. Wir haben dies bereits für den Autor getan.
Webressource - Fügt dem Formular eine Webressource hinzu. Zum Beispiel eine interaktive HTML-Seite oder eine Silverlight-Anwendung.
IFrame - Sie können sie auch hinzufügen
Notizen - Fügt ein Bedienfeld zum Erstellen von Notizen hinzu
AnsichtenOder Ansichten werden verwendet, um Listen von Datensätzen anzuzeigen.
Sie können die angezeigten Felder, ihre Breite sowie Filter und Sortierung angeben.
Hier ist ein Beispiel, das nur aktive Beiträge zeigt.

Darstellungen sind:
Allgemein - Ansichten für alle Benutzer verfügbar. Beim Erstellen einer neuen Entität werden automatisch aktive und inaktive Ansichten erstellt.
Persönlich - im Besitz einzelner Benutzer. Sie können vom Administrator erstellt und dann separat einem anderen zugewiesen werden.System - sind nicht direkt zur Auswahl aus der Liste der Ansichten zugänglich, sondern existieren als Add-Ons, die die Funktionalität einzelner Schnittstellenelemente erweitern. Zum Beispiel Schnellsuche, erweiterte Suche.Erstellen Sie Ihre eigene persönliche Ansicht?Klicken Sie auf die Liste der Ansichten und wählen Sie Persönliche Ansicht erstellen.
Ein neues Fenster wird geöffnet, um die Ansicht anzupassen. Sie können eine vorhandene Ansicht als Grundlage verwenden, indem Sie sie unter Gespeicherte Ansicht verwenden auswählen.Mit Spalten bearbeiten können Sie die angezeigten Felder auswählen. Mit denErgebnissen können Sie überprüfen, welche Datensätze nach dem Filtern angezeigt werden.
Der Filter wird erstellt, indem Bedingungen mit Select hinzugefügt und durch AND / OR gruppiert werden.
So sieht der fertige Filter aus. Wir speichern es gleichzeitig unter Angabe des Namens und erhalten eine vorgefertigte persönliche Präsentation.

Fazit
In diesem Artikel habe ich Informationen für einen guten Start in die Entwicklung von Dynamics CRM gegeben. In den folgenden Artikeln werden wir uns mit anderen verfügbaren Anpassungen befassen, dem offiziellen SDK, das Anwendungen, Schreib-Plugins und Workflows enthalten muss.Ich wäre dankbar für das Feedback und danke Ihnen, dass Sie den Artikel gelesen haben.