ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:208.70KB ,
资源ID:7140837      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7140837.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(uuap开发手册.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

uuap开发手册.docx

1、uuap开发手册UAP开发样例指导用友研发中心 U8平台技术部一、 摘要 3二、 样例开发前提 3三、 建立UAP项目 3四、 建立表单模型 5(一) 新建实体 6(二) 新建实体属性 8五、 建立表单布局 12六、 行为对象开发 13(一) 表单开发 15(二) 列表开发 28(三) 生单二次开发 34(四) 联查报表 35(五) 联查UAP列表 36(六) UAP列表联查U8单据 37(七) 用户自定义控件开发 40(八) U8单据引用UAP档案 41七、 行为对象注册 54功能介绍: 54使用说明: 54应用技巧: 56八、 建立数据引擎 57功能介绍: 57使用说明: 58应用技巧:

2、80九、 设置过滤条件 80功能介绍: 80使用说明: 80应用技巧: 85十、 设置栏目 86功能介绍 86使用说明 86应用技巧 87十一、 权限 87功能权限 87记录级权限 88字段级权限 89十二、 部署 90附录:功能介绍 911、行为对象升级说明 912、LoginInfo 对象介绍 93一、摘要本文以U8-ERP中的销售订单为应用原型,介绍了如何通过UAP进行软件开发,文中给出了开发方法和丰富样例。内容包括:UAP表单开发原理UAP项目的建立和导入、导出UAP表单的模型设计和布局设计UAP表单的行为对象开发UAP表单列表设计与开发UAP表单列表的行为对象开发如何对UAP表单的缺

3、省按钮进行扩展性开发如何对UAP表单的缺省按钮进行取代性开发如何为UAP表单增加新的按钮及行为如何用程序代码调用UAP报表如何用程序代码调用UAP表单列表如何在UAP表单中增加权限控制:功能权限、字段权限、记录权限如何为UAP表单开发自定义控件如何开发树形档案如何维护UAP数据引擎如何维护栏目如何维护过滤条件如何调用U8APIU8单据自定义项如何引用UAP档案本文档中使用的示例文件为“销售订单二次开发”,可以通过UAP将该文件导入到帐套中。项目名称为“ SaleVoucher ”,导入后在项目中包括几个自定义单据:“销售订单”为二次开发的Demo示例;“零售日报”为自定义空间二次开发的Demo

4、示例;“列表档案示例”、“树形编辑档案示例”、“树形导航档案示例”分别为各个对应的档案类型的示例。二、样例开发前提首先,需要安装U8产品,并建立一个帐套。其次,您需要向用友公司购买UAP表单设计许可;不过您可以使用UAP的演示版本,但是演示版本不能新建UAP项目,也不能注册行为对象。三、建立UAP项目使用UAP登录您的帐套后,在系统界面上的新建项目选项卡,选中“供应链”后,在右边的列表中选择“销售管理”,在界面下方的几个文本框中输入项目名称,编号,描述等;顺序选择框使用“默认”即可。点击“确定”如果输入信息与先前创建的项目信息不冲突,项目就可被成功创建。您也可以导入我们为您提供的UAP样例项目

5、,导入方法如下。1、登录UAP; 2、打开菜单“文件导入和导出”; 3、选中“导入项目数据到目前的服务器”,点“确定”按钮; 4、点“导入”按钮,选取U8安装目录下的“uapsdk”目录中的文件“Samplefile”; 5、导入成功后; 6、在UAP已存在的项目中产生了一个名称为“SaleVoucher”的项目;四、建立表单模型选中“自定义表单”节点,单击右键,使用“新建自定义表单”功能创建一个新的表单。然后在弹出的选择界面中选择“表单类型”下的“单据”,在名称文本框中输入一个表单名字,不要与以前创建的表单名字重复。在成功创建后,系统界面会如下图(图表1)所示:图表 1在上图所示的实体节点,

6、默认有两个子节点,分别为“主表和第一子表”,根据当前表单的需要设计实体,包括增加实体和实体属性等。(一)新建实体需要为实体填写“实体名称”,和选择“实体类型”。除此以外,还可以通过实体的属性编辑窗口为实体设置各项信息。实体的相关属性: 名称:实体显示的名称,仅用于设计时。 发布状态:实体是否已发布,只读。 功能:为实体定义自定义功能,在运行时显示为表格对应的工具栏按钮。 状态设置:设置实体属性、功能在表单运行时的状态,决定实体属性、功能在不同的环境下是否可用。 物理表模式:设置实体物理表的创建模式,默认为由UAP在发布时自动创建。在特殊的应用场景中可以使用“使用已存在的对象”或“无”。后两种情

7、况下UAP不负责实体物理表的维护。 物理表:设置该实体在数据库存储时使用的物理表,一般情况下一个实体对应一个物理表。 数据引擎模式:设置实体运行时数据的访问方式。默认为UAP系统在发布时自动创建,特殊的应用场景中可以使用“使用已存在的对象”或“无”,这两种情况下系统不负责实体数据的读取,只能通过用户定义的接口获取数据集。 数据引擎:当数据引擎模式为“使用已存在的对象”时,设置要使用的数据引擎对象。 主键:设置实体物理表的主键字段名。 主键类型:设置实体物理表主键字段的类型,可选“整数”或“GUID”或“字符串”。 行模式:多行或单行。一般主表设置为单行。(二)新建实体属性 实体必须包含实体属性

8、时才有效。可以在UAP界面“表单”窗口中,右键点击实体对应的节点,选择“新建实体属性”菜单向实体添加实体属性:实体属性通用属性: 类型:该实体属性的类型。 描述:对该实体属性的单体描述。 属性名称:实体属性的名称。 默认值:实体属性的默认值。 使用默认值:用户未提供数据时,是否使用实体属性的默认值。 发布:该实体属性是否已经发布。 常用条件:该实体属性是否可以在过滤中作为常用条件使用。 区间条件:该实体属性是否可以在过滤中作为区间条件使用。 值更新事件:设置该实体属性值更新时需要处理的脚本列表。基础资料类型字段共有三种类型的值更新事件:“携带当前字段相关参照属性到指定列”、“计算定义公式的值到

9、指定列”、“表达式为真/假时改变指定栏目编辑状态”;其余类型字段比基础资料类型字段缺少第一种类型的值更新事件。1.携带当前字段相关参照属性到指定列2.计算定义公式的值到指定列3.表达式为真/假时改变指定栏目编辑状态表单式为真假时修改指定栏目的编辑状态表单式为真假时修改指定栏目的显示状态表单式为真假时修改指定功能状态表单功能实体功能 唯一约束:是否检查该实体属性的值在整个表单范围内唯一。 文本对齐:实体属性文本的显示位置。 显示文本:实体属性的不同语言环境中显示的文本。 允许空值:实体属性的值是否可以为空。 物理表:实体属性对应物理字段的表名,即该实体属性所属实体的物理表。 字段:实体属性对应的

10、物理字段名。除了支持以上通用属性外,不同类型的实体属性还具有不同的特性:1.表单编号表单编号只能出现的主表实体中,并且只能有一个表单编号类型的实体属性。2.表单名称表单名称类型的实体属性只能在档案类型的表单中使用,同表单编号一样,表单名称类型的实体属性只能出现主表实体中,并且只能出现一次。3.整数和正整数 可否为0:数值型的值是否可为0。 录入长度:限制用户可录入数值的最多位数。 数据格式:数值类型的显示格式。 最大值和最小值:数据的有效范围。正整数的最小值必须等于或大于0。4.小数和正小数 可否为0:数值型的值是否可为0。 录入长度:限制用户可录入数值的最多位数。 数据格式:数值类型的显示格

11、式。 最大值和最小值:数据的有效范围。正小数的最小值必须等于或大于0。 小数位数:数据保留的小数位数。5.文本 多行输入:运行时是否支持录入多行文本。 最大长度:最多可录入的文本长度。6.日期和日期时间日期类型运行短日期格式,即只包含年月日。日期时间类型包含年月日和时分秒。7.枚举枚举类型的实体属性需要设置枚举值列表,枚举值的显示值为在界面显示的文本,保存值为实际保存到数据库的数据,如枚举类型的实体属性“销售类型”的枚举值可设置为如下图所示:U872中枚举字段支持选择“枚举模式”:使用已存在枚举、新创建枚举。选择“使用已存在枚举”后,需要为“枚举类型”选择一个U8系统中现有的枚举中的一个。8.

12、基础资料基础资料类型的值来自指定参照档案的对照值。 参照对象:设置基础资料类型实体属性的参照档案对象,可以从U8档案列表中选择,包含UAP中定义为档案类型的表单。 参照显示值:该属性是设置当前就“基础资料”字段在运行时的文本框里显示参照的那个字段的值。如上面的“参照对象”属性选择的存货档案,如果不设参照显示值,则运行时默认显示为存货编码,如果将“参照显示值”属性设置为存货档案的“存货”名称,运行是该字段就会显示为存货的名称。 选择方式:设置在运行时的对照选择方式。 自动校验:是否对录入的值进入检验以确定数据是否来自指定的参照对象。选择“否”时允许用户录入参照对象中不存在的值。9.基础资料属性基

13、础资料属性类型的实体属性必须和基础资料类型的实体属性结合使用。 参照属性:设置基础资料属性类型实体属性要绑定的基础资料类型实体属性,并指定关联的参照字段。当基础资料类型的实体属性值变化时,基础资料属性类型的实体属性值随之改变。10.数量、价格和金额数量、价格和金额类型的实体属性实质上为小数类型,设置等同于小数类型的实体属性。11.复选框特殊类型的整数值,运行时显示为复选框,保存的数据为0(未选择)或1(选择)。12.制单人当前单据的作者,一般设为登录用户。13.制单日期和修改日期制单日期保存当前表单生成的日期,修改日期保存表单最后一次修改的日期。这两种类型的实体属性实质上为日期时间类型,设置等

14、同于日期时间类型的实体属性。五、建立表单布局在完成实体的设计后,可以设计表单布局,UAP支持一个表单多个布局视图,用户可根据自己的使用习惯选择一种布局视图。布局视图的设计与普通window界面的布局设计基本一致。六、行为对象开发行为对象开发是指增加表单或列表的功能按钮,除了UAP系统自带的功能按钮外,还可以增加按钮,这些增加的功能按钮是UAP表单开发的基础。UAP提供了多种增加功能的途径,首先通过设计界面的树形菜单中的“功能”节点下的表单功能和列表功能的“功能管理”(图表2)添加功能按钮,这些功能按钮最终在运行时会被加载到U8产品的门户上;其次可以为每个表单实体添加功能按钮(图表3),为实体添

15、加完成这些功能按钮后,还需要在布局视图上为该表单实体的“功能”属性设置使用这些功能(图表4),这些功能按钮最终在运行时会被加载到该实体的工具栏按钮上。图表 2 图表 3 图表 4图表 5增加功能按钮时,很多工作都可以通过上图(图5)的设计界面完成,开发人员关心的仅仅是表单开发业务逻辑的实现。这些按钮的作用主要是通过在运行时对模型对象中数据的修改以及最终将修改的数据持久化来完成的。UAP表单开发分为表单开发和列表开发两种。因此对应了两种不同的开发类型定义了两种不同的访问模型对象数据的接口。(一)表单开发表单开发访问模型对象的接口IReceipt,该接口被定义在中,所以在做表单开发前,你需要为新建

16、的表单开发项目添加的引用。表单开发又可细分为表单功能开发和表单实体功能开发,每个不同部分的开发又都分为UAP已有按钮的功能修改开发和新增按钮的功能开发。目前为止,只要是表单开发,只需要实现上述接口即可。在实现 IReceipt 接口后,在实现类中会继承以下这些方法:et登录对象 et中调用U8中API的方法,其次需要知道有那些API可以使用,各个API方法的参数和返回值代表的意义,以及根据API的参数和返回值确定你的表单开发过程的业务流程等。Net中如何调用U8中的API参照U8API资源管理器中为每个已有的API生成的调用代码示例示例Business b = SaleVouche_0001_

17、E001 as Business; if iswfcontrolled.Value = 1) return null; DataSet dom = (ds, ; U8EnvContext envContext = new U8EnvContext(); = ; (VoucherType, 12); U8ApiAddress myApiAddress = new U8ApiAddress(U8API/SaleOrder/Audit); U8ApiBroker broker = new U8ApiBroker(myApiAddress, envContext); (domHead, dom); i

18、f = et类。该类被定义在dll中,所以在列表开发前,你需要为新建的表单开发项目添加dll的引用。你需要做的就是重写该类中的一个方法:BasePluginUIEvent,重写基类中的方法即可。示例一 列表门户按钮二次开发双击查看代码示例二 生单二次开发列表部分public class BasePluginUIEventBaseUIEventHandler . + tempLogin = newLoginInfo , , , , ref scriptSql, ref selectCountSql); using (SqlConnection conn = new SqlConnection)

