有没有办法使用与数据库字段不对应的表单字段进行临时处理?
即。我想补充一下:
答案 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。