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.




SharePoint Designer: Benutzergruppe abfragen/Weiterleitung auf spezifische Editforms

Unbeantwortet Dieser Beitrag hat 5 Antworten

Ohne Rang
14 Beiträge
Felix93 erstellt 20 Apr. 2015 11:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Liebe SharePoint Community,

Danke erstmals das ihr mir schon so oft geholfen habt.

Meine heutiges Problem ist folgendes. Ich benötige 2 Editforms für eine Liste.

Kontext (für die die viel lesen wollen):
1. Mitarbeiter legt eine Anfrage an (Erstellt ein neues Element, Spalte Status ist im NewForm ausgeblendet)
2. Sourcer erhält eine Email wenn sein Name unter dem Ansprechpartner eingetragen ist.
3. Sourcer, wenn er den Zeit für den Auftrag hat Bearbeitet das Element und setzt den Status auf "in Bearbeitung"....

Problem aktuell:
Sowohl  "Standard Mitarbeiter" als auch "Sourcer" können auf die "Editform" zugreifen.... Aktuell habe ich es über verschiedene Ansichten gelöst... --> Etwas aufwendig für mich. Problem dabei ist Mitarbeiter kann nachträglich keine weiteren Notizen anfügen...

Daher kam mir in den Sinn das ich doch 2 Editforms anlegen kann, 1 wo Status eingeblendet ist, 1 wo das Feld ausgeblendet ist. In einem anderen Thread wurde mir mitgeteilt das ich dies über etwas Logik im SharePoint Designer lösen kann. Also StandartEditForm leitet dann die User weiter... Aber wie frage ich die Benutzergruppe ab bzw leite diese weiter?

Kurz: 2 Editforms für unterschiedene Benutzergruppen

Ich habe versucht dies über Workflows zu lösen leider kann ich da zwar "Benutzerdefinierte Formular" auswählen aber da kann ich wohl nur neue anlegen und nicht die bereits vorhanden nutzen? Bzw habe ich den Eindruck als könne ich dem Formular zusätzliche Felder einfügen?

Ich finde mal wieder nichts bei Onkel Google, Finde dort nur Ergebnisse wie ich eine Benutzerdefinierte Editform anlege aber nicht wie ich 2 Editforms haben kann...

 

Alle Antworten

Ohne Rang
86 Beiträge
MMAY Als Antwort am 20 Apr. 2015 12:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Im Grunde kannst du theoretisch beliebig viele EditForms haben.

Es gibt eine einfache und etwas aufwändigere Lösung für das Problem.

1. du passt die Verlinkung in der Email einfach an auf die entsprechende EditForm. Sprich der Sourcer bekommt einen anderen Link zugeschickt als der Standard Mitarbeiter. 

2. Besser wäre die von dir auch genannte Umleitung innerhalb des Formulars. Ob eine Umleitung nötig ist, muss beim Laden des Formulars als erstes geprüft werden, falls ja Umleitung über bsp:

var docurl = document.URL;

    var beginindex = docurl.indexOf('?ID=') + 4;

    var endindex = docurl.indexOf('&Source=');

    var itemid = docurl.substring(beginindex, endindex);

    var displayFormID = 'https://sharepoint.firma.de/Formulare/Lists/MeineListe/EditCustomForm.aspx?ID=' + itemid

    window.navigate(displayFormID);

(URL entsprechend anpassen)

Beim Laden des Formulars starten, da gibt es ja diverse Möglichkeiten.

Was das bestimmen des aktuellen Benutzers angeht gibt es ja diverse Möglichkeiten, damit habe ich mich bislang noch nicht näher befassen müssen.

Ohne Rang
14 Beiträge
Felix93 Als Antwort am 20 Apr. 2015 14:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das mit der Weiterleitung funktioniert soweit (musste nur ?ID= auf &ID= abändern da auf meinem SharePointsystem anscheinend die Liste mitgeben wird)

aktuell sieht der Code so aus:

var docurl = document.URL;
var beginindex = docurl.indexOf('&ID=') + 4;
var endindex = docurl.indexOf('&Source=');
var itemid = docurl.substring(beginindex, endindex); 
InGroup = false;
var displayFormID = './EditFormRM.aspx?ID=' + itemid;
if(InGroup){
var displayFormID = './EditFormS.aspx?ID=' + itemid;
}
window.navigate(displayFormID);

Ich habe schon einige Ansätze via JS zu Ermittlung der Usergroup versucht. Leider gehen diese Anscheinend erst ab SP2010/2013? Gibt es den keine Möglichkeit für SP2007? Benutze den SharePoint Designer... Gibt es vllt andere Software mit der ich da via Point/Click machen kann=?

 

Ohne Rang
86 Beiträge
MMAY Als Antwort am 20 Apr. 2015 15:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Mit SP 2007 wird es dann schon schwierig. Ich hatte Die Benutzerabfrage mit SP 2013 am laufen, musste dann aber schmerzlich feststellen, dass es absolut nur mit Windows + IE (aktuelle Version) funktioniert.

Ansonsten kannst du da sonst nur mit IF ELSE und Abfragen von Feldern arbeiten. (ich benutze gerne berechnete + boolean felder)

Ich würde an deiner Stelle die EditForm in der nur Bemerkungen ergänzt werden können (Status nicht ausgewählt) als Standard hinterlegen und das Formular in dem Der Status geändert werden kann, nur per Email an den Bearbeiter versenden.

 

Falls es unbedingt mit Benutzerabfrage ist, hilft das vielleicht weiter: https://social.msdn.microsoft.com/Forums/sharepoint/en-US/4101e616-db5d-4504-ad16-169ff62269fb/how-to-get-current-logged-in-user-for-sharepoint-site

Auf jeden Fall mit verschiedenen Browsern testen und Funktion mit Vorsicht genießen.

Ohne Rang
14 Beiträge
Felix93 Als Antwort am 20 Apr. 2015 16:12
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke erstmal.

Mein Wunsch ist das leider nicht ;), ich bin ja nur die ausführende Kraft :). Ich habe es jetzt über die Email gelöst... Angeblich will das Unternehmen doch mal auf 2013 umsteigen, kann sich nur noch um Jahre handeln bis dahin muss man halt mit dieser Version klar kommen

Ohne Rang
86 Beiträge
MMAY Als Antwort am 20 Apr. 2015 16:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Viel Glück!

Umsteigen auf 2013 lohnt sich wirklich extrem. 2010 auf 2013 war schon ein weiter Sprung, an 2007 mag ich mich gar nicht mehr erinnern.