SPD 워크 플로우 작업을 사용하여 승인 워크 플로에서 승인자 설정

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/38858

  •  09-12-2019
  •  | 
  •  

문제

SharePoint 문서 라이브러리에 대한 문서 승인 워크 플로를 작성해야합니다. 워크 플로는 승인자가 문서의 메타 데이터 필드에 의존한다는 것을 제외하고 ootb 승인 워크 플로와 정확히 같아야합니다. 예를 들어, HR 문서는 승인자 1에 의해 승인되어야하지만, 자금 문서는 승인자 2가 승인을 받아야합니다.

OOTB 승인 워크 플로의 복사본을 만들었고 여기에 표시된 것처럼 승인자 매개 변수의 값을 설정하는 작업을 추가하여 사용자 정의하려고합니다. (실제 워크 플로에서 매개 변수의 실제 값을 설정하는 조건을 추가하지만 이제이 접근 방식이 작동하는지 확인해야합니다.

여기에 이미지 설명을 입력하십시오

a approvers 매개 변수의 값을 다음과 같이 설정합니다.

<d:Approvers xmlns:d="http://schemas.microsoft.com/office/infopath/2009/WSSList/dataFields"
       xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls">
  <d:Assignment>
    <d:Assignee>      
      <pc:Person>
        <pc:DisplayName>Approver1</pc:DisplayName>
        <pc:AccountId>DEMO\approver1</pc:AccountId>
        <pc:AccountType>User</pc:AccountType>
      </pc:Person>
    </d:Assignee>
    <d:Stage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
    <d:AssignmentType>Serial</d:AssignmentType>
  </d:Assignment>
</d:Approvers>
.

SP 로그에서 다음 오류가 계속 발생합니다.

    System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> 
  System.NullReferenceException: Object reference not set to an instance of an object.     
  at Microsoft.Office.Workflow.Actions.StageContainer.UpdateFromString(SPWeb web, SPItemKey itemId, String assignmentString)     
  at Microsoft.Office.Workflow.Actions.OfficeTask.get_ParticipantList()     --- End of inner exception stack trace ---     
  at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)     
  at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)     
  at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)     
  at System.Workflow.ComponentModel.ActivityBindPropertyInfo.GetValue(Object obj, BindingFlags invokeAttr, Binder binder, Object[] index, CultureInfo culture)     
  at System.Reflection.PropertyInfo.GetValue(Object obj, Object[] index)     
  at System.Workflow.ComponentModel.MemberBind.<>c__DisplayClass1.<GetValue>b__0(Object sender, PathMemberInfoEventArgs eventArgs)     
  at System.Workflow.ComponentModel.PathWalker.TryWalkPropertyPath(Type rootType, String path)     
  at System.Workflow.ComponentModel.MemberBind.GetValue(MemberInfo memberInfo, Object dataContext, String path)     
  at System.Workflow.ComponentModel.ActivityBind.GetMemberValue(Object dataSourceObject, MemberInfo memberInfo, String path, Type targetType)     
  at System.Workflow.ComponentModel.ActivityBind.InternalGetRuntimeValue(Activity activity, Type targetType)     
  at System.Workflow.ComponentModel.DependencyObject.GetBoundValue(ActivityBind bind, Type targetType)     
  at System.Workflow.ComponentModel.DependencyObject.GetValueCommon(DependencyProperty dependencyProperty, PropertyMetadata metadata)     
  at Microsoft.SharePoint.WorkflowActions.CoerceActivity.get_Value()     
  at Microsoft.SharePoint.WorkflowActions.CoerceActivity.Coerce()     
  at Microsoft.SharePoint.WorkflowActions.CoerceActivity.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.Workflow.Runtime.Scheduler.Run()    49157206-76a1-4fe0-8b74-0567086a80ff
.

어떤 생각이 무엇이 잘못되었을 것입니까?

환경 : Windows 2008 R2, SP2010 Enterprise Edition.

도움이 되었습니까?

해결책

i "이 사용자와 함께"설정을 설정하여 현재 항목의 데이터를 찾는 것으로 변경하여 동적 승인 자를 구성하여 다음과 같이 다음과 같이 다음과 같이 다음과 같습니다. http : //roykimsharepoint.wordpress..com / 2011 / 02 / 15 / SharePoint-Designer - 연습 - 복사 - 수정 - 게시 - 워크 플로우 /

항목에서 사용자 지정 승인 태스크 강화 메타 데이터 사용자 / 그룹 필드

이 BlogPost는 워크 플로 내에서 사용될 때 "할당"요소 안에 할당 XML을 래핑해야한다고 제안합니다. http : //blog.symprogress.com/2011/10/sharepoint-2010-dynamic-AppRovers-for-oob-approval-workflow-part-2/a>

다른 팁

매개 변수와 같은 사람이나 그룹 유형 필드를 설정 한 경우 위의 승인자는 사용자를 명확하게 식별 할 수있는 '반환 필드'로 설정하십시오.로그인 이름은, 전체 이름은 그렇지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top