自定义参照开发规范
自定义参照可以定义参照的UI界面,也可以只定义参照的Model
1. 参照界面的定义:
参照分为表型、树型、树表型参照三种。继承了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 String[]{"pk_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的值。
相关推荐
UAP平台(NC65),自定义参照,手写代码。注意需要在数据库添加参照:select * from bd_refinfo where name like '%项目%' for update;
* 代码结构:NC6.3参照开发关键技术的代码结构展示了NC6.3的代码组织结构,包括nc.ui.bd.ref、nc.ui.bd.ref.busi、nc.ui.pub.beans、nc.vo.bd.ref、nc.vo.bd.refdatatemp、nc.bs.bd.ref和nc.itf.uap.busibean等模块...
下面将详细介绍NC65单据字段参照时多选开发的实现方法。 首先,需要在物料编码的编辑前事件中,将物料编码参照设置为可多选。可以通过在编辑前事件类中增加代码,例如: public void beforeEdit...
### nc65 UAP开发元数据--使用自定义档案 #### 概述 在nc65 UAP(统一应用平台)开发过程中,元数据管理是一项非常重要的任务。元数据不仅帮助开发者更好地组织和理解应用程序的数据结构,还为系统提供了一种高效...
在这个“NC参照联动代码例子”中,我们看到了一个关于如何实现参照联动功能的Java代码片段...这种代码结构对于理解和实现类似的业务逻辑具有指导意义,特别是在开发企业级应用时,参照联动和权限管理是不可或缺的部分。
UAP树形参照 package nc.ui.train.pub.ref; import nc.ui.bd.ref.AbstractRefTreeModel; public class CustClassRefModel extends AbstractRefTreeModel { public CustClassRefModel() { super(); } @...
本篇将详细阐述NC65的开发环境搭建、单据开发、扩展开发、流程开发、报表开发以及数据字典的使用,旨在帮助初学者全面理解和掌握NC65的开发流程。 一、开发环境构建 在NC65的开发过程中,首先需要搭建一个稳定的...
NC65参照开发文档,参考开发分为单表型,树型,树表型参照,此文档都有记录
- **内容概述**:这部分内容涵盖了NC中除单据开发外的其他关键技术点,如参照开发、公式计算等。 - **详细介绍**: - **6.1.1 参照开发** - **知识点**:参照机制原理、参照对象创建、UI显示方式。 - **详细说明*...
参照开发**:详细解释了如何开发单据之间的参照关系,以及如何自定义参照功能。 - **6.1.2. 单据号**:探讨了单据编号规则的设定,以及如何通过接口方法自动生成单据号。 - **6.1.3. 公式**:讲解了如何在NC系统...
UI工厂开发单据模式下如何自定义按钮? 10 十九.需要设置动作脚本的六个按钮 11 二十. 单据界面设置某些字段的显示与隐藏 11 二十一. 单据开发的一般步骤: 11 二十二. 界面数据访问 12 二十三.导出与导入数据库 12...
通常,查看日志输出、使用调试模式运行和查阅相关文档是解决这类问题的有效方法。 总的来说,"参照代码"和"AutoBulidExe"的使用涉及到了自动化构建、代码编译、数据处理(如CSV文件)以及问题排查等多个IT领域的...
### 用友NAP开发NC65中的模板转换——业务单元左侧树构造 #### 概述 本篇文章主要探讨在用友NAP(Nanyou Application Platform)开发框架下,如何进行NC65版本中业务单元左侧树的构建与转换。左侧树作为一种常见的...
用友NC UI工厂II开发原理及模式详解释,包含了基本设计思路、基本原理、三种Action贡献方式、典型元素介绍、模型层、视图层、常用功能接口介绍、UI工厂II典型开发模式、卡片型界面、列表型界面等
本书详细介绍了参照开发的基本概念、框架结构以及具体的实现方法。 **二、参照总体结构** 参照开发是用友U8 cloud V1.0的核心功能之一,它通过构建灵活的数据关联机制来提高系统的灵活性和扩展性。了解其总体结构...
NC65开发课件之单据模板知识点总结 单据模板属性设置 在NC65开发环境中,单据模板属性设置是指对单据模板的各种属性的设置,包括页签项目编辑、页签属性、字段属性、模板设置和公式设置等。通过单据模板属性设置,...
而对于自定义参照,它提供了对属性变化事件的监听机制,使得开发人员能够根据业务需求定制更为精细的参照行为,从而增强系统的互动性和功能性。 综上所述,NC客户化开发涉及的知识点广泛而深入,从审批流程设计到...
【NC65开发课件之流程开发】是针对用友网络科技股份有限公司的开发课程,主要讲解如何在NC65平台上进行流程开发。该课程聚焦Java技术,深入探讨审批流、业务流以及工作流的理论与实战应用。 1. **审批流**: - ...