查找字段在元数据何处被锁定、赋值的方法
在bos查看字段本身的锁定性、默认值属性
2.查看是否在扩展元数据的实体服务规则、值更新事件被设置了
以采购订单为例,查找含税单价(标识FTaxPrice)在哪里设置被锁住了。采购订单扩展有两层,先检查最下面一层。选中最下面一层,然后点击上面的【打开增量xml】菜单按钮,打开扩展元数据增量xml。
然后在打开想扩展xml里面按CTRL+F,搜索你要查找的字段的标识key
从这里我们可以看到,出现了 【锁定字段】服务,参数是FtaxPrice,也就是说是这里设置锁住了。
如果元数据存在多层,需要每层都按上述操作查找。在看这个xml节点,是出现在EntityServiceRule里面的。EntityServiceRule是实体服务规则的意思,也就是说这个设置是在某个实体服务规则。通过Seq属性可以知道是第27个实体服务规则。那么怎么知道是哪个单据体、单据头或者是子单据头的实体服务规则呢?那就得看
<EntryEntity action="edit" oid="27ba42d3-b199-4eef-b9cd-4b5be1f209a5" ElementType="35"
ElementStyle="0">
这一行了。可以看到有oid="27ba42d3-b199-4eef-b9cd-4b5be1f209a5" 字眼。oid属性值是指向父类节点id。根据这个就可以到父类元数据去查找具体是什么了。
往上一层查找元数据:
搜索27ba42d3-b199-4eef-b9cd-4b5be1f209a5提示没有找到,那么就不是这一层。
继续往上面一层查找。
搜索27ba42d3-b199-4eef-b9cd-4b5be1f209a5,在通版采购订单元数据找到了。确定id=27ba42d3-b199-4eef-b9cd-4b5be1f209a5的是采购订单的物料明细单据体。