我有一个状态机工作流程和相关任务。任务可以被编辑,直到它满足一些条件。由 infopath 形成的任务。这些任务包含一个人员选择器字段。我用这些值分配了 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();
}
请,如果你遇到这样的问题,请帮助我...