金蝶EAS_BOS开发帮助文档
前言:此文档是我在使用BOS开发时记录的一些可使用的方法及属性,以便自己以后不会使用时就不用去请教他人。也许可以拿给后来的同事使用。
前端
前台调用后台方法时使用的对象及方法
需要重写某个按钮的点击事件时
当某个点击事件有其他的逻辑时,我们需要去重写这个方法 我一开始都不知道怎么去重写 后来才知道
需要将 按钮的action名字加上actionPerformed 就行了 例如
actionSave_actionPerformed(ActionEvent e)
属性设置之后,提交不会进入下一个页面
重新加载当前界面值,用于保存、提交后更新界面
前端执行SQL
获取编辑界面操作状态方法
getOprtState()
后端
后台调用访问数据库方法
//编写SQL语句
String sql=“SQL语句”;
//执行SQL语句
ISQLExecutor executor = SQLExecutorFactory.getRemoteInstance(sql);
//获取结果
IRowSet rs = DbUtil.executeQuery(sql, null);;
//剩下的部分与JDBC有相似
后台提示前台错误消息
后台指定修改某几个列
使用SelectorItemCollection 注意:使用此提示原理是抛出异常,所以不会执行之后的代码
其他
通用验证方法:verifyInput(ActionEvent e)
这个方法是用来专门验证的,因为不管是提交还是保存方法都会使用这个方法 而我们在使用提交或者保存时 难免不了会做一些验证 例如 判断某个数字不能大于多少啊,那个不能不填写啊… 如果我们将验证写到保存或者提交里面 就会造成代码的多余。这就是没必要的 所有适当的使用这个方法 是可行的。
初始化时为某个F7添加过滤条件过滤数据
有时候我们需要在单据上添加F7 从F7里面选择数据来填忘其他属性字段中,但是我们又只要F7里面的某些数据,这个时候就需要将F7过滤一下。
//获取公司ID
String id = SysContext.getSysContext().getCurrentFIUnit().getId().toString();
//实例化一个视图对象
EntityViewInfo ev = new EntityViewInfo();
//过滤对象
FilterInfo separator = new FilterInfo();
//向过滤对象中添加过滤条件 company.id:指公司ID
separator.getFilterItems().add(new FilterItemInfo("company.id",id));
//过滤
ev.setFilter(separator);
//将视图添加到你的F7中
this.prmtborrowForm.setEntityViewInfo(ev);
需要修改其他单据属性时
- ListUI/EditUI界面 (前台)
类名Factory.getRemoteInstance().update(new ObjectStringPk(类.getId().toString()),类) 如:
MoneyInfo mi=new MoneyInfo();
MoneyFactory.getRemoteInstance().update(new ObjectStringPk(mi.getId().toString()),mi);
- ControllerBean (后台)
和前台差不多 但是调用的方法不一样
二开注意事项
- 在二开时,需要对自己增加的方法或者属性添加备注 备注如下
- 创建的方法
/**
* @author Create by 用户 日期
*
*/
例如:
/**
* @author Create by XX 2018年12月25日11:53:23
*/
BOS发送消息
https://blog.csdn.net/a754315344/article/details/90670185
2, 修改的方法
//modify by 用户 begin 日期
//逻辑解释
//modify by 用户 end 日期
例如:
//modify by XX bengin 2018年12月25日11:53:47
//这段代码使用来……
//modify by XX end 2018年12月25日11:54:01
Web端想在事件之前调用其他事件
_self.fireEvent("事件的event"); 例如 调用保存事件
_self.fireEvent("saveActionEvent");
Web端调用完提交之后去除数据已变更弹框
调用完提交之后设置这个属性为false
_self._judgeDataModify=false;
没有具体的java对象实例化
用CoreBillBaseCustomerInfo 实例化之后设置bosType即可