书签 分享 收藏 举报 版权申诉 / 37

类型EAS费用报销模块web二次开发指南.docx

  • 文档编号:28657726
  • 上传时间:2023-07-19
  • 格式:DOCX
  • 页数:37
  • 大小:936.72KB

界面效果(点击操作按钮出错,且无具体提示信息):

修正后:

panelGridcolumns="3"style="float:

right">

buttonid="addRow"value="新增"alwaysSubmit="true"

immediate="true"

action="#{phdemo.PhInWarehouseBillEntryBean.appendRow}"/>

buttonid="insertRow"value="插入"

alwaysSubmit="true"immediate="true"

action="#{phdemo.PhInWarehouseBillEntryBean.insertRow}"/>

buttonid="removeRow"value="删除"

alwaysSubmit="true"immediate="true"

action="#{phdemo.PhInWarehouseBillEntryBean.removeRow}"/>

panelGrid>

界面效果(新增):

***List.xhtml文件的修正

●将#{messages['***}']形式的表达式都直接换成相应的信息,如#{messages['creator}']替换为creator或“创建人”。

●将messages['entries.seq']替换为entries_seq或其他。

部署及启动easweb应用

部署EASWEB

EASweb应用必须与EAS应用服务(非web)场景同时使用,Eas统一的应用部署路径为W:

\eas\Server\server\deploy\eas.ear\eas_web.war\访问路径,我们需要做以下几个步骤的部署:

●拷贝工程下的scm_channel_web\web\WebContent\WEB-INF\classes

到W:

\eas\Server\server\deploy\eas.ear\eas_web.war\WEB-INF\classes

●拷贝scm_channel_web\web\WebContent下的相关文件

到W:

\eas\Server\server\deploy\eas.ear\eas_web.war

该部分的拷贝比较繁琐麻烦,我们提供了相应的批处理文件进行处理。

Pt环境下启动EAS服务

运行W:

\eas\Server\server\profiles\server1\bin\debugserver.bat

访问单据编辑页

访问

二次开发应用

修改业务单元

●打开金蝶bos,切换到金蝶bos业务建模透视图

●打开需要二次开发修改的单据,使用选用板添加字段,以报销单为例,如图所示:

发布业务单元

●在费用报销单界面里,单击右键,选择单据信息,确认不生成生成实现类,如图所示:

●在菜单选择费用报销单,单击右键,单击发布业务单元/报表即可。

执行升级脚本

在管理控制台或直接数据库中执行升级脚本,将新加字段添加到数据库相应的数据表中。

搭建web开发环境

●按照2、3、4、5步骤搭建web开发环境

修改web页面

●将eas\Server\server\deploy\easweb.ear\eas_web.war\cp\bc\bizAccountBillEdit.xhtml的页面内容,覆盖步骤5中生成bizAccountBillEdit.xhtml页面。

●在页面间将新添加的字段绑定,如下:

labelContainercaption="主题"style="margin-left:

120px;"width="270"lineWidth="80">

textFieldvalue="#{cp.bc.BizAccountBillEditBean.model.name}"required="false"maxLength="80">

textField>

labelContainer>

修改managedBean

●将eas\Server\server\deploy\easweb.ear\eas_web.war\WEB-INF\lib\cp_bc_web_jar

解压缩,反编译BizAccountBillEditBean.class,将内容覆盖步骤5生成的代码。

●修改代码逻辑

部署二次开发应用

●将修改的bizAccountBillEdit.xhtml,覆盖

eas\Server\server\deploy\easweb.ear\eas_web.war\cp\bc\bizAccountBillEdit.xhtml

●将修改的BizAccountBillEditBean后编译生成的BizAccountBillEditBean.class

重新拖入

eas\Server\server\deploy\easweb.ear\eas_web.war\WEB-INF\lib\cp_bc_web_jar包中,

替换原来的class文件。

常见问题

#{message[***]}ELExpression错误

目前不支持该种表达式显示信息,我们需要替换该表达式为实际要使用的信息,如:

将#{messages['***}']形式的表达式都直接换成相应的信息,如#{messages['creator}']替换为creator。

同样,我们需要将messages['entries.seq']替换为entries_seq或其他。

编辑界面单据体(分录部分)无法显示

将编辑页面的将

definename="entry>">修改为

definename="entry">

如何检查调用类的物理路径

在调试过程中,在Display试图中如下调用方式:

