版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、K/3V12.0特性配置运用方案. 4/17:.; EAS费用报销模块Web二次开发指南 EAS HR系统部 作者 李大伟,贺鹏辉 整理 陈昕 导读 本文从头开场引见了EAS费用报销Web表单的二次开发方法,同时也阐明了开发环境的安装和配置方法。可供机构开发人员对费用报销web表单进展二次开发时参考。 适用范围 EAS费用报销模块web二次开发人员请留意:本文件只作为产品引见之用,不属于您与金蝶签署的任何协议。本文件仅包括金蝶既定战略、产品及功能方面的信息,不能以本文件作为要求金蝶履行商务条款、产品战略以及开发义务的根据。本文件内容能够随时变卦,恕不另行通知。 EAS运用方案 35/36文章标
2、题目 录 TOC o 1-3 h z u HYPERLINK l _Toc312399383 概述 PAGEREF _Toc312399383 h 4 HYPERLINK l _Toc312399384 目的 PAGEREF _Toc312399384 h 4 HYPERLINK l _Toc312399385 范围 PAGEREF _Toc312399385 h 4 HYPERLINK l _Toc312399386 定义、首字母缩写词和缩略语 PAGEREF _Toc312399386 h 4 HYPERLINK l _Toc312399387 环境预备 PAGEREF _Toc31239
3、9387 h 4 HYPERLINK l _Toc312399388 jdk安装 PAGEREF _Toc312399388 h 4 HYPERLINK l _Toc312399389 pt环境预备 PAGEREF _Toc312399389 h 4 HYPERLINK l _Toc312399390 一致的web开发目录 w:webdev PAGEREF _Toc312399390 h 4 HYPERLINK l _Toc312399391 一致开发任务区间 webdev/workspace PAGEREF _Toc312399391 h 4 HYPERLINK l _Toc31239939
4、2 W:webdevapusicstudio-5.1为开发工具,双击studiod启动开发工具 PAGEREF _Toc312399392 h 5 HYPERLINK l _Toc312399393 更新和部署AOM PAGEREF _Toc312399393 h 5 HYPERLINK l _Toc312399394 部署easweb.ear PAGEREF _Toc312399394 h 5 HYPERLINK l _Toc312399395 修正W:easServerserverdeployeasweb.eareas_web.warWEB-INF下operamasks.xml PAGER
5、EF _Toc312399395 h 6 HYPERLINK l _Toc312399396 启动效力器,以协同办公费用报销单为例:可以经过 PAGEREF _Toc312399396 h 7 HYPERLINK l _Toc312399397 新建web工程 PAGEREF _Toc312399397 h 7 HYPERLINK l _Toc312399398 新建Apusic规范工程 PAGEREF _Toc312399398 h 7 HYPERLINK l _Toc312399399 添加web模块 PAGEREF _Toc312399399 h 8 HYPERLINK l _Toc31
6、2399400 新建faces页面 PAGEREF _Toc312399400 h 13 HYPERLINK l _Toc312399401 添加Apusic效力器 PAGEREF _Toc312399401 h 16 HYPERLINK l _Toc312399402 运转我们的运用 PAGEREF _Toc312399402 h 18 HYPERLINK l _Toc312399403 定义及发布元数据 PAGEREF _Toc312399403 h 19 HYPERLINK l _Toc312399404 实体的定义和发布 PAGEREF _Toc312399404 h 19 HYPER
7、LINK l _Toc312399405 查询的定义和发布 PAGEREF _Toc312399405 h 19 HYPERLINK l _Toc312399406 生成web界面代码 PAGEREF _Toc312399406 h 19 HYPERLINK l _Toc312399407 设置web界面代码途径 PAGEREF _Toc312399407 h 19 HYPERLINK l _Toc312399408 生成web界面代码 PAGEREF _Toc312399408 h 20 HYPERLINK l _Toc312399409 添加库文件 PAGEREF _Toc31239940
8、9 h 23 HYPERLINK l _Toc312399410 添加用户库 PAGEREF _Toc312399410 h 23 HYPERLINK l _Toc312399411 添加WAF包 PAGEREF _Toc312399411 h 23 HYPERLINK l _Toc312399412 添加业务逻辑类援用 PAGEREF _Toc312399412 h 23 HYPERLINK l _Toc312399413 Web界面代码的修正 PAGEREF _Toc312399413 h 25 HYPERLINK l _Toc312399414 * EditBean.java的修正 PA
9、GEREF _Toc312399414 h 25 HYPERLINK l _Toc312399415 *Edit.xhtml文件的修正 PAGEREF _Toc312399415 h 25 HYPERLINK l _Toc312399416 *List.xhtml文件的修正 PAGEREF _Toc312399416 h 27 HYPERLINK l _Toc312399417 部署及启动eas web运用 PAGEREF _Toc312399417 h 27 HYPERLINK l _Toc312399418 部署EAS WEB PAGEREF _Toc312399418 h 27 HYPE
10、RLINK l _Toc312399419 Pt环境下启动EAS 效力 PAGEREF _Toc312399419 h 27 HYPERLINK l _Toc312399420 二次开发运用 PAGEREF _Toc312399420 h 28 HYPERLINK l _Toc312399421 修正业务单元 PAGEREF _Toc312399421 h 28 HYPERLINK l _Toc312399422 发布业务单元 PAGEREF _Toc312399422 h 28 HYPERLINK l _Toc312399423 执行晋级脚本 PAGEREF _Toc312399423 h
11、29 HYPERLINK l _Toc312399424 搭建web开发环境 PAGEREF _Toc312399424 h 29 HYPERLINK l _Toc312399425 修正web页面 PAGEREF _Toc312399425 h 29 HYPERLINK l _Toc312399426 修正managedBean PAGEREF _Toc312399426 h 29 HYPERLINK l _Toc312399427 部署二次开发运用 PAGEREF _Toc312399427 h 30 HYPERLINK l _Toc312399428 常见问题 PAGEREF _Toc3
12、12399428 h 30 HYPERLINK l _Toc312399429 #message* EL Expression 错误 PAGEREF _Toc312399429 h 30 HYPERLINK l _Toc312399430 编辑界面单据体分录部分无法显示 PAGEREF _Toc312399430 h 30 HYPERLINK l _Toc312399431 如何检查调用类的物理途径 PAGEREF _Toc312399431 h 30 HYPERLINK l _Toc312399432 下载文件时会在线翻开,且出现乱码如何进展文件的下载 PAGEREF _Toc3123994
13、32 h 30 HYPERLINK l _Toc312399433 表单编辑页中点击新增分录时出错 PAGEREF _Toc312399433 h 33 HYPERLINK l _Toc312399434 在EditBean或ListBean中,经过IBOSBizCtrl设置了某个接口如:IBOSBizCtrl private IDocReceive service;,但发如今运用该接口service时,service为null PAGEREF _Toc312399434 h 33 HYPERLINK l _Toc312399435 在view上找不到managedBean PAGEREF _
14、Toc312399435 h 33 HYPERLINK l _Toc312399436 按钮或者其他控件的形状被缓存,如单据查看时某按钮被置灰后,新增时按钮仍是置灰的。 PAGEREF _Toc312399436 h 33 HYPERLINK l _Toc312399437 Web主界面开发方法 PAGEREF _Toc312399437 h 33 HYPERLINK l _Toc312399438 编制jsp页面。 PAGEREF _Toc312399438 h 33 HYPERLINK l _Toc312399439 配置portlet模板信息。 PAGEREF _Toc312399439
15、 h 34 HYPERLINK l _Toc312399440 Portlet业务配置信息设置。 PAGEREF _Toc312399440 h 34 HYPERLINK l _Toc312399441 Portlet根底定义设置。 PAGEREF _Toc312399441 h 34 HYPERLINK l _Toc312399442 页签配置 PAGEREF _Toc312399442 h 35 HYPERLINK l _Toc312399443 参考资料 PAGEREF _Toc312399443 h 35概述目的根据规范web单据开发流程,描画以下内容:环境预备Web工程的创建元数据的
16、定义和发布Web界面代码的生成Web界面代码的修正EAS web的部署和运转二次开发运用Web主界面的开发方法范围适用版本:Kingdee EAS 6.0,Kingdee BOS 6.0定义、首字母缩写词和缩略语 HYPERLINK / AOM:Apusic OperaMask,金蝶中间件公司的Web开发框架 HYPERLINK apusic/product/apusic.htm AAS:Apusic Application Server:金蝶中间件公司的J2EE运用效力器产品 HYPERLINK extjs/ Ext JS:一套基于Java Script的阅读器端
17、UI组件库环境预备jdk安装jdk要求5.0以上版本。pt环境预备pt搭建一个gui的开发环境。一致的web开发目录 w:webdev一致开发任务区间 webdev/workspace如下图:W:webdevapusicstudio-5.1为开发工具,双击studiod启动开发工具Apusicstudio可以到 HYPERLINK apusic/dist/apusicStudio/v5.1-M5/ apusic/dist/apusicStudio/v5.1-M5/获取。更新和部署AOM可以到 HYPERLINK /dist/aom/snap/binaries/ op
18、/dist/aom/snap/binaries/获取AOM最新版本部署easweb.ear修正部署文件W:apusicdomainsserver1configserver.xml参与如下图:easweb.ear构造如图:修正W:easServerserverdeployeasweb.eareas_web.warWEB-INF下operamasks.xml开发那个工程将哪个工程的jar包配置项删掉。如开发协同费用报销就将cp_bc_web.jar删除掉。如图: 将从cvs上获得的或开发完成的view (即xXXX.xhtml)拷贝到W:easServerserverdep
19、loyeasweb.eareas_web.war 将从cvs上获得的开发完成的ManagedBean即XXXXBean拷贝到 W:easServerserverdeployeasweb.eareas_web.warWEB-INFclasses 注:以上途径没有包含包名,拷贝时需求将本人加上包途径,如cpbc 如下图:启动效力器,以协同办公费用报销单为例:可以经过 HYPERLINK localhost:6888/easweb/cp/bc/bizAccountBillList.jsf localhost:6888/easweb/cp/bc/bizAccountBillList.jsf访问。新建w
20、eb工程由于WAF目前混合运用Apusic StudioWeb UI开发与BOS StudioWeb元数据定义与框架代码发布,所以是先进展web工程的新建还是先进展EAS元数据的定义,我们并没有严厉的限制,可根据个人熟习程度决议。新建Apusic规范工程我们运用Apusic作为我们的web容器,所以我们重新建Apusic规范工程开场我们的规范单据开发的旅程。在Apusic studio中点击“文件新建Apusic规范工程,如以下图:包含以下几个点的定义:工程称号,空间及存储位置选择,效力器选择,域选择及J2EE版本的选择,输出文件夹。我们可以在此进展本地效力器的新建也可以在后续过程中添加效力器
21、,为不影响新建流程的顺畅,我们将在后续步骤中单独描画。J2EE版本的选择应该引起留意,我们需求选择5.0以上的版本。定义好上述内容后点击完成,我们可以在翻开包视图查看工程目录构造如下:添加web模块点击新建工程根目录,右键选择“新建web模块:翻开对话框如下:需求留意源文件夹用来存放源代码及web内容文件夹用来存放页面,配置信息等资源文件。点击下一步:EAS web运用框架建立在AOM根底上,所以我们不得取消“支持AOM的选项。AOM的配置中需求留意url后缀的配置,该配置意味该后缀的恳求都将由AOM处置。我们按习惯修正成*.jsf,定义好以后我们将可以在web.xml中发现相应的配置内容:
22、Faces Servlet *.jsf 完成上述步骤,点击完成web模块的新建,我们发现工程目录下添加了src及WebContent目录:新建faces页面选择“文件新建Faces页面:选择能否生成managebean,以及managebean设置,假设只是新建一个静态视图,那么可以不进展managebean的定义。点击完成页面新建。添加Apusic效力器前面在新建工程中曾经提到效力器的选择,在此将对效力器新建做进一步描画。在新建或添加效力器之前请确保已正确安装了Apusic效力器,Apusic效力器的安装再次不再累述。翻开Apusic效力器列表视图,在视图中点击右键,并选择添加效力器:添加效
23、力器后我们需求为我们的运用指定对应的Apusic效力器,翻开工程属性对话框如以下图:运转我们的运用效力器启动过程中我们可以在控制台看到相应信息,部分截图如下:可以看到效力器已胜利启动,我们定义的上下文根目录是mydemo,接下来我们运用 HYPERLINK localhost:6888/mydemo/hello.jsf localhost:6888/mydemo/hello.jsf进展访问,结果如以下图:至此,web工程的新建完成。定义及发布元数据元数据的定义在此特指单据实体及查询的定义,由于只需实体及查询才干发布成web界面,生成web界面代码。实体及查询的定义与非web运用中实体及查询的定
24、义一样,没有差别。实体的定义和发布与普通实体的定义和无差别 查询的定义和发布与普通查询的定义和无差别生成web界面代码设置web界面代码途径生成web界面代码前我们需求对生成代码的存放位置进展设置,在BOS Studio中经过“窗口首选项进入首选项配置页,左侧树形菜单中选择“BOS生成web界面代码:将代码途径设置成我们web工程的源文件途径,将页面途径设置成我们web工程的web内容文件夹途径,点击确定完成设置。生成web界面代码接下来我们可以生成web界面代码:选择要生成界面代码的实体或查询,点击右键并选择“生成web界面代码:回到Apusic studio并刷新工程,我们可以看到工程目录
25、如以下图:添加了相应的页面文件及逻辑代码。通常一个实体经过上述步骤会生成以下几个文件:编辑逻辑managebean及分录bean及相应属性文件:编辑页面文件:查询元数据生成web界面的过程与实体生成web界面的过程一样,只是结果文件不同:列表逻辑managebean及相应属性文件:序时薄页面文件:至此,web界面代码的生成过程曾经完成。至于生成的代码内容大家可以翻开相应文件细看,我们也将在后续部分中插述部分重要内容。后续将做个表格,对生成的代码及页面文件进展阐明添加库文件添加用户库发布web界面代码并刷新web工程后我们的web工程出现了诸多错误,让我们看看终究是什么缘由引起了错误:发布的界面
26、代码找不到依赖的业务逻辑类。我们需求添加用户自定义库。在web工程的构建途径中引入W:easdev下的boslib_for_eas.userlibraries和easlib_for_eas.userlibraries添加WAF包从W:easServerserverdeployeasweb.eareas_web.warWEB-INFlib下拷贝以下文件到工程目录的WebContentWEB-INFlib中,当然他也可以经过在构建途径中引入外部jar包的方式配置。添加业务逻辑类援用这里指的业务逻辑相关类即发布元数据时生成的类文件。我们有多种方式去援用这些类,由于业务的需求,我们能够需求修正这些类中
27、的部分代码,所以打包加载的方式有些不方便,故建议在构建途径的源代码一项中添加关联目录:选择元数据发布的源代码目录。Web界面代码的修正* EditBean.java的修正在EditBean的pageOnload()中有类似语句:我们需求修正为:*Edit.xhtml文件的修正将#messages*方式的表达式都直接换成相应的信息,如#messagescreator交换为creator或“创建人。将messagesentries.seq交换为entries_seq或其他。将修正为去除了多余字段。将重新定义分录操作界面:把biz:billEntryActions标签的内容交换为分录操作的自定义部分
28、,可以如下:修正前: 界面效果点击操作按钮出错,且无详细提示信息:修正后:界面效果新增:*List.xhtml文件的修正将#messages*方式的表达式都直接换成相应的信息,如#messagescreator交换为creator或“创建人。将messagesentries.seq交换为entries_seq或其他。部署及启动eas web运用部署EAS WEBEAS web运用必需与EAS运用效力非web场景同时运用, Eas一致的运用部署途径为W:easServerserverdeployeas.eareas_web.war 访问途径 HYPERLINK localhost:6888/ea
29、sweb localhost:6888/easweb,我们需求做以下几个步骤的部署:拷贝工程下的scm_channel_web webWebContentWEB-INFclasses到W:easServerserverdeployeas.eareas_web.warWEB-INFclasses拷贝scm_channel_web webWebContent下的相关文件到W:easServerserverdeployeas.eareas_web.war该部分的拷贝比较繁琐费事,我们提供了相应的批处置文件进展处置。Pt环境下启动EAS 效力运转W:easServerserverprofilesser
30、ver1bindebugserver.bat访问单据编辑页 HYPERLINK localhost:6888/easweb/mydemo/phInWarehouseBillEdit.jsf localhost:6888/easweb/mydemo/phInWarehouseBillEdit.jsf访问 HYPERLINK localhost:6888/easweb/mydemo/phInWarehouseBillList.jsf localhost:6888/easweb/mydemo/phInWarehouseBillList.jsf二次开发运用修正业务单元翻开金蝶bos,切换到金蝶bos业
31、务建模透视图翻开需求二次开发修正的单据,运用选用板添加字段,以报销单为例,如下图: 发布业务单元在费用报销单界面里,单击右键,选择单据信息,确认不生成生成实现类,如下图:在菜单项选择择费用报销单,单击右键,单击发布业务单元/报表即可。执行晋级脚本在管理控制台或直接数据库中执行晋级脚本,将新加字段添加到数据库相应的数据表中。搭建web开发环境按照2、3、4、5步骤搭建web开发环境修正web页面将easServerserverdeployeasweb.eareas_web.warcpbcbizAccountBillEdit.xhtml的页面内容,覆盖步骤5 中生成bizAccountBillEd
32、it.xhtml页面。在页面间将新添加的字段绑定,如下:修正managedBean将easServerserverdeployeasweb.eareas_web.warWEB-INFlibcp_bc_web_jar解紧缩,反编译BizAccountBillEditBean.class,将内容覆盖步骤5 生成的代码。 修正代码逻辑部署二次开发运用将修正的bizAccountBillEdit.xhtml,覆盖easServerserverdeployeasweb.eareas_web.warcpbcbizAccountBillEdit.xhtml将修正的BizAccountBillEditBean
33、后编译生成的BizAccountBillEditBean.class重新拖入easServerserverdeployeasweb.eareas_web.warWEB-INFlibcp_bc_web_jar包中,交换原来的class文件。常见问题#message* EL Expression 错误 目前不支持该种表达式显示信息,我们需求交换该表达式为实践要运用的信息,如:将#messages*方式的表达式都直接换成相应的信息,如#messagescreator交换为creator。同样,我们需求将messagesentries.seq交换为entries_seq或其他。编辑界面单据体分录部分无
34、法显示将编辑页面的将修正为如何检查调用类的物理途径在调试过程中,在Display试图中如下调用方式:this.getClass().getResource(/com/kingdee/eas/cp/bc/web/TravelAccountBillListBean.class)下载文件时会在线翻开,且出现乱码如何进展文件的下载 AOM运用原生态AJAX后文件下载出现该问题的处理,且不论在效力端中对response做何处置。假设他去除f:view中renderKitId=AJAX的设置,且保证不会影响页面其他功能,那当然是最好的处理。此外可以经过重定向到下载页进展下载。处理AOM的文件下载问题有两种
35、方式,由于我们的实践运用场景中不是已存在文件的下载,需求与数据库等的交互,中断jsf生命周期的方式不可取。故我运用了重定向新页面进展下载的方式,即在需求引入引出功能的页面上参与iframe框,并援用文件下载页面资源:在单一文件下载页面中不运用AOM的原生态ajax:下载效果如下:点击引出模板,将出现下载页面如以下图:表单编辑页中点击新增分录时出错首先点击添加分录按钮时出错:#phdemo.PhStockBalanceBillEntryBean.appendRow: /phdemo/phStockBalanceBillEdit.xhtml 117,65 action=#phdemo.PhStoc
36、kBalanceBillEntryBean.appendRow: java.lang.NullPointerException at _expression_(0)。 处理方法:在w:editDataGrid 下添加jsvar=editEntryGrid相关内容请查看operamasks 文档: HYPERLINK infocenter.apusic/help/index.jsp?topic=/center_1.2/output/eclipse/components-widget-editDataGrid.html infocenter.apusic/he
37、lp/index.jsp?topic=/center_1.2/output/eclipse/components-widget-editDataGrid.html在EditBean或ListBean中,经过IBOSBizCtrl设置了某个接口如:IBOSBizCtrl private IDocReceive service;,但发如今运用该接口service时,service为null这时,需求检查APUSIC运转环境中的metas/entity_perties能否存在该service对应的entity.由于,在发布元数据时,有能
38、够没有将eneity_perties发布到apusic/metas,或没有将entity参与到entity_perties文件中在view上找不到managedBean检查managedBean的目录和bean的称号能否符合规范,假设包名不一致或者文件名不一致都回出现此问题,如HR的绩效模块performance,新增一个View时,xhtml命名为 MyPerf.xhtml, 必需存在WebContent/hr/performance下,而且对应的ManagedBean为com.kingdee.eas.hr.performance.MyPe
39、rfBean.按钮或者其他控件的形状被缓存,如单据查看时某按钮被置灰后,新增时按钮仍是置灰的。要在置灰形状的地方,将不符合置灰条件的按钮再显示的变亮。由于managedBean能够定义为session的,所以存在会缓存形状的能够。Web主界面开发方法编制jsp页面。在目录W:easServerserverdeployeas.earcp_web.warhtmlportlet新建一个目录,并在新建目录下创建一个jsp文件。内容为: 注:src=./easweb/cp/index.jsf就指向portlet的内容页。配置portlet模板信息。翻开文件W:easServerserverdeploye
40、as.earcp_web.warWEB-INF portlets.xml添加内容如下:43协同办公viewportlet.cp_indexPortlet业务配置信息设置。翻开文件w:easserverdeployeas.earcp_web.warWEB-INFtiles-defs.xml添加内容如下:Portlet根底定义设置。经过上述配置后,还需求经过EAS管理控制台执行如下脚本,在数据库中插入一条记录,sql语句如下:Insert Into T_Portal_Portlet(FID,FCreatorID,FCreateTime,FLastUpdateUserID,FLastUpdateTi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论