




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文格式为Word版,下载可任意编辑 EAS费用报销模块web二次开发指南 EAS 费用报销模块 Web 二次开发指南 导读 本文从头开头介绍了 EAS 费用报销 Web 表单的二次开发方法,同时也说领略开发环境的安装和配置方法。可供机构开发人员对费用报销 web 表单举行二次开发时参考。 适用范围 EAS 费用报销模块 web 二次开发人员 请留神:本文件只作为产品介绍之用,不属于您与金蝶签署的任何协议。本文件仅包括金蝶既定策略、产品及功能方面的信息,不能以本文件作为要求金蝶履行商务条款、产品策略以及开发义务的依据。本文件内容可能随时变更,恕不另行通知。 EAS 应用方案 1/36 目 录
2、概述 4 目的 4 范围 4 定义、首字母缩写词和缩略语 4 环境打定 4 JDK 安装 4 PT 环境打定 4 统一的 WEB 开发目次 W : WEBDEV 4 统一开发工作区间 WEBDEV / WORKSPACE 4 W: WEBDEV APUSICSTUDIO -5.1 为开发工具,双击 STUDIO . CMD 启动开发工具 5 署 更新和部署 AOM 5 部署 EASWEB . EAR 5 改 修改 W: EAS S ERVER SERVER DEPLOY EASWEB . EAR EAS _ WEB . WAR WEB-INF 下 下 OPERAMASKS . XML . 6
3、启动服务器,以协同办公费用报销单为例:可以通过 7 建 新建 WEB 工程 7 建 新建 A PUSIC 标准工程 7 添加 WEB 模块 8 新建 FACES 页面 13 加 添加 A PUSIC 服务器 16 运行我们的应用 18 定义及发布元数据 19 实体的定义和发布 19 查询的定义和发布 19 成 生成 WEB 界面代码 19 设置 WEB 界面代码路径 19 生成 WEB 界面代码 20 EAS 应用方案 2/36 添加库文件 23 添加用户库 23 添加 WAF 包 23 添加业务规律类引用 23 WEB 界面代码的修正 25 * E DIT B EAN . JAVA 的修正
4、25 *E DIT . XHTML 文件的修正 25 *L IST . XHTML 文件的修正 27 动 部署及启动 EAS WEB 应用 27 署 部署 EAS WEB 27 P T 动 环境下启动 EAS 服务 27 二次开发应用 28 修改业务单元 28 发布业务单元 28 执行升级脚本 29 搭建 WEB 开发环境 29 修改 WEB 页面 29 修改 MANAGED B EAN 29 部署二次开发应用 30 常见问题 30 # MESSAGE * EL E XPRESSION 错误 30 编辑界面单据体(分录片面)无法显示 30 如何检查调用类的物理路径 30 下载文件时会在线开启,
5、且展现乱码(如何举行文件的下载) 30 表单编辑页中点击新增分录时出错 33 在 在 E DIT B EAN 或 或 L IST B EAN 中,通过IBOSB IZ C TRL 设置了某个接口(如:IBOSB IZ C TRL PRIVATE ID OC R ECEIVE SERVICE ; ),但察觉在使用该接口 SERVICE 时, SERVICE 为 NULL 33 在 VIEW 上找不到 MANAGED B EAN 33 按钮或者其他控件的状态被缓存,如单据查看时某按钮被置灰后,新增时按钮仍是置灰的。 33 WEB 主界面开发方法 33 编制 JSP 页面。 33 配置 PORTLE
6、T 模板信息。 34 EAS 应用方案 3/36 P ORTLET 业务配置信息设置。 34 P ORTLET 根基定义设置。 34 页签配置 35 参考资料 35 EAS 应用方案 4/36 概述 目的 根据标准 web 单据开发流程,描述以下内容: 环境打定 Web 工程的创造 元数据的定义和发布 Web 界面代码的生成 Web 界面代码的修正 EAS web 的部署和运行 二次开发应用 Web 主界面的开发方法 范围 适用版本:Kingdee EAS 6.0,Kingdee BOS 6.0 定义、首字母缩写词和缩略语 AOM:Apusic OperaMask,金蝶中间件公司的 Web 开
7、发框架 AAS:Apusic Application Server:金蝶中间件公司的 J2EE 应用服务器产品 Ext JS:一套基于 Java Script 的欣赏器端 UI组件库 环境打定 jdk 安装 jdk 要求 5.0以上版本。 pt 环境打定 pt 搭建一个 gui 的开发环境。 的 统一的 web 开发目次 w:webdev 统一开发工作区间 webdev/workspace 如下图: EAS 应用方案 5/36 W:webdevapusicstudio-5.1 为开发工具,双击 studio.cmd 启动开发工具 Apusicstudio可以到http:/./dist/apus
8、icStudio/v5.1-M5/获取。 署 更新和部署 AOM 可以到http:/./dist/aom/snap/binaries/获取 AOM 最新版本 署 部署 easweb.ear 修改部署文件 W:apusicdomainsserver1configserver.xml 加 入 application name=EASWeb base=W:/eas/Server/server/deploy/easweb.ear start=auto/ 如下图: EAS 应用方案 6/36 easweb.ear 布局如图: 改 修改 W:easServerserverdeployeasweb.eare
9、as_web.warWEB-INF 下 下 operamasks.xml 开 发 那 个 项 目 将 哪 个 项 目 的 jar 包 配 置 项 删 掉 。 如 开 发 协 同 费 用 报 销 就 将jarcp_bc_web.jar/jar删除掉。 如图: 将从 cvs 上获得的或开发完成的 view (即 xXXX.xhtml)拷贝到 W:easServerserverdeployeasweb.eareas_web.war EAS 应用方案 7/36 将从 cvs 上获得的开发完成的 ManagedBean(即 XXXXBean)拷贝到 W:easServerserverdeployeasw
10、eb.eareas_web.warWEB-INFclasses 注:以上路径没有包含包名,拷贝时需要将自己加上包路径,如 cpbc 如下图: 启动服务器,以协同办公费用报销单为例:可以通过 http:/localhost:6888/easweb/cp/bc/bizAccountBillList.jsf访问。 建 新建 web 工程 由于 WAF目前混合使用 Apusic Studio(Web UI开发)与 BOS Studio(Web元数据定义与框架代码发布),所以是先举行 web 工程的新建还是先举行 EAS 元数据的定义,我们并没有严格的限制,可根据个人熟谙程度抉择。 建 新建 Apusi
11、c 标准工程 我们使用 Apusic 作为我们的 web 容器,所以我们从新建 Apusic 标准工程开头我们的标准单据开发的旅程。 在 Apusic studio 中点击文件新建Apusic 标准工程,如下图: EAS 应用方案 8/36 包含以下几个点的定义:工程名称,空间及存储位置选择,服务器选择,域选择及 J2EE版本的选择,输出文件夹。 我们可以在此举行本地服务器的新建也可以在后续过程中添加服务器,为不影响新建流程的顺畅,我们将在后续步骤中单独描述。 J2EE 版本的选择理应引起留神,我们必须选择 5.0 以上的版本。 定义好上述内容后点击完成,我们可以在开启包视图查看工程目次布局如
12、下: 加 添加 web 模块 点击新建工程根目次,右键选择新建web 模块: EAS 应用方案 9/36 开启对话框如下: EAS 应用方案 10/36 需要留神源文件夹(用来存放源代码)及 web 内容文件夹(用来存放页面,配置信息等资源文件)。点击下一步: EAS 应用方案 11/36 EAS 应用方案 12/36 EAS web 应用框架建立在 AOM 根基上,所以我们不得取消支持 AOM的选项。AOM 的配置中需要留神 url 后缀的配置,该配置意味该后缀的苦求都将由 AOM 处理。我们按习惯修改成*.jsf,定义好以后我们将可以在 web.xml 中察觉相应的配置内容: servle
13、t-mapping servlet-nameFaces Servlet/servlet-name url-pattern*.jsf/url-pattern /servlet-mapping 完成上述步骤,点击完成 web 模块的新建,我们察觉工程目次下增加了 src 及 WebContent 目次: EAS 应用方案 13/36 建 新建 faces 页面 选择文件新建Faces 页面: EAS 应用方案 14/36 EAS 应用方案 15/36 选择是否生成 managebean,以及 managebean 设置,假设只是新建一个静态视图,那么可以不举行 managebean 的定义。 点击
14、完成页面新建。 EAS 应用方案 16/36 加 添加 Apusic 服务器 前面在新建工程中已经提到服务器的选择,在此将对服务器新建做进一步描述。在新建或增加服务器之前请确保已正确安装了 Apusic 服务器,Apusic服务器的安装再次不再累述。 开启 Apusic服务器列表视图,在视图中点击右键,并选择增加服务器: 添加服务器后我们需要为我们的应用指定对应的 Apusic 服务器,开启工程属性对话框如下图: EAS 应用方案 17/36 EAS 应用方案 18/36 运行我们的应用 服务器启动过程中我们可以在操纵台看到相应信息,片面截图如下: 可以看到服务器已告成启动,我们定义的上下文根
15、目次是 mydemo,接下来我们使用http:/localhost:6888/mydemo/hello.jsf举行访问,结果如下图: EAS 应用方案 19/36 至此,web 工程的新建完成。 定义及发布元数据 据 元数据的定义在此特指单据实体及查询的定义,由于只有实体及查询才能发布成 web 界面,生成web 界面代码。实体及查询的定义与非 web 应用中实体及查询的定义一样,没有区别。 实体的定义和发布 与一般实体的定义和无区别 查询的定义和发布 与一般查询的定义和无区别 成 生成 web 界面代码 置 设置 web 界面代码路径 生成 web 界面代码前我们需要对生成代码的存放位置举行
16、设置,在 BOS Studio 中通过窗口首选项进入首选项配置页,左侧树形菜单中选择BOS生成 web 界面代码: EAS 应用方案 20/36 将代码路径设置成我们 web 工程的源文件路径,将页面路径设置成我们 web 工程的 web内容文件夹路径,点击确定完成设置。 成 生成 web 界面代码 接下来我们可以生成 web 界面代码:选择要生成界面代码的实体或查询,点击右键并选择生成 web界面代码: EAS 应用方案 21/36 回到 Apusic studio 并刷新工程,我们可以看到工程目次如下图: EAS 应用方案 22/36 增加了相应的页面文件及规律代码。通常一个实体通过上述步
17、骤会生成以下几个文件: 编辑规律 managebean 及分录 bean 及相应属性文件: 编辑页面文件: 查询元数据生成 web 界面的过程与实体生成 web 界面的过程一样,只是结果文件不同: 列表规律 managebean 及相应属性文件: 序时薄页面文件: 至此,web 界面代码的生成过程已经完成。至于生成的代码内容大家可以开启相应文件细 EAS 应用方案 23/36 看,我们也将在后续片面中插述片面重要内容。 添加库文件 添加用户库 发布 web 界面代码并刷新 web 工程后我们的 web 工程展现了诸多错误,让我们看看到底是什么理由引起了错误:发布的界面代码找不到凭借的业务规律类
18、。我们需要添加用户自定义库。在 web工程的构建路径中引入 W:easdev 下的 boslib_for_eas.userlibraries 和 easlib_for_eas.userlibraries 加 添加 WAF 包 从 W:easServerserverdeployeasweb.eareas_web.warWEB-INFlib 下拷贝以下文件到工程目次的WebContentWEB-INFlib 中,当然你也可以通过在构建路径中引入外部 jar 包的方式配置。 添加业务规律类引用 这里指的业务规律相关类即发布元数据时生成的类文件。 EAS 应用方案 24/36 我们有多种方式去引用这些
19、类,由于业务的需要,我们可能需要修正这些类中的片面代码,所以打包加载的方式有些不便当,故建议在构建路径的源代码一项中添加关联目次: EAS 应用方案 25/36 选择元数据发布的源代码目次。 Web 界面代码的修正 * EditBean.java 的修正 在 EditBean的 pageOnload()中有类似语句: 我们必须修正为: *Edit.xhtml 文件的修正 将 #messages* 形 式 的 表 达 式 都 直 接 换 成 相 应 的 信 息 , 如#messagescreator 替换为 creator 或创造人 。 将 messagesentries.seq 替换为 ent
20、ries_seq 或其他。 将ui:define name=entry修改为ui:define name=entry 去除了多余字段。 EAS 应用方案 26/36 将重新定义分录操作界面: 把 biz:billEntryActions 标签的内容替换为分录操作的自定义片面,可以如下: 修正前: div class=kd-panel-btns-right biz:billEntryActions beanName=#phdemo.PhInWarehouseBillEditBean entryBeanName=#phdemo.PhInWarehouseBillEntryBean/biz:bill
21、EntryActions /div 界面效果(点击操作按钮出错,且无概括提示信息): 修正后: h:panelGrid columns=3 style=float: right w:button id=addRow value=新增 alwaysSubmit=true immediate=true action=#phdemo.PhInWarehouseBillEntryBean.appendRow / w:button id=insertRow value=插入 alwaysSubmit=true immediate=true action=#phdemo.PhInWarehouseBill
22、EntryBean.insertRow / w:button id=removeRow value=删除 alwaysSubmit=true immediate=true action=#phdemo.PhInWarehouseBillEntryBean.removeRow / /h:panelGrid 界面效果(新增): EAS 应用方案 27/36 *List.xhtml 文件的修正 将#messages*形式的表达式都直接换成相应的信息,如#messagescreator替换为creator 或创造人。 将 messagesentries.seq替换为 entries_seq 或其他。
23、动 部署及启动 eas web 应用 署 部署 EAS WEB EAS web 应用务必与 EAS 应用服务(非 web)场景同时使用, Eas 统一的应用部署路径为W:easServerserverdeployeas.eareas_web.war 访问路径http:/localhost:6888/easweb,我们需要做以下几个步骤的部署: 拷贝工程下的 scm_channel_web webWebContentWEB-INFclasses 到 W:easServerserverdeployeas.eareas_web.warWEB-INFclasses 拷贝 scm_channel_web
24、 webWebContent 下的相关文件 到 W:easServerserverdeployeas.eareas_web.war 该片面的拷贝对比繁琐麻烦,我们供给了相应的批处理文件举行处理。 Pt 环境下启动 EAS 服务 运行 W:easServerserverprofilesserver1bindebugserver.bat 访问单据编辑页 http:/localhost:6888/easweb/mydemo/phInWarehouseBillEdit.jsf 访问http:/localhost:6888/easweb/mydemo/phInWarehouseBillList.jsf
25、EAS 应用方案 28/36 二次开发应用 修改业务单元 开启金蝶 bos,切换到金蝶 bos 业务建模透视图 开启需要二次开发修改的单据,使用选用板添加字段,以报销单为例,如下图: 发布业务单元 在费用报销单界面里,单击右键,选择单据信息,确认不生成生成实现类,如下图: EAS 应用方案 29/36 在菜单项选择择费用报销单,单击右键,单击发布业务单元/报表即可。 执行升级脚本 在管理操纵台或直接数据库中执行升级脚本,将新加字段添加到数据库相应的数据表中。 建 搭建 web 开发环境 按照 2、3、4、5 步骤搭建 web 开发环境 改 修改 web 页面 将 easServerserver
26、deployeasweb.eareas_web.warcpbcbizAccountBillEdit.xhtml 的页面内容,笼罩步骤 5 中生成 bizAccountBillEdit.xhtml 页面。 在页面间将新添加的字段绑定,如下: kd:labelContainer caption=主题 style=margin-left:120px; width=270 lineWidth=80 w:textField value=#cp.bc.BizAccountBillEditB required=false maxLength=80 /w:textField /kd:labelContaine
27、r 改 修改 managedBean 将 easServerserverdeployeasweb.eareas_web.warWEB-INFlibcp_bc_web_jar EAS 应用方案 30/36 解压缩,反编译 BizAccountBillEditBean.class,将内容笼罩步骤 5 生成的代码。 修改代码规律 部署二次开发应用 将修改的 bizAccountBillEdit.xhtml,笼罩 easServerserverdeployeasweb.eareas_web.warcpbcbizAccountBillEdit.xhtml 将修改的 BizAccountBillEditB
28、ean 后编译生成的 BizAccountBillEditBean.class 重新拖入 easServerserverdeployeasweb.eareas_web.warWEB-INFlibcp_bc_web_jar包中, 替换原来的 class文件。 常见问题 #message* EL Expression 错误 目前不支持该种表达式显示信息,我们需要替换该表达式为实际要使用的信息,如: 将 #messages* 形式的表达式都直接换成相应的信息,如 #messagescreator替换为 creator 。 同样,我们需要将 messagesentries.seq 替换为 entrie
29、s_seq 或其他。 编辑界面单据体(分录片面)无法显示 将编辑页面的将ui:define name=entry修改为ui:define name=entry 如何检查调用类的物理路径 在调试过程中,在 Display试图中如下调用方式: this.getClass().getResource(/com/kingdee/eas/cp/bc/web/TravelAccountBillListBean.class) 下载文件时会在线开启,且展现乱码(如何举行文件的下载) 使用原生态 AJAX 后文件下载展现该问题的解决,且不管在服务端中对 response 做何处理。假设你去除 f:view 中
30、renderKitId=AJAX的设置,且保证不会影响页面其他功能,那当然是最好的解决。此外可以通过重定向到下载页举行下载。 解决 AOM 的文件下载问题有两种方式,由于我们的实际应用场景中不是已存在文件的下载,需要与数据库等的交互,中断 jsf 生命周期的方式不成取。故我使用了重定向新页面举行下载的方式,即在需要引入引出功能的页面上参与 iframe 框,并引用文件下载页面资源: EAS 应用方案 31/36 layout:window id=exportDialog width=350 height=210 modal=true title=文件引出 iframe src=/easweb/
31、scm/downfile.jsf width=100% scrolling=No height=100%/iframe /layout:window 在单一文件下载页面中不使用 AOM 的原生态 ajax: 下载效果如下: EAS 应用方案 32/36 点击引出模板,将展现下载页面如下图: EAS 应用方案 33/36 表单编辑页中点击新增分录时出错 首先点击增加分录按钮时出错: #phdemo.PhStockBalanceBillEntryBean.appendRow: /phdemo/phStockBalanceBillEdit.xhtml 117,65 action=#phdemo.Ph
32、StockBalanceBillEntryBean.appendRow: java.lang.NullPointerException at _expression_(0)。 解决手段:在w:editDataGrid 下增加 jsvar=editEntryGrid 相关内容请查看 operamasks 文档: /help/index.jsp?topic=/center_1.2/output/eclipse/components-widget-editDataGrid.html 在 在 EditBean 或 或 ListBean 中,通过IBOSBizCtrl 设置了某个接口(如:IBOSBiz
33、Ctrl private IDocReceive service; ),但察觉在使用该接口 service 时,service 为 为 null 这时,需要检查 APUSIC 运行环境中的 metas/entity_perties 是否存在该 service 对应的 entity. 由于,在发布元数据时,有可能没有将 eneity_perties 发布到 apusic/metas,或没有将 entity参与到 entity_perties 文件中 在 在 view 上找不到 managedBean 检查 managedBean 的目次和 bean 的名称是否符合模范, 假设包名不一致或者文件名
34、不一致都回展现此问题, 如 HR 的绩效模块(performance),新增一个 View时, xhtml 命名为 MyPerf.xhtml, 务必存在 WebContent/hr/performance 下, 而且对应的 ManagedBean 为 com.kingdee.eas.hr.performance.MyPerfBean. 按钮或者其他控件的状态被缓存,如单据查看时某按钮被置灰后,新增时按钮仍是置灰的。 要在置灰状态的地方,将不符合置灰条件的按钮再显示的变亮。 由于 managedBean 可能定义为 session的,所以存在会缓存状态的可能。 Web 主界面开发方法 制 编制
35、jsp 页面。 在目次 W:easServerserverdeployeas.earcp_web.warhtmlportlet 新建一个目次,并在新建目次下创造一个 jsp 文件。 内容为: % include file=/html/common/init.jsp% EAS 应用方案 34/36 % page import=com.kingdee.bos.Context% % page import=java.util.Locale% % page import=com.kingdee.eas.util.app.ContextUtil % iframe height=480px width=1
36、00% src=./easweb/cp/index.jsf frameborder=no scrolling=no/iframe 注:src=./easweb/cp/index.jsf就指向 portlet的内容页。 置 配置 portlet 模板信息。 开启文件 W:easServerserverdeployeas.earcp_web.warWEB-INF portlets.xml 添加内容如下: portlet portletID43/portletID title协同办公/title modes mode nameview/name valueportlet.cp_index/value
37、 /mode /modes /portlet Portlet 业务配置信息设置。 开启文件 w:easserverdeployeas.earcp_web.warWEB-INFtiles-defs.xml 添加内容如下: definition name=portlet.cp_index extends=portlet_default_eas50 controllerUrl=/PortletAssembleAction.do put name=portlet_id value=43/ put name=portlet_content value=/html/portlet/cp/cp_index.jsp/ /definition Portlet 根基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育行业发展趋势报告:2025年教育行业未来发展方向与挑战
- 金融科技赋能2025年普惠金融普惠性评估模型创新与实践研究报告
- 玉露香梨采摘协议协议书
- 父母房产分给子女协议书
- 股东欠债股份转让协议书
- 股份财产分配协议书范本
- 物管装修垃圾清运协议书
- 网约车区域代理协议合同
- 银行共同合作协议书范本
- 物流信息部签约合同范本
- 建设项目使用林地可行性报告
- 新安全生产法2025全文
- 感恩地球活动方案
- 2025年中国共产党支部工作条例(试行)暨党支部建设标准化工作知识竞赛考试试题(综合题库)(含答案)
- 2025年江苏省扬州树人学校七年级英语第二学期期末综合测试试题含答案
- 中试基地相关管理制度
- 2025年云南省中考数学试卷真题及解析答案
- 2025至2030中国安全劳保用品行业发展分析及产业运行态势及投资规划深度研究报告
- 2025年广东省广州市华兴教育港澳台联考学校高考英语三模试卷
- 2025事业单位工勤技能考试考试题库及答案
- 拐杖的使用试题及答案
评论
0/150
提交评论