005-自定义单据(初级)_第1页
005-自定义单据(初级)_第2页
005-自定义单据(初级)_第3页
005-自定义单据(初级)_第4页
005-自定义单据(初级)_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自定义单据(初级)课程编号:课程概述BE组件开发UI组件开发应用专题讨论案例分析及演示主题课程概述BE组件开发UI组件开发应用专题讨论案例分析及演示主题为什么要听为什么要讲能解决什么问题课程体系中的位置听课基础考查目标讨论系统开发普通过程课程概述课程概述BE组件开发UI组件开发应用专题讨论案例分析及演示主题什么是BE?BE(Business

Entity)即我们通常所说的实体。后台的可持久化数据对象,可以理解为数据库的一个表的内存对象类型,其本身也是与数据库表对应的。通过对象关系映射(ORMAPPING)的持久化机制,就可以实现不用写SQL来进行对数据表的加载和保存。使开发的代码隔离了数据库。什么是组件?组件是UBF的模型文件组织单位

,个组件对应操作系统中,个实际的模型文件。组件同时也是UBF的运行期的执行单位。(如以组件为单位的资源缓存...)什么是BE组件?UBF的基本持久化单元。在实体组件中,只能有一个主实体。也就是其它该组件中的实体,必须要被该主实体直接或间接的组合上。如何开发BE?BE的相关概念实体设计器在UAP平台中的位置设计时态运行时态工具DatabaseMessageIM Mobility操作系统 /.NETFramework/

J2EEOfficeSearch业务层框架MVC框架Ajax引擎UI框架Portal抽象控件模型离线引擎流程框架工作流引擎工作

表 工作流

器JOB引擎服务框架服务引擎服务/代理实体框架操作框架AOP框架服务框架持久化引擎报表框架报表与打印引擎权限管理IDE集成开发环境

器OFFICE实施工具数据导入导出工具布置工具升级中心UI模型设计器表单设计器 参照设计器流程设计器服务设计器实体设计器事件设计器异常设计器状态机设计器对象/关系映射报表与打印设计器UI元数据流程元数据服务元数据实体元数据报表元数据元数据后台组件开发流程建枚建校验建据传

对建性类属型建实创建实体项目 创建操作 /

服务项目创建实体

件 创建操作 /

服务

件创建命名空间

创建命名空间创建文件夹

创建文件夹建类图模型

DSL

文件

模型

DSL

文件新建解决方案创建数据库项目

生成代码运行期OR 映射文件 数据库 元数据

件 业务逻辑

件执行脚本

编译发布

设计期建类图 体 举 器 输

象创 创 创 创 创 创

创传建输数对据象产生脚本

编写业务逻辑发布 发布 发布OR

映射

数据表

VS NET

项目.建操务作创

/服UBF后台模型结构一个典型的文件视图方式展现的UBF后台解决方案.包含BE,BP,SV三个项目.项目中可按目录来组织模型文件.每个模型文件均为一个组件.Reference为项目引用,可以引用当前解决方案中的其它项目.也可以引用已经发布的项目dll.(同VS的思路是一样的)实体属性类型数据传输对象(DTO)枚举类型六常事件校验器实体关系(继承、组合、关联)实体设计器中的常用模型元素新建实体对象定义实体字段属性定义实体关系级联删除及敏感字段设置相似实体设计期的复用(特性介绍)特殊实体的版型设置定义审批流状态机模型其他模型元素的定义构造自动生成建库脚本、元数据脚本实体设计器的主要功能介绍BE实体模型C#项目UBF模型后台代码项目(应用开发的代码编写)模型DLL(外部项目可引用)建库元数据脚本(进行数据库构建)通过一键式构造命令(包含模型检查,打包,代码生成,发布…)代码生成模板集成了模版引擎,通过预置的应用开发模版代码,和模型文件一起生成了相应的应用开发的代码解决方案,项目,代码文件等其它文件每次生成代码类型:可改代码,不可改代码目前解决方案是不可改的。项目文件开发人员可以添加代码文件和引用。代码文件,只有以Extend.cs结尾的文件是可以开发编写的,生成会重新覆盖。代码生成覆盖规则可改写的代码如果存在,不覆盖;否则,生成。不可改的代码直接生成新的代码覆盖。代码生成框架代码生成框架实体代码解决方案三个项目BE实现项目

编写应用代码**.Deploy BE部置项目

用千对外部分服务组可见接口

不可改。**.Test

BE测试项目

可添加测试用例代码每个实体组件会生成一个目录,组件内模型均生成在这目录下。每个实体会生成两个代码文件例:Order.cs和SaleOrderExtend.cs是,个类型的两个partial文件。只有Extend文件才是用千应用开发编写代码逻辑

通过这种方式来解决

