EASBOS表头分录多表开发高级教程.docx

上传人:b****6 文档编号:7313231 上传时间:2023-01-22 格式:DOCX 页数:28 大小:955.17KB
下载 相关 举报
EASBOS表头分录多表开发高级教程.docx_第1页
第1页 / 共28页
EASBOS表头分录多表开发高级教程.docx_第2页
第2页 / 共28页
EASBOS表头分录多表开发高级教程.docx_第3页
第3页 / 共28页
EASBOS表头分录多表开发高级教程.docx_第4页
第4页 / 共28页
EASBOS表头分录多表开发高级教程.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

EASBOS表头分录多表开发高级教程.docx

《EASBOS表头分录多表开发高级教程.docx》由会员分享,可在线阅读,更多相关《EASBOS表头分录多表开发高级教程.docx(28页珍藏版)》请在冰豆网上搜索。

EASBOS表头分录多表开发高级教程.docx

EASBOS表头分录多表开发高级教程

表头-分录多表开发高级教程1

1、实体层1

2、建立一对多关联关系(单据头-分录)6

3、实体导出表7

3、导出数据表创建SQL语句9

4、在数据库执行SQL10

5、查询层10

6、用户界面层13

1、新建查询列表用户界面13

2、新建编辑界面15

7、发布元数据18

8、修改列表界面18

9、修改编辑界面19

10、增加实体方法,ListUI增加按钮,实现按钮调用实体方法20

EAS-BOS表头-分录多表开发高级教程

准备工作:

新建包,子系统简码(必录)

1、实体层

新建实体:

“父实体对象”选择框架的一个基类(必须)

单据头Student:

选择基类:

系统方法“全部不选”

重新选择基类

将系统自动生成的id删除,因为基类已经存在id的字段,增加只有属性

定义逻辑键

分录Course:

选择父实体对象

将系统自动生成的id删除,因为基类已经存在id的字段,增加只有属性

2、建立一对多关联关系(单据头-分录)

1、建立关联关系,类型选择“聚合”,client选择表头实体,supplier选择分录实体

2、单据头实体Student建立关联属性,关系选择建好的关联关系

关联名称会在分录EditUI中使用到

3、分录实体Course建立“关联属性”,关系选择建好的关联关系

关系名称会在建数据库时使用

3、实体导出表

表头

分录

3、导出数据表创建SQL语句

4、在数据库执行SQL

5、查询层

选择实体

Course的连接属性选择“父对象所有行”

导入查询字段(需要显示的)

2、定义扩展属性,过滤条件

3、查询:

参数定义用不上

6、用户界面层

1、新建查询列表用户界面

选择父UI对象(必须)

选择BO对象

选择需要的字段

选择layout属性

2、新建编辑界面

选择父UI对象(必须)

选择BO对象

选择需要显示的字段

7、发布元数据

打开“包资源管理器”视图

8、修改列表界面

StudentListUI.java增加两方法:

ListUI继承com.kingdee.eas.framework.client.BillListUI,(必须)实现的方法:

@Override

protectedStringgetEditUIName()

{

MsgBox.showWarning("2.返回编辑界面名称全路径,新增、查看数据时使用getEditUIName");

returnStudentEditUI.class.getName();

}

@Override

protectedICoreBasegetBizInterface()throwsException

{

MsgBox.showWarning("3.通过Factory返回业务接口,查看数据时使用getBizInterface");

returnStudentFactory.getRemoteInstance();

}

9、修改编辑界面

StudentEditUI.java增加四方法:

EditUI继承com.kingdee.eas.framework.client.BillEditUI,(必须)实现的方法:

@Override

protectedKDTablegetDetailTable()

{

MsgBox.show("11.返回分录列表getDetailTable");

returnkdtEntrys;

}

protectedIObjectValuecreateNewData()

{

MsgBox.show("21.创建新的数据对象,赋初始值createNewData");

StudentInfoinfo=newStudentInfo();

info.setState(ItemStateEnum.x);

info.setCreator((com.kingdee.eas.base.permission.UserInfo)(mon.client.SysContext.getSysContext().getCurrentUser()));

returninfo;

}

protectedICoreBasegetBizInterface()throwsException

{

MsgBox.show("22.通过Factory返回业务接口getBizInterface");

returnStudentFactory.getRemoteInstance();

}

@Override

protectedIObjectValuecreateNewDetailData(KDTablearg0)

{

MsgBox.show("31.创建新的分录行createNewDetailData");

returnnewCourseInfo();

}

10、增加实体方法,ListUI增加按钮,实现按钮调用实体方法

1、在Student实体创建方法myDoSomething

定义方法参数

发布实体

2、在StudentListUI新增Action,新增工具条,并指派工具条对应的Action

打开StudentListUI.ui,打开“大纲”视图

展开“Actions”、按“右键”新建Action(Action类名首字符大写ActionMyDoSomething,Action实例名首字符小写actionMyDoSomething)

展开“ToolBarPanel”,新建“KDWorkButton”

修改按钮name、text属性,绑定action为新建的action实例

发布ListUI

打开StudentControllerBean的java源码,实现“_myDoSomething”方法供StudentListUI调用

可以通过工具选择需要实现重载的方法

protectedvoid_myDoSomething(Contextctx,IObjectPKid)throwsBOSException

{

try

{

//取得值对象

StudentInfoinfo=(StudentInfo)this.getValue(ctx,id);

//业务判断

if(info.getState().equals(ItemStateEnum.y))

{

//修改属性值

info.setState(ItemStateEnum.z);

//提交更新到数据库

this.update(ctx,id,info);

}

}catch(EASBizExceptione)

{

e.printStackTrace();

}

}

打开StudentListUI的java源码,实现按钮事件调用实体函数

@Override

publicvoidactionMyDoSomething_actionPerformed(ActionEvente)throwsException

{

//取得选中行主键

ObjectUuidPKpk=newObjectUuidPK(this.getSelectedKeyValue());

//取得远程业务接口,调用方法

StudentFactory.getRemoteInstance().myDoSomething(pk);

//刷新列表

refresh(null);

//弹出提示框

MsgBox.showWarning("关闭actionMyDoSomething_actionPerformed");

SysUtil.abort();

}

其他常用方法:

在onLoad函数中将按钮设置为可用

@Override

publicvoidonLoad()throwsException

super.onLoad();

MsgBox.showWarning("打开界面时设置初始化状态onLoad");

btnMyDoSomething.setEnabled(true);

}

@Override

publicString[]getMergeColumnKeys()

{

MsgBox.showWarning("1.设置合并重复的列getMergeColumnKeys");

returnnewString[]

{"id","xh","mc"};

}

重新“启动测试”

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1