版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、培训手册-客户化开发扩展开发2016:网络2016。保留所利。没有本文档的的明确另行通知。的特别,任何人不得以或为任何目的或。此外,本文档及其内容您自己使用,没有,不得出租、转让或出售本文档及其内容。本文档包含的信息更改,恕不目 录1.环境准备31.1.数据库检查31.2.开发者设置32. 扩展开发52.1.实体扩展52.1.1.增量扩展实体文件52.1.2.扩展实体字段72.1.3.扩展子实体92.1.4.设计包含扩展实体的单据模板122.1.5.功能节点默认模板设置152.2.前台扩展172.2.1.按钮扩展182.2.2.UI 事件扩展252.3.扩展332.3.1.编写与业务逻辑扩展3
2、32.3.2.效果展示353. 附录353.1.全部 UI 事件说明353.2.业务扩展示例363.3.注意事项371. 环境准备1.1.数据库检查步骤如下:1.通过窗口-首选项打开首选项框,检查数据然后确定2.清除缓存3.先启动中间件,再启动客户端1.2.开发者设置步骤如下:1.系统管理员 admin 登录系统2.给用户dev 设置伙伴级开发者,通过企业建模-权限管理-用户管理-打用户开用户,然后点击刷新,修改 dev 用户,如下图把设置为伙伴级的扩展开发者即可,然后保存3.在 uap-studiao 在打开首选项,来这只开发者为伙伴级扩展开发者,如下图所示4.重启中间件和客户端2. 扩展开
3、发扩展开发分别从实体扩展,前台扩展以及扩展三个方面进行开发。2.1.实体扩展实体扩展既可以在原有实体上扩展字段,也可以扩展子实体。例如本文档对虚拟机上train_65 项目的实体销售报价单进行扩展需求描述:客户为了更好的报价单可能产生的费用,对报价单界面字段的要求。A).需要在在报价单单据的表头增加标识【是否含费用信息】、【费用金额】等字段,B).表体增加一个新页签【费用信息】。2.1.1. 增量扩展实体文件步骤如下:1.打开 uap mdp,如下图红框所示2.在左侧的 mdpexplorer中extcase.extendtrain,在弹出的菜单中,点击【增量开发实体组件】3.弹出增量开发实体
4、组件框中,选择文件,如下图示所示4.在文件框中选择,train 模块下的 quo.bmf,如下图所示5.点击增量实体开发组件的确定后,创建的quo_301.bmf 文件如下下图所示,其中301 是伙伴级开发的编码代号2.1.2. 扩展实体字段在增加扩展实体文件后,才能扩展主实体报价单表头上扩展字段。扩展字段列表如下:名称显示名称类型步骤如下:1.在主实体报价单表头上添加上面列表的扩展字段,新增字段如下图所示,注意:字段编码后缀应该有_301,其实在新增字段时候,默认是_301 需要把这些字段名拷贝过去即可。2.除消费信息源属性字段外,其他字段策略都设置为nc.md.m.acBeanAcsor,
5、如下图所示:bcludefee是否含费用信息UFntotalfeemny费用总金额UFMoneynfeenote费用说明备注3.除消费信息源属性字段外,其他字段都勾选动态属性,扩展表填写ext_head_301,如下图所示2.1.3. 扩展子实体新增一个子实体,其字段信息列表如下:名称显示名称类型参照名称pk_ext_b子表主键UFID步骤如下:1.从组件工具箱拖过来一个实体,修改实体信息如下图所示,(器类型:NCVO,类名称: nc.vo.extend.entity.ExtBVO_301 , 名 称 : ExtBVO_301 , 缺省表名: ext_body_301,显示名称:费用信息2.根
6、据列表添加字段,如下图所示,注意子实体费用信息的主属性是:子表主键字段,报销人参照用户实体,注意:扩展子实体仅需要在缺省表名后家后缀_301,其字vexpensepsn报销人参照用户用户所有dfeedate费用日期UFDatedexpensedate报销日期UFDatendetailfeemny费用金额UFMoneyvfeeaddress地址Stringvnote备注备注vbdef1自定义项 1自定义项vbdef2自定义项 2自定义项段无需加此后缀3.添加扩展实体费用信息和主实体报价单表头的组合关系,从右侧的关联关系工具箱拖组合,然后从主实体标价单表头向子实体费用信息拖来即可,如下图所示:4.
7、设置主实体报价单表头和费用信息的组合关系,组合关系的源属性是主实体的字段费用信息源属性5.选中主实体点击右键发布元数据6.左键选中扩展的子实体,点击右键选择生成java 源代码7.主实体生成 sql,找到生成的 sql,打开找到创建扩展表的语句8.重启客户端,清除缓存,否则生成单据模版时看不到新加的子实体2.1.4. 设计包含扩展实体的单据模板经过前面的实体扩展之后,那么需要重新设计一张新的单据模板,来显示扩展的字段。步骤如下:1.Admin 用户登录系统,通过动态建模-开发配置-单据模板初始化来打开单据模板初始化如下图所示,然后选择培训呢的销售报价单,在单据模板中输入ext,在点击显示模板,
8、因为没有此模板,所以增加就会可用,点击增加即可打开单据模板设计器。2.报价单表头放到表头如下图,在表头删除制单人,然后把制单人放到表尾3.子表子表主键 pk_saleauoion_b 放到表体,如下图4.右键表体,选择新增自定义项目到新页签5.输入页签编码: bodyExtTab,页签名称为: 费用信息 ,项目主键随便输入6.把扩展的子实体费用信息源属性拖过来,放在表体费用信息页签中,同时删除刚才临时添加的主键点击新增页签的【费用金额】,然后把左侧的【是否合计】勾上。7.保存模板,模块选择二级模块 bill,资产层次选择伙伴2.1.5. 功能节点默认模板设置前面设计的单据模板只有分配给功能节点
9、才能生效,步骤如下:1.Admin 用户登录系统,通过动态建模-开发配置-功能节点默认模板设置来打开功能节点默认模板设置,找到销售报价单,如下图所示2.然后点击分配,在点击添加来添加模板,在弹出的模板框中,找到上面添加的ext 模板,同时模板选择报价单表头,所属模块 bill,资产层次伙伴,“节点标识”必须要与需要替换的标识一样。如在 billFormEditor 中注入了 bt,如下bt此处的标识需要填写为 bt.3.保存模板4.回到功能节点默认模板设置列表,选中新添加的伙伴级的单据模板,然后点击【增补到】5.打开销售报价单,就可以看到扩展的实体字段,以及子实体信息,如下图所示:2.2.前台
10、扩展本 文 档 是 对 销 售 报 价 单 进 行 扩 展 , 而 销 售 报 价 单 的类 是 :nc.ui.pubapp.uif2app.ToftPanelAdaptorEx,所以应该按照 PubApp 的方式进行扩展配置,extend 组件已经提供了 pubapp_ext_config.xml 配置文件,学员仅仅需要扩展此文件即可。如下图所示, 此文件包含了按钮和事件的扩展,可以此文件拷贝为pubapp_ext_config.xml,包含扩展按钮和事件。2.2.1. 按钮扩展对 pubapp_ext_config.xml 文件进行扩展 或者拷贝下面的文件,其文件如下,是对销售订单进行的按
11、钮扩展, 所以扩展的 xml 配置文件,是 train65 的配置文件Quo_order_config.xml。pubapp_ext_config.xml 原始文件如下:propertypropertypropertypropertyname=actionContainer ref=actionsOfCard /name=actionType value=notedit /name= ref=defaultRefreshAction /name=action ref=replaceAction /property name=m ref=bmM按钮配置 -!-propertypropertypr
12、opertypropertypropertyname=actionContainer ref=actionsOfCard /name=actionType value=edit /name=name= ref=saveScriptAction / value=bename=action ref=insertAction /property name=m ref=bmM /按钮配置 -!-property name=property name= ref=saveScriptAction /erceptor ref=SaveerceptorForFile /bean id=Saveerceptor
13、ForFileclass=nc.ui.extend.pubapp.action.Savepropertypropertyname=billForm ref=billForm /name=chooseAction ref=insertAction /事件property name=m ref=bmMbean class=nc.ui.pubapp.uif2app.event.Evenvalue=nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent /bean class=nc.ui.pubapp.uif2app.event.Evenb
14、ean class=nc.ui.pubapp.uif2app.event.Evenvalue=nc.ui.pubapp.uif2app.event.card.CardBodyBeforeEditEvent /bean class=nc.ui.pubapp.uif2app.event.Evenvalue=nc.ui.pubapp.uif2app.event.card.CardBodyAfterEditEvent /. 替换按钮扩展需求描述:在列表界面每个报价单能管理对应的文档,客户要把【刷新】按钮替换为【文档管理】按钮,用于单个文档操作(上传,等操作)。步骤如下:1.修改 pubapp_ext_
15、config.xml 的 ReplaceActionInfo 动作,修改如红色部分(注意:以为这些是替换报价单的配置文件中按钮, 所以这些红色就是报价单配置文件Quo_order_config.xml 中 的 信 息 , 例 如 : actionsOfList是 列 表 界 面 , refreshAction 表示刷新按钮,下同).按钮扩展需求描述:在销售报价单新增或修改时,在卡片界面能批量选择附件,也就是在保存前放置一个选择附件的按钮。步骤如下:1.修改 pubapp_ext_config.xml 的 InsertActionInfo 动作,修改如红色部分.按钮扩展需求描述:点击【保存】按钮
16、后,先把数据保存,再把选择的文件上传到服务器作为报价单的附件步骤如下:2. 10.11. 19.20.1.修改 pubapp_ext_config.xml 的 ActionerceptorInfo 动作,修改如红色部分. 扩展按钮文件功能通过动态建模-开发配置 -功能打开功能,把给销售报价单扩展的按 钮 配 置 文 件 pubapp_ext_config.xml ,到 参 数中 , 参 数 名 称 是PluginBeanConfigFilePath,参数值是:nc/ui/extend/pubapp/config/pubapp_ext_config.xml2. 7. 效果展示1.列表按钮替换效果
17、展示2.按钮扩展效果展示3.保存后效果展示2.2.2. UI 事件扩展对 pubapp_ext_config.xml 文件进行扩展 或者拷贝下面的文件,其文件如下,是对销售报价单进行的 UI 事件扩展,所以扩展的 xml 配置文件,是 train65 的配置文件Quo_order_config.xml。pubapp_ext_config.xml 原始文件如下:!- 表体编辑后bean class=. UI 事件扩展步骤如下:1.由于是对Quo_order_config.xml 进行的事件扩展,那就要找到其配置Mediator 事件,如下所示:bean id=ExEvenndlerMediato
18、rclass=nc.ui.pubapp.uif2app.mbean class=nc.ui.pubapp.uif2app.event.Evenndlerbean class=nc.ui.pubapp.uif2app.event.Even. UI 事件扩展文件功能通过动态建模-开发配置-功能打开功能,把给销售报价单扩展的按 钮 配 置 文 件 pubapp_ext_config.xml ,到 参 数中 , 参 数 名 称 是PluginBeanConfigFilePath,参数值是:nc/ui/extend/pubapp/config/pubapp_ext_config.xml. 修改后的完整
19、pubapp_ext_config.xml 的文件/property name=m ref=bmMbean class=nc.ui.pubapp.uif2app.event.Evenvalue=nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent /bean class=nc.ui.pubapp.uif2app.event.Evenvalue=nc.ui.pubapp.uif2app.event.card.CardBodyBeforeEditEvent /bean class=nc.ui.pubapp.uif2app.event.
20、Evenvalue=nc.ui.pubapp.uif2app.event.card.CardBodyAfterEditEvent /. 效果展示1.表头修改事件:做了如下一些校验如果没有勾选是否含费用说明,那么费用说明置灰,同时不能修改表体的费用信息2.表体修改后事件:校验是报销日期应该大于费用日期,否则给出提示。2.3.扩展2.3.1. 编写与业务逻辑扩展需求描述:在销售报价审核时,有如下两点要求:A). 点击审核按钮后需要时需要校验表头新扩展的【费用合计金额】与表头原有的【总金额合计】的大小,如果【费用合计金额】大于【总金额合计】,则表头费用说明必须填写。B). 报价单审核通过后,如果存在
21、报销怎在系统中给相关报销人“发送通知消息”。步骤如下:1.增 加 两 个 类 , 分 别 是 审 核 校 验 类 和 审 核 发 送 邮 件 类 , 都 实 现 需 求nc.impl.pubapp.pattern.rule.Irule审核校验类:nc.bs.extend.bprule.ExtendApproveIRule审核发送邮件类:nc.bs.extend.bprule.ApproveSendMessageRule2.向 数 据 库 表pub_pluginitem扩 展 插 件 , 模 块 及 组 件 需 要 看nc.bs.train.quoion.plugin.bpplugin.Quoi
22、onPluginPo,的sql 语句如下:-审核校验inserto pub_pluginitem (dr, industrytype, iorder, localtype, pk_pluginitem, ts,vcomponentname, vdescription, veventtype, vextendmodule, vextendponame, vextendtype, vmodulename, vruleclass, vclass) values (0, 0, 1, , trainapprove_before1, 2009-10-148:51:28, bill, , before,nc
23、.bs.train.quoion.plugin.bpplugin.QuoionPluginPo.APPROVE, addBefore, train,nc.bs.extend.bprule.ExtendApproveIRule, nc.bs.pubapp.pub.rule.ApproveSusCheckRule);-审核发送消息校验inserto pub_pluginitem (dr, industrytype, iorder, localtype, pk_pluginitem, ts,vcomponentname, vdescription, veventtype, vextendmodule
24、,2.3.2. 效果展示1.如果费用金额大于总金额,且没有填写费用说明,那么给出提示信息,如下图所示3. 附录3.1.全部 UI 事件说明nc.ui.pubapp.uif2app.eventvextendponame, vextendtype, vmodulename, vruleclass, vclass) values (0, 0, 1, , trainapprove_after01, 2009-10-148:51:28, bill, , after, ,nc.bs.train.quoion.plugin.bpplugin.QuoionPluginPo.APPROVE, addAfter,
25、 train,nc.bs.extend.bprule.ApproveSendMessageRule, );3.2.业务扩展示例打开 uap-studio 的集成开发帮助,如下图所示,供应链的扩展,可以参考一下AppUiSeChangeEventUI 状态改变ChangedEvent组织改变PubAppEvent事件基类nc.ui.pubapp.uif2app.event.cardCardBodyAfterEditEvent卡片表体编辑后CardBodyAfterRowEditEvent卡片表体行编辑后CardBodyAfterSortEvent卡片表体排序后CardBodyBeforeBatchEditEvent卡片表体批编辑前CardBodyBeforeEditEvent卡片表体编辑前CardBodyBeforeSortEvent卡片表体排序前CardBodyActionEvent卡片表体菜单点击CardBodyRowChangedEvent卡片表体行选择改变CardBodyRowEditEvent卡片表体行编辑后CardBodyTabChangedEvent卡片表体页签改变CardBodyTotalEvent卡片表体汇总计算CardHeadTailAfterEditEvent卡片表头表尾编辑后CardHeadTailBeforeEditEvent卡
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026华中师范大学幼儿园(非事业编B类岗)招聘1人(湖北)考试参考题库及答案解析
- 吉安市市直机关事业单位编外工作人员招聘补充中招聘人数核减考试参考试题及答案解析
- 2026中国中化审计中心招聘考试备考题库及答案解析
- 2026云南玉溪鸿康医院有限责任公司见习人员招募20人考试备考题库及答案解析
- 2026广西东兴国家重点开发开放试验区管理委员会招聘考试备考题库及答案解析
- 2026年郑州市法律援助基金会招聘工作人员考试备考题库及答案解析
- 2026年来宾市兴宾区高安乡人民政府招聘编外工作人员备考题库及一套答案详解
- 2026年镇江市丹阳生态环境局公开招聘编外工作人员5人备考题库及完整答案详解一套
- 北京市丰台区外国语学校2026年校园招聘北京市丰台区外国语学校备考题库及答案详解参考
- 2026年贵港市港南区信访局公开招聘编外人员备考题库完整参考答案详解
- 设备管理安全风险辨识
- 中央管理企业负责人薪酬制度改革方案
- 3.提高多标高深基坑支护施工验收一次合格率-飞扬QC小组
- 2026年中国前列腺电切镜项目经营分析报告
- 数据中心智能化系统设备部署方案
- 2025年国家开放大学《社会研究方法》期末考试复习试题及答案解析
- 专项突破:平面直角坐标系中面积、规律、新定义、几何综合问题(解析版)
- 2025年铍矿行业分析报告及未来发展趋势预测
- 2025年卫健委编制考试题及答案
- 涉爆粉尘专项知识培训课件
- 环保企业污水处理标准操作规程
评论
0/150
提交评论