19、(); if SqlDataAdapter adapter = new SqlDataAdapter(scriptSql, conn); , - 1) * , , temp); else SqlDataAdapter adapter = new SqlDataAdapter(scriptSql, conn); ; SqlDataAdapter adapter1 = new SqlDataAdapter(selectCountSql, conn); ; IMakeReceipt,该接口是生单二次开发的基础接口。被定义在中,所以在生单二次开发前,你需要为新建的表单开发项目添加的引用。然后根据你的业

20、务需要实现接口IMakeReceipt接口中的方法:oString();(2)封装过滤条件 封装过滤条件涉及到一个过滤窗口是否显示的问题。如果过滤窗口显示,我们可以通过过滤窗口为过滤查询赋值;如果要求过滤窗口不显示,并且需要设置查询条件,此时只能是先通过代码封装查询过滤条件,然后再传入打开报表的方法。sSingleItem = true)ref temp2).varValue = filterValue1;elseref temp2).varValue = filterValue1;ref temp2).varValue2 = filterValue2;FGeneralListMeta类,实例

21、化UFGeneralListMeta时一般需要的参数为数据源、过滤条件、栏目、用户自定义事件等。数据源: 类:. DataAccessMeta 实例化该类时需要两个参数new DataAccessMeta(BizDAE, erQuerySetting),第一个参数目前可支持两种类型分别为:BizDAE,SqlQuery;第二个参数为对应第一个参数的用xml描述的数据源详细信息。如果第一个参数为BizDAE,则xml结构为: ;如果第一个参数为SqlQuery,则xml结构为: select部分 from部分where部分order部分group部分having部分过滤条件: 类:. Filte

