已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
参照开发技术红皮书NC-UAP 5.0用友NC-UAP2019-11-221第 页目 录第一章前言1第二章参照总体结构图21.结构图22.代码结构22.1nc.ui.bd.ref22.2nc.ui.bd.ref.busi32.3nc.ui.pub.beans32.4nc.vo.bd.ref32.5nc.vo.bd.refdatatemp32.6nc.bs.bd.ref42.7nc.itf.uap.busibean4第三章系统默认参照使用介绍5第四章自定义参照开发规范61.参照界面的定义:62.参照Model的定义62.1表型参照62.2树型参照设置72.3树表型参照83.覆盖参照抽象Model中的方法的注意事项9第五章参照客户化功能的设定101.UIRefPane中的设置:102.refModle中的设置103.注意事项11第六章参照值返回与事件处理12第七章V5 最新变化说明131.新增参照节点名称常量接口132.会计期间默认参照的变化133.控制参照某列数据的显示格式接口13第 13 页第一章 前言统一提供各种基础档案的参照录入。提供定位,过滤,模糊查询,高级查询等功能。提供自定义参照定义功能。系统提供表型、树型、树表型参照。表型:以表格形式显示。树型:只能是有级次关系的档案,以树型显示。树表型:对于有分类的档案,一般也是大数据量的档案例,如存货档案。左树是分类树,右表是该分类下的数据。 第二章 参照总体结构图1. 结构图UIRefPaneUFRefManageIRefUINewAbstractRefModel(表)系统默认实现UFRefGridTreeUIAbstractRefDialog例如 开户银行AccBankDefaulteRefModel lAbstractRefTreeModel(树)AbstractRefGridTreeModel(树表)例如 地区分类AreaclDefaultRefModel例如 存货档案 InvmandocDefaultRefModel参照的类结构层次如图2. 代码结构2.1 nc.ui.bd.ref定义接口IRefModel、IrefTreeModel、IrefGridTreeModel、IrefUI、IrefUINew、IrefQueryDlg、IrefQueryDlg2AbstractRefModel implements IRefModelAbstractRefTreeModelAbstractRefModel implements IRefTreeModelAbstractRefGridTreeModelAbstractRefTreeModel implements IRefGridTreeModelAccBankDefaulteRefModelAbstractRefModelAreaclDefaultRefModelAbstractRefTreeModelInvmandocDefaultRefModelAbstractRefGridTreeModelUFRefColumnsDlgnc.ui.pub.beans.UIDialogUFRefGridTreeUInc.ui.pub.beans.UIDialog implements IRefUINewAbstractRefDialognc.ui.pub.beans.UIDialog implements IRefUINewUFRefGridUINew AbstractRefDialogUFRefTreeUINew AbstractRefDialogUFRefManage 参照控件控制参照对话框的中介类nc.ui.bd.ref.IRefColDispConverter 参照列特殊显示格式装换接口类IBusiType 参照业务信息定义2.2 nc.ui.bd.ref.busi具体业务参照,也是Uap默认提供的参照2.3 nc.ui.pub.beansRefPaneIconFactory参照ImageIcon工厂UIRefPane 参照控件类UIRefPaneTextField 参照控件的组成部分,文本框2.4 nc.vo.bd.refDocSealWherePartMng根据参照refNodeName取得参照的封存条件工具类IFilterStrategy参照过滤数据策略。参照提供设置一些主键,参照的查询结果按策略过滤的功能IRefAutoMatchMode参照模糊匹配模式RefColumnDispConvertVO参照列数据特殊显示配置VORefcolumnVO参照栏目业务对象子对象RefException参照异常类RefIconConfigVO参照 树显示图标配置VORefNodeNameConst UAP默认参照常量RefQueryResultVO参照数据,参照栏目信息复合查询VORefQueryVO参照查询数据信息ReftableVO 参照栏目业务对象主对象RefVO_mlang 参照多语言自动翻译配置对象2.5 nc.vo.bd.refdatatempRefdatatempVO 参照临时表数据VO2.6 nc.bs.bd.refRefImpl 参照数据查询实现类ReftableImpl 参照栏目数据查询实现类2.7 nc.itf.uap.busibeanIRef 参照数据查询服务接口IRefForTempTable 参照从临时表查询接口,需要支持事务处理IReftable 参照栏目查询服务接口第三章 系统默认参照使用介绍NC系统中存在大量的基本档案,与之对应,每种基本档案都配置了相应的参照。使用方法:UIRefPane是一个控件UIRefPane ref = new UIRefPane();Ref.setRefNodeName(nc.vo.bd.ref.RefNodeNameConst.DEPTDOC);/部门档案这样就定义好了一个部门档案参照。系统提供的RefNodeName请参见nc.vo.bd.ref.RefNodeNameConst第四章 自定义参照开发规范参照支持自定义参照的定义。自定义参照可以定义参照的UI界面,也可以只定义参照的Model1. 参照界面的定义:参照分为表型、树型、树表型参照三种。继承了UIDialog并实现了IRefUINew接口。程序员可自定义参照界面,最好也继承UIDialog,须实现IrefUINew接口。2. 参照Model的定义对应与3种类型的参照,Model也有3个抽象类:表型: AbstrarctRefModel树型 AbstractRefTreeModel树表型 AbstractRefGridTreeModel要自定义不同类型参照Model ,请继承相关的抽象类。并设置如下属性:2.1 表型参照(黑体为必设项)i. .如果需要distinct短语,或其他断语:setStrPatch(distinct);如果需要公司主键(一定在setWherePart前执行,对于默认参照在设置pk_corp后,还须重新设定setWherePart):setPk_corp(公司主键);setWherePort();设置参照名(弹出窗口标题),可以和RefNodeName不同:setRefTitle(参照名)ii. 设置select子句:1/可显示字段setFieldCode(new String bd_psndoc.psncode, bd_psndoc.psnname,bd_deptdoc.deptname );/不可显示字段如主键setHiddenFieldCode(new Stringpk_corp);iii. 中文名称表头和栏目用setFieldName(new String(“人员代码”,”姓名”,”部门名称”);iv. 设置from子句:setTableName(bd_psndoc left outer join bd_deptdoc on bd_psndoc.pk_deptdoc=bd_deptdoc.pk_deptdoc );v. 设置where子句:setWherePart( bd_psndoc.pk_corp= + getPk_corp() + );注:需要根据不同的公司返回查询,参数中用getPk_corp()方法。 在原setWherPart的基础上追加where子句:addWherePart();注:每次都从原where中追加,不允许连续追加where子句。vi. 设置group子句:(默认为空)setGroupPart();vii. 设置order子句:(默认为第一列)setOrderPart();viii. 前几列在表中显示:(默认前2列)setDefaultFieldCount(2);ix. 设定主键字段:主键字段必须在setHiddenFieldCode或setFieldCode已设定setPkFieldCode(bd_psndoc.pk_psndoc);x. 设定界面输入字段:(默认为第一列)setBlurField(字段名);xi. 设定参照代码字段:(默认为第一列)setRefCodeField(字段名);xii. 设定参照名称字段:(默认为第二列)setRefNameField(字段名);xiii. 设置助记码字段名:setMnecode(字段名数组)xiv. 设置组织类型和组织主键,对于主体账簿类型的档案适用如(会计科目)setPk_GlOrgBook(组织类型, 组织)2.2 树型参照设置(同表型参照的设置,表型参照的必输部分一定要输入。树形设置group子句无效)指定编码规则(如果为空,则按上下级关系构造树必须指定父字段,子字段):setCodingRule(222222);指定父字段名:setFatherField(字段名)必输一项,否则没有分级规则。指定子字段名:setChildField(字段名)指定根名(默认和参照名相同):setRootName(根名);2.3 树表型参照(黑体为必设项)设置树数据i. setClassFieldCode(字段名数组);ii. setClassFieldName(表名)iii. setClassWherePart(where子句)iv. SetOrderPart(Order子句)v. SetClassJoinField(要和表关联的字段名)vi. SetClassDefaultFieldCount(数值)(树节点显示字段默认为2)vii. 指定定编码规则:如果为空,按上下级关系setCodingRule(222222);viii. 指定父字段名setFatherField(字段名)ix. 指定子字段名setChildField(字段名)10.指定根名setRootName(根名);设置表数据(同表型参照的设置,表型参照的必输部分一定要输入。下面只列出不同的属性)i. 设定和树节点数据关联的字段setDocJoinField(字段名)ii. 设置精确匹配:默认精确匹配(树上选择一个节点后,查询表数据是否为精确匹配。)setExactOn(boolean)iii. 设定读表的树节点最小级次:默认1(末级节点一定会读表数据,其他情况要大于等于该值是才读数据)setExpandLevel(int)如果你已经定义好了UI和Model部分,恭喜你,自定义参照已基本定义完成。使用时在进行如下设置即可:UIRefPane ref = new UIRefPane();Ref.setRefUI(自定义界面,一般不需定义用系统默认的);Ref.setRefModel(自定义参照模型)3. 覆盖参照抽象Model中的方法的注意事项nc.ui.bd.ref.AbstractRefModel.getData() 参照默认是按照设定好的Sql语句到后台查询数据,如果想自定义取数,可以覆盖getData() 方法。返回自定义数据即可。但要注意,参照的数据默认情况下是有内存级缓存的,缓存的key为AbstractRefModel.getRefSql()的值,如果该值为null,那参照系统将不会缓存数据。如果要使用参照内存缓存,getRefSql()要有非null的值。第五章 参照客户化功能的设定在初始化一个参照以后,即在本文三或四段落中的红色部分定义好后,无论是系统默认参照还是自定义参照,才可以定制参照的其他功能。1. UIRefPane中的设置:setToolTipText(String);/设置参照控件的toolTipsetMaxLength(int);/设置输入字符的最大长度,默认20;setEditable(boolean);/设置参照是否可编辑setEnabled(boolean);/设置参照是否可以使用setDelStr(String);/设置参照输入框不能输入的字符串。setColor(Color);/设置参照输入框的背景色。setCacheEnabled(boolean);/是否使用缓存setMultiSelectedEnabled(boolean);/是否允许多选择setAutoCheck(boolean);/是否自动解析输入的参照数据setButtonFireEvent(boolean);/按钮选择数据后是否触发ValueChanged事件setNotLeafSelectedEnabled(Boolean);/非末级节点是否可选择(对树参照有效)setIsCustomDefined(boolean);/是否为用户自定义参照模型setIncludeSubShow(boolean);/树型参照是否包含下级复选框是否显示setMultiCorpRef(boolean);/树表参照是否显示公司选项(在参照中动态切换公司)setTreeGridNodeMultiSelected(boolean);/树表参照是否允许选择不同树节点下的数据。2. refModle中的设置setUseDataPower(boolean) ;/设置参数是否自动关联基本档案数据权限setSealedDataShow(boolean);/设置封存数据是否显示setRefQueryDlgClaseName(String);/设置参照查询类名称(参照的查询功能)setLocQueryEnable(boolean);/树表参照,在启用查询功能后,是否启用定位查询功能setDynamicColClassName(String);/是否为动态列参照。setFormulas(String formulas);/设置公,用于参照内容转换;setDispConvertor(java.util.Hashtable newDispConvertor);/用于参照内容转换的影射表 setMatchField(String);/设置参照setpk时匹配的字段getRefVO_mlang();/为多语言添加此方法, 请覆盖此方法返回要翻译字段数组。详见DefaultRefModel_multiLangaddWherePart(String);参照在运行中动态添加过滤条件,每次在原始的WherePart上添加对参照数据按指定主键数组过滤。参数说明:newM_filterPks 要过滤的主键数组 filterStrategy 过滤策略IFilterStrategy.INSECTION = 0; /参照数据集与过滤数据集的交集IFilterStrategy. REFDATACOLLECT_MINUS_INSECTION = 1; /参照数据集减参照数据集与过滤数据集的交集AbstractRefModel.setFilterPks(java.lang.String newM_filterPks, int filterStrategy)3. 注意事项1 参数区分大小写。2 设置字段列表和字段时(主键、编码、名称等),注意保持一致。(同时加别名或不加别名)。3 设置公司主键(setPk_corp)后必须设置setWherePart语句。默认参照建议用setRefNodeName(参照名,公司主键),然后设置/追加where子句4 where语句开头不要包含where短语。第六章 参照值返回与事件处理在UIRefpane 中i. 照编码:getRefCode和getRefCodesii. 参照名称:getRefName和getRefNamesiii. 参照主键:getPK和getPKsiv. 参照VO:getVO和getVOs (必须实现convertToVO (Vector)方法才能获取,在参照model中实现)v. 任意列:getValue(字段名)和getValues
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47518-2026分布式计算算力资源描述
- 急性职业中毒应急救援处置指南
- 中医热敷理疗操作规范手册
- 甜菜纸筒育苗移栽栽培方案
- 淫羊藿幼苗移栽定植技术规程
- 喷雾器喷头清洗维护规范
- 复合肥料采购验收质量检测规程
- 事故案例警示教育学习管理办法
- 人体成分分析数据应用操作规范
- 妇科调理理疗服务指引
- 公司小药箱物品管理制度
- 诊所收费室管理制度
- 语文●全国Ⅰ卷丨2024年普通高等学校招生全国统一考试语文试卷及答案
- CJ/T 192-2017内衬不锈钢复合钢管
- 2025年电工三级(高级工)理论100题及答案
- 车库金刚砂地坪施工的防滑措施
- 2025年《家校共育共话成长》一年级下册家长会课件
- 第二单元第1课《观照自然》教学设计 2025人美版美术七年级下册
- 车间装配知识培训课件
- 王海明新伦理学课后答案及复习资料
- 高血压患者围手术期的护理
评论
0/150
提交评论