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.




Dokument per Workflow in eine andere Bibliothek verschieben / archivieren

Unbeantwortet Dieser Beitrag hat 12 Antworten

Ohne Rang
91 Beiträge
Myrcella erstellt 20 Okt. 2014 12:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,

ich scheitere mal wieder an einem Workflow-Problem (2013er WF im SPD 2013). Mein Ziel ist es, beim Upload eines Dokuments in eine Bibliothek (DocLib1) zu prüfen, ob dort bereits ein Dokument mit den gleichen Attributen und einer niedrigeren Versionsnummer (ein Spaltenwert) liegt. Wenn ein solches Dokument gefunden wird, soll es in eine andere Bibliothek (DocLib2) verschoben werden.

Eine Schleife prüft mit Hilfe einer Bedingung jedes Dokument in DocLib1, ob obige Bedingung zutrifft, d.h. ob es verschoben werden soll. Wenn ja, nutze ich die Aktionen Dokument kopieren und Element löschen. Das erscheint irgendwie logisch und wird auch in mehreren Anleitungen so beschrieben (z.B. hier: http://www.kalmstrom.com/Tips/SharePointArchiveDocs.htm), aber der Workflow hängt sich trotzdem auf.

Mein Verlaufsprotokoll sagt mir, dass der Workflow das zu verschiebende Dokument findet, Schleife und Bedingung sind also in Ordnung. Wenn er es gefunden hat, stockt er zunächst und meldet, dass er es in einer Minute nochmal versucht. Dabei erscheint folgende Meldung:

HTTP BadRequest zu [meine Website]/getfilebyserverrelativeurl('[zu verschiebendes Dokument]')/CopyTo([DocLib2]/[zu verschiebendes Dokument]',%20bOverWrite='false') Korrelations-ID: 96f3c39c-fb2d-80ea-f058-e4a81ca3bbe8 Instanz-ID: d58ec612-4eff-48d2-aba9-2bc17a2afe47

Dann wird der Workflow komplett angehalten und meldet Folgendes:

An unhandled exception occurred during the execution of the workflow instance. Exception details: System.ArgumentNullException: Der Wert darf nicht NULL sein.

Also dachte ich mir, ich probiere eine andere Herangehensweise, die angeblich funktioniert, wenn man Dokumente in Subordner verschieben will (siehe http://anjumsaif.blogspot.de/2013/01/workflow-to-move-document-to-folder.html). Schleife und Bedingung bleiben dabei wie oben beschrieben bestehen, und statt das Dokument zu kopieren und zu löschen, aktualisiere ich es. Dabei wird "Pfad und Name" auf [URL von DocLib2]/[Name des zu verschiebenden Dokuments] gesetzt. Das funktioniert aber auch nicht.

Mache ich irgendetwas Offensichtliches falsch? Kann mir bitte jemand helfen? Auch alternative Lösungsvorschläge sind willkommen!

Viele Grüße,

Myrcella

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Okt. 2014 12:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Gibt es am Ziel vielleicht irgendwelche Pflichtfelder, die ausgefüllt werden müssen?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
91 Beiträge
Myrcella Als Antwort am 20 Okt. 2014 13:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nur "Name". Aber wird der nicht mitkopiert? Wenn nicht, kann ich das Namensfeld während des Kopiervorgangs ausfüllen?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Okt. 2014 13:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sorry, vergiß meinen blöden Beitrag. Habe ganz übersehen, daß Du die Datei ja kopierts und nicht neu anlegst.

Dann eben noch die zweite blöde Frage: hat der Benutzer, unter dem der WF läuft, auch Schreibrechte auf das Ziel?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
91 Beiträge
Myrcella Als Antwort am 20 Okt. 2014 13:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist eine gute Frage, das werde ich noch prüfen müssen. Bisher teste aber nur ich den WF, und ich hab administrative Rechte.

Ohne Rang
91 Beiträge
Myrcella Als Antwort am 24 Okt. 2014 11:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,

ich bin immer bei diesem Problem immer noch nicht weiter gekommen. Deswegen eine Frage: was wird denn an Daten alles mitkopiert, wenn eine Datei kopiert wird? Muss ich in der Zielbibliothek alle Spalten haben, die auch in der Ausgangsbibliothek sind?

Viele Grüße,

Myrcella

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Okt. 2014 11:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kann ich Dir gerade gar nicht beantworten. Du kannst es aber relativ schnell selbst testen, indem Du Dir zwei Testbibliotheken anlegst und einen kleinen Testworkflow, der ein Datei kopiert. Wenn es funktioniert, füge nach und nach mehr Spalten hinzu und experimentiere...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
91 Beiträge
Myrcella Als Antwort am 24 Okt. 2014 12:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Okay, ich hab jetzt zwei Bibliotheken mit exakt den gleichen Spalten angelegt und zwei ganz einfache Workflows gebastelt; einen in 2010 mit "Listenelement kopieren, dann Workflow beenden" und einen in 2013 mit "Dokument kopieren, gehe zu Ende des Workflows".

Die Probleme bleiben die gleichen: der 2013er hängt sich auf und der 2010 kann "auf Grund eines internen Fehlers" nicht gestartet werden.

Vorteil: eine Problemquelle kann ausgeschlossen werden.

Nachteil: das war wohl nichts.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Okt. 2014 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Aber immerhin hast Du jetzt eine Spielwiese, mit der Du experimentieren kannst...

Was mir noch einfäält und was Einfluß haben könnte: Versionierung an/aus, Inhaltsgenehmigung an/aus und einfach mal eine ganz simple Textdatei statt Officedokument. Wird aber wahrscheinlich auch nicht helfen :-(

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
91 Beiträge
Myrcella Als Antwort am 24 Okt. 2014 14:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also wenn ich mit Versionierung etc. herumexperimentiere, wie du vorgeschlagen hast, wird der Workflow zwar immer noch angehalten, aber immerhin variieren die Fehlermeldungen schonmal...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Okt. 2014 14:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Myrcella"]immerhin variieren die Fehlermeldungen [/quote]

Das ist Unterhaltung a la Microsoft ;-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
91 Beiträge
Myrcella Als Antwort am 3 Dez. 2014 14:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kurzes Update:

Ich bin bei diesem Problem immer noch nicht weiter gekommen. Sämtliche auf Technet vorgeschlagenen Lösungsansätze [https://social.msdn.microsoft.com/Forums/en-US/4488b149-6826-4410-8f44-c5eaa9b19e54/moving-files-to-another-library-archiving-documents?forum=sharepointcustomization] haben bei mir nicht funktioniert. Wir denken mittlerweile, dass es einfach an unserem überlasteten Testserver lag, aber ich habe seitdem noch nicht wieder probiert, diesen Workflow in unserer neuen Testumgebung auszuprobieren und kann diese Annahme daher nicht bestätigen. Wenn jemand eine Lösung findet, würde ich mich sehr dafür interessieren.

Ohne Rang
4 Beiträge
Meiner Einer Als Antwort am 17 Jan. 2015 15:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich bin gerade in die gleiche Problematik geraten. Es gibt hier zwei mögliche Fehlerursachen.

1. Man muss aus Sicherheitsgründen zunächste ein Token holen (X-Request Digest)

2. Die URL für den WebService darf nicht länger als 300 Zeichen sein. Was nicht einfach ist wenn man mit Ordnern und längeren Dateinamen arbeitet.

Leider habe ich bisher keinen Workaround für die Limitierung gefunden.