




免费预览已结束,剩余32页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
金蝶EAS BOS开发学习笔记一 环境准备先把需要用到的透视图和相应的视图打开,在后面的练习中需要用到。导入eas包后的结构如上图所示。BOS透视图下常用到的窗口如上图所示,这些必须打开。项目属性配置如下图所示:下面是Java透视图中的配置。 EAS 项目的配置数据中心配置调试Config二 需要用到的热键CTRL+SHIFT+R打开资源CTRL+SHIFT+T打开类型三 制作第一个列表查询界面打开“金蝶BOS设计开发工具”透视图1. 打开 eas/metadata/com/kingdee/eas/demo 节点说明:app目录下一般存放实体、表、查询等元数据;Client目录下一般存放ui,即界面数据;其他公共对象,如枚举、异常等通常放在与app、client同级目录中。2. 在app文件夹下新建实体XueLi(学历),父实体选择 com.kingdee.eas.framework.app.DataBase3. 右击XueLi.entity,在弹出菜单中选择“实体导出表”,保留默认值,名称为T_DE_XueLi4. 打开T_DE_XueLi.table,修改主键名称,避免因为重名导致建表错误5. 右击T_DE_XueLi.table,选择“导出.”,在弹出窗口中选择“导出数据表”6. 打开管理控制台,在“数据中心”选择使用的数据中心,再打开“数据库管理”,把生成的CreateTable.sql中的内容COPY进去,点击工具栏的“执行(F5)”,最后“提交”。7. 在app文件夹下新建查询XueLiQuery,实体选择XueLi.entity8. 打开查询XueLiQuery,选择字段标签页,选择“导入”,将要查询的字段添加进来,并调整各字段顺序。还应该在“其它”页中定义排序和主键字段。9. 在client文件夹下新建UI,父对象选择com.kingdee.eas.framework.client.ListUI(列表界面),BO对象选择XueLiQuery.query,其他用默认值即可。(W:apusicmetas)10. 单击鼠标右键,在弹出菜单中选择“编辑表信息”,选择ID列,把hide属性值修改为true,以隐藏不希望在列表中显示的列。注意:ID列不管是否需要显示,必须要存在于列表中,否则会出现后文所述的错误。四 发布列表界面,查看效果1. 建立Java发布目录:D:gmis310_srcdemodevsrc2. 选择包的根节点eas,右键选择属性,在弹出窗口中选择Solution发布方案信息,新增一个发布方案,命名为demo3. Java发布目录输入前面建立的目录,J2EE发布目录及元数据发布目录输入与其他发布方案相同的目录 W:apusicmetas4. 选择app目录下XueLi.entity,单击右键,选择发布;发布方案选择demo,完成后察看“校验信息”视图,发现有错误提示,直接双击,打开错误 5. 在逻辑键信息中增加CoreBase.id,保存6. 清除校验信息视图中的内容,再点击工具栏上的“清除元数据缓存”,否则有可能会导致再次发布失败 7. 再次发布XueLi.entity,成功。8. 选择demo文件夹,右键,选择“发布”,将前面建立的所有元数据(.table,.entity,.query,.ui)全部选中,再次进行发布。9. 切换到Java透视图。10. 选择bs_dio节点,单击鼠标右键,刷新,让新建立的demo文件夹显示出来。11. 选择bs_dio节点,单击鼠标右键,“构建路径”-“配置构建路径”,将demo/dev/src添加进来,在自动构建完成之后,可以在 D:gmis310_srcbincomkingdeeeasdemo 看到编译好了的class文件12. 重新启动gmis_server服务器,然后用administrator用户登录13. 打开“系统-客户化菜单编辑”,新增菜单,UI对象为com.kingdee.eas.demo.client.XueLiListUI14. 保存后重新登录,进入系统后可以看到此菜单,但此时双击报错,查看控制台日志,可知是有抽象类方法没有实现15. 在Java透视图中打开XueLiListUI.java文件,此时可以看到有错误提示,点击鼠标,自动实现接口类的框架代码。此时可以看到项目已经不再报错了。进入系统后,发现点击“新增”按钮时报错。16. 按CTRL+SHIFT+T,查找DiplomaListUI,打开DiplomaListUI.class文件(这是系统中已有的学历窗体)。17. 在XueLiListUI.java中,参考DiplomaListUI实现getEditUIName和getBizInterface方法。protected ICoreBase getBizInterface() throws Exception return XueLiFactory.getRemoteInstance();protected String getEditUIName() return com.kingdee.eas.basedata.hraux.client.DiplomaEditUI;至此,列表UI已可正常执行,但新增界面调用的是系统原有的DiplomaEditUI。接下来再实现我们自己的EditUI。五 制作对应的编辑界面1. 切换到BOS设计视图,在Client下新建UI,命名为XueLiEditUI,父对象为com.kingdee.eas.framework.client.EditUI(编辑界面),BO对象选择XueLi.entity,绑定控件时只保留需要用户输入的控件。2. 发布此UI,发布方案选择demo3. 切换到Java透视图,刷新 /bs_dio/demo/dev/src 目录,让新加的UI出现在树中,此时会自动构建,提示有错误4. 打开 XueLiEditUI.java,查看错误信息,发现是有未实现的抽象方法,生成它5. 打开DiplomaEditUI的JAVA类,将createNewData和getBizInterface方法的代码COPY到XueLiEditUI.java中,并做相应修改。6. 打开XueLiListUI.java,修改getEditUIName方法,返回值改成 com.kingdee.eas.demo.client.XueLiEditUI7. 重新运行代码,可以看到现在已可以调出新做的编辑窗口,增加二条数据,可以成功保存。8. 返回到ListUI,点击各条记录时,发现提示没有定义正确的keyField,请重载getKeyFileedNmae()方法。(如果前面步骤严格按照截图中操作,则不会出现此错误,因此不需要后面的这几步)9. 经比较,发现在查询对象中没有定义主键ID。因此,打开XueLiQuery.query,在字段页中增加id字段,在其它页中增加id字段的主键定义。10. 问题还不在这里。打开XueLiListUI,重新绑定XueLiQuery.query,把ID列加入到表格中,然后设置此列为隐藏。11. 保存后重新发布,再在java视图中刷新,重新构造应用。12. 重启Server,然后起动应用,测试成功。六 需要注意的问题1. 关于发布的问题只要是更改了app下的对象,一定要重新发布。由于app的发布目录是在W:apusicmetascomkingdeeeasdemoapp目录下,这是服务器的目录,因此发布之后必须要重启服务器才能生效。如果更改了client下的对象,由于只是在客户端的,因此发布后只需重启应用即可。2. 关于查询时的过滤条件问题如下图所示,在查询时,过滤条件中没有可供选择的内容。解决方法是打开列表界面的查询对象,如上图所示,在扩展属性中加入通用查询条件即可。注意此扩展属性是针对每个字段进行设置的。3. EditUI中数据保存前,对数据进行合法性校验的问题通常有二种方法。一种是重载actionSubmit动作,在代码中进行处理。此种方法需要先在EditUI中生成Action事件,以便在发布后超类中有相应的虚方法,如此在继承类中才可以重载方法。 public void actionSubmit_actionPerformed(ActionEvent e) throws Exception /名称是否可为空if (txtName.getText() = null | txtName.getText().trim().length() = 0) MsgBox.showError(this, 请输入名称!);this.txtName.requestFocusInWindow();return; /编码是否为空if (txtNumber.getText() = null | txtNumber.getText().trim().length() = 0) MsgBox.showError(this, 请输入编码!);this.txtNumber.requestFocusInWindow();return; super.actionSubmit_actionPerformed(e); 此种方法较繁琐。另一种方法较简单。打开基类的EditUI.class,可以看到有verifyInput方法是空的,在保存之前基类会调用此方法。因此,只需要在继承类中重载实现此方法即可。在大多数情况下,推荐使用此种方法进行数据合法性校验。protected void verifyInput(ActionEvent e) throws Exception super.verifyInput(e); /名称是否可为空if (txtName.getText() = null | txtName.getText().trim().length() = 0) MsgBox.showError(this, 请输入名称!);this.txtName.requestFocusInWindow();SysUtil.abort(); /编码是否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年特种作业类特种设备作业-车用气瓶充装P5参考题库含答案解析
- 2025年特种作业类危险化学品安全作业磺化工艺作业-氟化工艺作业参考题库含答案解析
- 医院和公司医疗服务合作框架协议书
- 装饰装修补充协议合同
- 2025年特种作业类危险化学品安全作业氟化工艺作业-氯碱电解工艺作业参考题库含答案解析
- 品牌加盟店合同补充协议书
- 布料知识培训通知课件
- 2025年建筑工程类注册安全工程师安全生产专业实务(金属非金属矿山安全)-安全生产专业实务(其他安全)参考题库含答案解析
- 南京市六年级数学试卷
- 2025年建筑工程类建筑三类人员-企业主要负责人(A证)参考题库含答案解析
- GB/T 22085.1-2008电子束及激光焊接接头缺欠质量分级指南第1部分:钢
- 高二下学期期末化学试卷及答案解析
- GB/T 10238-2015油井水泥
- 建筑工程技术标通用
- 临床执业助理医师呼吸系统
- 建设生态文明ppt模板课件
- T∕CGMA 033001-2018 压缩空气站能效分级指南
- 《创新方法》课程教学大纲
- REFLEXW使用指南规范.doc
- 赛摩6001B皮带校验说明书
- 气动机械手系统设计(含全套CAD图纸)
评论
0/150
提交评论