单据扩展实战.pdf

上传人:安*** 文档编号:71026267 上传时间:2023-01-31 格式:PDF 页数:68 大小:2.12MB
返回 下载 相关 举报
单据扩展实战.pdf_第1页
第1页 / 共68页
单据扩展实战.pdf_第2页
第2页 / 共68页
点击查看更多>>
资源描述

《单据扩展实战.pdf》由会员分享,可在线阅读,更多相关《单据扩展实战.pdf(68页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Yonyou Software Corporation UAP 培训-扩展开发 用友软件股份有限公司 目录 案例场景介绍 课程整体介绍 详细功能讲解 实战演练 前台扩展 实体扩展 后台扩展 Yonyou Software Corporation 课程整体介绍 课程内容课程内容 三部分:实体(public)、前台(client)、后台(private)讲解形式:理论+课堂练习 通过实战掌握通过实战掌握UAP的扩展开发的方法的扩展开发的方法 目录 课程整体介绍 案例场景介绍 详细功能讲解 实战演练 前台扩展 实体扩展 后台扩展 Yonyou Software Corporation 背景介绍 水平

2、产品不能满足行业特性 行业产品满足客户个性化需求 没有源码 源码敢不敢改 升级怎么办 Yonyou Software Corporation 数据层 客户端 初始化 加载界面 按纽扩展 业务规则 扩展 劢作 UAP 前台 后台 数据层 操作 加载数据 业务事件扩展 保存 删除 新增 扩展开发架构 UI事件扩展 规则 实体 子实体扩展 属性扩展 Yonyou Software Corporation 研发机构设置 修改UAP-STUDIOUAPierpbinindustry_config.xml文件 01 Yonyou Software Corporation 开发者设置 领域 行业 本地化 伙

3、伴 客户 Yonyou Software Corporation 开发者选择伙伴公司 目录 课程整体介绍 详细功能讲解 案例场景介绍 实战演练 前台扩展 实体扩展 后台扩展 Yonyou Software Corporation 详绅功能讲解 实体 属性 子实体 前台 按钮 UI事件 后台 业务规则 业务事件 Yonyou Software Corporation 报价单属性扩展要达到的效果 扩展出来的属性 Yonyou Software Corporation 实体扩展属性扩展 点击 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置增加属性设置 访问策略 劢态属性 扩展表 保存发

4、布元数保存发布元数据据 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 Yonyou Software Corporation 实体扩展属性扩展 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 点击 Yonyou Software Corporation 实体扩展属性扩展 选择实体 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据 生成数据库表生成数据

5、库表 重新生成新单重新生成新单据模板据模板 Yonyou Software Corporation 实体扩展属性扩展 生成的扩展元数据文件 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 Yonyou Software Corporation 实体扩展属性扩展 301结的是增加的字段 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据 生成数据库表生成数据库表 重新生成

6、新单重新生成新单据模板据模板 Yonyou Software Corporation 实体扩展属性扩展 访问策略NCBeanAccessor 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 Yonyou Software Corporation 实体扩展属性扩展 勾上劢态属性 非源属性的字段加扩展表 源属性扩展表要为空 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据

7、 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 Yonyou Software Corporation 实体扩展属性扩展 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 Yonyou Software Corporation 实体扩展属性扩展 步骤 选择增量开发选择增量开发实体组件实体组件 增加属性设置 访问策略 劢态属性 扩展表 保存发布元数保存发布元数据据 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 打开功能节点【单据

8、模版初始化】节点 找到被扩展的元数据,新增单据模版,点增加 选择 写上新模板名 Yonyou Software Corporation 单据模板 选择伙伴 Yonyou Software Corporation 单据模板 选择伙伴 选择新增的模版 Yonyou Software Corporation 单据模板 选择新增默认模版点击此按钮,往pub_systemplate插入数据 此节点保存的数据到pub_systemplate_base 说明:运行环境在集团业务初始化时系统把pub_systemplate_base 级别最高的插入到pub_systemplate表中,开发环境需要先到pub_

9、systemplate表中删除该该节点对应的数据,然后选择扩展出来的模版点击增补到集团 Yonyou Software Corporation 详绅功能讲解 实体 属性 子实体 前台 按钮 UI事件 后台 业务规则 业务事件 Yonyou Software Corporation 费用信息子实体扩展要达到的效果 子实体以页签形式展现 Yonyou Software Corporation 实体扩展费用子实体扩展 步骤 增加费用信息增加费用信息子实体子实体 跟标准单据添加子实体子实体一样 发布元数据 选中子实体生选中子实体生成成VO 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板

10、 增加子实体 设置与主实体的关联 实体属性,有后缀的要求 Yonyou Software Corporation 实体扩展费用子实体扩展 步骤 增加费用信息增加费用信息子实体子实体 跟标准单据添加子实体子实体一样 发布元数据 选中子实体生选中子实体生成成VO 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 说明:原有的主表,子表VO不需要重新生成 只需中选中新扩展的子实体生成代码 Yonyou Software Corporation 实体扩展费用子实体扩展 步骤 增加费用信息增加费用信息子实体子实体 跟标准单据添加子实体子实体一样 发布元数据 选中子实体生选中子实体生成成VO

11、 生成数据库表生成数据库表 重新生成新单重新生成新单据模板据模板 说明:子实体扩展,增加新页签 其它的单据模板设置与属性扩展一致。Yonyou Software Corporation 实体扩展课埻练习 报价单表头增加属性 报价单增加一个子实体 并能实现持久化 练习60分钟 Yonyou Software Corporation 详绅功能讲解 实体 属性 子实体 前台 按钮 UI事件 后台 业务规则 业务事件 Yonyou Software Corporation 前台扩展按钮扩展 步骤 确认功能节确认功能节点入口类点入口类 扩展相应的类扩展相应的类 设置配置文件设置配置文件 注册配置文件注册

12、配置文件 说明:1.确认功能类名 nc.ui.pubapp.uifapp.ToftPanelAdaptorEX(Pubapp)。nc.ui.uift2.ToftPanelAdaptor(UI工厂2)。2.根据功能类名的不同,提供两套配置方案。Yonyou Software Corporation 前台扩展按钮扩展 步骤 确认功能节确认功能节点入口类点入口类 扩展相应的类扩展相应的类 设置配置文件设置配置文件 注册配置文件注册配置文件 Yonyou Software Corporation 前台扩展按钮扩展 步骤 确认功能节确认功能节点入口类点入口类 扩展相应的类扩展相应的类 设置配置文件设置配

13、置文件 注册配置文件注册配置文件 public class AddTestAction extends NCAction public AddTestAction()super.setBtnName(“测试自制按钮测试自制按钮”);private static final long serialVersionUID=-4417976703049420324L;private BillForm editor;private AbstractAppModel model;Override public void doAction(ActionEvent e)throws Exception Mes

14、sageDialog.showHintDlg(editor,提示,测试自己新按钮按下);public BillForm getEditor()return this.editor;public AbstractAppModel getModel()return this.model;public void setEditor(BillForm editor)this.editor=editor;public void setModel(AbstractAppModel model)this.model=model;model.addAppEventListener(this);Override

15、 protected boolean isActionEnable()return this.model.getUiState()=UIState.NOT_EDIT;Yonyou Software Corporation 前台扩展按钮扩展 步骤 确认功能节确认功能节点入口类点入口类 扩展相应的类扩展相应的类 设置配置文件设置配置文件 注册配置文件注册配置文件 后面重点讲 Yonyou Software Corporation 前台扩展按钮扩展 步骤 确认功能节确认功能节点入口类点入口类 扩展相应的类扩展相应的类 设置配置文件设置配置文件 注册配置文件注册配置文件 说明:非行业扩展的可增加参数名

16、称为:PluginBeanConfigFilePath,也可使用:PluginBeanConfigFilePath_开始后面加字符 行业扩展参数名称:PluginBeanConfigFilePath_Industry行业编码_CountryZone本地化编码,实现不同集团不同行业加载不同的行业的扩展配置文件。Yonyou Software Corporation 前台扩展按钮扩展 插入按钮配置基于PubApp Yonyou Software Corporation 前台扩展按钮扩展 替换按钮配置基于PubAppPubApp Yonyou Software Corporation 前台扩展按钮扩

17、展 替换按钮配置基于UI工厂2 Yonyou Software Corporation 前台扩展按钮扩展 删除按钮配置(pubapp无无)基于UI工厂2 Yonyou Software Corporation 前台扩展按钮扩展 拦截按钮配置基于PubApp 说明:xxx.xxx.SaveActionInterceptor 需实现 nc.ui.uif2.actions.ActionInterceptor Yonyou Software Corporation 前台扩展按钮扩展 拦截按钮配置基于UI工厂2 说明说明:extinterceptor_mediator 必须以preprocessor或者

18、mediator结尾 Yonyou Software Corporation 前台扩展按钮扩展 拦截器接口 public interface ActionInterceptor boolean beforeDoAction(Action action,ActionEvent e);void afterDoActionSuccessed(Action action,ActionEvent e);boolean afterDoActionFailed(Action action,ActionEvent e,Throwable ex);Yonyou Software Corporation 详绅功能

19、讲解 实体 属性 子实体 前台 按钮 UI事件 后台 业务规则 业务事件 Yonyou Software Corporation 前台扩展UI事件扩展 步骤 扩展相应的类扩展相应的类 设置配置文件设置配置文件 注册配置文件注册配置文件 Yonyou Software Corporation 前台扩展UI事件扩展 步骤 扩展相应的类扩展相应的类 设置配置文件设置配置文件 注册配置文件注册配置文件 重点讲解 Yonyou Software Corporation 前台扩展UI事件扩展 步骤 扩展相应的类扩展相应的类 设置配置文件设置配置文件 注册配置文件注册配置文件 说明:注册方式同按纽扩展。Yo

20、nyou Software Corporation 前台扩展UI事件 nc.ui.pubapp.uif2app.eventnc.ui.pubapp.uif2app.event AppUiStateChangeEvent.java UI状态改变 OrgChangedEvent.java 组细改变 PubAppEvent.java 事件基类 nc.ui.pubapp.uif2app.event.cardnc.ui.pubapp.uif2app.event.card CardBodyAfterEditEvent.java 卡片表体编辑后 CardBodyAfterRowEditEvent.java

21、卡片表体行编辑后 CardBodyAfterSortEvent.java 卡片表体排序后 CardBodyBeforeBatchEditEvent.java 卡片表体批编辑前 CardBodyBeforeEditEvent.java 卡片表体编辑前 CardBodyBeforeSortEvent.java 卡片表体排序前 CardBodyMenuActionEvent.java 卡片表体菜单点击 CardBodyRowChangedEvent.java 卡片表体行选择改变 CardBodyRowEditEvent.java 卡片表体行编辑后 CardBodyTabChangedEvent.ja

22、va 卡片表体页签改变 CardBodyTotalEvent.java 卡片表体汇总计算 CardHeadTailAfterEditEvent.java 卡片表头表尾编辑后 CardHeadTailBeforeEditEvent.java 卡片表头表尾编辑前 Yonyou Software Corporation 前台扩展UI事件 nc.ui.pubapp.uif2app.event.listnc.ui.pubapp.uif2app.event.list ListBodyAfterSortEvent.java 列表表体排序后 ListBodyBeforeSortEvent.java 列表表体排

23、序前 ListBodyDoubleClickEvent.java 列表表体鼠标双击 ListBodyRowChangedEvent.java 列表表体行改变 ListBodyTabChangedEvent.java 列表表体页签改变 ListBodyTotalEvent.java 列表表体汇总计算 ListHeadAfterSortEvent.java 列表表头排序后 ListHeadBeforeSortEvent.java 列表表头配徐前 ListHeadDoubleClickEvent.java 列表表头鼠标双击 ListHeadRowChangedEvent.java 列表表头行改变 L

24、istPanelLoadEvent.java 列表加载 Yonyou Software Corporation 前台扩展UI事件配置 property name=event value=nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent/Yonyou Software Corporation 前台扩展课埻练习 完善配置pubapp_ext_config.xml文件:实现新增自定义按钮,附件管理按钮替换,文件选择插入按钮,以及界面逻辑控制 练习60分钟 Yonyou Software Corporation 详绅功能讲解 实体 属

25、性 子实体 前台 按钮 UI事件 后台 业务规则 业务事件 Yonyou Software Corporation 后台扩展业务规则 参考nc.bs.extend.bprule.ExtendApproveIRule 实现以下接口:实现以下接口:public interface IRule void process(E vos);public interface IFilterRule E process(E vos);public interface ICompareRule void process(E vos,E originVOs);步骤 增加自定义业增加自定义业务规则务规则 业务规则配

26、置业务规则配置到数据库表到数据库表 Yonyou Software Corporation 后台扩展业务规则 扩展点 package nc.bs.train.extpurchase.plugin.bpplugin;import nc.impl.pubapp.pattern.rule.plugin.IPluginPoint;/*标准单据的扩展插入点 */public enum ExtpurchasePluginPoint implements IPluginPoint /*审批 */APPROVE,/*删除 */DELETE,/*新增 */INSERT,Yonyou Software Corpo

27、ration 后台扩展业务规则 *标准单据新增BP */public class AceExtpurchaseInsertBP public AggPurchaseVO insert(AggPurchaseVO bills)InsertBPTemplate bp=new InsertBPTemplate(ExtpurchasePluginPoint.INSERT);this.addBeforeRule(bp.getAroundProcesser();this.addAfterRule(bp.getAroundProcesser();return bp.insert(bills);/*新增后规则

28、 *param processor */private void addAfterRule(AroundProcesser processor)IRule rule=null;添加前规则 Yonyou Software Corporation 后台扩展业务规则配置原理 扩展方式 Yonyou Software Corporation 后台扩展业务规则-注册表pub_pluginitem 步骤 增加自定义业增加自定义业务规则务规则 业务规则配置业务规则配置到数据库表到数据库表 字段名 含义 取值示例 Vmodulename 模块名称 train Vcomponentname 业务组件名称 bil

29、l Vextendpointname 扩展点名称 nc.bs.train.quotation.plugin.bpplugin.QuotationPluginPoint.APPROVE Veventtype 扩展事件类型 before、after Vextendtype 扩展类型 addAfter、addBefore、replace Vtargetclass 扩展水平产品目标类 nc.bs.pubapp.pub.rule.ApproveStatusCheckRule vruleclass 扩展规则类 nc.bs.extend.bprule.ApproveSendMessageRule Local

30、type 本地化 Industrytype 行业化 Yonyou Software Corporation 后台扩展业务规则-注册表pub_pluginitem 步骤 增加自定义业增加自定义业务规则务规则 业务规则配置业务规则配置到数据库表到数据库表 insert into pub_pluginitem(pk_pluginitem,Vmodulename,Vcomponentname,Vextendpointname,Veventtype,Vextendtype,vruleclass)values(0001NC10000700001251,train,bill,nc.bs.train.extp

31、urchase.plugin.bpplugin.ExtpurchasePluginPoint.APPROVE,before,addAfter,nc.bs.extend.bprule.ApproveSendMessageRule);Yonyou Software Corporation 后台扩展默认说明 1.如果扩展类型添加前规则,而目标规则Vtargetclass为空,则表示:在所有前规则的前执行扩展的规则 2.如果扩展类型添加后规则,而目标规则Vtargetclass为空,则表示:在所有后规则后执行扩展的规则 Yonyou Software Corporation 详绅功能讲解 实体 属性

32、子实体 前台 按钮 UI事件 后台 业务规则 业务事件 Yonyou Software Corporation 后台扩展业务事件注册 步骤 增加自定义业增加自定义业务事件实现类务事件实现类 通过前台界面通过前台界面注册业务事件注册业务事件业务到数据库业务到数据库 编写实现类:编写实现类:public class ExtAddAfterListener implements IBusinessListener Override public void doAction(IBusinessEvent event)throws BusinessException /ExceptionUtils.wr

33、appBusinessException(测试ExtAddAfterListener!);ArrayList userArray=new ArrayList();String receiverId=AppContext.getInstance().getPkUser();NcUserInfo tempUserInfo=new NcUserInfo(receiverId,true,false,false);userArray.add(tempUserInfo);MessageUtil messageSend=MessageUtil.getInstance();messageSend.send(u

34、serArray,事件扩展后,您好,ExtAddAfterListener保存后消息测试);业务事件实现监听IBusinessListener Yonyou Software Corporation 后台扩展业务事件注册 步骤 增加自定义业增加自定义业务事件实现类务事件实现类 通过前台界面通过前台界面注册业务事件注册业务事件业务到数据库业务到数据库 通过该节点进行事件监听器注册 Yonyou Software Corporation 后台扩展业务事件注册 步骤 增加自定义业增加自定义业务事件实现类务事件实现类 通过前台界面通过前台界面注册业务事件注册业务事件业务到数据库业务到数据库 Yonyo

35、u Software Corporation 后台扩展业务事件原理 业务事件 bills=this.doInsert(bills);EventDispatcher.fireEvent(new BusinessEvent(beanid,IEventType.TYPE_INSERT_BEFORE,bills);EventDispatcher.fireEvent(new BusinessEvent(beanid,IEventType.TYPE_INSERT_AFTER,bills);Protected void doAfterFireEvent(AggregatedValueObject bills)派发前事件执行前插件 派发后事件执行后插件 Yonyou Software Corporation 后台扩展课埻练习 在后台,给单据审核添加前规则,发送消息 响应仓库的,新增前,新增后事件 练习60分钟 目录 案例场景介绍 实战演练 课程整体介绍 详细功能讲解 前台扩展 实体扩展 后台扩展 Yonyou Software Corporation 实战演练 参照UAP63培训-案例-课埻综合考核题.doc 练习120分钟 Yonyou Software Corporation

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com