четверг, 29 августа 2013 г.

Ошибка в рабочем процессе “… должны содержаться данные другого типа”

Условия

SharePoint 2010

Рабочий процесс в SharePoint Designer

В рабочем процессе есть действие “Обновить элемент в списке”, в котором обновляется столбец типа “Пользователь или группа”

Рабочий процесс нормально работает под пользователем, являющимся администратором семейства.

При запуске пользователем, не администратором, если в столбец подставляется пользователь, еще не добавленный в список сведений о пользователях, процесс завершается с ошибкой.

В журнале рабочего процесса:

“Обновить элемент в рабочем процессе не удалось, возможно потому, что в одном или нескольких столбцах для этого элемента должны содержаться данные другого типа.”

“The workflow could not update the item, possibly because one or more columns for the item require a different type of information”

В журнале SharePoint:

08/28/2013 17:21:21.39     w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           88xr    Unexpected    WinWF Internal Error, terminating workflow Id# 29853693-81f2-49a1-9041-b807a1e38710    
08/28/2013 17:21:21.39     w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           98d4    Unexpected    System.ArgumentException: Элемент не существует. Возможно, он был удален другим пользователем.     at Microsoft.SharePoint.SPList.GetItemById(String strId, Int32 id, String strRootFolder, Boolean cacheRowsetAndId, String strViewFields, Boolean bDatesInUtc)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.RetrieveListItem(SPWeb web, Guid id, Guid listId, SPItemKey itemKey, Boolean allowCreate)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.UpdateListItemInternal(Guid id, Guid listId, SPItemKey itemKey, Hashtable itemProperties)     at Microsoft.SharePoint.Workflow.SPWinOEWSSService.UpdateListItem(Guid id, Guid listId, SPItemKey itemKey, Hashtable itemProperties)     at Microsoft.SharePoint.WorkflowActions.ActivityHelper.DoCorrectUpdateMethod(WorkflowContext theContext, SPItemK...    
08/28/2013 17:21:21.39*    w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           98d4    Unexpected    ...ey item, Guid listId, Hashtable properties, IListItemService hostInterface)     at Microsoft.SharePoint.WorkflowActions.WithKey.UpdateItemActivity.DoUpdate(ActivityExecutionContext provider)     at Microsoft.SharePoint.WorkflowActions.WaitForDocumentUnlockActivity.Execute(ActivityExecutionContext executionContext)     at Microsoft.SharePoint.WorkflowActions.WithKey.UpdateItemActivity.Execute(ActivityExecutionContext provider)     at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)     at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext)     at System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime)     at System...    
08/28/2013 17:21:21.39*    w3wp.exe (0x1690)                           0x20F0    SharePoint Foundation             Workflow Infrastructure           98d4    Unexpected    ....Workflow.Runtime.Scheduler.Run()    

Причина

Причина в том, что пользователь, в контексте которого выполняется рабочий процесс, не имеет прав на создание новых записей в списке сведений о пользователях. Процесс не может создать нового пользователя и поэтому не может осуществить подстановку несуществующей записи.

Решение

В рабочем процессе перенести действие обновление элемента списка в шаг олицетворения и опубликовать процесс пользователем, имеющим права администратора семейства.

1 комментарий:

  1. Столкнулся с той же бедой, выдавалась та же ошибка при работе со списком1. Рабочий процесс должен был создавать элемент в списке2. Проблема решилась предоставлением доступа на создание элемента в списке2 всем инициаторам рабочего процесса.

    ОтветитьУдалить