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