电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

U8Cloud开发课件-红皮书-U8 cloud V1.0-参照开发技术红皮书.pdfVIP免费

U8Cloud开发课件-红皮书-U8 cloud V1.0-参照开发技术红皮书.pdf_第1页
1/17
U8Cloud开发课件-红皮书-U8 cloud V1.0-参照开发技术红皮书.pdf_第2页
2/17
U8Cloud开发课件-红皮书-U8 cloud V1.0-参照开发技术红皮书.pdf_第3页
3/17
红皮书-1.0参照开发技术新一代云ERP解决方案2目录一.前言.4二.参照总体结构..52.1.结构图.52.2.代码结构..52.2.1.nc.ui.bd.ref..52.2.2.nc.ui.bd.ref.busi.62.2.3.nc.ui.pub.beans..62.2.4.nc.vo.bd.ref.62.2.5.nc.vo.bd.refdatatemp..72.2.6.nc.bs.bd.ref..72.2.7.nc.itf.uap.busibean.7三.系统默认参照使用介绍.8四.自定义参照开发规范.94.1.参照界面的定义:..94.2.参照Model的定义.94.2.1.表型参照.94.2.2.树型参照设置..114.2.3.树表型参照..114.3.覆盖参照抽象Model中的方法的注意事项.12五.参照客户化功能的设定..135.1.UIRefPane中的设置:..135.2.refModle中的设置.135.3.注意事项.14六.参照值返回与事件处理..15新一代云ERP解决方案3}七.重要特性说明.167.1.参照节点名称常量接口..167.2.会计期间默认参照.167.3.控制参照某列数据的显示格式接口..167.4.如何注册..错误!未定义书签。新一代云ERP解决方案4一.前言统一提供各种基础档案的参照录入。提供定位、过滤、模糊查询、高级查询等功能。提供自定义参照定义功能。系统提供表型、树型、树表型参照。表型:以表格形式显示。树型:只能是有级次关系的档案,以树型显示。树表型:对于有分类的档案,一般也是大数据量的档案例,如存货档案。左树是分类树,右表是该分类下的数据。新一代云ERP解决方案5}二.参照总体结构2.1.结构图参照的类结构层次如图图1参照类结构层次图2.2.代码结构2.2.1.nc.ui.bd.ref定义接口IRefModel、IrefTreeModel、IrefGridTreeModel、IrefUI、IrefUINew、IrefQueryDlg、IrefQueryDlg2AbstractRefModelimplementsIRefModelAbstractRefTreeModel――>AbstractRefModelimplementsIRefTreeModelAbstractRefGridTreeModel――>AbstractRefTreeModelimplementsIRefGridTreeModelUIRefPaneUFRefManageIRefUINewAbstractRefModel(表)系统默认实现UFRefGridTreeUIAbstractRefDialog例如开户银行AccBankDefaulteRefModellAbstractRefTreeModel(树)AbstractRefGridTreeModel(树表)例如地区分类AreaclDefaultRefModel例如存货档案InvmandocDefaultRefModel新一代云ERP解决方案6AccBankDefaulteRefModel――>AbstractRefModelAreaclDefaultRefModel――>AbstractRefTreeModelInvmandocDefaultRefModel――>AbstractRefGridTreeModelUFRefColumnsDlg――>nc.ui.pub.beans.UIDialogUFRefGridTreeUI――>nc.ui.pub.beans.UIDialogimplementsIRefUINewAbstractRefDialog—〉nc.ui.pub.beans.UIDialogimplementsIRefUINewUFRefGridUINew――>AbstractRefDialogUFRefTreeUINew――>AbstractRefDialogUFRefManage参照控件控制参照对话框的中介类nc.ui.bd.ref.IRefColDispConverter参照列特殊显示格式装换接口类IBusiType参照业务信息定义2.2.2.nc.ui.bd.ref.busi具体业务参照,也是Uap默认提供的参照2.2.3.nc.ui.pub.beansRefPaneIconFactory参照ImageIcon工厂UIRefPane参照控件类UIRefPaneTextField参照控件的组成部分,文本框2.2.4.nc.vo.bd.refDocSealWherePartMng根据参照refNodeName取得参照的封存条件工具类IFilterStrategy参照过滤数据策略。参照提供设置一些主键,参照的查询结果按策略过滤的功能IRefAutoMatchMode参照模糊匹配模式RefColumnDispConvertVO参照列数据特殊显示配置VORefcolumnVO参照栏目业务对象子对象RefException参照异常类RefIconConfigVO参照树显示图标配置VORefNodeNameConstUAP默认参照常量RefQueryResultVO参照数据,参照栏目信息复合查询VO新一代云ERP解决方案7}RefQueryVO参照查询数据信息VOReftableVO参照栏目业务对象主对象RefVO_mlang参照多语言自动翻译配置对象2.2.5.nc.vo.bd.refdatatempRefdatatempVO参照临时表数据VO2.2.6.nc.bs.bd.refRefImpl参照数据查询实现类ReftableImpl参照栏目数据查询实现类2.2.7.nc.itf.uap.busibeanIRef参照数据查询服务接口IRefForTempTable参照从临时表查询接口,需要支持事务处理IReftable参照栏目查询服务接口新一代云ERP解决方案8三.系统默认参照使用介绍系统中存在大量的基本档案,与之对应,每种基本档案都配置了相应的参照。使用方法:UIRefPane是一个控件UIRefPaneref=newUIRefPane();Ref.setRefNodeName(nc.vo.bd.ref.RefNodeNameConst.DEPTDOC);//部门档案这样就定义好了一个部门档案参照。系统提供的RefNodeName请参见nc.vo.bd.ref.RefNodeNameConst新一代云ERP解决方案9}四.自定义参照开发规范参照支持自定义参照的定义。自定义参照可以定义参照的UI界面,也可以只定义参照的Model4.1.参照界面的定义:参照分为表型、树型、树表型参照三种。继承了UIDialog并实现了IRefUINew接口。程序员可自定义参照界面,最好也继承UIDialog,须实现IrefUINew接口。4.2.参照Model的定义对应与3种类型的参照,Model也有3个抽象类:表型:AbstrarctRefModel树型AbstractRefTreeModel树表型AbstractRefGridTreeModel要自定义不同类型参照Model,请继承相关的抽象类。并设置如下属性:4.2.1.表型参照(黑体为必设项)i.如果需要distinct短语,或其他断语:setStrPatch("distinct");如果需要公司主键(一定在setWherePart前执行,对于默认参照在设置pk_corp后,还须重新设定setWherePart):setPk_corp(公司主键);setWherePort(……);设置参照名(弹出窗口标题),可以和RefNodeName不同:setRefTitle(参照名)新一代云ERP解决方案10ii.设置select子句:1//可显示字段setFieldCode(newString[]{"bd_psndoc.psncode","bd_psndoc.psnname","bd_deptdoc.deptname"});//不可显示字段――如主键setHiddenFieldCode(newString[]{"pk_corp"});iii.中文名称――表头和栏目用setFieldName(newString[](“人员代码”,”姓名”,”部门名称”));iv.设置from子句:setTableName("bd_psndocleftouterjoinbd_deptdoconbd_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(字段名);新一代云ERP解决方案11}xiii.设置助记码字段名:setMnecode(字段名数组)xiv.设置组织类型和组织主键,对于主体账簿类型的档案适用如(会计科目)setPk_GlOrgBook(组织类型,组织)4.2.2.树型参照设置(同表型参照的设置,表型参照的必输部分一定要输入。树形设置group子句无效)指定编码规则(如果为空,则按上下级关系构造树必须指定父字段,子字段):setCodingRule("222222");指定父字段名:setFatherField(字段名)必输一项,否则没有分级规则。指定子字段名:setChildField(字段名)指定根名(默认和参照名相同):setRootName(根名);4.2.3.树表型参照(黑体为必设项)(1)设置树数据i.setClassFieldCode(字段名数组);ii.setClassFieldName(表名)iii.setClassWherePart(where子句)iv.SetOrderPart(Order子句)v.SetClassJoinField(要和表关联的字段名)vi.SetClassDefaultFieldCount(数值)(树节点显示字段默认为2)vii.指定定编码规则:如果为空,按上下级关系setCodingRule("222222");viii.指定父字段名新一代云ERP解决方案12setFatherField(字段名)ix.指定子字段名setChildField(字段名)x.指定根名setRootName(根名);(2)设置表数据(同表型参照的设置,表型参照的必输部分一定要输入。下面只列出不同的属性)i.设定和树节点数据关联的字段setDocJoinField(字段名)ii.设置精确匹配:默认精确匹配(树上选择一个节点后,查询表数据是否为精确匹配。)setExactOn(boolean)iii.设定读表的树节点最小级次:默认1(末级节点一定会读表数据,其他情况要大于等于该值是才读数据)setExpandLevel(int)如果你已经定义好了UI和Model部分,恭喜你,自定义参照已基本定义完成。使用时在进行如下设置即可:UIRefPaneref=newUIRefPane();Ref.setRefUI(自定义界面,一般不需定义用系统默认的);Ref.setRefModel(自定义参照模型)4.3.覆盖参照抽象Model中的方法的注意事项nc.ui.bd.ref.AbstractRefModel.getData()参照默认是按照设定好的Sql语句到后台查询数据,如果想自定义取数,可以覆盖getData()方法。返回自定义数据即可。但要注意,参照的数据默认情况下是有内存级缓存的,缓存的key为AbstractRefModel.getRefSql()的值,如果该值为null,那参照系统将不会缓存数据。如果要使用参照内存缓存,getRefSql()要有非null的值。新一代云ERP解决方案13}五.参照客户化功能的设定在初始化一个参照以后,即在本文三或四段落中的红色部分定义好后,无论是系统默认参照还是自定义参照,才可以定制参照的其他功能。5.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);//树表参照是否允许选择不同树节点下的数据。5.2.refModle中的设置setUseDataPower(boolean);//设置参数是否自动关联基本档案数据权限setSealedDataShow(boolean);//设置封存数据是否显示setRefQueryDlgClaseName(String);//设置参照查询类名称(参照的查询功能)setLocQueryEnable(boolean);//树表参照,在启用查询功能后,是否启用定位查询功能新一代云ERP解决方案14setDynamicColClassName(String);//是否为动态列参照。setFormulas(String[][]formulas);//设置公,用于参照内容转换;setDispConvertor(java.util.HashtablenewDispConvertor);//用于参照内容转换的影射表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,intfilterStrategy)5.3.注意事项1.参数区分大小写。2.设置字段列表和字段时(主键、编码、名称等),注意保持一致。(同时加别名或不加别名)。3.设置公司主键(setPk_corp)后必须设置setWherePart语句。默认参照建议用setRefNodeName(参照名,公司主键),然后设置/追加where子句4.where语句开头不要包含where短语。新一代云ERP解决方案15}六.参照值返回与事件处理在UIRefpane中i.照编码:getRefCode和getRefCodesii.参照名称:getRefName和getRefNamesiii.参照主键:getPK和getPKsiv.参照VO:getVO和getVOs(必须实现convertToVO(Vector)方法才能获取,在参照model中实现)v.任意列:getValue(字段名)和getValues(字段名)(字段名必须在字段列表中)参照支持属性变化事件。i.如果需要监听UIRefPane事件,需要实现ValueChangedListener接口,ii.加入监听addValueChangedListener(ValueChangedEvent)iii.值改变将触发ValueChangedEvent新一代云ERP解决方案16七.重要特性说明7.1.参照节点名称常量接口nc.vo.bd.ref.RefNodeNameConst参照初始化举例:UIRefPanerefPane=newUIRefPane();//公司目录参照。refPane.setRefNodeName(ref.RefNodeNameConst.CORP)7.2.会计期间默认参照会计期间参照为树表形。实现:左树为默认会计期间方案下的会计年度,右表为该会计年度下的会计月份。会计期间参照的使用要通过setClassWherePart来改变会计期间方案。对于只使用默认会计期间方案的地方不用修改。修改方法:((AbstractRefTreeModel)UIRefPane.getRefMole()).setClassWherePart("PK_ACCPERIODSCHEME='"+pk_accperiodscheme+"'")7.3.控制参照某列数据的显示格式接口如果要控制某列每行数据的显示格式,如控制数量列的显示精度。可以实现nc.ui.bd.ref.IRefColDispConverter接口。已实现的例子可以参考nc.ui.bd.ref.busi.AccidDefaultRefModel新一代云ERP解决方案17}7.4.如何注册默认参照注册,系统默认参照要统一注册到bd_refinfo表中,才能引用。新一代云ERP解决方案NewGenerationofCloudERPSolution用友网络科技股份有限公司YonyouNetworkTechCo.Ltd.

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

U8Cloud开发课件-红皮书-U8 cloud V1.0-参照开发技术红皮书.pdf

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信