第一篇:uap63自定义参照
自定义参照开发,例如栏目管理中信息员,就是自定义参照开发,它的开发步骤如下:
1.参照开发
1.开发一个页面,像开发一般页面开发时一样的的,这个参照的主要功能是,可以选择组织,部门,企业分组,和人员
2.参照使用
1.建个参照,设置自定义参照,设置页面路径
路径全称是:
RefScopeSet/add?billType=oainfcolumn&property=pk_infer&dataset=Column&refPkfield=pk_infer&refNamefield=infer&orgTab=N&deptTab=N&egroupTab=N 含义如下:“?”后面就是页面的参数,一般于参照从这里得到参数,便于,点击确定后,把值回写过去。具体其他含义如下: billType:单据类型,例如栏目设置
property:那个功能要用,自然要用到元实体,哪么property就是主键的意思 dataset:表示的那个数据集用到
refPkfield:那个字段用到这个参照,指的参照需要的字段,便于回写id值,例如上图的信息员,这里就是回写过来的人员的pk refNamefield:回写过来的人员的姓名 orgTab:是否显示组织页签,默认显示,“Y”:显示,“N”:不显示 deptTab:是否显示部门页签,默认显示,“Y”:显示,“N”:不显示 egroupTab:是否显示企业分组页签,默认显示,“Y”:显示,“N”:不显示 psnTab:是否显示人员页签,默认显示,“Y”:显示,“N”:不显示
2.表单中,信息元字段设置上面建的参照,如下图:
第二篇:UAP经典介绍及构架
附件4:
UAP介绍
一、UAP简介
UAP(Universal Application Platform)平台是用友软件经过多年的技术积累和知识沉淀,在微软.NET相关规范和标准的基础上,提供完全支持基于领域语言(DSL)的模型驱动开发(MDD)模式,为各种复杂的企业级商业应用系统提供专业、安全、高效、可靠的开发、部署和运行企业管理应用软件的开发工具平台。通过UAP平台,使企业信息资源变得可重用、透明化,并且系统具有高可扩展性,让业务处理更加高效、简洁、安全。
UAP平台为用户提供了一个统一的集成开发环境,用户可以使用包括模型设计、UI设计、报表设计、规则设计、数据库设计、BI设计等各方面的设计器,并通过可视化的界面和友好的交互操作,自动生成用户所需要的各种功能控件。使得大型的企业级商业应用软件第一次实现了技术与业务关注点的分离,并且通过快速的动态业务建模与服务组装技术,实现了企业动态业务的快速部署与应用,真正实现了“随需而变”的实时企业与全球商务的企业信息化价值理念。
1.1 UAP的目标
作为开发工具平台,UAP需要实现与操作系统、数据库、.Net Framework、Office、WMI、.Net Compact Framework、MSMQ等底层核心技术的调用与协作,通过屏蔽底层的复杂实现,提高企业应用软件的灵活性、可扩展性和开放性。
作为应用设计平台,UAP提供了统一的集成开发环境,其中包括模型设计、UI设计、报表设计、规则设计、数据库设计、BI设计等各方面的设计器,通过可视化的界面和友好的交互自动产生需要的各种软件工件,极大地提高了软件开发的效率和质量。作为运行执行平台,UAP在系统交付、安装和部署后,支撑业务系统的解析和执行;提高应用软件的可定制性与可集成性。
作为集成平台,UAP提供对OFFCIE、移动商务、第三方软件系统等企业级的集成与应用协同。
作为管理平台,UAP通过使用权限管理、EAI、数据库管理等管理工具实现对业务系统的调整和控制。
作为开放的平台,UAP通过对SOA架构的相关WS-*协议栈的支持,提供对完整产业链的全角色开发的支撑环境。
1.2 UAP的技术特征
全面支持面向服务的架构(SOA),遵循开放的技术标准,方便与其它软件的互操作。支持企业服务总线(ESB)和业务流程管理(BPM)。业务与技术相分离的架构,易于扩展和更新。
具有丰富的模型设计工具集,提供基于模式和模型驱动的开发环境。
领域驱动的可视化模型设计。
根据模型自动生成框架代码、测试用例,降低手工编码量,大幅度提供软件开发的效率 共享业务模型、特征与软件构架,并可轻松设计业务逻辑和界面。
易于扩展与维护,实现应用软件的规模化定制。
基于MVC框架的界面模型,可适应多种客户端。
基于产品线的软件工厂模式,实现ERP产品的规模化定制要求。建立可重用的核心资产库,实现基于构件的开发与组装。强大的流程设计器和工作流引擎,轻松应对业务流程的变化。
提供基于微软Report Service的报表和BI工具,简化业务数据的多角度分析。支持集中式/分布式的应用部署。内置国际化支持。
1.3 对客户带来的新价值
UAP平台通过统一的模型、界面与规则描述规范,为不同的角色(包括需求人员、设计人员、开发人员、实施人员以及客户)提供了多视图的统一应用框架。通过这种统一的模型化规范,彻底解决了开发过程中不同阶段之间的“语义鸿沟”,实现快速、高效、可视化、大规模地构建个性化的业务系统。
因此,UAP平台从不同的角度为客户所带来的新价值包括:
从业务角度:UAP建立了一个实现应用领域模型很好的支撑框架,有助于企业根据业务对象模型形成业务领域Framework,为构建复杂的应用系统提供有力的保证。
从技术角度:由于UAP实现了业务与技术的分离,降低手工编码量,大幅提高软件开发效率的同时,提高个性化的交付能力,使企业能够适应未来新技术的变化,降低由于客户采用新技术所带来的影响。
从产品角度:传统的产品开发方式中,经常存在由于客户业务的变化,引起很多技术实现过程中开发效率低、产品质量得不到保证等问题。采用基于SOA的UAP平台能够很好地解决这些问题,使得软件的开发、维护和应用提升到一个全新的水平。
从合作伙伴:UAP提供强大的客户化功能和二次开发平台。支持产业链的增值开发,为合作伙伴提供更大的产品增值服务空间,有助于进一步加强与合作伙伴的关系。
从客户角度:UAP提供内置的国际化支持以及基于MVC的多客户端的支持,为客户提供多种便捷访问系统的方式,在提高客户满意度的同时,真正意义上实现“实时企业、全球商务”的目标。
二、UAP平台架构
2.1 UAP平台的应用体系架构
UAP平台的应用体系架构是在解决与操作系统、数据库、.Net Framework、Office、WMI、.Net Compact Framework、MSMQ等技术的调用与协作的基础上,将平台应用分成了元数据应用、设计时应用、运行时应用以及核心的开发应用工具四组应用集合。为不同的角色提供统一的应用模型、界面和规则。
元数据应用提供了UI元数据、流程元数据、服务元数据、实体元数据以及报表元数据,为整个应用系统的设计与执行提供数据基础规范。
设计时应用提供了一个统一的应用设计工具集,包括模型设计、UI设计、报表设计、规则设计、数据库设计、BI设计等各方面的设计器,通过可视化的界面和友好的交互自动产生各种所需要的软件组件。
运行时应用为设计时应用提供了一组对应的应用框架和工具引擎,支撑业务组件与系统的解析和执行。
应用工具集提供了一组管理、开发与部署的应用工具集合,通过使用权限管理、EAI、数据导入导出工具、OFFICE实施工具、组件管理、部署工具等管理、开发和实施工具实现对业务系统的可视化的调整和控制。
2.2 UAP平台与应用系统间的整体逻辑架构
UAP平台是在国际上主流和公认的技术标准与规范的基础上建立的一个开放的企业级开发工具平台。它采用了元数据驱动的、面向服务的体系架构,并提供了统一的编程抽象模型,是一个适合应用软件开发及部署的全角色平台。
其中,UAP平台提供了模型定义、服务组装、应用开发集成环境(IDE)、应用平台以及应用工具等五个核心的工具集。并通过这五大工具集为应用系统以及第三方的其它应用提供统一的模型定义、功能开发与应用集成的环境。
2.3 UAP平台的技术体系架构
UAP平台的技术体系结构采用分层的架构模式,主要可以分为数据层、业务层、表示层,并且通过抽象的控件模型提供对多种客户端的应用支持。
其中,在数据层中,持久化服务引擎主要负责访问和查询存储在数据库中的各种业务数据,在隔离业务层和数据存储管理的同时,实现与业务层的实时交互。持久化服务的这种隔离有以下好处:
减少数据库提供者变更带来的影响
减少因数据对象变更带来的影响(如变更数据库的schema) 封装数据的处理操作,这将在很大程度上减少测试和维护工作
通过O/R映射机制,以维护对象和持久存储之间的一致性,减少因面向对象和非面向对象这两种技术存在着阻抗不匹配
在业务层中,业务实体对象封装了一个业务中的元数据、存储过程和触发器以及该业务的规则、过程或事件。业务实体对象是业务中实际存在的事物或概念,是对“ER”模型中概念的面向对象的扩展。业务实体对象负责执行包括强制的业务规则、应用规则、数据有效性、并发和存储等所有方面的内容。且多个独立的但有关联关系的业务实体对象可以一起协作来完成一个应用,完成不同的任务需执行很多具有不同特点的业务实体对象。
而业务服务则可以定义为一段独立的逻辑程序,当多个服务组合在一起时可完成不同类型的业务需求。服务描述了贯穿业务的工作流程和信息,同时对业务逻辑进行了封装,实现了对业务实体对象的操作,并驱动业务实体完成业务功能。服务可以由工作流系统、业务实体对象管理器、面向对象语言或交互过程定义系统实现。通过UDDI服务网关来查询、绑定内部或外部相应的服务或应用,并调度相应的一个或多个业务实体对象来实现业务处理。而业务流程对象封装了业务处理与业务策略过程。例如,一个定单处理工作流组件可能结合客户、定单等业务实体对象完成定单处理的工作流程。
在表示层中,通过MVC的模式建立业务模型、视图以及控制器之间的业务连接,并实现对各种客户端界面(包括基于浏览器的WEB应用方式、用户交互的窗体以及Smart Client等应用方式)的支持。每个窗体用来显示系统提供的信息以及传递用户的输入信息。这种基于窗体的用户界面包括两种类型的组件:
用户界面组件: 基于.NET Framework的组件,包括Smart Client组件和Web Form组件,还支持用户基于.NET Framework定制的组件。
用户界面处理组件: 复杂的用户界面通常需要很多非常复杂的窗体。为了提高其可复用性、可维护性和可扩展性,需要创建分离用户界面处理的组件,以封装窗体和界面导航之间的相关逻辑。可以对一个窗体中组件之间的依赖、确认和导航应用相同的概念。这些UIP组件通常是一些基于诸如:Front Controller, Application Controller等设计模式的定制组件。UI和UIP组件之间的交互通常采用MVC模式。
另外,UAP技术体系架构中还包含基础服务层:即提供其它所有层都能使用的一系列基础服务。这些服务分成三类:
安全:提供与应用和系统安全相关的服务集合。
执行控制管理:这些服务负责管理组件或服务以及相关的资源,还负责处理容错和可扩展性等操作和控制的需求。
通信:提供组件或服务之间的通信,包括.NET Remoting、SOAP、同步或异步消息等服务。
三、UAP平台的关键技术
UAP平台采用元数据驱动的、面向服务的分布式架构,UAP基于框架、模型、模式、模版、工具、领域相关语言,支持软件工厂化开发,为不同用户提供了统一的编程抽象模型,是一个适合应用软件开发及部署的全角色的应用平台。UAP平台采用的关键技术包含:
3.1模型驱动的软件开发技术
UAP平台包含了各种设计器以及对应的执行引擎,设计器产生的工件主要包括两方面的内容:元数据和模板。元数据中主要存储各种业务模型,而模版则对应于具体业务工件的描述文件。元数据或模板通过各种引擎将会产生一组可执行的业务组件,而这些组件在部署后又通过Portal或服务引擎转变成可运行的各种业务系统。
其中,元数据仓库和模板仓库包含系统的元数据和描述信息,例如业务模型、业务规则、报表、BI、流程、界面、数据库等各种业务系统信息。这些信息记录了系统的功能和业务特性。使用元数据仓库和模板仓库可以很好地收集各种行业用户的业务模型。通过对元数据仓库和模板仓库的分析,企业可以很容易地根据地区或行业的特性开发出各种专版,从而更好地支持用户的需求。
3.2领域特定语言
为了提供对模型驱动的软件开发技术的有效支持,UAP平台提供了一种领域特定语言(DSL),其中包括了业务领域语言、表单领域语言、流程领域语言以及报表领域语言等。并针对不同的领域语言采用不同的模型化以及组件化的生成方式,例如通过业务领域语言,可以有效地建立实体模型、数据模型以及服务模型,并且根据模型的关键属性与特征生成相应的软件组件。通过多种模型生成的各种相关的软件组件在应用组装语言的支持下实现动态组装,从而快速形成一个完整的应用系统。
版型: 是扩展业务实体定义的描述方法,是对业务对象进行分类识别的工具,主要用来对业务模型进行抽象,找出实体间的公共属性;每个版型可附带一个代码片段作为模版,根据业务需要由设计人员动态创建,在实体定义阶段进行引用。通过设置版型,对实体进行标识,从而易于识别,并可基于版型进行分类。比如:帐表类实体等树形实体,可通过建立版型进行识别。
特性: 可在不同实体间复用的属性集和版型集;可复用的属性集和版型集通过实体转存为特性,在维护实体属性和方法的时候通过引用特性引入已保存的特性。
模式: 可在不同组件间复用的实体集,以及实体间的关系。
模式和特性: 特性是指单个类而言,模式是由多个类以及类之间的关系组成;特性组件存在相对于解决方案目录的templates目录中,模式组件存在相对于解决方案目录的patterns目录中。应用特性不能重复应用,否则会有多份复制;应用版型不会出现这个问题。
模型驱动: 领域模型用来构建特定领域软件系统的知识模型,合并了数据和行为的对象模型。完整的抽象了企业中的一切事物,它们所拥有的特怔,行为,以及它们在各种状态的各种不同表现。当事物变化,意味着领域模型的变化,由之带来数据变更,引发软件系统中相关联部分的变化。因此,一切动力在于领域模型。
3.3集成开发环境 UAP平台提供的集成开发环境(简称IDE,UAP Studio)是用于程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。UAP Studio 是一个工具整合平台,可以通过插件机制将各种工具轻松的整合在IDE框架内,为用户提供一套完整的工具集。同时,IDE框架为工具开发者提供一个开放的可配置的界面平台,提供多文档管理、界面布局定义、菜单工具条的定义和命令定义,让工具开发者专注于工具本身的功能开发,从而简化工具与应用开发的难度。
UAP Studio 开发工具族包括:
领域模型设计工具: 领域模型是对企业模型的结构化和抽象,隔离了其中的技术问题,只包含领域问题,用来构建特定领域软件系统的知识模型,其内容是合并了行为和数据的对象模型。
界面展现设计工具: 界面展现设计工具基于MVC框架,灵活适应不同的客户端。其价值在于:
支持丰富的客户端,可用多种方式访问系统。
易扩展的界面形式,在界面模型不变的情况下,轻松增加新型客户端。 透明:可视化的界面设计工具,隐藏了实现方式的界面逻辑,用户只需关心界面表现的业务本身。
高效:界面代码框架可自动生成,只要少量手工编码。 可重用:一个网页部件可以组装于不同的网页中。 整体风格控制:基于皮肤的界面风格定制技术。
流程设计工具: 工作流的价值工作流轨迹的透明、可跟踪和管理控制的灵活性。UAP For U9工作流采用的技术包括:
Windows Workflow Foundation:定义流程,连接服务
Windows Communication Foundation(Indigo):管理分布式的消息通讯 应用组装工具: 其集中体现在UAP For U9报表设计。UAP For U9的报表基于微软 Report Service的集成设计,提供封装服务,实现UI层同服务的分离,将来增加新的报表服务不用修改界面代码;创建能嵌入任何WEB应用页面的报表展现;并支持国际化,实现报表多语言设计,同时借助元数据和UI组的多语言实现方案;实现报表的自动查询和用“推”的方式报告;面向对象的查询定义方式(OQL),操作更直观,同时仍然支持传统的SQL语句查询。
四、平台的主要技术标准或规范
为了保证开台的开放性与通用性,UAP平台采用了一系列主流的国际标准与规范,其中包括了:WEB服务的标准协议栈、XML的标准协议栈、SOAP、UDDI、MOF以及UML等。其中UAP V2.5版支持的Web服务规范包括:
WS-Addressing WS-Policy WS-MetadataExchange WS-ReliableMessaging WS-Security WS-Trust WS-SecureConversation WS-Coordination WS-AtomicTransaction
SOAP 消息传输优化机制(MTOM)
第三篇:UAP报表二次开发手册[模版]
UAP报表二次开发手册
v.871 1.数据源定义
报表数据源可分为实体关系查询,SQL脚本查询和自定义查询三个类型,如下图所示:
图1.1 其中数据源名称和数据源描述是为了标识数据源以及说明数据源的功能。
1.1查看或修改现有数据源
“查看或修改现有数据源”是指对原先已经创建的数据源进行修改(系统预置的数据源不允许修改),或者可以在新建报表时选择已存在的数据源,如下图:
图1.2 选“下一步”:
图1.3 则列所有已存在的数据源,选择其中一个,按“下一步”:
图1.4 功能列表是数据引擎内部使用机制,直接选“下一步”:
图1.5 这个是设置报表数据源的最后一个步骤,由于选定的数据源为自定义查询类型,所以第一个页签为自定义查询组件的相关信息(关于自定义查询组件的具体情况,请查阅本手册1.3单元);第二个页签如下图:
图1.6 查询结果列是指该数据查询结果的具体情况,包括列名称,列的数据类型,列的区域语言描述。这些信息将构成报表格式设计时的数据源信息(关于这部分内容的详细情况请参阅UAP报表设计时帮助文档)。
另一个页签为“过滤条件设置”,如下图:
图1.7 具体包括过滤条件名称,过滤条件的区域语言描述,这个将在过滤条件的数据源下拉列表中出现,这些信息将用来设置从过滤控件读去用户输入条件值来对查询的结果进行过滤(具体情况清参阅本手册2.2单元)。
之后,选择“完成”即结束数据源定义而进入报表格式定义。
1.2实体关系查询
在图1.1步骤中选定“实体关系查询”,点击“下一步”则进入实体关系查询类型的数据源定义:
图1.8 这里必须要添加至少一个关联实体,点击“添加”,则可选择系统已经定义好的实体:
图1.9
选定实体,然后点击“确定”:
图1.10 点击“下一步”(如果选择了多个实体,则还需要定义实体之间的关系。关于如何定义一个实体以及如何定义实体之间的关系,请参阅数据引擎的相关文档):
图1.11 接着必须添加结果列,即图1.6中的“查询结果列”。点击“添加”:
图1.12 这里弹出的列表为选定的单个实体或多个实体能查询到的所有的结果列的信息。选定需要的查询结果列后,点击“确定”:
图1.13 这个步骤中,“行数据权限”可以用来限制用户查询某些具体行数据的权限(行数据权限的设置以及其他高级功能的使用方法请查阅数据引擎相关文档)。
1.3 SQL脚本查询
在图1.1步骤中选定“SQL脚本查询”,点击“下一步”则进入SQL脚本查询类型的数据源定义:
图1.14 SQL脚本查询类型又分为SQL脚本和存储过程两个类别,可通过第一个页签的左上端的下拉列表中选择相应的类别(具体如何定义两种类别请查阅数据引擎相关文档)。其他三个页签中,“查询结果列”和“过滤条件设置”已经在前面的单元中说明,此处不在详述。其中,这种数据源类型有一个“查询参数设置”页签,如下图:
图1.15 如果脚本类型中选择的是“存储过程”,则此处可以使用“刷新”按钮来获取存储过程所需要的参数;而SQL脚本类型则需要手动填写参数的信息。需要注意的是,参数的名称必须与存储过程或SQL脚本的名称完全一致。运行时查询参数的具体值来源是通过过滤条件获得的,因此查询参数需要和过滤条件绑定在一起(绑定方法请参阅本手册2.2单元)。
1.4 自定义查询
自定义查询是指提供一个COM组件(通常为VB6.0组件)或.NET组件(通常为C#组件)来提供获取数据的方法(SQL脚本,存储过程或数据库临时表)。关于自定义查询组件的建立方法请参阅本手册3.2单元。
在图1.1步骤中选定“自定义查询”,点击“下一步”则进入自定义查询类型的数据源定义:
图1.16 其中数据服务信息指的是自定义组件的相关信息,关于自定义查询组件的建立方法请参阅本手册3.2单元。
2.报表过滤条件
2.1 过滤条件设计
除了UAP本身单独提供了过滤条件的设计工具,报表本身也提供了专门为报表设计过滤条件的快捷方式。以下是报表设计过滤条件的入口:
图 2.1
图 2.2 点击“标准条件”进入过滤条件设计器:
图 2.3
界面说明:
是否支持高级条件:选此项后,在运行时过滤窗口中会出现“高级条件”页签,用于用户自由选择过滤条件的组合。
规则组件:此项定义由过滤控件回调的规则组件类。
是否取消二次开发:此复选项只有在以“U870”项目进入UAP时才会显示,如果被选中,那么以其它项目进入UAP的过滤设计器不能新增和删除过滤条件。
此处可新增或修改一个过滤条件。双击某个已存在的过滤条件,则进入这个条件的修改界面:
图 2.4 界面说明:
语种:设置过滤条件项显示的语种。
中文简体名称:过滤条件项的键值,唯一标识此过滤条件项,不能重复。可以以字母、数字或汉字来命名。
标题:在运行时过滤窗口中显示的文字,支持多语种设置。编辑类型:过滤条件项的类型,分别为文本框、参照、日期、数字、枚举、SQL语句、自定义。
参照ID:当编辑类型选择参照类型后,必须选定一个参照ID。比较符:过滤条件项比较符号。
小数位数:当编辑类型为数字类型时,此选项可以设置小数位数。分组:为过滤条件选定一个分组,在运行时将按照分组来显示过滤条件项。
数据源:为过滤条件项选定数据源,可以下拉选择或直接手工输入。顺序号:指定过滤条件项在运行时显示的位置,如果不输入,将自动产生。
是否常用条件:如果选中,将在运行时显示在“常用”页签中。是否必输:如果选中,在运行时必须输入值,否则会出现提示信息。是否区间条件:如果选中,在运行时将显示为两个输入框组合而成的形式,表示从值1到值2的意思。在运行时,用户选择或输入的不是单值,而表示一个取值范围。
是否多选:如果选中,表示此过滤条件项可以选择多个值。
允许用户修改比较符:如果选中,用户在运行时可以通过滤设功能改变比较符。
作为或条件:如果选中,在运行时将以“或”条件来组合到过滤条件生成的SQL语句中,默认是以“与”条件组合的。
参照返回字段:当编辑类型为参照类型时,此选项表示参照返回的是哪个字段的值。编码对应参照中的主键字段,名称对应参照中的描述字段。也可以手工输入要返回的字段名,一定要与参照中的字段名一致。
默认值、到:设置过滤条件项的默认值,将在运行时自动显示。如果为区间条件,可以设置“到”默认值。
修改界面的第二个页签是过滤条件项窗口枚举:
图 2.5
界面说明:
枚举(aa_enum):指在U861中使用的枚举型,此类型是在AA_Enum数据表中定义的。枚举类型,枚举类型名称,是EnumType字段值。默认显示,在运行时当用户点击下拉按钮后显示的可供选择的项,注意是以“,”分隔的EnumCode字段的值。
枚举类型:指明在Meta库中的MetaEnumDef表中的枚举,对应MetaID字段。
枚举串:如果没有在数据库中预制枚举类型,也可以通过此项输入一个枚举串。格式为“0{#}1{##}A{#}B”,在“{##}”前的为返回值,之后的则为显示值,并且在返回值与显示值中分别以“{#}”分隔。
只能定义以上三种枚举中的一种,否则会出现提示信息。修改界面的第三个页签是过滤条件项窗口SQL语句:
图 2.6
界面说明:
SQL文本框:在SQL文本框中输入SQL语句,可以不用加别名。
标题:在运行时中显示的列标题,标题数量与上面的SQL的字段对应,并用“,”分隔,例如“标题1,标题2”。
返回字段:用此字段的值构成过滤控件返回调用者的过滤SQL语句。显示字段:显示在运行时过滤窗口中的值。
在U870中,SQL语句类型的过滤条件主要为兼容以前版本,所以如果在U870中新建过滤条件时,请不要选用SQL语句类型,而改用参照类型。修改界面的第四个页签是过滤条件项窗口SQL语句:
图 2.7
属性说明:
参照样式:当编辑类型选择为参照类型时,可以指定参照的样式,分别为弹出式和下拉式,默认为弹出式。
关于过滤最后值得特别指出的是,过滤条件之间可控制相互关系,例如两个过滤条件都有参照,则可控制其中一个过滤条件的参照取值范围由另一个过滤条件的取值来决定。此外还存在其他相关控制行为,这些功能都是通过规则组件来实现的。关于规则组件的详细实现,请参阅过滤条件的相关文档。
2.2 过滤条件与数据源的关系
此处主要说明如何把过滤条件跟数据源关联起来,以达到由用户输入来实现查询不同数据的目的。
对于实体关系类型的数据源,只要在过滤条件的基本属性页中选择数据源的相应列就能实现,如下图:
图 2.8 用户就可以在查询报表时进行过滤:
图 2.9
对于SQL脚本类型的数据源,无论是简单的sql脚本类型还是存储过程,都是通过将其参数与过滤条件进行绑定来实现的。如下图:
图 2.10 假如sql脚本或存储过程中有两个参数分别为:@planid和@filterstring,则必须要在“查询参数设置”页签中分别为每一个参数设置其相关信息。然后再设计过滤条件:
图 2.11 此处需要注意的是,“中文简体名称”必须以这样的规则命名:“查询参数设置”的参数为@pram,则“中文简体名称”为parm,两者之间相差一个符号“@”。
需要指出的是虽然SQL脚本可以通过参数来绑定过滤条件,但是过滤条件绑定到参数的同时,还必须为此过滤条件指定一个数据源查询结果列,查询时输入的过滤条件对该返回结果列同样起作用。
对于自定义的数据源的过滤条件绑定与实体关系得数据源相似,但是设计者需要在自定义组件中自己处理由用户输入信息构成的sql串来实现对查询结果的过滤。
3.报表系统API 3.1 自定义报表查询入口
所谓自定义报表查询入口指的是用UAP设计了一张自定义报表,除了默认的查询入口:门户->视图->我的报表->自定义报表,另外为此报表设置单独的菜单节点来进行查询。只要在此节点的点击事件处理函数中调用报表系统的以下接口就可实现:
A.Public Function OpenReport(_ sReportID As String, _ objU8Login As Object, _ Optional subid As String = “", _ Optional rawfilter As Object = Nothing)As Boolean
B.Public Function OpenReportNoneFilterUI(_
sReportID As String, _ objU8Login As Object, _ Optional subid As String = ”", _ Optional rawfilter As Object = Nothing)As Boolean
接口功能及使用说明:
这两个接口是对象ReportService.clsReportManager中的函数;需要引用组件: ReportService.dll UFIDA.U8.UAP.Services.ReportFilterService.tlb 这两个接口的功能是打开一张报表,两个接口的差异在于前者在打开报表之前会先显示过滤界面,而后者不会(例如在使用联查报表的时候有时不需要进行过滤)。此接口在业务组在其需要打开一张报表时调用。
参数介绍: sReportID:
报表的ID,即将要打开的报表标识。objU8Login:
U8的Login对象,注意:这个对象必须是COM封装的Login。subid: 报表所属的子产品号,这个参数是可选的。注意:当指定了此参数,接口会在随后的处理中按照subid[__]sReportID的规则拼接成真正的报表ID。rawfilter:
可选过滤条件对象(UFGeneralFilter.FltSrv或自定义的过滤条件对象),此对象中必须是ISelfFilter(见第四个接口)的一个实现。这个参数通常报表的自定义行为(如联查)时,需要有过滤的情形时会使用到。
至于怎么在U8中设置自己的菜单节点,请参阅U8门户相关文档。
3.2 自定义数据源组件
报表的自定义数据源是指单独写一个组件来提供报表数据,这种数据源实现方法的优点强大的数据处理能力,这是其他类型的数据源所不具备的。实现方法为: 组件中必须实现以下接口: public interface IGetSql { void GetSql(IFilterArgs e);}
接口功能及使用说明:
此接口为报表提供自定义数据源。组件的提供方式为首先提供一个实现IGetSql的组件(COM组件只需有一个声明相同的GetSql函数的类即可),之后将其绑定到报表的数据源(具体方法是请参考本接口示例)。组件的工作方式为报表系统会在展现报表的过程中实例化一个此种类型的对象,通过调用GetSql函数来获取数据源。
参数介绍:
IFilterArgs参数是UFIDA.U8.UAP.Services.ReportFilterService.tlb中的类型,在报表系统调用自定义数据源组件的时通过此参数将组件需要的环境信息传入,而自定义数据源组件则将其处理结果通过此参数返回给报表系统。
IFilterArgs中包含的常用接口: IFilterArgs.login: U8的Login对象
IFilterArgs.RawFilter: 过滤对象
IFilterArgs.DataSource.Type:
组件数据源返回类型,其值与对应类型为 0:SQL脚本 1:存储过程 2:临时表 其默认值为2 IFilterArgs.DataSource.Sql: SQL脚本或临时表名称
IFilterArgs.DataSource.StoreProcName: 存储过程名称 示例:
(1)以下提供一个名为CustomDataSample的vb6.0的dll,此组件中定义一个名为customData.cls类,其代码如下(IFilterArgs的):
Public Sub GetSql(e As IFilterArgs)e.DataSource.sql = “select * from AA_Bank” e.DataSource.Type = 0 End Sub
构造好组件之后,需要将组件绑定到报表的数据源,绑定方法如下:
假设组件名称为:DataEngine.dll,而实现IGetSql的类型名称为:Engine VB6.0组件的绑定方法:(注意:COM需要注册,不要求具体存放目录,一般推荐存放目录为:..U8SOFTufcomsql)
图 2.12
C#组件的绑定方法:(注意:.NET组件不需要注册,但存放目录必须是:..U8SOFTUAP)
图 2.12
3.3 自定义行为组件
自定义行为是指在报表查询结束后,设计者提供额外的功能来进行相关处理,比如联查功能等。方法是实现以下接口:
public interface IExecute { void Execute(IActionArgs e);}
接口功能及使用说明:
此接口用来完成报表自定义行为的业务操作。组件的提供方式与IGetSql接口类似,不同的是其绑定到报表系统的过程(示例将详细说明)。组件的工作方式为在自定义行为绑定到报表系统之后,报表展现界面的右键菜单中将相应的子菜单,触发此子菜单后报表系统将实例化此组件实现IExecute类型的一个对象,并调用此对象上的Execute方法。
参数介绍:
IActionArgs是在进行自定义行为的时候数据交互的媒介,IActionArgs中的常用参数: IActionArgs.ReportID: 当前操作的报表ID IActionArgs.Login: U8的Login对象
IActionArgs.RelateData: 当前报表的相关数据对象,通过此对象中的接口GetData可获得相关的数据
IActionArgs.CurrentColumnName:触发自定义行为时报表所处的焦点行名称
IActionArgs.FltArgs: IFilterArgs对象
自定义行为绑定到报表系统例子:(假设组件名为ExcuteSample,类型名为clsExc,定义方法参考IGetSql的示例)
图 2.13
在报表设计界面点击”自定义行为”的按钮,将打开自定义行为的定义界面:
图 2.14
点击”新增”:
图 2.15
设定ActionClass为”ExcuteSample.clsExc”, Caption为”自定义例子”,点击”确定”即完成绑定操作。
保存之后打开报表,其右键菜单”其他”的子菜单中便出现定义的新菜单,图 2.16
点击此子菜单,便会调用类型clsExc中的Execute方法。3.4 自定义过滤
自定义过滤是指设计者可以自行构造一个过滤组件来实现报表的过滤,而不使用U8自身的过滤控件。实现方法是组建中实现以下接口:
public interface ISelfFilter { void ShowFilter(IFilterArgs e);}
接口功能及使用说明:
为报表提供自定义的过滤条件界面。组件提供方式与前述相关组件类似。组件的工作方式为将实现ISelfFilter的类型的一个实例作为OpenReport或OpenReportNoneFilterUI的第四个参数传入,则在进行报表展现之前,报表系统将会调用此实例的ShowFilter方法,自定义过滤的结果使用e参数返回报表系统。
参数介绍:
IFilterArgs参数请参考IGetSql说明。
自定义过滤组件绑定到报表的方法例子(假设要绑定的组件名为CustomFilter,实现ISelfFilter的类型为clsFilter):
在UAP中”报表定义”窗体的工具栏的”查询条件”按钮中选择”自定义条件”,或在”报表定义”窗体的右键菜单的”查询条件”菜单中选择”自定义条件”,如图:
图 2.17
图 2.18
之后再打开的定义窗体中输入组件信息,如:
图 2.19
点击”确定”即可完成绑定操作。
第四篇:青春自定义
青春,简简单单的一个词却具有很多的寓意;现在我有一个问题想请教大家,既然青春寓意多且深,用那些词形容青春才是最最恰当的呢,只有二十秒时间。?(问大家写黑板)!
解说结论。我认为这不是青春最本质的寓意,相反只是些毫无意义的华丽词汇!因为在不知不觉中青春已被太多的前辈赋予了他们所理解的寓意,而我们只不过在模仿罢了,我们用什么火焰青春,青春火焰的的词语,大赞美青春多么的美好,用奋发有为等一类的词语为青春标上标签,让我们去追求,好像不有所作为就很可耻,前者在做纸上文章,后者歧化了青春的本质意义,非但没起到说道解惑的作用,倒是又让一代一代学弟学妹们失去了前进的方向。为什么这么说呢,因为他们的青春就像我们的青春一样已被前辈的前辈定义,而实际上,就像许嵩第一张专辑——《自定义》一样,我们的青春无需别人定义,需自定义,这才是有寓意的青春,这才是本质的青春,更是我们自己的青春。一开始我没说题目就是想起到这么个作用,不想侃侃而谈,想让大家有所感悟,青春自定义(写到黑板上)。
许嵩,他的音乐独树一帜,从一名的网络歌手到现在加盟海蝶跨国音乐公司,唱片销量二十万,到最终成为家喻户晓的歌手,要知道他大学可是学医的,放弃专业选择爱好这需要勇气和胆识,到底什么原因使他将自己的人生路越走越长,越走越宽,在我看来,其才华虽突出但却不是主要原因,主要是其所作所为始终体现的那种自定义个性,我喜欢他的是他有着完全的自定义这一特点,从歌词,作曲,演唱,到每首歌给我的感受,到最后她整个人的特点,都给我不一样的感觉,而我所喜欢的地方正是这种自定义个性,相信喜欢他的朋友们和我的想法应该心有灵犀,通过许嵩,我们来折射自己,我们是否自定义了自己,是否还在茫茫人生路上找不到方向,走在前辈踩过的路上,当然不会冒太多的风险,但也注定平庸;看着别人干什么你干什么,诚然会有一种心里安慰,因为就算有损失至少不会是我一人,但这也注定成不了气候,这样的青春不值得我们歌颂,追求;换做我,我愿停止前进的脚步,回到原点继续寻找属于自己青春的方向,青春自定义,很浪漫的一个词,它就像填词作曲一样,你想怎样就怎样,凭着感觉走,把你的所感所想原原本本的表达出来,然后汇编制作出一首最动听的歌曲,这就是我理解的青春。
谢谢大家
第五篇:自定义动画教案
一、教材分析
《制作多媒体演示作品—设置演示文稿的放映效果》一课是八年级《信息技术》第二册上的第三章第三节教学内容的一部分,这节课的内容相对比较独立。本课书的内容是给单个对象和多个对象进行放映和切换的设置。本节课除了学习幻灯片的放映和切换设置之外,还要考察学生综合运用在自定义动画方面的所有知识和操作,既有新知识的学习,又有对旧知的综合运用。本课在教材内容的基础上进行了创作,主要以“个性的介绍”为教学主线,亮点在于对学生进行幻灯片规划意识的培养,重点知识以小组探究学习为主。
二、学生分析
学生是八年级的学生,学生在信息课上,已经接触过小组合作学习、自主探究的学习方法,在幻灯片自定义动画的知识与技能方面,学生已经掌握了添加效果中的“出现”、“强调”、“退出”三种效果的学习,以及动画的速度、方向的设置,有了以上知识、方法和能力的积累,给这节课的学习奠定了基础。本课的教学以个性展示为主。
三、教学目标(一)知识与技能:
1、了解设置演示文稿的放映效果的必要性、多样性。
2、掌握设置幻灯片对象的放映效果的方法。
3、掌握使用交互式放映控制的方法。
4、掌握幻灯片的切换效果的方法。
5、进一步培养学生运用所学知识和技能完善作品的能力。(二)过程与方法
1.设置认知冲突,学生在教师的引导下摸索幻灯片对象的放映效果和幻灯片切换的设置方法。2.在“设计Q版三国的人物介绍”的任务驱动下,学生自主探究对多个对象设置“放映效果”和“超级链接”的方法,在摸索的过程中发现问题,师生共同解决问题,最终突破本课重点。3.在自主设计的过程中,教师引导学生总结出对幻灯片对象设置效果时的规划意识。(三)情感、态度、价值观 1.培养学生的规划意识
2.体验不同动画对主题表示的不同效果
3.形成正确选择动画来实现演示文稿设计意图的态度
四、教学重点与难点
重点:
1、灵活、合理的设置动画效果
2、多个对象的出场顺序和开始方式的调整。
3、对特定对象进行超级链接的设置。
4、设置幻灯片的切换方式,设置幻灯片的切换时间 难点:
1、正确选择动画效果来实现设计意图,表达不同主题
2、学生大局观和审美情趣的培养
五、教学方法
教的方法:激趣引入法、讲述法、演示法、任务驱动法、分层教学法
学的方法:小组协作学习法、自主探究法、实践操作法
(一)情境引入 教学过程
一、情景导入
今天老师给大家带来了一个幻灯片“自我介绍”(用该幻灯片能够拉近与学生的距离,激发学生的学习兴趣,并且含有动画效果)。
今天大家观看的幻灯片是否和你们的平时观看的不同?你们想要自己制作一个属于自己的个性自我介绍吗?这些课先缓一缓,我们先为Q班三国人物制作一个个性的介绍版
这就是我们今天要学习的内容:
二、讲授新课
1、设置幻灯片对象的放映效果(1)设置放映“顺序和时间”(2)设置“动画和声音”效果
2、设置交互式放映控制(1)使用“超级链接”(2)使用“动作设置”(3)使用“动作按钮”
3、设置幻灯片的切换效果(1)设置“切换效果”(2)设置“换页方式”
大家在已经做好的介绍基本素材
设置第一张幻灯片的自定义动画效果,标题1和文本2都设置为:整批发送、水平百叶窗、声音选择风铃声。操作步骤:
(1)单击第一张幻灯片,选择“幻灯片放映”——“自定义动画”命令;(2)选中第一张幻灯片中的“标题1”里的文字;
(3)选择右侧命令“添加效果”——“进入”——其它效果命令;(4)在对放窗口中选择动画效果“水平百叶窗”;
(5)右击“形状态”选择“效果选项”,在出现对话窗口中选择“声音”——风玲。按以上顺序选择“文本2”,设置动画效果。
(1)、启动powerpoint2000的窗口,打开“安全知识”演示文稿
(2)、选中标题艺术字“安全知识”
(3)、单击“幻灯片放映”——“自定义动画”——“打字机”
单击“幻灯片放映”观看效果,就可以看到标题的动画效果,并且伴随着打字的声音
练习:用“预设动画”的方法设置第一页余下对象的动画效果
注意:在设置效果之前,要先选定设置的对象
用多媒体教学系统转播学生操作结果,让大家互相评说
2、用“自定义动画”设置动画效果
在刚才的练习中,有同学问了老师几个问题,“动画的顺序能不能调整啊”,“只有这样一些效果吗?”有没有一种更复杂但更灵活的命令呢? 接下来我们学习“自定义动画”
(1)、请同学们看书P58-P59,并自己动手试一试
学生自学,动手操作
(2)、运用多媒体系统让学生进行交流,体验,找出不对或不完善的地方
(3)、拥有多媒体广播系统加以补充操作和说明,展示完整的操作步骤
A、打开第二张幻灯片
B、单击“幻灯片放映”——“自定义动画”(出现“自定义动画”对话框)
请同学们仔细观察“自定义动画”对话框,请同学来说出它各个选项的功能与作用
预览窗口:预览幻灯片中的所有对象和它的动画效果,效果、时间和顺序:为对象设置动画效果、时间和顺序
C:设置动画效果、时间和顺序(演示)
练习:请同学们“自定义动画”剩下的幻灯片
【小结】
在本节课中,我们学习了“预设动画”和“自定义动画”两个操作,请同学们互相交流自己的设置过程,熟悉“自定义动画”命令和各种效果。
【作业】
完善动画效果的设置,制作一个生动活泼的幻灯片
【板书设计】
第十一课 设置动画效果
一、用“预设动画”设置动画效果
二、用“自定义动画”设置动画效果