this.getClass().getResource("/com/kingdee/eas/cp/bc/web/TravelAccountBillListBean.class")

下载文件时会在线打开,且出现乱码(如何进行文件的下载)

AOM使用原生态AJAX后文件下载出现该问题的解决,且不论在服务端中对response做何处理。

如果你去除f:

view中renderKitId="AJAX"的设置,且保证不会影响页面其他功能,那当然是最好的解决。

此外可以通过重定向到下载页进行下载。

解决AOM的文件下载问题有两种方式,由于我们的实际应用场景中不是已存在文件的下载,需要与数据库等的交互,中断jsf生命周期的方式不可取。

故我使用了重定向新页面进行下载的方式,即在需要引入引出功能的页面上加入iframe框,并引用文件下载页面资源:

windowid="exportDialog"width="350"height="210"modal="true"title="文件引出">

window>

在单一文件下载页面中不使用AOM的原生态ajax:

下载效果如下:

点击引出模板,将出现下载页面如下图:

表单编辑页中点击新增分录时出错

 

首先点击增加分录按钮时出错:

#{phdemo.PhStockBalanceBillEntryBean.appendRow}:

/phdemo/phStockBalanceBillEdit.xhtml@117,65action="#{phdemo.PhStockBalanceBillEntryBean.appendRow}":

java.lang.NullPointerExceptionat__expression__(0)。

解决办法:

editDataGrid下增加jsvar="editEntryGrid"

相关内容请查看operamasks文档:

 

在EditBean或ListBean中,通过@IBOSBizCtrl设置了某个接口(如:

@IBOSBizCtrlprivateIDocReceiveservice;),但发现在使用该接口service时,service为null

这时,需要检查APUSIC运行环境中的metas/entity_pkmapping.properties是否存在该service对应的entity.

因为,在发布元数据时,有可能没有将eneity_pkmapping.properties发布到apusic/metas,或没有将entity加入到entity_pkmapping.properties文件中

在view上找不到managedBean

检查managedBean的目录和bean的名称是否符合规范,

如果包名不一致或者文件名不一致都回出现此问题,

如HR的绩效模块(performance),新增一个View时,

xhtml命名为MyPerf.xhtml,必须存在WebContent/hr/performance下,

而且对应的ManagedBean为com.kingdee.eas.hr.performance.MyPerfBean.

按钮或者其他控件的状态被缓存,如单据查看时某按钮被置灰后,新增时按钮仍是置灰的。

要在置灰状态的地方,将不符合置灰条件的按钮再显示的变亮。

因为managedBean可能定义为session的,所以存在会缓存状态的可能。

Web主界面开发方法

编制jsp页面。

在目录W:

\eas\Server\server\deploy\eas.ear\cp_web.war\html\portlet新建一个目录,并在新建目录下创建一个jsp文件。

内容为:

<%@includefile="/html/common/init.jsp"%>

<%@pageimport="com.kingdee.bos.Context"%>

<%@pageimport="java.util.Locale"%>

<%@pageimport="com.kingdee.eas.util.app.ContextUtil"%>

注:

src="../easweb/cp/index.jsf"就指向portlet的内容页。

配置portlet模板信息。

打开文件W:

\eas\Server\server\deploy\eas.ear\cp_web.war\WEB-INF\portlets.xml

添加内容如下:

43

协同办公

view

portlet.cp_index

Portlet业务配置信息设置。

打开文件w:

\eas\server\deploy\eas.ear\cp_web.war\WEB-INF\tiles-defs.xml

添加内容如下:

extends="portlet_default_eas50"

controllerUrl="/PortletAssembleAction.do">

value="/html/portlet/cp/cp_index.jsp"/>

Portlet基础定义设置。

通过上述配置后,还需要通过EAS管理控制台执行如下脚本,在数据库中插入一条记录,sql语句如下:

InsertIntoT_Portal_Portlet(FID,FCreatorID,FCreateTime,FLastUpdateUserID,FLastUpdateTime,FControlUnitID,FPortletDefineId,FPortletName_L1,FPortletName_L2,FPortletName_L3,FEnable,FPortletNumber,FDescription_L1,FDescription_L2,FDescription_L3)

Values(newbosid('0B344890'),'00000000

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
EAS 费用 报销 模块 web 二次开发 指南
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:EAS费用报销模块web二次开发指南.docx
链接地址:https://www.bdocx.com/doc/28657726.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

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

收起
展开