SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Workflow Inhaltsgenehmigung

Unbeantwortet Dieser Beitrag hat 17 Antworten

Ohne Rang
21 Beiträge
Alienware erstellt 1 Dez. 2014 22:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Servus,

 

ich habe 3 Fragen zu einem selbst gebauten Workflow zur Inhaltsgenehmigung.

Ich habe den Workflow so gebaut, dass man als Initialisierungsparameter eine Begründung angeben muss. Diesen Text den man hier eingibt, würde ich gerne beim Bearbeiten der Aufgabe angezeigt bekommen. Ich dachte ich könne einfach ein Aufgabenformularfeld definieren und dieses mit dem Parameter Begründung füllen. Leider habe ich anscheinend keinen Zugriff innerhalb des Workflows auf das Formularfeld.

Hat jemand ne Idee wie man das lösen könnte?

 

Die zweite Frage ist, ich will den Workflow so bauen, dass wenn der Initiator der Gruppe zugehörig ist, die die Genehmigungen im Workflow durchführt, der Workflow nicht normal durchläuft, sondern da diese Personen sowieso genehmigen können, die Inhaltsgenehmigung direkt auf Genehmigt gesetzt wird.

Geht das?

 

Drittens, kann man die Felder beim Bearbeiten der Aufgabe wie "Konsolidierte Kommentare" und "Fälligkeitsdatum" irgendwie löschen?

 

 

Gruß

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Dez. 2014 13:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Alienware"]Ich dachte ich könne einfach ein Aufgabenformularfeld definieren und dieses mit dem Parameter Begründung füllen.[/quote]

Für sowas braucht es immer einen zweiten Workflow auf der Aufgabenliste, der automatisch startet und zusätzliche Felder befüllt. Deinen parameter müßtest Du dazu beim Original-Element in ein Feld schreiben (kann ausgeblendet sein) und der zweite Workflow holt es sich von dort. An das Original-Element kommst Du über das Feld der Aufgabe "Workflowelement-ID".

[quote user="Alienware"]kann man die Felder beim Bearbeiten der Aufgabe wie "Konsolidierte Kommentare" und "Fälligkeitsdatum" irgendwie löschen?[/quote]

Löschen nicht, aber mit JavaScript ausblenden. Dass hier kann dabei helfen: http://sputility.codeplex.com/

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
21 Beiträge
Alienware Als Antwort am 2 Dez. 2014 15:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank für die Tipps :)

 

Das von mir beschrieben zweite Problem wäre aber das Wichtigste für mich. Gibt es dafür einen Lösungsansatz?

 

LG

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Dez. 2014 15:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hätte ich beantwortet, wenn ich es auswendig wüßte ;-)

Schau mal, ob es eine Bedingung nach dem Motto "Ist Benutzer Mitglied einer bestimmten Gruppe" gibt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
21 Beiträge
Alienware Als Antwort am 2 Dez. 2014 15:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Leider nicht, sonst hätte ich nicht gefragt ;-)

Ohne Rang
21 Beiträge
Alienware Als Antwort am 2 Dez. 2014 16:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dann vielleicht noch eine andere Frage:

Ich brauche in einem anderen Workflow die Abteilung und den Vorgesetzten des Users, der das Element erstellt hat, auf den der Workflow definiert ist. Das geht aber irgendwie nicht. Ich kriege immer die Meldung:

"Der Workflow konnte das Benutzerprofil des Benutzers testworkflowinhalt@xxx.xx nicht abrufen."

Hatte davor das Problem, dass wenn ich auf "Akutelles Element: Erstellt von" zugreife ich einen String bekomme ala "i.o#|membership|testworkflowinhalt@xxx.xx". Diesen habe ich dann im Workflow geschnitten sodass ich nur noch die Email Adresse übrig habe. Jedoch kann ich nicht auf das Benutzerprofil zugreifen. Weder Manager noch Abteilung kann ich herausfinden, was für meinen Workflow essentiell ist...

Eine andere merkwürdige Sache ist, dass das Attribut Abteilung doppelt vorhanden ist, wenn ich per Workflow auf das Benutzerprofil zugreifen will, was aber eher nebesächlich ist momentan.

 

Gruß

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Dez. 2014 17:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Alienware"]Hatte davor das Problem, dass wenn ich auf "Akutelles Element: Erstellt von" zugreife ich einen String bekomme ala "i.o#|membership|testworkflowinhalt@xxx.xx". [/quote]

Das ist der Key für SharePoint und genau mit diesem seltsamen String solltest Du das machen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
21 Beiträge
Alienware Als Antwort am 2 Dez. 2014 17:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Da kommt aber leider derselbe Fehler...

Ohne Rang
21 Beiträge
Alienware Als Antwort am 2 Dez. 2014 18:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Erhalte die Meldung:

Der Workflow konnte das Benutzerprofil des Benutzers i:0#.f|membership|testworkflowinhalt@xxx.xx nicht abrufen.

Selbst die eigene Funktion "vorgesetzten von x nachschlagen" des Sharepoint Designers führt zu dieser Meldung.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Dez. 2014 08:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Läuft denn der Benutzerprofildienst ordentlich? Keine Fehler in den Logs? Ist er mit der Webanwendung verbunden (Zentraladministration - Web Applications - Service Connections)?

