今天在修改标准产品的【库存初始余额新增】单据时,需求的描述是增加一批全部为文本型的字段,但做好后需求有变化(又是需求的改变,头疼啊...),说其中部分要改为数值型,而且要在编辑界面上对这些数值型的字段加合计行,由于增加的字段太多,而且还是做成了双表头的,在BIM中删除再增加工作量太大,所以就想在BOS中直接修改,步骤如下:
1、在BOS中将实体的属性的数据类型由String改为了BigDecimal
2、将对应的Table中的字段类型也改为Numeric
3、修改数据库中的字段类型
4、发布实体和绑定实体的UI
测试没有问题。
但由于要在编辑界面上增加字段的自动统计,写代码的方式固然可以,但有些工作量,如果在BIM直接设置则最为简单,但BIM中打开字段管理发现字段类型仍为字符型,只有将其改为金额类型才可以,经过一番查找,终于找出修改的地方:
打开分录对应的实体文件InventoryInitEntry.entity,在其中查找带有“extendedProperty.bizDataType”的行,然后将其中的“String”值改为“BigDecimal”,具体示例如下:
<rs key="entityObject[com.kingdee.eas.scm.im.inv.app.InventoryInitEntry].properties.ownProperty[borderQty].extendedProperty.bizDataType">
<lang locale="zh_CN" value="STRING" />
<lang locale="zh_TW" value="STRING" />
<lang locale="en_US" value="STRING" />
</rs>
改为:
<rs key="entityObject[com.kingdee.eas.scm.im.inv.app.InventoryInitEntry].properties.ownProperty[borderQty].extendedProperty.bizDataType">
<lang locale="zh_CN" value="DECIMAL" />
<lang locale="zh_TW" value="DECIMAL" />
<lang locale="en_US" value="DECIMAL" />
</rs>
然后在BIM中刷新单据再打开,字段类型改为了小数,问题解决。