在Sharepoint中委派任务的最佳做法?

时间:2011-03-31 09:43:44

标签: sharepoint sharepoint-2010 sharepoint-workflow

我想创建一个应该是非常常见的工作流程,但我不确定最好的方法。我公司为每个项目或团队都有一个子网站。每个子网站都有自己的任务列表。如果管理团队想要将任务委托给另一个团队,我该如何设置该工作流程?如果我创建任务的副本,我希望它们的更改能够以两种方式同步,我想这可能是一个非常痛苦的实现?我需要一个工作流在指定团队的任务列表中创建副本,然后每个列表上的一个工作流检查更改并将其反映到任务的另一个实例。实施起来会有点痛苦,不是吗?但我的选择是什么?我想要制作一个大的公司范围的任务列表,只根据团队名称或项目过滤任务,所以我不必复制任务,但让所有者团队和指定的团队查看相同的任务,但它表明显示任务来自子站点上的父站点并不明显,并且在将列表连接到Outlook时,所有项目的所有任务都是同步的。也许我可以为管理团队创建一个名为“委派任务”的视图,从管理团队作为所有者的所有子站点收集任务?

我不知道我是否误解了Sharepoint的主要概念,因为即使我的业务案例对我来说非常基础,但在Sharepoint中从来没有一种明显的方法可以做到这一点......

感谢您对此提出任何意见,Sebastian

1 个答案:

答案 0 :(得分:0)

显而易见的选择是在任务编辑表单中提供重新分配任务功能。如果已分配任务的团队希望将任务委派给另一个团队,则他只需从任务编辑表单中提供的人员选取器控件中选择用户/组,然后单击重新分配链接。 在您具有on任务更改活动的工作流中,定义On_task_changed_Invoked的函数,如下所示

private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e)
    {
string reassignContent = onTaskChanged1_AfterProperties.ExtendedProperties["DelegateTo"].ToString();
            if (!string.IsNullOrEmpty(reassignContent))
            {
                Hashtable newUser = Form.XmlToHashtable(reassignContent);

                this._delegateTo = newUser["AccountId"].ToString();

                this._isStateChanged = false;
                this._hasReassigned = true;

            }
 }