天天看点

NC57 开发小结篇

1、编辑表头、表体数据的操作方法。以编辑后事件afterEdit函数为例。

public void afterEdit(BillEditEvent e) {
		String key=e.getKey();//获取当前操作字段的code值
		int pos=e.getPos();   //获取当前操作区域,用来判断是否为表头表体,0为表头,1为表体
		int row=e.getRow();   //获取当前操作的行数
		int rowRow = getBillCardPanel().getRowCount(); //获取当前表体的总行数
		if(pos==0){
		  //当前操作区域为表头
		  //获取当前表头相对应的字段字段值
		  Object status=getBillCardPanel().getHeadItem("status").getValueObject();
		  //设置当前表头相对应的字段字段值
		  getBillCardPanel().getHeadItem("status").setValue("");
		}else if(pos==1){
		  //当前操作区域为表体
		  //获取当前操作行相对应的字段字段值(2种方法)
		  Object number_pk = getBillCardPanel().getBodyValueAt(row, "number_pk");
		  Object number_pk = getBillCardPanel().getBillModel().getValueAt(row, "number_pk");
		  //设置当前操作行相对应的字段字段值
		  getBillCardPanel().getBillModel().setValueAt("值", row, "number_pk");
		}
		//注意表头、表体获取设置当前字段字段值可灵活使用,不必拘泥于当前
		getBillCardPanel().getHeadItem("字段code").setValue("值");           //表头设值
		getBillCardPanel().getBillModel().setValueAt("值", 行数, "字段code");//表体设值
		getBillCardPanel().getTailItem("字段code").setValue("值");           //表尾设值
		
		getBillCardPanel().getHeadItem("字段code").getValueObject();         //表头取值
		getBillCardPanel().getBodyValueAt(行数, "字段code");                 //表体取值
		getBillCardPanel().getTailItem("字段code").getValueObject();         //表尾取值
		super.afterEdit(e);
	}
           

2、页签操作相关

//获取当前操作表体页签的编码
	String tabCode = getBillCardPanel().getBodyTabbedPane().getSelectedTableCode();
	//设置对应页签下指定按钮是否为可操作
	getButtonManager().getButton("按钮code").setEnabled(!tabCode.equals("页签code"));
	//设置完毕必须更新按钮,更新完才能显示效果
	updateButtons();

    //指定页签下增加一行操作,可在【新增】等按钮操作或者其他适用范围使用
	getBillCardPanel().addLine("页签code");
           

3、注意事项

  • 出补丁要注意路径:可以根据package路径通过搜索找到该类的class类或者jar包,根据他们路径modules后的模块名就是要出的对应模块,等到我们把补丁出了,要把模块名字改成aim,因为很多时候我们不是在对应的项目中开发,会用到别的模块的代码,所以就有了这个操作的需求。
    NC57 开发小结篇
  • 反编译要注意:一般情况下,我们做二次开发,都难免会遇到要反编译对应功能的代码,往往有时候在查询该类时遇到有两个相同类,一个是classes下的,另一个是jar包下的,如上图,这时候我们要用哪个呢,一定要用classes的,这是因为之前已经有人反编译过源码,改过源码重新出过补丁打上了,因此我们要在前人修改的基础上来改代码,如果没classes,那就直接反编译jar下的。

4、新建节点在功能注册完毕后,到对应模块功能下找不到怎么办?

登录集团账号,去到【客户化】–【二次开发工具】–【系统管理工具】–【自定义菜单】里面搜索刚刚新建的节点编码或者名称,找到对应的节点把他拉到你想要的模块功能下即可,为什么新建的节点会跑到其他模块下,这个就不太清楚,反正会遇到这种情况。

5、新建节点在集团下可以看到,在公司下无法看到怎么办?

登录集团账号,去到【客户化】–【权限管理】分配对应的角色权限即可。

6、在新建的弹出框(参照等),查询条件为“1=1”,然后表头表体没有数据,后台报错“流程平台:单据类型****注册的业务类名称为空”?

登录集团账号,去到【客户化】–【二次开发工具】–【流程配置】–【数据交换管理】找到对应的单据,给它添加上或者下游单据,保存好后进行数据交换,报错则点确定直接进入到另一个页面,在该页面点击保存,保存成功后即可。若保存失败,报ant/project的错误,则要去到【Java Build Path】—【Order And Export】去把Ant_Library勾选上,再启环境就可以了。

7、PDM导入数据字典成功,在单据模板初始化中缺失很多字段,然后回到数据字典这些字段又存在,确实导入成功了?

这是PDM文件里面定义字段类型定义错了才会出现,在定义字符串varchar的时候,不要使用varchar2这个类型,使用了这个类型即使导入成功也会在单据模板哪里出不来。

8、新增自定义按钮后,无论怎么设置按钮的显示状态,都显示不出来?

因为在【客户化】–【二次开发工具】–【系统管理工具】-【功能注册】-把按钮权限这个项目勾选上了,还有对新的按钮有没有增加权限,就无法显示出来,想要最快解决就把勾选去掉,配置等以后再来,对开发不影响。

继续阅读