关于属性元数据上的IsQueryAttribute和IsForAsso的疑问

by 勾成图 2012.12.4 16:12

注:脚本执行有风险,对于客户正式环境请在研发指导下执行。

U9目前查询涉及组件内查询组件间查询两类。

组件内查询,常见例如:头、行、子行等属于同一组件内,判断依据为IAttribute类型的attr.Container.ComponentKey是否相同,不同则为组件间查询,例如审批查业务单据、生产跨业务实体查询库存等,应用场景很多。

 

对于组件内,该属性是否能被查询的判断依据是IsQueryAttribute属性,例如:if (!attr.IsQueryAttribute)//是否是查询属性的开关

对于组件间,该属性是否能被查询的判断依据是IsForAsso属性,例如:if (!attr.IsForAsso)//组件间是否可见的属性判断

 

 

 

以目前U9触到的查询业务操作,无论是组件内还是组件外,似乎大家都没有对这两个属性,经常发现在查询方案设置条件或者添加栏目时,平台提供的条件待选树和栏目待选树中找不到该属性,总认为是平台问题,实际经过检查发现是业务实体属性模型中该不是IsQueryAttribute设置了false,就是设置IsForAsso设置了false问了开发部业务模型人员,他们也不知道为什么要设置成false,这样的问题时不时的发生,给用户的感觉就是U9产品很不稳定,而且代码查起来也很麻烦。现在的做法是发现一处,让开发部改一次,与其这样倒不如查询不再判断这两个属性了,也就是说通用查询对所有实体属性都开放。

 

 现在问题

1、  设计IsQueryAttributeIsForAsso这两个属性的初衷是什么,应用在什么地方,仅仅是查询在使用吗?

 

2、查询不再理会这两个属性而开发所有属性是否可行?大家有什么看法。

Tags:

评论 (2) -

gct wrote at 2012/12/4 16:14:24 #

杨历回复:
何国霞当时的答复见附件。

这个问题过去我还问过阴志鑫,据说和树的展开层次太多,性能较低有关。所以加入了IsForAsso作为展开时的层次限制。
如果性能问题已经解决,IsForAsso参数就没用了。

--------------
IsQueryAttribute应该还是保留,不是所有的数据都适合展现到界面上,不过我觉得UBF设计器应该在这个值上缺省给出True。因为大部分都可以用于查询。

--------------原邮件-----------------------
从业务的角度不应该有这样的要求,有一个是否用于查询的参数就可以了。
----- Original Message -----
From: 杨历
To: 李志民 ; 阴志鑫 ; 叶琳 ; 熊悦阅 ; 徐铭 ; 丁伯超 ; 吕洪雨
Cc: 刘小东 ; 何国霞
Sent: Friday, July 09, 2010 4:24 PM
Subject: 答复: 关于Attibute上的IsForAsso确切含义-补充

各位:
缺陷U9V2100374150。发现大家对IsForAsso的含义理解不同。

我查看了元数据自身的代码。发现代码中也没有明确含义。仅仅是从数据库UBF_MD_Attributes表内普通的一列数据而已。没有什么校验和变换信息。
IsForAsso有一行注释信息。// mst2007.11 关联实体是否可见。从字面上也很难理解其确切含义。

阴志鑫(查询方案):
1)  当实体之间存在级联引用时,如果级联两端的实体在同一个组件内,忽略IsForAsso信息。如果级联两端不在同一个组件内,只有IsForAsso==true的字段参加级联显示。
2)  IsForAsso是从业务角度设计的,而不是从技术角度考虑的。

         李志民(表单个性化):
                   忽略IsForAsso字段。所有字段都参加选择。

         我的一些疑问:
                  1)对IsForAsso的使用区别是否是正常的,在平台其他代码内是否还有关于IsForAsso的逻辑?
2)对于个性化添加的字段。IsForAsso是否需要默认设置为true?
3)最初设计IsForAsso的目的,是从业务角度考虑的,还是从技术实现角度考虑的?
3.1)如果是因为技术是现角度的问题 。在V3中,元数据缓存方式修改,元数据“Cache算法”并不依赖组件划分。所有的元数据访问速度与组件无关。在这种情况下,IsForAsso是否还有存在的必要?
                   3.2)如果是业务角度考虑的,是否需要考虑IsForAsso与权限系统整合
        

gct wrote at 2012/12/4 16:14:57 #

DBC回复如下:


当初设计这两个属性的初衷可能是担心加载的元素据层次太深,待选属性改为懒加载后可以不判断这两个属性。

添加评论



biuquote
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading


RecentComments

评论 RSS

Statistics

989 篇文章
0 个单页
694560 条评论
11 次评分
409022 次访问
访问统计开始于 2019年12月15日
平均日访问 6197 次
当前 94 人在线