기본적으로 워크 플로 디자이너의 엔터티 ID에 액세스 할 수 없으며 사용자 지정 작업이 입력 속성마다 단일 엔터티로 제한된다는 것이 옳습니다.
Focus의 제안을 구현할 수 있지만 각 엔티티에 맞춤 속성과 플러그인이 필요합니다.
아마도 사용자 지정 작업을 수행하고 모든 출력 속성이 단일 출력 속성으로 여러 개의 입력 속성을 가질 것이라고 생각합니다. 이 같은
뭔가 :
[CrmInput("Contact")]
[CrmReferenceTarget("contact")]
public Lookup Contact
{
get { return (Lookup)GetValue(ContactProperty); }
set { SetValue(ContactProperty, value); }
}
public static readonly DependencyProperty ContactProperty =
DependencyProperty.Register("Contact", typeof(Lookup), typeof(YourActivityClass));
[CrmInput("Account")]
[CrmReferenceTarget("account")]
public Lookup Account
{
get { return (Lookup)GetValue(AccountProperty); }
set { SetValue(AccountProperty, value); }
}
public static readonly DependencyProperty AccountProperty =
DependencyProperty.Register("Account", typeof(Lookup), typeof(YourActivityClass));
[CrmOutput("Entity ID")]
public string EntityID
{
get { return (string)GetValue(EntityIDProperty); }
set { SetValue(EntityIDProperty, value); }
}
public static readonly DependencyProperty EntityIDProperty =
DependencyProperty.Register("EntityID", typeof(string), typeof(YourActivityClass));
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{
Lookup[] lookups = new[] { Contact, Account };
foreach (Lookup lookup in lookups)
{
if (lookup != null && lookup.Value != Guid.Empty)
{
EntityID = lookup.Value.ToString();
break;
}
}
return ActivityExecutionStatus.Closed;
}
그래, 나는 결국에 무슨 일이 있었는지입니다. –