Dynamics 365: CRM 2016 – Anpassung

Berechnete Felder mit Formeln erstellen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
CRM kann zur Laufzeit Felder berechnen und stellt dafür eigene Datentypen und einen Formulardesigner zu Verfügung. Alternativ können Sie Felder auch mit Geschäftsregeln definieren. Hier sehen Sie, wie beide Varianten funktionieren und welche Vor- und Nachteile jeweils bestehen.

Transkript

In diesem Video möchte ich Ihnen zeigen, wie Sie mit berechneten Feldern arbeiten können. Berechnete Felder sind ähnlich wie Rollupfelder, die ich mich hier schon auf meiner Maske eingebaut habe, Felder, die dynamisch berechnet werden, und vom Datentyp her nicht mehr einfach sind sondern komplex. Im Unterschied zu Rollupfeldern, die eine Aggregation darstellen, bieten sich bei berechneten Feldern folgende Möglichkeiten an. Ich kann bei berechneten Feldern mir Werte, die aktuell hier in diesem Datensatz vorhanden sind, heranziehen und mit denen Rechnungen durchführen. Eine klassische Rechnung wäre zum Beispiel, dass Sie sagen Anzahl der Sitzplätze Minus Anzahl der Passagiere, und so erfahren, wie viele freie Plätze bekomme ich noch. Oder was hier nehmen, ich habe eine Abflugzeit und eine Ankunftszeit und ich muss mir hier nicht manuell die Zeit ausrechnen, sondern habe die Möglichkeit, mir das Ganze auch berechnen zu lassen. Und das möchte ich Ihnen jetzt hier zeigen. Das heißt, ich wechsle hier wieder auf meinen Formular-Editor, um hier direkt am Formular Editor mir ein Felder anlegen zu können. Sage hier "Neues Feld", lege mir ein neues Feld an und habe jetzt hier beim Feld "Datentyp" nicht nur die Möglichkeit "Einfach", sondern noch "berechnet" einzugeben. Und Sie sehen unter anderem ich kann dieses "berechnet" auch für Textfelder verwenden. Ich kann das Ganze auch für Ganze Zahlen verwenden. Aber auch für Datumsfelder. Beginnen wir mal mit dem ersten Feld, das sind die "Anzahl freie Sitzplätze". Und so die "Anzahl freie Sitzplätze" ist bei mir eine ganze Zahl, die berechnet wird. Ähnlich wie bei den Rollupfeldern, sobald ich auf "Bearbeiten" klicke, wird das Feld doch angelegt, das wird sofort gespeichert, existiert. Und ich kann nun hier eine Forme hinterlegen. Eine Eigenschaft der berechneten Felder ist, dieses berechnete Feld wird nicht in der Datenbank gespeichert, und ich kann hier auch keine Workflows oder sonstigen Aktionen darauf setzen, das heißt dieses Feld dient mir nicht dazu, um mir jetzt hier einen Träger anzustoßen. Dazu müsste ich die Felder nehmen, die in der Berechnung vorkommen. Schauen wir jetzt mal an, ich habe eine klassische "Falls...Dann" Bedingung, das heißt ich kann hier eine Bedingung einbauen, um meine Aktionen hinzuzufügen. Wenn hier gleich sagen wir "Aktionen hinzufügen" wir wissen hier, was gibt es in Tag für Aktionen, und ich setzte mal hier, ich habe das Ergebnis mit der "Anzahl freie Sitzplätze" ganzzahlig. Und ich könnte hier sagen "ADDAYS", "ADDHOURS", das heißt ich füge Anzahl an Tagen hinzu, oder füge hier an String zu, oder nehme jeder der eines Felder, die ich hier habe. Und das werden wir hier machen, denn wir verwenden ein Feld, also unsere Felder lauten bei uns hier. Ich habe schon ein Feld hier "Anzahl an Sitzplätze", Minus "Anzahl an Passagiere". Das heißt ich suche da und fange an zu tippen. "Anzahl an Sitzplätze" das ist eine ganze Zahl, und kann das Ganze einfach sagen "Minus" "Anzahl Passagiere". Das nette daran ist, ich kann das Ganze auch in Klammer setzen um hier wirklich arithmetische Operationen durchzuführen, und kann hier nicht nur Felder zugreifen, die es auf diese Maske gibt, sondern ich kann doch jetzt sagen "+veranstalter", ich habe hier ein Suchfeld, nehme hier den Punkt noch dazu, und habe jetzt auch Zugriff auf alle Suchfelder und deren Informationen. Das heißt ich kann doch hier wieder vom Veranstalter mir das Creditlimit hinzufügen. Wollen wir jetzt hier nicht, nur für Sie beispielhaft, das heißt mit dem Suchfeld und dann Punkt, können Sie auch auf andere Objekte zugreifen, die als Suchfeld hier zur Verfügung stehen beziehungsweise "Adds" verbunden sind. Ich sage jetzt hier mal "Speichern" beziehungsweise muss erst hier hinten die Checkbox aktivieren, sage jetzt "Speichern". Dann ist jetzt hier diese Funktion angelegt worden. Wenn ich jetzt hier das berechnete Feld, hier auf der Maske jetzt, ich mache mal hier die F5-Taste, damit auch mein Feld-Explorer aktualisiert ist. Und habe noch hier "Anzahl freie Sitzplätze". Sage "Speichern" und "Veröffentlichen". Dann würde ich jetzt dieses Feld auf der Oberfläche auch sehen. Gehen wir mal hier rein, aktualisieren auch hier unsere Maske wieder. Und wie wir es hinten sehen, die Anzahl der Sitzplätze sind 247, die noch frei sind. Würde ich jetzt hier die Zahl ändern auf 255 und das Feld verlassen, passiert noch nichts. Würde ich jetzt hier mal speichern und die Seite neu laden, aktualisiert er noch hier diesen Datenwert. Ich werde hier noch mal den Wert ändern. Hier "Speichern" und habe jetzt hier den Datensatz aktualisiert. Die Berechnung erfolgt "just in Time", das heißt, immer dann, wenn es eine Änderung gibt, wenn Gespeichert wird, und auch die Darstellung in den Listen erfolgt genau dann, wenn ich die Liste mit einblenden möchte. Möchte ich das Ganze etwas dynamischer haben, hätte ich noch die Möglichkeit das Ganze als Geschäftsregel zu definieren, dass halt solche einfachen Berechnungen könne ich auch als Geschäftsregel definieren. Schauen wir uns an wie das hier funktioniert. Indem ich hier auf "Geschäftsregeln" klicke und sage hier, eine neue Geschäftsregel, kann ich mir die anlegen. Zuvor brauche ich aber ein neues Feld, indem ich den Inhalt speichere. In dem Fall mache mal wieder eine ganze Zahl. Wir lassen es jetzt auf "Einfach". Und sagen hier "Anzahl freier Sitzplätze". Manuell berechnet. In unserem Fall eben durch die Geschäftsregel, ich sage hier "Speichern und schließen". Dann kann ich hier her gehen in die Geschäftsregel. Und sage hier eine neue Geschäftsregel. Und zwar berechne Anzahl freier Sitzplätze. Und kann jetzt hier sagen, wenn eines der Felder sich berechnen möchte an einem Wert beinhaltet und zwar die Anzahl an Sitzplätzen generell enthält Daten. Und die Anzahl, auch da Anzahl, Passagiere enthält Daten. Dann führe eine Aktion aus und zwar mach einen Feldwert festlegen. Und sage hier, die Anzahl freier Sitzplätze manuell berechnet. Ist kein Feld, sonder auch hier könnte ich eine Formel eingeben. Und die Formel würde wieder lauten zum Beispiel Anzahl an Sitzplätzen Minus den Feld Anzahl Passagiere. So könnte ich das berechnen. Das hat jetzt hier den Vorteil, es ist eine Geschäftsregel und Geschäftsregeln laufen einerseits klar einseitig ab, beziehungsweise ich könnte auch hier sagen, auf Entitätsebene, das ist auch serverseitig, das heißt, wenn ich auch einen Dateninput mache, und die Berechnung findet gleich statt. Das Feld wird gespeichert, ich habe ein eigenes Datenbankfeld. Ich habe es hinterlegt, ich kann darauf auch Workflows feuern lassen, sagen hier mal "Aktivieren". Und habe damit die gleiche Funktionalität, wie wenn ich hier berechnendes Feld habe. Das heißt, es ist Geschmackssache, welchen Einsatz jetzt Sie verwenden. Ob Sie jetzt hier sagen, ich mache das ganz mit einer Geschäftsregel oder mit einem berechnenden Feld, für dieses Szenario wäre es egal- Ich schließe das Ganze jetzt auch hier wieder. Gehe hier wieder auf meinen Textkörper. Habe hier das Feld noch nicht dabei, sage jetzt hier neu laden. Habe halt bei der Geschäftsregel einen Vorteil, es wird gleich aktualisiert. Dafür verbrauche ich aber auch Speicherplatz, weil er speichert. Schauen wir mal hier, die Anzahl manuell berechnet. Mache beide Felder hier drinnen. Und sage hier mal "Speichern" und "Veröffentlichen". Und schauen uns jetzt hier den Unterschied an, wie sich diese beiden Felder verhalten. Hier aktualisiere ich wieder mal. So ist jetzt hier, ich habe hier in beiden Feldern 255 drinnen stehen, das ist hier ein ganz normales Feld, das heißt, ich könnte hier auch etwas anderes hineinschreiben. Sobald ich aber hier anfange zu Tippen auf 123 und das Feld verlasse, rechnet er mal das Feld neu aus, Während dieses Feld erst beim Speichern aktualisiert wird. Das heißt, gleiche Funktionalität, ein anderes Verhalten, je nachdem was ich haben möchte. Wir werden aber uns noch ein zweites Feld einbauen, nämlich die Flugdauer. Um hier einfach mal 2 Datumsfelder auch mal voneinander abzuziehen. Ich gehe wieder zurück auf mein Formular, sage hier ein neues Feld. Die legen wir jetzt an Flugdauer "Berechend". Sage jetzt auch hier, das wird eine Dezimalzahl oder ganze Zahl, kommt darauf an, was wir jetzt machen, beginnen wir mal mit der ganzen Zahl. Und sagen hier mal "Berechnet". Und sagen hier Flugdauer fünf Minuten. Legen wir hier das Feld an. Komme hier wieder in meinen Berechnungseditor hinein, indem ich hier etwas definiere. Auch hier könnte ich wieder sagen, berechne es nur, wenn in beiden Fällen etwas steht, in meinem Fall sage ich einfach hier mal die Aktion und zwar das wird eine Funktion, die wir hier haben und zwar die nennt sich hier "DIFINMINUTES" (unverständlich) die Differenzminuten, Startdatum, Enddatum und ich fange wieder zum Tippen an, das ist meine Abflugzeit,ankunftszeit. Heißt das diese Funktion, man sieht es auch hier, wenn ich da mal Plus sage, Plus diff ist mit Beistrich getrennt. Das ist genau über Funktionen, haben Sie den Beistrich als Trennzeichen. Definiere es und könnte mir das jetzt hier, auch wieder speichern beziehungsweise bestätigen, und "Speichern." Möchte ich das Ganze in Stunden mitunter haben, könnte auch sagen, diffInMinutes(Abflugszeit,Ankunftszeit) dividiert durch 60, dann würde ich das Ganze zum Beispiel auch hochgerechnet auf ganze Stunden bekommen. Sage auch hier wieder "Speichern" und "Schließen". Würde das Feld noch mal einblenden lassen. Und würde jetzt hier jedes mal beim Speichern das Feld aktualisiert bekommen. Und zwar, wenn man hier sagt benutzerdefiniert und was haben wir gehabt, wir haben gehabt, Flug im Minuten berechnet. Wollen das uns hier einblenden. "Speichern" und "Veröffentlichen". Und schauen jetzt hier einfach, wie mein Flug dann entsprechend ausschaut, aktualisiere auch mal. Und wird dann hier in mein neues Feld eingeblendet bekommen, das mir jetzt hier berechnet wurde. Und sehe hier, das sind 1440 Minuten. Damit ich mir das Rechnen etwas leichter mache, sage ich hier bis 8:30 Uhr, sage jetzt hier mal "Speichern". Und sehe jetzt hier die 30 Minuten, das schaut recht vernünftig aus. Wir haben hier mal gesehen, ich kann auch recht einfach mit Formeln rechnen. Kann das alternativ auch anders lösen. Aber es gibt doch einige nette Funktionen, die mir hier zur Verfügung stehen und genau diese Funktionen machen hier den Mehrwert aus. Nochmal der Vorteil, das Feld ist nicht präsentiert in der Datenbank. Ich kann sie aber auch in Ansichten einblenden. Aber ich kann sie nicht verwenden um einen Workflow darauf zu steuern beziehungsweise zu starten, da möchte ich jetzt zum Beispiel wie hier bei dem Flug 3 Minuten den Workflow auf eines der beiden Basisfelder hängen, wenn er etwas auslösen soll.

Dynamics 365: CRM 2016 – Anpassung

Passen Sie Ihre Customer-Relationship-Management-Lösung in Dynamics 365 an die Bedürfnisse Ihres Unternehmens an.

5 Std. 26 min (32 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Dynamics CRM Dynamics CRM 2016
Exklusiv für Abo-Kunden
Erscheinungsdatum:01.02.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!