模型变化导致代码变化和应用代码的尽量分离。开发也可以自己添加代码文件或者DLL引用来加入到当前项目中.编写BE代码模型和代码的关系什么情况下需要编写BE代码?BE代码写什么?实体自身数据的完善,实体组件的数据的完善。维持实体自身对象完整性的检查逻辑,——如订单头的客户数据没有是不正确的。维持实体组件完整性的检查逻辑,——如仅有订单头,没有订单行是没有意义的。实体及实体组件持久化时的应用逻辑。实体的模型方法的实现。(对内对外接口)BE代码写在哪?根据具体需要在实体持久化各个时机(如下)插入自己的业务逻辑OnSetDefalultValue(一开始提交时,进行数据完善的事件)OnValidate

(

走完OnSetDefalutValue后,开始进行自身数据校验)OnInserting

/OnUpdating

/

OnDeleting

(校验后,数据库实际操作前)OnInserted /

OnUpdated /

OnDeleted

(数据库实际更改后)课程概述BE组件开发UI组件开发应用专题讨论案例分析及演示主题UI的相关概念什么是UI?UI即User

Interface(用户界面)。UI设计则是指对软件的人机交互、操作逻辑、界面美观的整体设计。好的UI设计不仅让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特京为什么要开发UI?UI设计器在UBF平台中的位置设计时态运行时态工具DatabaseMessageIM Mobility操作系统 /.NETFramework/

J2EEOfficeSearch业务层框架MVC框架Ajax引擎UI框架Portal抽象控件模型离线引擎流程框架工作流引擎工作

表 工作流

器JOB引擎服务框架服务引擎服务/代理实体框架操作框架AOP框架服务框架持久化引擎报表框架报表与打印引擎权限管理IDE集成开发环境

器OFFICE实施工具数据导入导出工具布置工具升级中心UI模型设计器表单设计器 参照设计器流程设计器服务设计器实体设计器事件设计器异常设计器状态机设计器对象/关系映射报表与打印设计器UI元数据流程元数据服务元数据实体元数据报表元数据元数据UI组件开发流程UI模型设计器之UIModel设计器什么是UIModel?UIModel是前台的数据模型;UIModel是单据、档案卡片和列表界面展现与交互的数据模型UIModel由UIView、UILink、UIAction等组成什么是UIView?UIView是界面容器的数据集合,对应千数据表(数据视图)UIView由UIField、UIFilter、UIParameter等组成UIModel支持业务组件对象持久化的完整事务处理,BE实体之间的组合关系一定反映为UIView之间的主子关系什么是UIAction?Action设计主要包括ToolBar操作和额外功能操作;系统缺省Action已经通过模板在模型生成代码时,实现一些默认ToolBar按钮功能;UIView的深入理解UIView的系统字段参与持久化的UIView必须绑定一个BE实体;UIView必须有2个系统字段分别对应该BE实体的ID、SysVersion;而且UIView中只有与该实体绑定的字段才可以参与持久化;UIView的字段属性参与持久化的UIView字段的数据类型、数据格式、数据长度、缺省值等是与绑定的BE相对应属性是一致的;文本型的数据字符串长度无须处理,超长部分在持久层自动截断;UIView字段的是否可空属性主要是控制UI输入操作和进行前端非空校验的;如果是编辑数据,不可以进行非空项的减弱设置;对千BE可空属性,可以进行非空属性的增强设置;参与持久化字段的是否作为参照属性不要改变其缺省设置,否则会影响持久化操作;UIView的深入理解描述性弹性域字段描述性弹性域包括普通段、公共段、私有段等类型,在设计UIView时,要把对应BE实体的描述性弹性域字段全部绑定,不可差缺;系统字段的业务借用在BE实体中CreateOn、CreateBy、ModifiedOn、ModifiedBy等4个字段是系统预留的,一般不参与业务处理;但是如果业务模型上有这些业务字段,可以借用这4个系统属性,并把CreateOn、CreateBy、ModifiedOn、ModifiedBy加入UIView字段中;Link实体之间的组合关系一定要反映为UIView之间的主子关系;在UIModel中以UILink自动建立UIView之间的连接;如果不建立Link关系,持久层无法完成被组合实体的持久化事务操作;UIView的深入理解UIView分组UI界面分组来源千UIView分组;界面分组可以有3层:页签、分组线、分组框,一般1~2层即可;自定义字段UIView自定义字段有两个作用:界面布局和信息资源;自定义字段不参与CRUD;但可以参与交互处理;自定义字段可以是目前UIView已经支持的任何数据类型;界面业务操作的提示信息,除了公共信息外,全部来源千自定义字段的DisplayName;实体关联字段UIView绑定BE实体,该BE实体的关联实体的属性可以作为UIView字段;关联字段可以参与数据加载,但不参与CUD;FilterFilter设置加载数据的过滤欠件,仅仅在主UIView上进行设置;设置的欠件一定要全部绑定参数后才能够加载数据;UI模型设计器之表单设计器交互模式基本UI界面模式Card、List、Tree所有业务表单UI界面均是这几种基本模式的组合基本操作模式(Action)保存、新增、放弃、翻页、流程、打印、输出等所有表单的处理动作是这些标准操作的组合UI模型设计器之表单设计器Card模式Card模式是单,对象的交互模式单Card多CardUI模型设计器之表单设计器List模式List是集合对象的交互模式UI模型设计器之表单设计器UI基本界面模式的各种组合单卡片单列表单卡单表单卡多表多卡多表多卡单表…UI基本界面模式构成各种业务表单档案单据列表如何选择自己的表单UI组件交互模板库UI模型设计器之表单设计器视图模型(UIView)和界面模型的关系一张表单中的Card,Grid(对应List),Tree又叫数据容器;每个容器对应一个UIView;数据表···数据容器···元数据映射绑定绑定Action控制处理功能区Action工具栏ActionUIModel设计过程拖拽实体至UIModel使之成为,个UIView修改UIView中需要调整的字段属性UIModel设计过程修改Model数据加载条件UIModel设计过程对千子实体

