nc 自开节点做参照_NC开发笔记——NC65+UAP65成长笔记

开发第一个月遇到的各种问题,全实战,所有问题亲身经历。谨以此献给奋斗中的小鲜肉。

1、元数据设计时,要填写扩展标签smart(且必须为全小写)才能生成元数据动态属性的java代码字段。(2016/3/18)

堵塞:半天

解决:元数据文件设置“扩展标签”为smart(一定全小写)

过程:没人说扩展标识smart是做什么用的,凭借以前经验觉得好像做这个的,跟同事确认也没有明确答案,看了看同类元数据,来回试了试开始用的大写始终不管用,后来对比发现改成小写就行了。

2、功能节点默认模板,分配模板时节点标识字段不能填写值,否则无法加载默认模板。(2016/3/18)

堵塞:大半天

解决:默认模板分配时,节点标识保持系统默认值,什么也别写。

过程:看见节点标识字段根据个人习惯觉得应该要填写个值,于是写上”default”,打开节点时单据模板没问题,但是查询模板始终加载不错来,看debug信息提示“当前登录用户没有分配查询模板”,于是一直以为是不是要特别分配模板给这个用户,但是在集团模板、业务单元模板分配后,发现还是一样的问题。于是就跟踪了sql语句,发现了查询过程中使用的条件节点标识列用”~”作为条件,顿时无语。

3、新增按钮无法打开卡片态界面报“未知错误”(2016/3/18)

原因:AddHandler事件配置项注释掉了,加载界面时必须用它,因此加上就好了。同时卡片态没有问题,其它几个表体表尾handler也需加上。

解决:添加handler,即便实现方法啥也没写.

4、修改了billFormEditor后,context is not defined错误(2016/3/18)

原因:因为billFormEditor属性名配置错误,没有加载成功导致。

解决:打开billFormEditor的Java类看看属性名复制过来。

5、快速查询区没有值(2016/3/18)

解决:在查询模板中勾选默认显示

6、添加自定义按钮导致界面无法加载工具栏

原因:自定义按钮有问题

解决:自定义按钮要集成NCAction,同时要实现doAction(),isActionEnable(),getModel()三个方法。

7、查询时报错java.lang.reflect.InvocationTargetException SecurityConfiguration

描述:

报错位:ESAPI.encoder().encodeForSQL(UAPESAPI.NC_DB_CODEC, inputString);

错误提示:java.lang.reflect.InvocationTargetException SecurityConfiguration class (org.owasp.esapi.reference.DefaultSecurityConfiguration) CTOR threw exception.

解决方案:加入vm参数jre“-Dorg.owasp.esapi.resources=${FIELD_NC_HOME}/ierp/bin/esapi”

具体位置:eclipse->references->installed jre->选中运行jre编辑vm

8、点击自定义按钮(发布按钮)没有数据

答:

BizObjPublishBP中增加代码

for (AggBizObjVO vo : vos) {

vo.getParentVO().setStatus(VOStatus.UPDATED);

}

当前界面发布后没有数据,是因为BizObjMaintainImpl.publish方法中

retBills=transTool.getBillForToClient(retBills);

这个方法将数据过滤了,因此需要设置状态updated以免被过滤。

9、做编码字段编辑态不可改,新增态可改。

答:在EditAction中重载doAction方法中加入如下代码

BillItem txtCode = cardPanel.getHeadItem(CODE);(获取字段控件)

txtCode.setEdit(true);(设置编辑态可见,这个不影响控件可编辑性。这名字容易误导,被它还惨了。)

txtCode.setEnabled(false);(设置可编辑,是否可编辑要设置这个。)

10、如何开发自定义参照,为什么元数据引用时出不来参照名。

答:

1)自定义一个RefModel继承自AbstractRefModel。

2)手动在bd_refinfo中插入一条数据refclass对应自定义的refmodel全路径。

3)在refmodel的vo元数据bmf参照中设置参照。(一般文档里都不说这一步,导致元数据引用时出不来参照。)

4)其他元数据ref时就可以出来来参照了。

10、元数据类访问类型用“AggVO”还是“POJO”还是其他的

答:建议AggVO,因为前后台有很多工具都是针对AggVO的,比如差异VO,还有一些校验工具,用其他的得自己写。

11、元数据设置了扩展标识“URC”为什么编码唯一性校验不管用。

答:光设置“URC”不行,得有以下几步:

1)元数据类扩展标识、字段扩展标识都设置“URC”

2)发布元数据后设置管理员身份登录Home到“基本档案管控模式注册”

3)到“基础数据管控模式”添加唯一性规则

4)后台代码调用BDUniqueRuleValidate执行验证,可以用ValidationFrameworkUtil创建多个服务。

12、如何在自己界面上选择数据源?

答:参照riaorg下面的“数据源”

13、更新档案状态并新建实体表,发现建表出错档案却更新成功了,事务没有回滚。

答:Session或者Dao执行时,抛出了异常,但却没有导致事务回滚。后来改用了DDLExecutorUtil.ddlExecute执行能正常回滚事务。至于为什么,还不知道?

14、异常消息被自动清除了

答:SinglePublishAction.showFailedInfo方法中的ShowStatusBarMsgUtil.showErrorMsgWithClear自动清理了消息。

15、如何开发弹出对话框

16、spring注入时对boolean属性要特别注意,其property name不能带is。

答:字段protected boolean isShowBottomPanel ,对应的set方法为setShowBottomPanel(boolean isShowBottomPanel)注入spring时不能而应该写成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值