22、rMeta 实例化该类new FilterMeta(SA_16, filterSet)需要两个参数,第一个参数为本次查询需要的过滤条件编号ID,第二个为不显示过滤窗口时传入默认的过滤条件,其为xml结构的字符串,默认过滤条件的组织样式如下格式要求:1、过滤列的名称必须在该处列表过滤条件所有可选的字段中。2、操作符operator1为正常的Sql表到式中的where条件操作符。like等操作时需要自己添加必要的%等3、区间条件时需要最终的格式为= val1=区间条件时值 operator2=。 当然也可以将一个区间条件项分为两个条件项 = val1=区间条件时值 operator2=栏目: 类:

23、.ColumnMeta 实例化该类new ColumnMeta(SaleVoucher)需要一个参数,该参数为在UAP的栏目设计器中对应栏目的编号ID。用户自定义事件: 该参数为当表单开发人员对查询后的列表有自定义按钮事件或其他操作时使用,该参数为实现基类BaseUIEventHandler的子类的完整的命名路径。至此使用上述几个参数可以实例化UFGeneralListMeta类的一个对象,然后再使用该对象实例化UFGeneralListService类的对象,就可以得到UAP列表。如果想从该列表中某一行数据穿透到该条数据对应的表单中,需要在实例化UFGeneralListMeta类的对象时做

