ステート マシン ワークフローと関連タスクがあります。タスクは、いくつかの条件を満たすまで編集できます。infopath によって形成されたタスク。これらのタスクには、ユーザー ピッカー フィールドが 1 つ含まれています。これらの値を 3 つのフィールドに割り当てます。
private void createTask_Operator_MethodInvoking(object sender, EventArgs e)
{
this.createTask_Id = Guid.NewGuid();
this.createTask_Properties.ExtendedProperties["ows_TaskDisplayName"] = "user1";
this.createTask_Properties.ExtendedProperties["ows_TaskAccountId"] = @"SP\user1";
this.createTask_Properties.ExtendedProperties["ows_TaskAccountType"] = "User";
}
それはうまくいきます、私は私のフォームでこれらのユーザーの価値を見ることができます。しかし、ユーザー (例: "user2") を変更してフォームを送信すると、手動で変更したフィールド値を取得できず、常に "user1" の値が返されます。
private void onTaskChanged_Operator_Invoked(object sender, ExternalDataEventArgs e)
{
this.onTaskChanged_AfterProperties = this.onTaskChanged.AfterProperties;
this.onTaskChanged_BeforeProperties = this.onTaskChanged.BeforeProperties;
// here I cannot retrieve changed field value, always returns: SP\user1
this.workflowProperties.Item["UserName"] =
this.onTaskChanged_AfterProperties.ExtendedProperties["TaskAccountId"].ToString();
this.workflowProperties.Item.Update();
}
そのような問題に直面した場合は、私を助けてください...