资源预览内容
第1页 / 共17页
第2页 / 共17页
第3页 / 共17页
第4页 / 共17页
第5页 / 共17页
第6页 / 共17页
第7页 / 共17页
第8页 / 共17页
第9页 / 共17页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
UI工厂培训工厂培训Ui工厂简介: UI工厂是一套基于NC-UAP的UI开发框架。它的产生是通过对大量的业务节点的总结,把常见的UI进行分类,分别抽取其中公有的代码,形成不同的UI基类。UI工厂综合运用了单据模板,查询模板,打印模板,实现对这些基本构件的运用的最优化本技术资料版权属用友公司所有1.业务分析2.平台信息注册3.制作单据模板,查询模板4.编写代码5.Debug or run开发节点的一半步骤本技术资料版权属用友公司所有UI工厂基本结构本技术资料版权属用友公司所有1、父类: AbstractBDCardEventHDL ICardController, ISingleControllerisSingleDetail()是否单表体,=true单表体,=false单表头。2、分类: 单表头(仅有主表) 单表体(仅有子表)3、对于单表体,如果需要在加载界面的同时加载所有表体数据,则需在初始化时查询所有数单表界面单表界面本技术资料版权属用友公司所有据并设置缓冲,以下为示例代码:private void initializeData() try /查询所有数据String strWhere = isnull(dr,0)=0 ;SuperVO vos = getBusiDelegator().queryByCondition(MphSingledocVO.class,strWhere);HYBillVO billVO = new HYBillVO();/加载数据到单据billVO.setChildrenVO(vos);本技术资料版权属用友公司所有/加载数据到缓冲if (getBufferData().isVOBufferEmpty()getBufferData().addVOToBuffer(billVO);/加载elsegetBufferData().setCurrentVO(billVO);/更新/设置当前行 getBufferData().setCurrentRow(0); catch (Exception e) e.printStackTrace();本技术资料版权属用友公司所有 2、如果不需要在加载界面时加载所有表体数据,则在初始化时应将缓冲设为空,如private void initializeData() HYBillVO billVO = new HYBillVO();/单据子表VO设为空billVO.setChildrenVO(null);/加载数据到缓冲getBufferData().addVOToBuffer(billVO);/加载/设置当前行 getBufferData().setCurrentRow(0);本技术资料版权属用友公司所有3、前后台校验类: 在UI类getUserObject() 时设置。UIcheckClass.setStrBsCheckClass(nc.bs.zx8.check.ArchiveSeqBSChecker);4、对于单表体,保存单据后会回现所有表体数据,如果不希望在保存后回现所有表体数据,则需要在用户对象(getUserObject()中返回的类)中实现开关接口IRetCurrentDataAfterSave;本技术资料版权属用友公司所有单据管理界面单据管理界面1、基类: TBAbstractBillManageUI TBAbstractBatchManageEventHDL TBAbstractManageController ;2.两套按钮,卡片、列表3、a,走平台 b,不走平台public int getBusinessActionType() return IBusinessActionType.PLATFORM;protected BusinessDelegator createBusinessDelegator() return new BDBusinessDelegator();/return new BusinessDelegator();本技术资料版权属用友公司所有4.如果是走平台,需要生成动作脚本,到二次开发工具-单据管理。a.先增加单据类型,注册前台校验类。b.单据动作管理,增加单据动作c.单据动作执行脚本,注册动作脚本,首次新增,可从空动作脚本里面拷贝。生成后倒入本地。本技术资料版权属用友公司所有5.自定义按钮 ,按钮id号必须大于100,IBillButton是在0-100之间。 ITBButton是在700-800之间 UI protected void initPrivateButton()。Event onBoElse(); createBusinessAction()本技术资料版权属用友公司所有 6.如果单据为多子表,则主子表VO必须实现接口IExAggVO,或者继承TBAbstractExtAggVO,且业务代理类必须重写,继承创建前台界面业 务 委 托 类 , 在 该 类 中 重 载loadChildDataAry(String tableCodes, String key)来加载各页签数据;本技术资料版权属用友公司所有单据开发小结前提 导入数据字典,制作单据模板1.单据类型注册2.单据动作3.单据动作脚本对照主子单据审批人 vapproveid制单人 voperatorid单据号 vbillno5.单据号管理6.单据项目7.数据交换本技术资料版权属用友公司所有树管理界面树管理界面1、父类:;2、树管理界面的布局为左树右单据(卡片和列表);3、构造树的方法:本技术资料版权属用友公司所有实现接口IVOTreeDataByCode(按编码构造)或IVOTreeDataByID(按ID构造)创建TreeData类,在TreeData类的getTreeVO()中返回构造树的VO数组,并在UI类中重载createTreeData()返回TreeData类实例;4、要在树节点中同时显示编码和名称,只要在TreeData类的方法getShowFieldName()中返回“编码字段名+名称字段名”即可;本技术资料版权属用友公司所有5、如要更改树中根节点的显示名称,可在UI类中重载afterInit(),在该方法中调用modifyRootNodeShowName(“存货分类”);6、在UI中,选中节点后的事件处理可在afterTreeSelected(VOTreeNode node)中实现;WWW . UFSOFT . COM
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号