加入收藏 | 设为首页 | Life家族 | SCMLife | RMLife | PMLife | SQALife | TESTLife | 企业VIP专区
 
发新话题
打印

[已解决] 项目名更改后如何清空其关联的字段值( 此文章被查看:449次,被回复:3篇!! )

本主题由 yunshan 于 2008-5-9 18:06 关闭

项目名更改后如何清空其关联的字段值

做了一个项目和子系统的关联,即选择项目,子系统的下拉表单只显示和项目相关的子系统供选择.
现在的问题:提交一个BaseCMActivity的时候,改变项目名,子系统还是显示上次的子系统,不能清空.但是项目名用的是自带的ucm_project,所以不能写value change的hook.请问如何清空呢?
针对这个问题,我试了另外一种方法,就是再创建一个reffence to ucm_project的field叫project,项目名就引用这个field,在它的default value里面加上代码
my  $ucmproject;
    $ucmproject=$entity->GetFieldValue("ucm_project")->GetValue();
        if($ucmproject ne ""){
        $session->OutputDebugString("************success*************");
        $entity->SetFieldValue($fieldname, $ucmproject);
        }
        else{
        $session->OutputDebugString("************null*************");
        }
但是check out一个文件,创建一个BaseCMActivity的时候调试结果是"************null*************",但ucm_project是有值的,不知道CQ是如何给这个字段赋值的.我想要的结果就是submit一个BaseCMActivity时,project的值自动获得.

以上,就是想实现项目名改变的时候,清空子系统的值,不知有什么好办法


问题已经解决 [打开主题]
本主题的最佳答案为 [ 3 楼].

附件

1.JPG (86.15 KB)

2008-4-29 14:44

1.JPG




© 本文为 star123SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

建议将上面的代码稍作修改,放在一个base类型的action hook的初始化中。



© 本文为 yunshanSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

我用另外一种方法实现了,把上面的代码加在某个field的choice list里面,同时加一个判断条件(当actionname=Submit时执行),然后在assign的初始化中加以下代码:
$project=$entity->GetFieldValue("project")->GetValue();
$entity->SetFieldValue("ucm_project",$project);
这样,不管是在客户端、网页创建活动,还是直接在checkout的时候new一个活动,project和ucm_project都同步了


最佳答案
该回答被楼主/管理员列为正解!



© 本文为 star123SCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

回复 沙发 的帖子

谢谢版主的回复,回去试一下看看

© 本文为 star123 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

发新话题