SharePointCommunity
Die deutschsprachige Community für SharePoint 2016, 2013 und Office 365

Automatische Generierung fortlaufender Nummer in Abhängigkeit anderer Spalten

bewertet von 0 Usern
Dieser Beitrag hat 42 Antworten | 1 Follower

Ohne Rang
Beiträge 25

Hallo,

Ich habe eine Liste und mehrere Spalten, welche als Kategorisierung verwendet werden. In Abhängigkeit dieser Kategorisierung soll jede Zeile eine fortlaufende Nummer beginnend bei 1 (Format 0001) erhalten.

Spalte 1 Spalte 2 Spalte 3
A DD 0001
A BB 0001
A DD 0002
A CC 0001
A DD 0003
etc

 

 

 

 

 

 

Es soll zusätzlich auch eine Checkbox geben, welche als Indikator gelten soll, ob die Spate 3 ausgefüllt werden soll oder nicht, denn nicht jedes Dokument soll eine fortlaufende Nummer erhalten. 

Ich denke das reicht für den Anfang :)

Vielen Dank schon einmal für Rückmeldungen.

Top-10-Beitragsschreiber
Männlich
Beiträge 18.031

Man könnte es mit einem Workflow versuchen, der für jedes neue Element automatisch startet. Der Workflow holt sich über die REST-API die jeweils höchste Nummer, addiert eins und schreibt das dann ins eben neu angelegte Element.

Das wird funktionieren, aber nicht bei hoher Last, also nicht wenn viele Elemente gleichzeitig angelegt und geändert werden. Das liegt einfach an der asynchronen Natur von Workflows.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
Beiträge 25

Hallo Andi,

das mit der Last sollte kein Problem sein, denn es wird nicht vorkommen, dass viele Elemente gleichzeitig angelegt werden. Wir sprechen da von maximal 10-20 über einen Tag verteilt.

Da ich mit WF noch nicht so 100% durch bin, wo finde ich gute Dokumentation (speziell zu REST-API etc.) dazu?

DANKE!

Top-10-Beitragsschreiber
Männlich
Beiträge 18.031

Hier habe ich mal zusammengeschrieben wie das im Workflow funktioniert: https://andifandrich.wordpress.com/2013/08/06/sharepoint-2013-workflows-teil-1-call-http-web-service/

Und hier findest Du eine Einführung in die REST-API: https://msdn.microsoft.com/de-de/library/office/fp142380.aspx

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
Beiträge 25

Vielen Dank Andi. Werd mir das gerne anschauen.

Ohne Rang
Beiträge 25

Hallo Andi,

habe jetzt endlich zeit gefunden mich deinem Beitrag zu widmen und habe das testszenario auch durch. Zu meiner Anfrage habe ich jetzt grundsätzlich folgendes Problem. Noch einmal kurz zu meiner Ursprungsanfrage.

Ich hätte gerne eine automatische Generierung von Nummern (Spalte 3). Diese soll basierend auf auf Spalte 2 immer eine neue Nummer generieren. Neu heißt in diesem Sinne, dass sollte ein Dokument gelöscht werden, diese Nummer nicht wieder verwendet werden kann. Das bringe ich leider im Moment nicht her, wenn ich immer nur schaue wie viele DOkumente (count) ich habe und dann +1 rechne.

Vielleicht kannst du mir hier wieder helfen.

DANKE!

Spalte 1 Spalte 2 Spalte 3
A DD 0001
A BB 0001
A DD 0002
A CC 0001
A DD 0003

etc


Top-500-Beitragsschreiber
Beiträge 40

Moin!

 

Die SharePoint-interne ID zu verwenden wäre keine Lösung? SharePoint-IDs haben den Vorteil, dass sie auf keinen Fall doppelt auftreten und automatisch generiert werden. Sie können auch in Listenansichten als Spalte eingeblendet werden. Der Nachteil ist, dass Lücken entstehen können, wenn Dokumente/Listeneinträge gelöscht werden, weil sie nicht zweimal vergeben werden.

Ohne Rang
Beiträge 25

Hi,

