我认同ljs53的观点,
『建立一个shortstring类型的字段,在choicelist里面编写hook
具体的思路为建立一个查询,查询user类型记录里面所有的fullname然后加到当前的choicelist中
不过这种做法有一个弊端,就是当前字段不能作为邮件规则的收件人或是抄送人地址。』
具题可以这样做,
1.
在Defect记录中建立字段:
shortstring字段owner,
reference to group字段ownergroup,
并建立reference to user字段owner_user(此字段不显示在表单中,是辅助字段,用于存放owner字段对应的user,这样就可以解决ljs53提到的不能直接发邮件的问题)
2.
在owner字段的choicelist里编写hook,将user类型记录里面所有的fullname然后加到当前的choicelist中;
3.
在owner字段的valuechange里编写hook,查询当前选择的owner所对应的group,赋值给usergroup(这里解决选择用户则自动填写用户所属组的问题);
查询当前owner对应的login_name,赋值给owner_user(这样保证owner和owner_user始终是同一个人,用于发邮件);
4.
在ownergroup字段的valuechange里编写hook,查询出当前选择的group里所包含的人员,将其fullname添加到owner字段的choicelist中。(这里解决选择ownergroup则自动刷新owner列表为对应组里的人员);
5.如果客户端用的web方式,要记得设置字段依赖关系,设置的位置在form的字段属性Web Dependent Fields标签里,这样才能实时刷新选择列表。如果只用客户端,不需要做这一步。