应该从主实体的属性中拖拽拖拽至Model后

直接建立UILink关系UIForm设计过程拖拽UIVIew中的字段至Card拖拽UIVIew中的字段至Grid绑定参照字段

根据需要设置UI控件显示属性启用工具栏按钮事件

并绑定ActionUI模型C#项目UBF模型UI代码项目(应用开发的代码编写)模型DLL(外部项目可引用)UI元数据脚本(进行UI元数据及资源的发布)通过一键式构造命令(包含模型检查,打包,代码生成,发布…)UI代码生成框架UI代码解决方案包括一个项目,=个文件目录Action扩展Model扩展WebPart表单扩展编写UI代码什么情况下需要编写UI代码?UI代码写什么?UI数据加载前后的数据转换UI操作对应后台的响应UI字段状态控制UI交互控制自定义视图(字段)的数据加载UI代码写入时机WebPart事件事件扩展出的接口OnInit()OnLoad()OnPreRender()控件事件CreateFormChildControls()OnLoadData_Extend()AfterOnLoad()BeforeUIModelBinding()DataBinding()AfterUIModelBinding()AfterCreateChildControls()!Page.IsPostBackIsDataBinding控件事件ExtendActionExtend课程概述BE组件开发UI组件开发应用专题讨论案例分析及演示主题实体业务主键实体业务主键实体业务主键和数据表主键业务主键非聚集唯一索引应用场景实体关系及敏感字段设置实体关系实体关系类型继承

组合

关联如何选择关系的使用继承:单据,单据基类组合:组件内各实体关系关联:一般不直接使用,通过选择属性的数据类型自动关联对一个案例如何分析确定实体关系确定各实体划分实体组件确定组件主实体定义组件内实体的组合关系实体级联删除理解级联删除实体设计器级联删除控制开关实体关系线的属性:级联删除、级联删除规则、是否启用级联校验级联删除控制规则对级联规则为NoAction的情况

增加,个是否启用级联效验的标志

只有当这个标志为true

才进行NoAction下的引用效验

而这个是否启用级联效验的标志

也只在规则为NoAction时有效

其他规则下都无效

即:级联删除

是bool型

表示在删除时关联关系是不是要做及联处理;级联删除规则:

只有当及联删除标志为true时

这个规则才起作用

有3种情况cascadenoaction

setnull;是否启用及联效验:只有当及联删除为true

及联删除规则为noaction时才有效

表示这个关联是否进行被引用不能删除的检查。实体级联修改(敏感字段设置)理解敏感字段敏感字段应用场景以培训案例为例:订货单单据类型的Code设置为“,旦使用不可修改"的属性

那么

当修改这个属性时

如果发现有订货单引用了这个单据类型

则抛异常“订货单单据类型已被使用

不能修改"。实体设计器敏感控制开关实体关系线的属性:检查修改实体字段属性:,旦使用不可修改实践作业以培训案例实体关系(订货单——订货单单据类型)为例,实践完成以下报告订货单单据类型被使用时,不允许修改单据类型的Code值场景号级联删除启用级联校验级联删除规则实现效果六常提示信息1truetruecascade2truetruenoaction3truetruesetnull4falsetrue不限Form引用Form引用的效果Form引用的实现设置被引用Form的传入传出参数通常情况:传入参数ID,传出参数ID,Code,Name添加需要引用的UI元数据设置label的Form引用参数参照绑定参照的效果如何绑定一个已有参照将包含参照的项目加入项目引用京击“参照信息”即可设置参照的参数绑定通常参照会返回该对象的ID,Code,Name值,如果界面需要绑定可以设定参照返回值的绑定参照返回绑定数字控件的精度数字控件的精度需要绑定=个字段精度,舍入值,舍入类型带精度的参照(如币种)通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论