U8V10.0产品培训—UAP表单用友软件股份有限公司U8平台开发部2011年4月8日课程提纲一.UAP表单1.UAP简介2.UAP表单设计①基础知识②CS表单③BS表单3.单据转换规则4.二次开发接口①单据二次开发②列表二次开发③应用服务器二次开发课程提纲二.常用工具1.数据引擎定义工具2.栏目设计器3.参照设计器4.过滤设计器5.菜单调整工具6.敏感数据维护工具1.1UAP简介UAP:UfidaApplicationPlatform用友公司有多条UAP线:U8-UAP、NC-UAP、U9-UAP(UBF:UfidaBusinessFramework)UAP是管理软件领域的应用程序开发平台UAP是用友产品在技术上对外开发的途径,是产业链的核心U8-UAP包括很丰富的内容:门户、工作流、报表、表单、集成框架等等。本培训的内容仅限于UAP表单,这是狭义的UAP概念。大UAP概念UAP工作流、门户外部的UAPUAP报表内部的UAPUAP工具:菜单调整、栏目设计器、过滤设计器、参照设计器、商业敏感工具、数据引擎UAP表单1.1UAP简介1.2UAP表单基础知识基础知识UAP表单为U8产品增加了自定义单据和档案的能力。并为单据和档案提供了全方位的功能支持,包括:增、删、改、查、打、审、格式设计等等在实施过程中,可以为用户定制个性化的单据和档案。使用UAP定义的单据,可以实现多子表、多布局视图使用UAP定义的档案,支持复杂档案、列表档案、树型编辑档案(形如部门档案)、树形导航档案(形如人员档案)使用UAP定义的档案可以在U8单据格式设置中引用UAP提供了完善的插件机制,用于个性化开发。UAP表单允许开发人员进行扩展性和取代性的开发工作。UAP表单支持分层开发1.2UAP表单基础知识基础知识–分层开发分层开发有两方面的含义:在开发过程上(或开发组织上)允许各个参与者分层次依次开展工作,进行迭代性开发,从而保证向客户快速交付成果,符合敏捷开发原则。销售售前实施开发客户服务特点:1、是向客户交付一个项目的各个阶段,是横向的。2、每个阶段的成果都是半成品或中间产品,每次迭代都逼近客户的真实需求。可工作的软件胜过面面俱到的文档1.2UAP表单基础知识基础知识–分层开发第三层(区域解决方案)第二层(行业解决方案)第一层(水平产品解决方案)第四层(用户个性化解决方案)特点:1、每个层次都是独立的项目,是纵向的。2、每个层次都是独立的解决方案,是一个领域的成品。1.2UAP表单基础知识基础知识—核心特性支持树形结构的业务实体支持业务模型的一个实体对应多个视图,一个视图只能对应一个业务实体支持一个业务实体属性对应多个视图控件丰富的客户端展现:多子表、分组、页签表单和业务模型是一对一的关系与门户集成视图在表单上支持自由布局业务逻辑层(M)、界面层(V)、业务逻辑和界面之间的控制层(C)互相分离支持运行时多语支持用户自定义控件1.2UAP表单基础知识基础知识—组成核心设计时业务建模工具视图布局工具功能定义工具行为对象注册工具栏目设计器过滤设计器单据编号规则设置核心运行时与门户交互业务逻辑的基础实现维护模型和布局视图的关系为行为对象提供运行环境客户端展现,布局视图灵活切换1.2UAP表单设计CS表单–演示1.2UAPCS表单—列表档案1、新建列表档案,从“档案类型”中选择“列表档案”,在名称文本框中输入所建列表档案的名称即可。2、列表档案只有主表实体,并且不允许再添加新实体,在“主表”实体中必须添加“表单编号”和“表单名称字段”1.2UAPCS表单—树形编辑档案1、新建树形编辑档案,从“档案类型”中选择“树形编辑档案”,在名称文本框中输入所建档案的名称即可。2、树形编辑档案只有主表实体,并且不允许再添加新实体,在“主表”实体中必须添加“表单编号”和“表单名称字段”1.2UAPCS表单—树形编辑档案3、编码规则属性:编码规则为树形编辑档案建立上下级关系的基础1.2UAPCS表单—树形编辑档案4、在设计树形导航档案的布局视图,需要添加树形控件,以体现主表的树形层次接口选中树形控件,拖拽至布局窗体,然后右键绑定主表1.2UAPCS表单—树型导航档案1、新建树形导航档案,从“档案类型”中选择“树形导航档案”,在名称文本框中输入所建档案的名称即可。2、树形导航档案包含“主表”和“子表”实体,不能建立新实体。1.2UAPCS表单—树型导航档案(主表)1、主表中包含两个实体属性“编码字段”和显示字段,不能添加新的实体属性;2、主表属性设置首先设置主表查询数据所使用的数据引擎,如需要做人员档案,主表需要设置为部门档案的相关信息,此处就需要设置查询部门档案的数据引擎根据实际设置当前主表所需要设置的主键列名称及主键的类型1.2UAPCS表单—树型导航档案3、子表中必须需要设置“表单编号”和“表单名称”类型字段。4、在设计树形导航档案的布局视图,需要添加树形控件,以体现主表的树形层次接口(支持自动布局,可不用手动设计)选中树形控件,拖拽至布局窗体,然后右键绑定主表1.2UAPCS表单—多行文本1、设置“文本”类型字段时,可以为其设置“多行输入”属性。2、设置多行属性后在布局视图中可拖拽设置输入框大小(按住键盘“Crtl”键后用鼠标拖拽即可)。1.2UAPCS表单—验证字段每个实体的属性窗口中可以设置“验证字段”属性。如果为子表实体的“验证字段”属性设置值(假如选定了字段“A”和“B”),则在运行时录入单据保存时,系统会自动检测单据中子表的每一条记录。如果检测到一条记录中A字段和B字段都没有录入值,则会对这一条记录不予保存到数据库中。1.2UAPCS表单—值更新事件1、值更新事件分类:计算定义公式的值到指定列表达式为真/假时改变指定栏目编辑状态表达式为真/假时改变指定栏目显示状态表达式为真/假时改变指定功能状态携带当前字段的相关参照属性到指定列1.2UAPCS表单—值更新事件计算定义公式的值到指定列一般用来做数值类型的计算,例如:单据×数量=金额1.2UAPCS表单—值更新事件表达式为真/假时改变指定栏目编辑状态字段的联动控制时,可以使用该事件,例如:字段A有值,则字段B可写,否则,字段B只读。(此处需要设置两个值更新事件)1.2UAPCS表单—值更新事件表达式为真/假时改变指定栏目显示状态字段的联动控制时,可以使用该事件,例如:字段A有值,则字段B可见,否则,字段B隐藏(此处需要设置两个值更新事件)。1.2UAPCS表单—值更新事件表达式为真/假时改变指定功能状态字段值的变化影响功能按钮的状态时,可以使用该事件,例如:字段A有值,则打印功能可用,否则,打印功能不可用(此处需要设置两个值更新事件)。1.2UAPCS表单—值更新事件携带当前字段的相关参照属性到指定列(该事件只能在“基础资料”字段上建立)参照字段选择时,将选择的参照的相关栏目的值填写到指定的栏目中。1.2UAPCS表单—功能管理表单功能:设计时通过“功能管理”添加功能或修改已有功能属性实体功能:设计时通过实体的“功能”属性添加功能货修改已有功能属性1.2UAPCS表单—功能管理表单功能表单发布后,在运行时门户的工具栏中可以看到的功能按钮实体功能表单发布后,在运行时每个实体上的功能按钮。1.2UAPCS表单—功能权限表单功能支持功能权限在设计时,修改表单功能的属性“控制权限”为“是”,重新发布表单。表单发布时会生成相应的功能权限控制对象在U8的系统管理端为操作员赋功能权限时会看到新增加的功能权限1.2UAPCS表单—功能权限在设计时设定功能的“控制权限”属性为“是”后,发布表单。在U8系统管理的功能权限中为用户或角色设置该功能的使用权限。假设设定表单的“打印”功能控制权限,发布后如图所示分别为表单生成“打印”和“浏览”权限。“浏览”权限控制用户是否可从左树查看该表单节点;“打印”即为设计时设置的打印功能的权限。1.2UAPCS表单—记录级数据权限单据中的参照字段支持设置记录级权限在表单实体的“基础资料”的属性设置中包含“记录级权限”例如字段的参照对象设置为“客户基本参照”,并且需要控制记录级权限,则“记录级权限”属性可设置为“客户”。1.2UAPCS表单—字段级数据权限UAP表单发布之后,即生成了字段级权限控制业务对象,UAP表单的主表和第一字表中的字段自动加入该业务对象。在U8中可以使用启用这个业务对象,并为用户分配字段权限。1.2UAPCS表单—单据编号规则在设计时中可以设置使用表单“主表”中的几个固定类型字段去参与新增表单的单据编号生成。可以参与单据编号生成的字段类型包括:基础资料、日期、制单人三种。此处的“重新发布”选项框必须选中,设定后需要重新发布表单发布后,就可在使用U8的单据编号规则设置功能为单据设置编号规则了1.2UAPCS表单—状态设置UAP表单状态:新增、修改、审核、浏览功能(按钮)状态可设置功能(按钮)在各个状态下的“可用”、“不可用”、“隐藏”等选项。表单功能状态实体功能状态1.2UAPCS表单—状态设置UAP表单状态:新增、修改、审核、浏览(审核状态目前没有使用)实体属性(栏目)状态可设置表单实体中的各个字段在各个状态下的“可写”、“只读”、“灰化”等选项。实体属性状态1.2UAPCS表单—多人协同开发任务管理器为基于UAP的多人协同开发提供了基础服务列出当前存活的工作任务,可以看到谁正在使用什么功能任务管理器管理的对象包括项目和表单先打开某个管理对象的开发人员拥有对它的读写权限,之后打开同一个管理对象的开发人员只拥有读权限。开发人员关闭某个管理对象后,他拥有的权限自动释放。对于UAP设计时因异常退出,无法清除的任务,可以清除。1.2UAPCS表单—运行时多语支持多语如何设置目前支持简体、繁体、英文三种语种,从设置多语的属性设置进入如图窗体设置。支持多语设置的数据项UAP表单中的实体属性、功能、及布局视图中都可以设置多语。1.2UAPCS表单—枚举枚举类型字段与U8的枚举字段一致属性设置枚举模式如果为“新创建枚举”(默认为该模式),则必须设置属性“枚举值”;枚举模式如果为“使用已存在的枚举”,则必须设置属性“枚举类型”;1.2UAPCS表单—基础资料基础资料类型即为U8老单据中的参照字段基础资料类型字段属性设置:属性“参照对象”属性“参照显示值”属性“参照显示字段”字段标示名称,用来作为数据引擎的返回字段标示,不要与其他字段名称重复属性“记录级权限”是:输入框中输入数据后回车,系统会自动校验数据是否是一个合法的参照数据否:不执行上述校验,在需要支持录入参照中不存在的数据时使用。属性“自动校验”1.2UAPCS表单—基础资料属性基础资料属性字段默认为只读,它依附与当前实体中的一个基础资料类型字段,当基础资料字段做参照选择时,相应的值也会填充到基础资料属性字段。属性设置所有当前实体中“基础资料”类型字段已设置参照左边选中的参照中可以使用参照的栏目字段1.2UAPCS表单—自动布局UAP表单的布局视图支持自动布局。在布局视图设计界面的工具栏中有一个“自动布局”的功能按钮。自动布局后,如果不满足要求,还可以手动调整1.2UAPCS表单—分组页签表单的实体较多或者实体中的字段较多时,可以使用分组页签,将相关的一组字段设置在一个页签上。类似于存货档案的多页签界面。将该分组页签控件拖拽至布局界面即可1.2UAPCS表单—调整栏相对于U8单据界面上布局相对固定不同,UAP表单的布局视图设置中引入了“调整栏”控件。在布局中加入调整栏后,在运行时界面中可以根据需要自由的调整一块区域的显示大小。一般放在两个“容器”控件之间。将该调整栏控件拖拽至布局界面即可1.2UAPCS表单—停靠.Net控件的基础属性之一,该属性是一个枚举值,可以设置为Top、Bottom、Left、Right、Fill。分别代表该控件停靠填充到所在容器控件的顶、底、左、右或者完全填充整个容器控件。设置这个属性后不需要关心控件在运行时的位置或者大小,都是控件自动计算的。1.2UAPCS表单—实体功能和表单功能映射为了做出