用友NC报表开发教程全

上传人:工**** 文档编号:513096562 上传时间:2022-08-14 格式:DOC 页数:146 大小:9.60MB
返回 下载 相关 举报
用友NC报表开发教程全_第1页
第1页 / 共146页
用友NC报表开发教程全_第2页
第2页 / 共146页
用友NC报表开发教程全_第3页
第3页 / 共146页
用友NC报表开发教程全_第4页
第4页 / 共146页
用友NC报表开发教程全_第5页
第5页 / 共146页
点击查看更多>>
资源描述

《用友NC报表开发教程全》由会员分享,可在线阅读,更多相关《用友NC报表开发教程全(146页珍藏版)》请在金锄头文库上搜索。

1、用友NC报表教程全5X&6X用友NC-UAP2019-03-13目 录第一章前言11.背景12.入门23.小结8第二章对象管理91.对象树91.1对象编辑101.2对象导入导出102.数据源113.首选项144.资源权限15第三章查询模型161.参数控制172.SQL设计192.1数据字典192.2向导设计202.3手工设计253.数据交叉273.1投影交叉283.2旋转交叉314.代码嵌入364.1SQL整理364.2数据加工384.3穿透规如此425.查询执行486.查询集成506.1复合查询506.2物化查询516.3合并查询537.数据权限53第四章格式模型551.引用查询562.格式

2、设计572.1控件管理572.2属性绑定642.3行列格式设计662.4预定义数据处理693.报表浏览763.1界面初始化763.2数据处理783.3控件连动823.4报表打印83第五章报表发布861.发布为功能节点861.1 手动挂接861.2 向导发布872.轻量化报表展现89第六章插件开发941生成插件942设计插件1003管理插件1004开发小结101第七章查询引擎V5新特性1021021021021034.1参数重构1034.2分页技术1074.3SQL代码辅助器1104.4数据字典级别权限控制111114115附录1171.查询引擎FAQ之参数篇1172.交叉表的使用样例1193.

3、查询与格式对象安装盘预置方案1244.查询引擎报表联查业务节点应用方案1255.查询引擎与三大模板集成方案1306.基于QE底层的查询个性化设计方案1387.个性化控制类JAVADOC143第一章 前言查询引擎Query Engine,简称QE的功能定位是,一个面向高级实施人员和专业开发人员的查询建模产品,可以全面支持复杂查询的设计和个性化的报表展现。1. 背景查询引擎在功能流程和查询模型方面参考了其前身产品“自定义查询的理念,在界面设计方面汲取了Form Design的思路,同时融入了DW的技术,并依赖于通用的NC数据字典。(1) 自定义查询:NC于2000年开始研发的一个面向中级实施人员和

4、二次开发人员的查询报表工具,由查询管理中心、报表格式设计、报表浏览、报表权限控制和数据加工厂几个模块构成,此工具首次提出了基于数据字典来管理数据并建立查询对象的思路,能够提供比拟丰富的查询分析、数据加工和报表展现功能。(2) Form Design:NC于2003年开始研发的一种界面开发模式,定位于支持功能建模。(3) 数据字典:一种管理数据库逻辑结构的机制,存在于物理数据库和用户接口之间。NC于2002年开始研发数据字典,最开始只用于自定义查询,后来经过功能强化和逐步推广,成为现在的DDCData Dictionary Control。其功能包括数据库对象的管理与编辑、数据字典的解析生成等。

5、(4) 数据仓库:NC的一个独立产品,能够按照指定的入仓规如此从多个业务数据库抽取数据,并通过入仓服务定期把数据加载到数据仓库。产品的需求背景如下所述。(1) 复杂查询报表的需求:在实际的业务查询中,开发人员经常会遇到以下一些棘手的问题复杂的SQL,从不同的查询条件得到完全不同的查询结果,查询结果的复合,业务逻辑代码和大量数据加工算法的介入,各种各样的数据交叉和数据处理等等;在展现格式方面,通常要求灵活、友好、可视化、个性化的设计界面,丰富的展现控件和统计图表,依据数据对单元格、列表头和行表头的格式进展设置,表单控件之间的连动等等。这一切都对早期的查询报表工具提出了艰巨的要求。(2) 二次开发