24、一个额外的工作。就是为UFGeneralListMeta类的对象的ExtendInfo属性赋值,该属性值为xml格式的字符串类型。其格式为:。示例(二)用户自定义控件开发说明UAP表单开发支持在表单视图中添加用户自定义控件,并将该自定义控件与该表单中的某一个表单实体模型关联,根据用户的实际需求,对实体模型中数据做更加丰富的展示,或者通过对自定义控件上展示的数据的修改影响实体模型的数据。IRecepit接口中的方法09a4c1c2ccSOCode or SO_SODetails. cSOCode = null添加基础属性(来自物理表列的属性)添加完毕基础属性显示如下:添加计算属性添加完毕,计算属

25、性显示如下:添加枚举属性:注意其中的枚举类型来自于UFMeta中注册的枚举类型,枚举值表以及枚举值列是设置保存枚举类型ID所对应的列,构建SQL的时候会去该列的值与所有的枚举值进行匹配比较,并取出对应得枚举类型名称在实体添加完毕后,点击“确定”按钮,在主窗体中显示出新增加的实体:业务对象修改业务对象基础信息添加功能添加实体关系查询实体关系查询设置窗体添加查询涉及的实体如果该查询设计多个实体,可以设置实体与实体之间的关系其中也可以进行实体关系自定义设置,参考实体中物理表关系设置部分添加查询结果列(Select)修改列名称以及描述信息添加计算列其中的表达式使用方法参考 备注1添加查询条件(Wher

26、e)添加组内查询条件(Having)添加方法同添加查询条件添加排序(Sort)添加分组(Group)添加完毕后再业务对象窗体显示新增加的实体关系查询添加SQL查询SQL查询又分为两种,分别为SQL脚本以及储存过程查询,其中的存储过程查询设置如下所示:如果为SQL脚本查询,则按照下面的方式分别设置各个部分的SQL脚本:设置Select部分设置Where部分其它各个部分的设置类同业务对象信息设置完毕后,点击“确定”按钮,则在主窗体中显示出新增加的业务对象信息业务对象配置完毕,可以使用工具测试该业务对象配置信息是否正确查询完毕,可以在查询结果栏中查看当前查询过程中的日志信息,其中可以看出每个步骤地耗

