Frage

Ich habe einen staatlichen Maschinen-Workflow entwickelt, der nicht in Ordnung ist. Obwohl dies funktioniert, beschweren sich die Benutzer darüber, mit Workflow-Task-E-Mails bombardiert zu werden, die nichts mit ihren Teams zu tun haben. Innerhalb des Dokuments LIB werde ich den Workflow ausführen, es gibt eine Spalte, die Anwendungen auflisten, an denen jedes Team arbeitet. Gibt es eine Möglichkeit, die Informationen von diesem Feld und der Route zur richtigen Gruppe zu erhalten. Dies ist dynamisch, so dass sich der Spaltenwert ändern kann. Die Spalte ist ein Dropdown-Feld (, das Sie keine Informationen von ... nicht abrufen können ... wie ich am wenigsten denke ), aber ich habe ein berechnetes Feld erstellt, um die Informationen von Dropdown abzurufen, sodass es so ist in einer statischen Spalte. Darüber hinaus habe ich eine externe Liste mit 3 Spalten erstellt, um von Auch zu lesen: Gruppen, System und Anforderungen.

dh Wenn der Benutzer "Computer" aus einer Dropdown-Liste "System" abzieht, sollte jeder in der Genehmigungsgruppe "My computer app" eine E-Mail-Adresse erhalten Wenn Sie den String "Computer" im Feld und den Gruppennamen haben, gilt das gleiche auch für die anderen Optionen mit den richtigen Gruppen.

Eine weniger als optimale Weise mit riesigen, if-anderen Aussagen ist ich sicher, dass ich es möglich bin ... versucht, es etwas dynamischer zu machen und nicht als hart codierter .. generasacodicetagpre.

update

Ich kann die Liste zurückgeben und ich kann jetzt Artikel basierend auf der Element-ID wie so abrufen generasacodicetagpre.

Ich muss einen Weg finden, um alle Werte für die Spalte / Feld zu erhalten, wenn der Workflow ausgelöst wird, sodass ich diese Informationen an eine Variable weitergeben kann. Sobald dies erledigt ist, sollte ich in der Lage sein, diese Variable in meiner CAML-Abfrage aufzurufen, um zu bestimmen, wo jede Elementaufgabe weitergeleitet werden muss. Ich dachte, ich habe die GUID von der Spalte erhielt, aber es war nur die GUID für die Liste selbst mit diesem Code generasacodicetagpre.

War es hilfreich?

Lösung

Your query returns an SPListItem, however you need an SPGroup to retrieve the distribution list email.

To get to the SPGroup object that actually represents the Group itself rather than the name of the Group like you are returning from the List, you need to pull it from an SPWeb (which will be a little trickier since a workflow does not run in the context of a page; I'll leave this to you to figure out).

SPListItem item = list.GetItemById(26); // <-- This is your code here
string strGroupName = item["ColumnWithGroupName"].ToString();

// Get your SPWeb object from which to pull the group here
using (SPWeb webYourWeb = ...)
{
    // (Use SiteGroups or Groups here depending on where you want to pull the group from)
    SPGroup group = webYourWeb.SiteGroups[strGroupName];
    string strGroupEmail = group.DistributionGroupEmail;

    // Send your email
}

That's how you get the email address of a group from the group name (which you got from an SPListItem)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top