워크 플로에서 사용중인 사용자 지정 CRM 작업을 만들었습니다. 이 활동을 사용자 지정 워크 플로 활동에 대한 InArgument로 사용하고 있습니다. Execute() 메서드에서 사용자 지정 CRM 작업 인스턴스의 OwnerId를 시스템 사용자로 설정하고 CrmSvcUtil을 사용하여 생성 한 컨텍스트 개체에서 UpdateObject (엔터티)를 호출하려고합니다.사용자 지정 활동의 OwnerId 설정
[Input("Some name")]
[ReferenceEntity("mycustomactivity")]
[Required]
public InArgument<EntityReference> MyCustomActivity{get;set;}
void Execute(CodeActivityContext context)
{
IOrganizationService svc = context.GetExtension<IOrganizationService>();
var customActivityReference = MyCustomActivity.GetValue(MyCustomActivity);
//MyServiceContext is an OrganizationServiceContext generated using CrmSvcUtil
MyServiceContext servicecontext = new MyServiceContext(svc);
//GetCutomActivityInstance uses the Id to get an instance of the custom activity)
MyCustomCRMActivity activityInstance = GetCutomActivityInstance (servicecontext,customActivityReference.Id);
activityInstance.OwnerId = new EntityReference("systemuser",<SomeGUID>);
context.UpdateObject(activityInstance);
context.SaveChanges();
}
위, 활동 소유자가 내 CRM 사용자 계정을 디폴트되고 내가 activityInstance.OwnerId
으로 설정하고있어 소유자 어떤 도움이 많이 주시면 감사하겠습니다을 반영하도록 업데이트되지 않습니다 작동하지 않습니다.
감사합니다 CRM 워크 플로우의 맞춤형 기능 나는 AssignRequest를 시험해보고 여기에 다시보고 할 것이다. 또한 워크 플로에서 작업 또는 사용자 지정 활동과 같은 "crm 활동"을 수신하면 InArgument에 대한 형식 매개 변수가 "EntityReference"이어야합니다. 즉, [ReferenceEntity ("mycustomactivity")] [필수] public InArgument MyCustomActivity {get; set;} –
@AbhijeetPatel 워크 플로 디자이너에서 사용할 수있는 단계를 의미합니다. – ccellar
샌드 박스 서비스 또는 비동기 처리 서비스를 다시 시작해야합니까? 나는 소유권 변경을위한 코드 변경이 이러한 서비스를 재활용 한 후에 만 변경되었음을 확인했습니다. –