0
Derzeit folgenden C# -Code ist mit einem Workflow startenden Workflow, indem Sie Benutzerkonto
private static void StartWorkflow(SPListItem listItem)
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite elevatedSite = new SPSite(listItem.Web.Site.ID))
{
using (SPWeb elevatedWeb = elevatedSite.OpenWeb(listItem.Web.ID))
{
elevatedWeb.AllowUnsafeUpdates = true;
SPWorkflowManager manager = elevatedSite.WorkflowManager;
SPListItem elevatedListItem = elevatedWeb.Lists.TryGetList(listItem.ParentList.Title).GetItemById(listItem.ID);
foreach (SPWorkflow workflow in manager.GetItemWorkflows(elevatedListItem))
{
SPWorkflowAssociation wfAssoc = elevatedListItem.ParentList.WorkflowAssociations.GetAssociationByName(workflow.ParentAssociation.Name, System.Globalization.CultureInfo.CurrentCulture);
elevatedListItem.Web.Site.WorkflowManager.StartWorkflow(elevatedListItem, wfAssoc, wfAssoc.AssociationData, true);
elevatedListItem.Update();
}
// Get the workflow by name that's associated with the list item
elevatedWeb.AllowUnsafeUpdates = false;
}
}
});
}
Dies wird die Workflow-System-Konto starten. Gibt es eine Möglichkeit, dass ich den Workflow starten kann, indem ich Listenelemente verwende, die nach Spalte erstellt wurden? Ich möchte den Workflow mit einem persönlichen Benutzerkonto starten.