Workflow aus Subgrid (zugeordnete Ansicht)

26. Oktober 2015 12:35

Hallo,

im Formular Kontakt habe ich ein Subgrid Tickets (Eintrittskarten). Früher (CRM 2011) konnte man die Elemente eines Subgrids markieren und dann einen Workflow starten. Diese Funktion benötige ich zwingend wieder, finde aber keine Möglichkeit hierzu. Hat jemand einen Tipp?

Vielen Dank!

Stephan

Re: Workflow aus Subgrid (zugeordnete Ansicht)

26. Oktober 2015 12:42

Hallo Stephan,

über deinem Subgrid müssten zwei Zeichen zu sehen sein. Mit dem Plus Zeichen erstellst du einen neuen Datensatz (oder fügst einen bestehenden hinzu) und mit dem anderen öffnest du die Subgrid-Ansicht in einem größeren Fenster.
Hier hast du die Möglichkeit mehrere Datensätze auszuwählen und einen Workflow zu starten.

Du kannst auch mit folgender Methode zu dieser Ansicht gelangen.
Du öffnest einen Kontakt, oben in der Navigationsleiste müsste stehen: "Vertrieb" | "Kontakte" | "Kontaktname". Neben dem Kontaktnamen ist ein Pfeil nach unten dargestellt. Wenn du auf diesen Klickst, öffnen sich weitere Kacheln, die die 1:N oder N:N Verbindungen von deinem aktuellen Datensatz anzeigen. Hier klickst du auf "Tickets" und bist auch in der Ansicht, in der du deinen Workflow starten kannst.

Gruß Alex

Re: Workflow aus Subgrid (zugeordnete Ansicht)

26. Oktober 2015 13:30

Hallo,

das Plus habe ich gefunden, aber nicht das andere Symbol. Davon ab, wäre das auch nicht praktikabel für den Endkunden, da es ein Klick mehr wäre als zuvor. Diese Aktion wird hunderte mal am Tag gemacht und auch auf eine Vielzahl an Tickets pro Kontakt.

Eine Idee, wie ich die Funktion wieder ins Leben rufen kann?

Re: Workflow aus Subgrid (zugeordnete Ansicht)

26. Oktober 2015 14:18

Hallo Stephan,

seit CRM 2013 gibt es das Kontext bezogene Subgrid Menü nicht mehr.
Hier ist nochmal eine ausführliche Beschreibung:
http://jlattimer.blogspot.de/2013/10/context-sensitive-sub-grid-commands-in.html

Du hast jedoch die Möglichkeit via Javascript deinen eigenen Button neben dem "+" Button hinzuzufügen und beim OnClick Event den Workflow-Dialog (oder eine eigene HTML Seite) aufzurufen. Das bedeutet aber einen nicht unerheblichen Programmieraufwand und es ist außerdem unsupported.

Gruß Alex

Re: Workflow aus Subgrid (zugeordnete Ansicht)

26. Oktober 2015 14:34

Hallo,

klingt ja nicht so gut. Wie wäre denn der JS-Code um den Workflowdialog zu öffnen? Es gibt acht Workflows, der Benutzer muss den zu startenden auswählen. Oder kann man nicht das altbekannte Workflow-Auswahlfenster starten, sondern muss für jeden Workflow eine eigene Anweisung ausführen?

Re: Workflow aus Subgrid (zugeordnete Ansicht)

26. Oktober 2015 14:54

Hallo Stephan,

da musst du mal schauen welche URL aufgerufen wird, wenn du den Workflow-Auswahl-Dialog öffnest.
Bei mir kommt so etwas raus:
/_controls/lookup/lookupinfo.aspx?DefaultType=&DefaultViewId=45102185-B1B4-422B-A3BF-F1BA9C6E130A&LookupStyle=single&ShowNewButton=0&ShowPropButton=1&browse=0&dType=1&membertypecode=2&mrsh=false&objecttypes=4703


In deinem Fall ist "membertypecode" gleich der objecttypecode vom Kontakt (also 2).

Dann musst du jetzt noch rausfinden, wie die selektieren Datensatz-Id´s an den Dialog übergeben werden und wie dieser diese Id´s ausliest.
Ich tippe mal auf window.showModalDialog oder etwas in der Art, da hier ein Parameter mit Zusatzinformationen übergeben werden kann, dass dann der Dialog auslesen kann.
Wie diese Informationen übergeben werden müssen kannst du rausfinden, indem du die Datei "lookupinfo.aspx" öffnest und dir den Code anschaust, wie hier die Informationen ausgelesen werden.

Einfacher wäre es natürlich, wenn du rausfindest wie CRM diesen Dialog öffnet. Ich bin mir ziemlich sicher, dass es hier eine CRM interne Wrapper-Funktion gibt, der du nur deine selektierten ID´s übergibst, die dann den entsprechenden Dialog korrekt aufruft.

Aber das ist natürlich alles unsupported, d.h. beim nächsten Update-Rollup kann es sein, dass dein Code nicht mehr funktioniert.


Die zweite Möglichkeit wäre, dass du eine eigene HTML WebResource öffnest. In dieser liest du die vorhandenen Workflows aus, die zu der aktuellen Entität existieren. Via SOAP kannst du dann den Workflow für die Datensätze ausführen. Hier bist du wesentlich flexibler.

Gruß Alex