字段值更改时的 TFS 2018 捕获日期

问题描述

我要在工作项中添加一个字段,我想在一个单独的字段中捕获更改该文件的日期和时间。我让它工作,有点。当用户将下拉列表值更改为 Yes 时,将在下方打开一个字段,用于记录该值更改为 Yes 的时间。当用户保存工作时间时,系统会将保存时间添加到该字段中。我可以回到那个工作项目,我可以看到它的价值。但是,如果我更新任何其他信息并保存工作项,时间戳会再次更新为刚刚保存 WIT 的时间。我想要的工作流程是仅在设置该字段时设置时间。我还有一个规则,如果值从是更改为否,则该字段将清空。

这是相关字段的字段定义部分。

      <FIELD name="Blocked" refname="Microsoft.VSTS.CMMI.Blocked" type="String" reportable="dimension" >
        <ALLOWEDVALUES expanditems="true">
          <LISTITEM value="Yes" />
          <LISTITEM value="No" />
        </ALLOWEDVALUES>
        <DEFAULT from="value" value="No"/>
      </FIELD>  
      <FIELD name="Date Blocked" refname="XXX.DateBlocked" type="DateTime" reportable="detail" >
        <WHEN field="Microsoft.VSTS.CMMI.Blocked" value="Yes">
          <SERVERDEFAULT from="clock" />
        </WHEN>
        <WHEN field="Microsoft.VSTS.CMMI.Blocked" value="No">
          <READONLY/>
          <EMPTY/>
        </WHEN>
        <HELPTEXT>The is the toole tip</HELPTEXT>
      </FIELD>

解决方法

但是如果我更新任何其他信息并保存工作项,时间戳会再次更新为刚刚保存 WIT 的时间

这是因为当您更新其他信息并保存工作项时。下面规则中的条件仍然是 true。以便再次更新 Date Blocked 字段。

<WHEN field="Microsoft.VSTS.CMMI.Blocked" value="Yes">
          <SERVERDEFAULT from="clock" />
</WHEN>

您可以通过添加另一个条件 WHENNOTCHANGED 来解决此问题。见下文:

<FIELD name="Date Blocked" refname="XXX.DateBlocked" type="DateTime" reportable="detail" >
        <WHENNOTCHANGED field="Microsoft.VSTS.CMMI.Blocked">  
           <READONLY />  
       </WHENNOTCHANGED> 
        <WHEN field="Microsoft.VSTS.CMMI.Blocked" value="Yes">
          <SERVERDEFAULT from="clock" />
        </WHEN>
        <WHEN field="Microsoft.VSTS.CMMI.Blocked" value="No">
          <READONLY/>
          <EMPTY/>
        </WHEN>
        <HELPTEXT>The is the toole tip</HELPTEXT>
      </FIELD>

通过添加<WHENNOTCHANGED field="Microsoft.VSTS.CMMI.Blocked">Date Blocked 将变为只读,如果 Blocked 未更新而其他信息已更新,则无法更改

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...