财务会计-应收单新增选择物料后报错
1,024次浏览
编辑于2015年07月13日 15:30:06
新增应收单,选择物料时报错
解决方案: 现场问题修复下面方案二选一即可:
1.升级数据库版本到oracle 10g的最后一个版本(版本号为10.2.0.5)
2.二次开发继承相应单据UI类,若BOTP报错需重写getBOTPSelectors(),若非BOTP报错需重写getSelectors(),进行字段瘦身(标准产品不知道哪些字段二次开发会用到),去掉一些字段,将部分.*修改为.id/.number/.name
以重写getSelectors()为例:
public SelectorItemCollection getSelectors(){
//获取父类selectors
SelectItemCollection sic = super.getSelectors();
//大部分字段不需要查询所有子属性 如库存组织,移除.*查询。
sic.removeObject(new SelectorItemInfo(“storageOrgUnit.*“));
//改为查询id、name、number
sic.add(new SelectorItemInfo(“storageOrgUnit.id“));
sic.add(new SelectorItemInfo(“storageOrgUnit.name“));
sic.add(new SelectorItemInfo(“storageOrgUnit.number“));
//...各查询瘦身字段处理同上
}
建议:如果现场oracle版本高于10.2.0.4,请先尝试修改oracle参数alter system set optimizer_features_enable='10.2.0.4'。如果仍然存在请参照上面临时方案二选一处理。
解决方案: 现场问题修复下面方案二选一即可:
1.升级数据库版本到oracle 10g的最后一个版本(版本号为10.2.0.5)
2.二次开发继承相应单据UI类,若BOTP报错需重写getBOTPSelectors(),若非BOTP报错需重写getSelectors(),进行字段瘦身(标准产品不知道哪些字段二次开发会用到),去掉一些字段,将部分.*修改为.id/.number/.name
以重写getSelectors()为例:
public SelectorItemCollection getSelectors(){
//获取父类selectors
SelectItemCollection sic = super.getSelectors();
//大部分字段不需要查询所有子属性 如库存组织,移除.*查询。
sic.removeObject(new SelectorItemInfo(“storageOrgUnit.*“));
//改为查询id、name、number
sic.add(new SelectorItemInfo(“storageOrgUnit.id“));
sic.add(new SelectorItemInfo(“storageOrgUnit.name“));
sic.add(new SelectorItemInfo(“storageOrgUnit.number“));
//...各查询瘦身字段处理同上
}
建议:如果现场oracle版本高于10.2.0.4,请先尝试修改oracle参数alter system set optimizer_features_enable='10.2.0.4'。如果仍然存在请参照上面临时方案二选一处理。
推荐阅读