27、时,动态产生的SQL脚本信息等备注:1、在BizDAE中所有的SQL表达式(如计算列表达式、查询条件,实体计算属性,运行时动态设置的SQL脚本等)如果要使用物理表列或者实体属性必须按照下面方式使用:#P物理表别名.列名称:在实体设置中使用物理表列方法#P实体别名.属性名称:在查询中使用实体属性方法#FN查询结果列名称:在查询中使用查询结果列方法(不推荐使用)应用技巧:在配置完业务对象后应该使用测试工具检验该配置信息是否正确,如果出现问题可以从日志中检验原因七、设置过滤条件功能介绍: 过滤设计器是通用控件,主要用于报表、单据列表、表单等过滤条件的设置。有丰富的类型,可供设置过滤条件时选择,还可以将过滤条件设置为区间条件或多选条件,可以为过滤条件赋默认值,同时支持将过滤条件分组显示。使用说明:A.过滤设计器主窗口界面说明:是否支持高级条件:选此项后,在运行时过滤窗口中会出现“高级条件”页签,用于用户自由选择过滤条件的组合。是否显示汇总选择:选此项后,将在运行时窗口的最下端显示“查看汇总信息”复选框。规则组件:此项定义由过滤控件回调的规则组件类。是否取消二次开发:此复选项只有在以“U870”项目进入

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1