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.




Berechnete Felder mit Person

Geprüfte Antwort Dieser Beitrag hat 7 Antworten

Ohne Rang
133 Beiträge
Shay erstellt 11 Nov. 2013 14:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hiho

Hat jemand eine Idee, wie ich Personen Felder als Berechnungsgrundlage verwenden kann?

Also ich habe zwei Spalten:

1. Person (Mehrfachauswahl)
2. Textfeld

Diese möchte ich in einer dritten Spalte quasi zusammenführen. Doch das funktioniert nicht, da ich mit Personenfelden nicht rechnen kann. Ich wollte hieraus eigentlich nur den Namen(Text) ziehen, nicht die Eigenschaften des Benutzerfeldes an sich.

Das Grundproblem eigentlich ist, dass ich eine Lizenzdatenbank baue, in welcher vermerkt werden soll, welcher Benutzer welche Lizenzen installiert hat. Unter anderem besitzen jedoch auch Server Lizenzen, die keinen AD Benutzer haben, somit kann ich sie nicht ins Benutzerfeld mit eintragen.

Daher meine Idee ein Personenfeld (für die bekannten User) und ein Textfeld (für die Benutzerlosen Server) zu einem dritten zusammen führen was alle Informationen beinhaltet.

Ich hoffe jemand kann mir hier weiterhelfen =)

Shay

Alle Antworten

Ohne Rang
133 Beiträge
Shay Als Antwort am 12 Nov. 2013 09:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe jetzt folgendes gefunden, aber irgendwie weiß ich nicht genau wie ich das Umsetzen soll, mein Workflow läuft immer auf einen Fehler:

1 Create a new text column in the list.

2 Create a workflow and use Update item in this list Action > Add the new text column to the value in people and group column.

Then you can add the text column in calculate formula.

 

edit: Habs nun hinbekommen, allerdings schmeißt Sharepoint mir immer eine komische Zeichenfolge mit zu.
Wenn ich einen Benutzer mit angebe im Benutzer oder Gruppen Feld setzt er ein 
1;# mit in die neue Spalte rein. Weiß jemand wie ich das weg bekomme? 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Nov. 2013 11:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du möchtest per Workflow den Wert eines Personenfeldes in ein Textfeld schreiben?

Wenn Du im Workflow-Nachschlagedialog ein Personenfeld auswählst, kannst Du im DropDown darunter auswählen, was Du haben möchtest: E-Mail, Login, Anzeigename, ...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
133 Beiträge
Shay Als Antwort am 12 Nov. 2013 12:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok..nun bekomme ich leider einen Koersionsfeher.

Also sobald er versucht das Benutzerfeld in einen Anmeldenamen zu "fomatieren" läuft der Workflow auf den Koersionsfehler, das der Wert nicht 0 sein darf.
Wenn ich das Benutzerfeld wieder auf Zeichenfolge stelle funktioniert es, allerdings dann auch mit dieser blöden Bezifferung vorne weg. 

Achso, ja genau ich möchte den Wert eines Benutzerfeldes in ein Textfeld schreiben ^^

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Nov. 2013 13:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Irgendwie verstehe ich Dich nicht ganz. Sorry, kann durchaus auch an mir liegen...

"Koersionsfehler" tritt immer auf, wenn es einen Konflikt mit Datentypen gibt. Also z.B. wenn man versucht einen Text in ein Datumsfeld zu schreiben. Kann auch auftreten, wenn man beim Auslesen eines Feldes etwas falsch macht.

In Deinem Fall könnte ich mir vorstellen, daß der Fehler beim Auslesen des Personenfeldes entsteht und zwar dann, wenn das Feld leer ist. Diesen Fall mußt Du gesondert über eine Bedingung abfangen. Also prüfen, ob das Feld nicht leer ist und dann den Anmeldenamen in ein Textfeld übernehmen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
133 Beiträge
Shay Als Antwort am 12 Nov. 2013 14:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich vermute auch, dass es an dem leerem Benutzerfeld liegt, aber ich habe leider keine Ahnung, wie man so eine Abfrage zum überprüfen schreibt.


Hier nochmal die Situation anders geschildert falls noch nötig:

Ich habe eine Liste mit zwei Spalten

[Spalte A] - Ist eine Benutzerspalte (Mehrfachauswahl möglich)
[Spalte B] - Ist eine Textspalte 

In diese beiden Spalten steht nicht immer jeweils etwas drin, manchmal auch in beiden nichts oder in beiden etwas.

Die beiden Spalten hätte ich gern in einer [Spalte C] kombiniert.
Eigentlich würde ich auch eine Lösung bevorzugen, dass man in einer einzigen Spalte Freitext schreiben kann und gleichzeitig auch Benutzer auswählen kann, aber ich glaube das geht nicht oder ^^? Daher beide Spalten in einer dritten kombiniert die man dann anzeigen kann.

Ich habe mir zum kombinieren beider Spalten einen Workflow erstellt, der auf Änderung oder auf Erstellung eines Elementes wirksam wird.

Aktion -> Feld im aktuellem Element festlegen
[Spalte C] auf [Spalte A]&[Spalte B]

Beim Nachschlagen für [Spalte A] habe ich im ersten Versuch es auf Zeichenfolge gelassen. 
Ergebnis war dann 1,#Benutzername Inhalt SpalteB 

Hier stört mich dann dieses vorangestellte Zahl,# welche er wegen Mehrfachauswahl wohl automatisch davor setzt.
Wenn ich nun beim Nachschlagen statt Zeichenfolge den Anzeigenamen auswähle, lässt er diese vorangestellten Zahlen weg, allerdings kommt immer ein Fehler wenn [Spalte A] leer bleibt, dann ignoriert er den folgenden Inhalt in [Spalte B] und bricht vorher den Workflow mit dem Koersionsfehler ab.

Ich habe auch schon damit herumexperimentiert, mit =RECHTS([Spalte A];LÄNGE([Spalte A])-3)&[Spalte B] einfach die ersten drei Zeichen weg zu kürzen, allerdings kommt dann auch hier ein WERT# Fehler, wenn [Spalte A] leer ist.

Der Versuch mit =WENNFEHLER(RECHTS([Spalte1];LÄNGE([Spalte1])-3);"[Spalte B]") klappt leider bisher nur in Excel :D ich bin da leider nicht so bewandert was Formeln angeht

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Nov. 2013 14:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Füge im Workflow eine Bedingung "Wenn Feld im aktuellen Element gleich Wert ist" ein. Wähle als Feld das Personenfeld und als Vergleich "Ist leer". Markiere die Bedingung und klicke dann oben auf "Andernfalls". Damit bekommst Du zwei Zweige und kannst beide Fälle unterschiedlich behandeln. Beim Textfeld ist es egal ob es leer ist.

Das Ganze sieht dann ungefähr so aus:

Wenn Personenfeld ist leer
  Kopiere nur Spalte B nach Spalte C
Andernfalls
  Kopiere Spalte A und Spalte B nach Spalte C

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
133 Beiträge
Shay Als Antwort am 12 Nov. 2013 15:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Jippi das klappt :D

Vielen Dank für deine Mühe =)