das wäre eine option, ist aber nicht die Wunschlösung. Die komplette Dokumentennummer, welche schlussendlich generiert wird, folgt folgender Logik:

XXX-YYY-ZZZ-0001 =>

XXX ist fix für alle Dokumente.
YYY beim upload des dokument ist das das erste auswahlfeld.
ZZZ in Abghängigkeit von YYY soll hier eine weitere Auswahl getroffen werden.
0001 Es soll eine vierstellige fortlaufende Nummer generiert werden, welche in Abhängigkeit von ZZZ immer wieder mit 0001 startet. Also alle unterschiedlichen ZZZ starten mit 0001. Ich hoffe, dass ich diese Logik verständlich rübergebracht habe.

DANKE!

Top-10-Beitragsschreiber
Männlich
Beiträge 18.031

Um bei dem einfacheren Beispiel weiter oben zu bleiben, holst Du Dir die höchste Nummer in Spalte 3, bei der Spalte 2 dem Wert aus dem aktuellen Element entspricht. Du brauchst dazu ein Abfrage mit Filter auf Spalte 2, absteigend sortiert nach Spalte 3 und beschränkt auf ein einziges Element. Dadurch erhältst Du die letzte verwendete Nummer und kannst sie um eins erhöhen.

Probleme bekommst Du, wenn das Element mit der bisher höchsten Nummer gelöscht wird, weil die dann neu vergeben wird. Dieses Problem ist unlösbar (mit diesen Mitteln), aber meiner Meinung nach auch völlig egal.

Ein weiteres Problem bekommst Du, wenn mehrere Elemente gleichzeitig angelegt werden. Dann laufen auch mehrere Workflows mehr oder weniger gleichzeitig und würden dieselbe Nummer mehrfach vergeben.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
Beiträge 25

Hallo Andi,

wieder einmal Danke für deine Hilfe. Da ich mit den Workflows in SD noch nicht zu 100% durch bin, kannst du mir genauer erklären wie ich das mit den Abfragen anstellen muss?

DANKE!

Top-10-Beitragsschreiber
Männlich
Beiträge 18.031

Hier eine Beschreibung, wie man per Workflow überhaupt Daten aus SharePoint abruft: https://andifandrich.wordpress.com/2013/08/06/sharepoint-2013-workflows-teil-1-call-http-web-service/

Und hier ein Einstieg in die REST API generell: https://msdn.microsoft.com/de-de/library/office/fp142380.aspx

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
Beiträge 25

Hallo Andi,

Danke, deine beiden Artikel (Teil 1 und Teil 2) habe ich soweit schon durch. Hatte gedacht, dass du mir eventuell detailliertere Hiflestellung direkt auf meine Fragestellung geben kannst.

Werde mir derweilen deine beiden Artikel noch einmal zu Gemüte führe und versuchen, die Daten zu bekommen.

Viele Grüße,
Christoph

Top-10-Beitragsschreiber
Männlich
Beiträge 18.031

Tut mir leid, aber genauer kann ich das aus der Ferne nicht sagen, weil ich Deine ganze Umgebung nicht kenne. Das würde vermutlich auch den Umfang eines Posts hier sprengen...

Du solltest grundsätzlich verstehen, wie die REST-Calls im Workflow funktionieren, z.B. aus meinen Artikeln. Und Du solltest grundsätzlich verstehen, wie die REST-API von SharePoint tickt, z.B. aus MSDN. Wenn man das einmal draufhat, kann man sehr schnell alle möglichen derartigen Sachen in seine Workflows einbauen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
Beiträge 25

ok, habe ich mir schon gedacht, dass das den Rahmen sprengen würde. Würde mich aber trotzdem gern wieder hier melden, falls ich schwierigkeiten bei details habe.

DANKE!

Top-10-Beitragsschreiber
Männlich
Beiträge 18.031

Christoph Moosbrugger:
Würde mich aber trotzdem gern wieder hier melden, falls ich schwierigkeiten bei details habe.

Auf jeden Fall!

Viele Grüße
Andi
af @ evocom de
Blog
Seite 1 von 3 (43 Elemente) 1 2 3 Weiter > | RSS