这是一个较大限制的一部分,但令我烦恼的部分是仅允许创建工作项的用户(“System.CreatedBy”字段的值)将工作项转换为“已关闭”状态。
我知道如何使用“For”和“Not”子句来限制转换,但是这些子句仅限于组。我想将其限制为该工作项的特定创建者。
VALIDUSERS也仅限于组(TFS或AD)。
谢谢你的帮助。

最佳答案

昨晚我找到了合适的解决方案。

该解决方案实际上非常适合我的需要,因为它允许我添加一个不受此规则约束的组,以便该组的成员(例如质量检查人员)以及创建者能够关闭工作项,而该团队的其他成员不是。

引用:here(网络归档链接)

如前所述:

  • 创建ClosedByValidation字段并添加以下规则

  • <FIELD name="Closed By Validation" refname="Demo.ClosedByValidation" type="String">
        <COPY from="currentuser" />
        <FROZEN not="[project]\Project Administrators"/>
    </FIELD>
    
  • 将以下规则添加到“Closed”状态

  • <STATE value="Closed">
       <FIELDS>
          <FIELD refname="Demo.ClosedByValidation">
              <COPY from="currentuser" />
           </FIELD>
       </FIELDS>
    </STATE>
    
  • 将ClosedByValidation字段添加到表单,因此如下所示。请注意,我如何同时显示“创建者”字段和“ClosedByValidation”字段


  • 工作原理
  • ClosedByValidation字段将“创建者”值复制到
    本身在创建工作项时使用。
  • 然后立即
    卡住字段(使用FROZEN)规则,该规则不能
    改变。
  • 注意:FROZEN规则的条件是不适用于项目
    管理员,为他们提供覆盖功能。
  • 工作时
    项目为“已关闭”,然后将当前用户复制到
    ClosedByValidation字段。
  • 如果ClosedByValidation的值仍然保留
    相同(原始Created By),那么一切都很好。
  • 如果
    ClosedByValidation的值已更改,然后显示FROZEN规则
    如您在上面的屏幕快照中看到的那样。
  • 关于visual-studio - 如何将工作流中的转换限制为仅在TFS中创建工作项的用户?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26024921/

    10-13 07:46
    查看更多