Ein anderes Problem könnten Berechtigungen sein. Teste den Workflow doch mal mit einem Farmadministrator.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
21 Beiträge
Alienware Als Antwort am 9 Dez. 2014 21:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Soweit ich das beurteilen kann laufen alle Dienste ohne Fehler.

An den Berechtigungen liegt es glaube ich auch nicht. Habe es auch mal in einem Identitätswechselschritt versucht, bekomme aber denselben Fehler.

 

Bin jetzt auf die HTTP Webdienste gestoßen, mit denen es ja ziemlich leicht gehen soll. Habe versucht die Anfrage mal im Browser einzugeben und bekomme den richtigen Wert zurück.

Anfrage:

https://mysite/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='Manager')?@v='i:0%23.f|membership|user@domain'

Wenn ich den Befehl in einem 2013 Workflow eingebe und HTTP GET einstelle, hängt der Workflow an diesem Befehl und reagiert nicht mehr (auch schon mit App-Schritt mit Vollzugriff ausprobiert). Ich habe die Anforderung leer gelassen und den responseHeaders auf eine leere Variable vom Typ "Wörterbuch" gesetzt. Den ResponseStatusCode übergebe ich an eine leere Zeichenfolge.

Ist das soweit richtig?

 

EDIT:

Habe gerade deinen Blog-Eintrag über HTTP Webdienste gelesen und es genau so ausprobiert, wie Du es beschrieben hast mit der Anfrage:

https://mysite/sites/geschaeftsstelle/Administration/_api/lists/GetByTitle('Masterliste')/items?$select=Vorname,Nachname,Abteilung

Wieder bekomme ich im Browser das gewünschte Ergebnis, doch der Workflow liefert rein garnichts. Er bleibt immer noch an derselben Stelle hängen.

 

Was mache ich falsch?

 

EDIT2:

Oh mein Gott...

Wollte mir den ResponseContent angucken und habe ständig versucht, die Variable in die Verlaufsliste des Workflows zu schreiben...

Das Geht natürlich nicht so einfach mit einem Dictionary Type...  

(3 Stunden Debuggen für nichts und wieder nichts -.-)

Ohne Rang
21 Beiträge
Alienware Als Antwort am 10 Dez. 2014 08:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Habe jetzt mal weiter mit dem HTTP Web Service gemacht.

Bekomme bei folgender Anfrage:

https://mysite/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='Manager')?@v='i:0%23.f|membership|user@domain'

folgendes zurück:

{"odata.error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"de-DE","value":"Zugriff verweigert. Sie haben keine Berechtigung, diesen Vorgang auszuführen oder auf diese Ressource zuzugreifen."}}}

Habe es auch schon im "App-Schritt" mit Vollzugriff versucht, aber ohne Erfolg. Wie kriege ich Zugriff hierauf?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Dez. 2014 08:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hatte ja weiter oben schon die Vermutung, daß es an Berechtigungen liegt ;-)

Versuchst Du es über die URL einer bestimmten MySite? Dann braucht der Benutzer auch Zugriff darauf. Ansonsten schaue mal die Berechtigungen auf dem Benutzerprofildienst in der Zentraladministration an.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
21 Beiträge
Alienware Als Antwort am 10 Dez. 2014 09:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hattest Recht gehabt :)

Die mysite ist die Domain in der ich Administrator bin. Sollte somit eigentlich Vollzugriff auf alle Bereiche haben. Habe deswegen ja extra den App-Schritt mit Vollzugriff eingefügt, damit auch der Workflow selber höhere Rechte hat.

Ich besitze die Administratorrolle "Organization Management". Gibt es im SharePoint Admin Center nicht auch einen Bereich für die Berechtigungen?

 

Könnte es sein, dass ich im SharePoint Admin Center unter BCS eine neue Verbindung mit lokalen Diensten erstellen muss damit es geht?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Dez. 2014 09:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Admin ist eben nicht gleich Admin. Du greifst hier ja auf Benutzerprofile zu und dazu benötigst Du wie oben beschrieben passende Berechtigungen auf dem Benutzerprofildienst (Zentraladministration - Application Management - Manage Service Applications).

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
21 Beiträge
Alienware Als Antwort am 10 Dez. 2014 11:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nach dem was ich gelesen habe, gibt es diesen Punkt nicht in Sharepoint Online.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 10 Dez. 2014 11:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ups, tut mir leid, ich habe völlig übersehen, daß Du hier im O365-Forum fragst.

Im SharePointAdmin Center gibt es zwar auch einen Punkt für die Benutzerprofile, aber die berechtigungen, die ich meinte, gibt es dort nicht. Ich kann Dir leider auch nicht sagen, wie man das bei einem SharePoint Online machen könnte. Das hier sieht aber vielversprechend aus: http://batesits.com/2014/06/13/system-unauthorizedaccessexception-sharepoint-online-workflow-using-rest-web-service-call/

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
21 Beiträge
Alienware Als Antwort am 10 Dez. 2014 12:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Habe leider schon genau dasselbe gefunden und getestet. Ohne Erfolg.