Frage

Ich versuche, eine Aufgabe in einem VS 2010 -Workflow zu erstellen und sie einem unserer Domain -Benutzer zuweisen. Dieser Typ ist kein Benutzer der Site -Sammlung, aber ich gehe davon aus, dass er automatisch zu SharePoint hinzugefügt wird. Er befindet sich auch in einer anderen Firma, irgendwo in Südafrika. Der Code, den ich benutze, ist so etwas wie

    private void CreateTask_MethodInvoking(object sender, EventArgs e)
    {
        TaskProps = new SPWorkflowTaskProperties();
        TaskId = Guid.NewGuid();

        TaskProps.AssignedTo = @"MYDOMAIN\username";
        TaskProps.Title = "Sample task";
    }

Sobald ich den Workflow bereitstellt und ausführe, wird die Aufgabe gut erstellt, aber das Feld "Zugewiesen" ist leer. Das Ereignisprotokoll zeigt, dass "der Benutzer nicht existiert oder nicht eindeutig ist".

Wenn ich eine Aufgabe von Hand erstelle und MyDomain Benutzername in das Feld "Zugewiesen" eingehe, wird sie ohne Probleme erstellt, und der Benutzer wird in die Site -Sammlung importiert. Danach läuft der Workflow in Ordnung. Manuell ist es jedoch keine Option, jedes unserer 200+ Domain -Benutzer zur Site -Sammlung hinzuzufügen. Anregungen?

War es hilfreich?

Lösung

Die Annahme, dass der Benutzer zur Site -Sammlung hinzugefügt wird, ist nicht wahr. Sie können einem Benutzer, der nicht in der Site -Sammlung keine Übersicht übersagt, eine Aufgabe nicht zuweisen. Sie müssen jedoch nicht jeden Benutzer manuell hinzufügen.

  • Tun Sie, wie MBSurf vorschlägt, und fügen Sie den Benutzer in Code hinzu
  • Setzen Sie alle Benutzer in eine Gruppe in die Anzeige (wenn Sie noch keine haben) und weisen Sie die Gruppe der SharePoint -Site zu
  • Gewähren Sie die Aufgabenliste "Alle authentifizierten Benutzer" Berechtigungen, damit Aufgaben jedem zugewiesen werden können ...

Andere Tipps

In Moss würde ich so etwas wie unten tun:

        SPUser spUser = null;

        try
        {
            // Attempt to get the user first
            spUser = userCollection[user];
        }
        catch (Exception)
        {
            // The User does not exist, so we need to add them
            userCollection.Add(user, string.Empty, user, string.Empty);
            spUser = userCollection[user];
        }

Dann würde ich den Streit im Feld zugewiesen.

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