6、的需求:随着NC对行业用户的拓展,由业务组程序员在通用软件中针对每个查询报表需求进展开发的方案已经变得不太现实,一线人员越来越频繁的面临来自用户的个性化报表实施压力。实施团队迫切要求一个强大而且易用的二次开发工具,尽管功能的强大和易用往往存在着一些矛盾。(3) 工具整合的需求:自定义查询在推出后,在实施中得到了一定的应用,但局限于出复杂程度不太高的查询报表。IUFO是公司的传统报表产品,它更偏重于报表的管理方面,比如报表的发布、审核、校验等等。数据仓库使查询的应用由单数据源拓展到了多数据源,并且提供定时同步业务数据的功能。为了有效地实现资源共享,结合发挥各个工具的优势,NC决策层一直在推动相关

7、产品的整合。(4) 查询分析软件开展潮流的需求:近几年来,查询分析、数据挖掘、商业智能的研究不论在企业应用还是在学术领域都成为热点,ERP软件的数据建模和查询建模功能已经成为代表产品水平的重要指标。2. 入门现在让我们来看一个最根本的查询样例,作为入门,我们知道在任何ERP系统中都存在公司和用户的概念,下面我们做一个查询某公司下用户的查询。1. 进入客户化自定义查询查询引擎管理界面图 一12. 在“查询设计树下新建一个,“jl测试用例,并在这个下面创建一个查询对象用户查询。图 一23. 选择参数定义,这里我们定义一个名为corp,显示名为“公司的参数,注意这里的数据类型选择编码参照,枚举项中选

8、择这个编码参照的类型,我们将根据这个参数选取的值来确定待选公司,并且在查询中根据这个参数选取的值来进展结果筛选。图 一34. 制作查询定义,制作一个查询定义的具体流程实际上就是为了生成一条SQL语句,查询数据源去获取数据,但是这个生成SQL语句的过程被我们用图形化界面代替了,用户只需要了解根本的SQL规如此就可以了,无需亲自手动去写纷繁复杂的SQL语句,同时我们也支持手工SQL。图 一4用户可以通过增加表来增加数据字典中的数据表,也可以点击临时表引用前面做好的查询定义对象,引用查询定义对象相当于设计了一个复合查询,关于复合查询的定义参见第二章第六节查询集成。这里我们选择增加表来增加一个sm_u

9、ser表,这X表里面存储的是NC系统的用户信息。图 一5在选择字段页签下选择“用户名等字段,这里的字段表达式可以是某表的字段,也可以是字段的运算或者函数处理表达式,例如:len(sm_user.user_name),就是代表user_name这个字段的字符串长度。显示名可以是用户自定义的字符串,将来显示在报表的列表头区域。图 一6前面我们提到这个查询必须按照公司为条件,过滤查询出来的用户,实际上就是为SQL语句生成一个where条件,我们支持两种条件,固定和待定,顾名思义固定条件写好之后就不能变化,而待定条件是跟参数设置相关的,可以根据用户输入参数变化。我们在这里选取待定条件,用户表的公司编码

10、字段等于前面我们设置过的corp。关于查询定义的设计后面的章节将有更详细的论述,这里只介绍最根本的功能。5. 制作格式设计图 一7新建格式设计文件夹以与对象的方式与新建查询对象的方法一样,这里略去不讲。生成新的格式设计对象之后可点菜单中的界面模型引用查询,来绑定我们刚刚做好的查询设计对象“用户查询。图 一8选取刚刚做好的查询之后我们在点击界面模型格式设计,这里可以选取我们预置的几种界面模型之一,例如这X表我们选取表头+表体格式。图 一9最后点菜单中的浏览,让我们浏览一下制作出的第一X报表,图 一10点浏览之后我们会看到一个选择参数的对话框,在这个参数对话框中我们可以设置自己的参数值,比如我们选

