ClearQuest表单上的非数据库字段

时间:2008-10-01 12:36:14

标签: bug-tracking clearquest

有没有办法使用与数据库字段不对应的表单字段进行临时处理?

即。我想补充一下:

  • 临时字段第1项第2项
  • 数据库字段总和
  • 带有总和 = item1 + item2 的记录挂钩的
  • 按钮

3 个答案:

答案 0 :(得分:2)

据我所知,使用ClearQuest根本不可能。 我试图做类似的事情,我们的IBM顾问告诉我,唯一的办法是为所有变量创建一个DB字段。

答案 1 :(得分:2)

您无法将数据真正附加到表单字段 - 这些是基础数据的表示,而不是脚本直接交互的内容。

将临时数据添加到基础记录(实体)本身听起来也不太可能。也许有可能滥用perl API并动态地将数据附加到实体对象,但我个人不会尝试它,你可能会随心所欲地丢失你的数据; - )

但这并不意味着拥有临时数据是不可能的。 在我看来,最好的方法是使用会话对象,该对象明确用于此目的。

来自帮助文件:

  

IBM Rational ClearQuest支持   使用会话范围的变量   存储信息。创建后   会话范围的变量,你可以访问   他们通过当前的会议   使用函数或子例程的对象,   包括有权访问的钩子   Session对象。当前   会话结束,所有变量   与该Session对象相关联   被删除。会议结束时   用户注销或最终引用   到Session对象不再存在。

file:///C:/Program%20Files/Rational/ClearQuest/doc/help/cq_api/c_session_vars.htm中有关于此主题的一些有用文档(当然,假定在Windows机器上进行默认安装。)

将代码示例转换为您想要的内容,首先将您计算的数据存储在会话对象中:

$session->SetNameValue("item1", $value1);
$session->SetNameValue("item2", $value2);

然后在你的计算钩子中检索存储的值并设置该总计字段的值,如下所示:

my $item1 = GetNameValue("item1");
my $item2 = GetNameValue("item2");
my $sum = $item1 + $item2;

$entity->SetFieldValue("some_totals_record", $sum);

当然要调整味道; - )

答案 2 :(得分:0)

ClearQuest架构设计人员通常在其记录类型中包含“临时”字段。他们这样做,因此他们在钩子上执行操作以生成另一个值。

例如,对于Notes字段,有一个“临时”Notes_entry字段,用户键入最近的注释,当保存记录时,该值将添加到Notes_Log字段。下次编辑记录时,Notes_entry字段将被清除,以便用户可以键入新的Notes_entry。