11、取sunny_corp这个公司,点确定,如此可以浏览这个公司下的所有用户,如如下图。图 一11选择表头区域的公司参照,我们可以浏览不同公司下的用户。至此一个最简单的自定义查询已经制作完毕,我们可以将做好的查询作为独立节点发布到NC系统下供用户使用。3. 小结在本章中我们介绍了查询引擎的开展历史以与产品的需求背景,通过一个入门样例,让用户初步了解了查询引擎的根本功能,在后面的章节中我们将详细介绍查询引擎的各项功能,并通过一些样例使得用户能够使用本产品进展快速便捷的二次开发。如下图是对查询引擎开发流程的一个示意:图 一12 查询建模体系第二章 对象管理1. 对象树查询引擎的管理调度功能由主界面完成

12、,主界面左侧为一棵对象树,树上挂有代表查询对象和界面对象的节点,右侧为显示当前选中对象根本属性的属性框。图 二1 管理调度主界面 对象树ObjectTree:对象树是一个支持层次管理的数据结构,它维护自身的加载、存储和节点的管理,每个节点的信息主体存储在数据库的一个BLOB字段中。对象树上的节点通常分为Folder和对象两类,并支持快速定位在树获得焦点时用ctrl-f快捷键可弹出查找对话框,支持按编码或名称来模糊查找。 属性框ObjectInspector:一个自动显示对象的属性和取值的控件,取值局部会根据属性的数据类型采用不同的渲染器来展示,不同的编辑器来编辑。1.1 对象编辑的编辑操作如下

13、:(1) 增加/删除/修改:在根节点或节点之下可以增加,删除时会删除下的所有对象。的可修改属性为名称。同一下的和对象不能重名。(2) 复制/剪切/粘贴:在查询子树或格式子树下,可以将一个与其下属内容从某位置拷贝或移动到另一个位置。对象分为查询对象和格式对象,其编辑操作如下:(1) 增加/删除/修改:在根节点或节点之下可以增加查询对象或者界面对象。前者的属性为编码、名称和数据源,后者的属性为编码和名称,其中编码一经使用,就不再建议作任何修改,因为此编码可能被其它对象引用。请注意对象的唯一标识是编码而不是显示名称,一个查询对象或是格式设计对象可以有多个显示名称但是只能有唯一的编码。(2) 复制/剪

14、切/粘贴:在查询或格式子树下,可以将一个对象从某位置拷贝或移动到另一个位置。请注意这里的复制粘贴都是在同一棵树下的,如果复制格式设计对象到查询对象树下如此会出错。1.2 对象导入导出(1) 导出:选中某个对象,可将其导出为XML文件,文件里描述了对象的所有信息;也可选中某个,将该下所有的子和对象都导出到指定位置保持原有的级次。(2) 导入:在选中某个之后,导入功能可用。导出的XML文件,可以导入到当前下。此功能可用于对象的跨数据库复制。导入时,我们可以选择单个文件,也可以选择一组文件或,导入后会保存原的级次结构。需要注意的是:l 在导出查询对象或界面对象时,需将其引用的查询对象一并导出才有意义

15、;l 导入不能违反对象主键与名称的唯一性约束。如下图显示了某查询对象所导出的XML文件。图 二2 导出XML文件(3) 在导入导出的过程中需要注意的一个问题是数据源的问题,在实际应用中经常出现这样的场景:实施人员在自己的环境数据源为home下做了一对查询模型设计和格式设计,然后导出这一对设计对象为xml文件,然后到用户的环境数据源为customer下执行导入,发现无法查出数据,并且提示“找不到查询所用数据源,这是因为导出成XML文件的时候,记录在XML文件中的执行数据源是home,而客户的数据源名称是customer,与查询模型设计中的数据源不符合,这样查询模型就无法到正确的数据源下去取数,可以在弹出的提示框“是否修改执行数据源为当前数据源,选择“是,如此该查询设计模

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

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号