U9研发体系(COMMONCRUD使用手册)
U9研发体系(实体操作API参考手册)

propName 属性名
public MultiLangDataDict GetMultiLangPropDict(string propName)
取得属性所对应的全语种信息 参数:
propName 属性名
返回: MultiLangDataDict 带全语种的多语集合
方法
public IPersistableObject Clone()
新建一个实体,将源实体的所有属性拷贝到这个新建的实体,注意,这个新实体的 ID 与源实体都是一样的
public virtual void CopyTo(Entity target)
将源实体的除了 ID 以外的所有属性拷贝到 target 实体 参数:
EntityKey
这个 EntityKey 是实体基类 UFSoft.UBF.Business.BusinessEntity 的内部类,是强类 型 EntityKey 的基类
方法
public BusinessEntity GetEntity() 通过 EntityKey 加载实体
EntityFinder
List<string> 变化的属性集合
public string GetMultiLangProp(string langType, string propName)
取属性在指定语种所对应的多语言信息 参数:
langType 语种 propName 属性名
public string GetMultiLangProp(string propName)
创建实体全名为 fullName 的实体对象 参数:
fullName 实体的带名空间的全名 parent 上级实体,如果是主实体的创建,这个参数为 null,如果不是,这个参数 需要送入组合它那个实体实例
U9研发体系(系统管理工具说明)

1.1. 登录
主控服务器:选择要登录的控制服务器地址。 初始密码为 123456
1.2. 站点管理
对该站点下的各种服务器进行配置。如下图:
【操作说明】 z 注册站点:注册本企业的其它站点到本地站点进行管理。 z 新增服务器:选择工具条上的【新增服务器】,弹出下拉列表,选择要添加的服务器类型,
进行添加即可。 z 编辑:可以对选择项进行编辑。 z 删除:删除选择项。
新增报表服务器,U9 的报表来源的服务器。 (A)代码: 报表服务器在当前站点中的唯一代码 (B)名称: 报表服务器的名称 (C)描述: 报表服务器的描述。 (D)服务器: 指安装 ReportServer 的机器名或 IP 地址,可以为本机或同域中其他机器。如果不 是本机,必须保证要配置的服务器运行系统管理服务(运行 ServiceHostingConsole.exe,启用 SystemManageEngine 服务),否则按刷新按钮会提示 (E)报表服务器 URL: 如果成功获取 ReportServer 安装信息,会显示 ReportServer 实际 URL,不 能为空。 (F)报表服务库目录: U9 报表扩展库目录,如果报表服务扩展库及系统配置管理工具均为标准 目录部署,此内容会自动判断是否存在,若存在,浏览按钮会 Disable。否则操作人员需手工查 找报表目录库所在位置(点击浏览按钮) (G)U9 门户网站: 需要配置报表服务运行环境的 Portal 服务器。此为先前创建的 Web 服务器名 称,如果是新增报表服务器,此处内容会预设第一个 Web 服务器 (H)高级:显示和编辑当前服务器的补丁更新的设置。详细间《服务器高级设置》 (I)确认:进行文件上传和报表服务器及 Portal 服务器复制 (J)取消:不做任何操作返回。 (6)新增集群服务器,如下图:
U9 操作指引(完整版)

U9 操作指引销售管理部份料品:50-0000-0001 指定存储地点及业务员客户:指定交易币种,价目表,出货原则,退货条件,出货条件,收款币种,收款条件,立账条件,其中立账条件及收款币种要与交易币种保持一致(重要)1.下达销售合同(注意起交日期在生效日期与失效日期之间)—提交—审核—客户确认(注意指定合同类型及流程)2.操作—批量生单(注意收款条件币种与单据币种一致)--提交—审核3.标准收货—批量生单—提交—审核4.退回流程:退货申请—批量生单(注意退货处理的单据类型)--受理—提交—审核5.采购管理—收货—销售退回收货—批量生单—进入检验流程6.采购管理—销售退回单—操作—检验—确定—提交—审核采购管理部份:料品:10-0000-0001 ,收货程序,勾选请购及询价属性1.查看是否点收及检验,操作—点收—提交—审核为可改,收货原则要填供应商:付款条件,付款币种,收货原则,立账条件2.下达采购合同(注意起交日期在生效日期与失效日期之间)--提交—审核—供应商确认3.采购申请—合同请购—批量生单(参照采购合同)提交—审核4.采购管理—料品询价范围—询价—批量生单(参照请购单)-比价—接受比价—提交—审核—转PO5.采购订单—提交—审核6.标准收货—批量生单—进入检验流程。
7.采购收货单—操作—检验—确定最终接受数量—提交—审核生产管理部份:料品:50-0000-0001 料品档生产页签可设超领百分比;物料清单中控制页也可以设,优先取物料清单的设置1、生产订单下达新增——单据类型——生产部门——生产数量——完工存储地点——计划开工时间——计划完工时间2、齐套分析指定存储地点——选取成套策略(生产数量、指定数量、可成套数)——选取生产订单——齐套分析3、生产订单开工开工:开工——开工数量——开工反开工:开工——开工历史——反开工4、生产订单领料与退料领料:后续处理——非成套领料——存储地点——实发数量——保存——审核——发料确认退料:生产退料——单据类型——选取生产订单——选取备料单——实退数量——退料理由——保存——审核——退料确认生产订单查询领退料明细、生产订单查询备料5、生产订单完工后续处理——完工——完工数量、报废数量、返工数量——质检页签(没有质检流程时:检验结果、不合格处理方式、数量)——保存——审核——进入质检流程---入库(打开生产订单、取消入库)6、返工生产订单生产管理参数:是否即时产生返工生产订单。
U9研发体系(数据库访问API参考手册)

U9 数据库访问API参考手册适用版本:U9 V1.5 UBF2.0修改状态:编写人:叶琳审核人:此部分要记录该文档形成过程中的历次版本变更过程及变更的内容版本修改与参与人修改时间修改原因修改内容审批人1.0 叶琳2008-7-8 原始文档建立叶琳2008-7-9 加上类的名空间概述U9数据库访问的API集中在UFSoft.UBF.Util.DataAccess.dll中,主要是封装直接执行sql和存储过程DataAccessorUFSoft.UBF.Util.DataAccess.dll下的DataAccessor主要对外提供直接执行sql和存储过程的方法,名空间为UFSoft.UBF.Util.DataAccess方法:public static IDbConnection GetConn()取当前的连接注意:这个连接是通过DatabaseManager.GetCurrentConnection()取得,是取当前环境下的连接static public int RunSP(string sprocName, DataParamList dataParams)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表static public int RunSP(string sprocName, DataParamList dataParams, outDataSet ds)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表ds 输出结果static public int RunSP(string sprocName, DataParamList dataParams, out IDataReader dr)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表dr 输出结果static public int RunSP(string sprocName, DataParamList dataParams, out object obj)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表obj输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out DataSet ds)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表ds 输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out IDataReader dr)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表dr输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out object obj)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表obj输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams)执行sql参数c on 数据库连接commandText sql语句dataParams 参数static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, bool needCloseConn)执行sql参数c on 数据库连接commandText sql语句dataParams 参数needCloseConn 执行完后是否需要平台自动关闭连接static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams,bool needCloseConn, out IDataReader dr)执行sql参数c on 数据库连接commandText sql语句dataParams 参数needCloseConn 执行完后是否需要平台自动关闭连接dr 输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, out DataSet ds)执行sql参数c on 数据库连接commandText sql语句dataParams 参数ds 输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, out IDataReader dr)执行sql参数c on 数据库连接commandText sql语句dataParams 参数dr 输出结果static public int RunSQL(IDbConnection con, string commandText,DataParamList dataParams, out object obj)执行sql参数c on 数据库连接commandText sql语句dataParams 参数obj 输出结果public static IDataReader GetDataReaderByPage(string tableName, intpageSize,Int64pageIndex, string selectSql,string whereSql, stringorderbySql, string optimizesql, string aliasFileds, DataParamList dataParams)分页查询,返回IDataReader参数:tableName 主table名pageSize 页面大小pageIndex 页面索引selectSql 查询子句whereSql 条件子句orderbySql 排序子句optimizesql 优化子句aliasFileds 别名列,一般可以用*dataParams 参数列表注意,这个方法这个方法的参数很多,较复杂,一般平台用,开发尽量避免直接使用public static DataSet GetObjectsByPage(string tableName, int pageSize,Int64 pageIndex, string selectSql, string whereSql, string orderbySql,string optimizesql, string aliasFileds, DataParamList dataParams)分页查询,返回DataSet参数:tableName 主table名pageSize 页面大小pageIndex 页面索引selectSql 查询子句whereSql 条件子句orderbySql 排序子句optimizesql 优化子句aliasFileds 别名列,一般可以用*dataParams 参数列表注意,这个方法这个方法的参数很多,较复杂,一般平台用,开发尽量避免直接使用KeyGeneratorU9实体的ID是通过存储过程产生,UFSoft.UBF.Util.DataAccess.dll下的KeyGenerator 提供一个辅助的方式提供一个新的ID,以避免直接访问产生ID的存储过程,名空间为UFSoft.UBF.Util.DataAccess方法:static public Int64 NewValue()取一个新的ID值。
U9研发模式及管理体系

U9研发模式及管理体系U9研发模式是指U9公司在开展研发活动时采用的一种工作方式和流程,以实现高效、快速、协同的研发结果。
U9公司作为一家专注于软件开发的公司,其研发模式的选择和管理体系的建立对于项目的成功与否至关重要。
下面将详细介绍U9研发模式及管理体系。
一、敏捷开发敏捷开发是U9研发模式的核心理念之一、敏捷开发注重迭代式、模块化的开发过程,以客户需求为导向,快速交付可用的产品。
敏捷开发强调团队合作,重视沟通和反馈,能更好地满足快速变化的需求,并保持良好的项目进展。
二、模块化开发三、协同工作四、持续集成与测试五、产品运维U9研发管理体系为了保证U9公司研发活动的有效进行,U9公司建立了完善的研发管理体系。
该体系包括以下几个方面的内容:一、项目管理U9公司采用项目管理方法来对研发活动进行全面的规划和控制。
在项目启动时,会制定详细的项目计划,并确定项目目标、范围和时间表等。
同时,项目经理会对项目进展进行监控和控制,及时解决问题,确保项目按时交付。
二、人员管理U9公司注重人力资源的合理配置和管理。
在项目组建时,会根据项目需求和团队成员的技能特点进行合理的组合。
同时,公司还会为员工提供培训和发展机会,提高团队的整体素质和技术能力。
三、质量管理U9公司对产品的质量要求非常严格,因此建立了严格的质量管理体系。
在整个研发过程中,团队成员会严格按照规定的开发流程和标准进行工作,并对每个阶段的工作进行质量检查和评估。
同时,团队会积极采集用户反馈,及时改进产品。
四、知识管理U9公司注重知识的积累和分享,建立了完善的知识管理系统。
在每个项目的结束,U9会对项目进行总结和归档,收集并整理项目相关的文档、代码和经验等。
这样可以方便后续团队的使用和学习,提高工作效率和质量。
五、风险管理U9研发管理体系还包括风险管理。
在项目的不同阶段,团队成员会识别和评估各种风险,并制定相应的应对策略。
通过对风险的及时识别和处理,可以降低项目失败的可能性,提高项目的成功率。
U9研发体系(开发环境手册)_图文.

U9开发环境手册文件编号:U9-SE-××-SPEC-××版本号:修改状态:0编写人:张璋审核人:适用对象该手册适用于U9本部开发人员、客户化开发人员。
版本记录【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】版本修改与参与人修改时间修改原因修改概述审批人1.0 张璋 2008/07/10 原始文档建立1.1 张璋 2008/08/12 按照本部级评审意见修改相关文档名词解释z U9AppCode(U9业务逻辑视图目录z U9Data(U9数据视图目录z U9Product(U9开发环境目录z U9UICode(U9UI逻辑视图目录手册正文1.U9基础开发环境1.1 OS环境推荐使用“Windows Server 2003(企业版,SP2”,U9本部人员可以在如下地址访问获取:\\u9domain\data\Download\0C - 操作系统1.2 IIS6.0推荐安装OS后,立即安装IIS,以保证在安装 2.0之前IIS已经安装完毕。
IIS6.0的安装位置在:添加或删除程序->添加删除Windows组件->应用程序服务器->详细信息->Internet信息服务(IIS。
按照下图红色数字顺序,安装IIS6.0。
点击【确定】、【下一步】后,系统提示插入操作系统光盘,可以插入系统光盘,如果没有系统光盘,可以定位到操作系统文件夹的i386文件夹。
1.3 Framework V3.0U9本部人员可以在如下地址访问获取:\\u9domain\data\Download\0C - Visual Studio系列1.4 浏览器推荐使用“IE7”,U9本部人员可以在如下地址访问获取:\\u9domain\data\Download\0C - Office系列1.5 数据库开发环境推荐先安装SQL Server 2005,再安装Visual Studio 2005。
u9研发体系(自定义报表开发手册)

开发必备软件
请先安装下列软件并正确的配置UBF Studio的配置文件才能使用UBF Studio:
Window 2003标准版。
Microsoft .net Framework V3.0。
系统需要安装 Framework V3.0。一定要注意Framework的版本,只有版本匹配UBF Studio V2.0才能正常运行。小技巧:由于Framework 2.0和3.0可以共存,如果UBF Studio V2.0不能正常运行,可以考虑检查一下当前启用的Framework版本。
4、“CLR配置”(标识4)是数据库使用的DLL文件,一般情况是与备份文件(标识5)一块保存。
5、“备份文件”(标识5)是数据库导出的备份文件。
6、“还原checkbox”(标识6):请注意不要忘记选择。
填写完成后,单击【创建】。
1.5
自定义报表模板的导入导出是利用UBF平台的报表模型元数据管理工具。
1.5.2
1.5.3
方案类型必须是分析项目,如下图:
1.5.4
上面界面点击确定后,就会出现一个报表开发界面,暂时不要关注其他信息,请打开菜单报表/模型元数据管理,操作过程如下图:
1.5.5
操作过程如下图:
报表元数据库连接后
1.5.6
单击选择报表目录、报表容器或报表模板,右键单击打开菜单,选择导出、导入命令,操作过程如下图:
单击“基本信息设置”数据库――创建,打开创建界面:
创建数据库填写信息:
1、“数据库”(标识1)需要填写创建的数据库名称。
2、“数据文件”(标识2)是创建的数据库的数据文件,单击 选择数据文件的存储位置,如:D:\DB\,后面的“\U9ERP_JDF.mdf”是工具自动添加上的。
U9研发体系(数据库访问API参考手册)

U9 数据库访问API参考手册适用版本:U9 V1.5 UBF2.0修改状态:编写人:叶琳审核人:此部分要记录该文档形成过程中的历次版本变更过程及变更的内容版本修改与参与人修改时间修改原因修改内容审批人1.0 叶琳2008-7-8 原始文档建立叶琳2008-7-9 加上类的名空间概述U9数据库访问的API集中在UFSoft.UBF.Util.DataAccess.dll中,主要是封装直接执行sql和存储过程DataAccessorUFSoft.UBF.Util.DataAccess.dll下的DataAccessor主要对外提供直接执行sql和存储过程的方法,名空间为UFSoft.UBF.Util.DataAccess方法:public static IDbConnection GetConn()取当前的连接注意:这个连接是通过DatabaseManager.GetCurrentConnection()取得,是取当前环境下的连接static public int RunSP(string sprocName, DataParamList dataParams)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表static public int RunSP(string sprocName, DataParamList dataParams, outDataSet ds)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表ds 输出结果static public int RunSP(string sprocName, DataParamList dataParams, out IDataReader dr)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表dr 输出结果static public int RunSP(string sprocName, DataParamList dataParams, out object obj)用当前连接执行存储过程参数:sprocName 存储过程名dataParams 参数列表obj输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out DataSet ds)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表ds 输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out IDataReader dr)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表dr输出结果static public int RunSP(IDbConnection conn, string sprocName, DataParamList dataParams, out object obj)执行存储过程参数:c onn 数据库连接sprocName 存储过程名dataParams 参数列表obj输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams)执行sql参数c on 数据库连接commandText sql语句dataParams 参数static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, bool needCloseConn)执行sql参数c on 数据库连接commandText sql语句dataParams 参数needCloseConn 执行完后是否需要平台自动关闭连接static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams,bool needCloseConn, out IDataReader dr)执行sql参数c on 数据库连接commandText sql语句dataParams 参数needCloseConn 执行完后是否需要平台自动关闭连接dr 输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, out DataSet ds)执行sql参数c on 数据库连接commandText sql语句dataParams 参数ds 输出结果static public int RunSQL(IDbConnection con, string commandText, DataParamList dataParams, out IDataReader dr)执行sql参数c on 数据库连接commandText sql语句dataParams 参数dr 输出结果static public int RunSQL(IDbConnection con, string commandText,DataParamList dataParams, out object obj)执行sql参数c on 数据库连接commandText sql语句dataParams 参数obj 输出结果public static IDataReader GetDataReaderByPage(string tableName, intpageSize,Int64pageIndex, string selectSql,string whereSql, stringorderbySql, string optimizesql, string aliasFileds, DataParamList dataParams)分页查询,返回IDataReader参数:tableName 主table名pageSize 页面大小pageIndex 页面索引selectSql 查询子句whereSql 条件子句orderbySql 排序子句optimizesql 优化子句aliasFileds 别名列,一般可以用*dataParams 参数列表注意,这个方法这个方法的参数很多,较复杂,一般平台用,开发尽量避免直接使用public static DataSet GetObjectsByPage(string tableName, int pageSize,Int64 pageIndex, string selectSql, string whereSql, string orderbySql,string optimizesql, string aliasFileds, DataParamList dataParams)分页查询,返回DataSet参数:tableName 主table名pageSize 页面大小pageIndex 页面索引selectSql 查询子句whereSql 条件子句orderbySql 排序子句optimizesql 优化子句aliasFileds 别名列,一般可以用*dataParams 参数列表注意,这个方法这个方法的参数很多,较复杂,一般平台用,开发尽量避免直接使用KeyGeneratorU9实体的ID是通过存储过程产生,UFSoft.UBF.Util.DataAccess.dll下的KeyGenerator 提供一个辅助的方式提供一个新的ID,以避免直接访问产生ID的存储过程,名空间为UFSoft.UBF.Util.DataAccess方法:static public Int64 NewValue()取一个新的ID值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
U9研发(CommonCRUD使用手册)适用版本:U9 V1.5 UBF2.0修改状态:编写人: 熊悦阅审核人: 刘小东此部分要记录该文档形成过程中的历次版本变更过程及变更的内容版本 修改与修改时间 修改原因 修改内容 审批人 参与人1.0 熊悦阅 2008-7-8 原始文档建立 刘小东1.概述UFIDA CommonCRUD是一套标准的服务,为表示层提供公共的查询、创建、更新、删除操作。
2.构架原理2.1 CommonCRUD的主要功能CommonCRUD功能同名称一样,为前台提供了公共的创建、查询、更新、删除记录的服务。
CommonCURD一共提供了两个标准的U9服务(参见服务相关手册),使用UIModel为参数。
两个服务分别如下:函数声明 说明UIModelQuery(IUIModel) 查询数据UIModelUpdate(IUIModel) 创建,更新,删除数据CommonCRUD在业务应用中,起到重要的作用,简化了大量的代码,U9中70%以上的查询,创建,更新,删除行为,都使用CommonCRUD完成。
它是表示层与持久层的重要桥梁。
3. 使用指南3.1 UIModelQueryUIModelQuery提供数据查询的功能,它使用IUIModel作为参数,返回符合条件的IUIModel数据。
3.1.1 UIModelQuery的调用方法//创建UIModelQuery代理UIModelQueryProxy queryBp = new UIModelQueryProxy();//设置传入参数queryBp.Model = model;//执行查询操作并接受返回值IUIModel result = queryBp.Do();3.1.2传入参数传入参数只有IUIModel对象,UIModelQuery将使用IUIModel中的一些属性,进行数据查询操作,属性如下:属性 功能说明View.ViewDealFlag 只能ViewDealFlag为CommonDealFlag.Load的才加载数据,加载关联数据时,不受此影响。
View.QueryGlobalizationOption 语种信息。
语种信息包括2种选项,1.Auto,只加载当前上下文的语种2.Manual,加载所有语种View.IUIFieldCollection 通过View.IUIFieldCollection产生查询的Select子句 View.SelectOQLString 如果设置了SelectOQLString属性,将替换IUIFieldCollection产生的Select子句View.CurrentFilter 过滤条件,产生Where子句View.EntityFullName 查询的Entity对象,控制From子句View.FromOQLString 如果设置了FromOQLString属性,将替换View.EntityFullName产生的From子句View.PageStrategy.IsUsing 是否进行分页查询,当View.IsMain为True时,View.PageStrategy.IsUsing总是为TrueView.PageStrategy.CurrentPageIndex 当前的页号,控制加载第几页数据View.PageStrategy.PageSize 每页记录的条数3.1.3使用示例示例场景:有一个叫DepartmentUIModel的UIModel,其中包括两个UIView,分别为Department和Person,对应实体DepartmentBE和PersonBE。
视图的关键属性如下:Department的属性ViewDealFlag CommonDealFlag.LoadQueryGlobalizationOption AutoIUIFieldCollection ID, Name,DeptTypeSelectOQLStringCurrentFilterEntityFullName DepartmentBEFromOQLStringPageStrategy.IsUsing TruePageStrategy.CurrentPageIndex 1PageStrategy.PageSize 20IsMain TrueViewName DeptPerson的属性ViewDealFlag CommonDealFlag.Load QueryGlobalizationOption AutoIUIFieldCollection ID, Name,DeptID SelectOQLStringCurrentFilterEntityFullName PersonBEFromOQLStringPageStrategy.IsUsing FalsePageStrategy.CurrentPageIndex 1PageStrategy.PageSize 20IsMain FalseViewName PersonDepartment和Person构架1:N的组合关系示例1:加载Department和Person的数据//创建UIModelQuery代理UIModelQueryProxy queryBp = new UIModelQueryProxy();//设置传入参数queryBp.Model = model;//执行查询操作并接受返回值IUIModel result = queryBp.Do();将会加Department第一页的数据和相应的所有Person的记录 示例2:设置过滤条件UIModel.View[“Dept”].CurrentFilter.OPath=”Name = ‘开发部’”; //创建UIModelQuery代理UIModelQueryProxy queryBp = new UIModelQueryProxy();//设置传入参数queryBp.Model = model;//执行查询操作并接受返回值IUIModel result = queryBp.Do();将会加载Department中开发部的数据和开发部所有Person的记录示例3:综合过滤条件UIModel.View[“Dept”].CurrentFilter.OPath=”Name = ‘开发部’”;UIModel.View[“Person”].CurrentFilter.OPath = “Name like ’王%’”;//创建UIModelQuery代理UIModelQueryProxy queryBp = new UIModelQueryProxy();//设置传入参数queryBp.Model = model;//执行查询操作并接受返回值IUIModel result = queryBp.Do();将会加载Department中开发部的数据和开发部所有姓王的Person的记录示例4:使用上下文进行查询UIModel.View[“Person”].CurrentFilter.OPath = “Name = #erName#”;//创建UIModelQuery代理UIModelQueryProxy queryBp = new UIModelQueryProxy();//设置传入参数queryBp.Model = model;//执行查询操作并接受返回值IUIModel result = queryBp.Do();将会加载Department中第一页的数据和与当前登陆用户姓名相同的Person的记录示例5:查询每个部门的员工数//这个例子中需要对查询的Select和Where部分进行自定义//自定义Select 部份UIModel.View[“Dept”].SelectOQLString = “max(ID),Name, count(ID) “;//自定义Where部份UIModel.View[“Dept”].CurrentFilter.OPath = “ group by Name “;//设置不加载Person的数据,因为我们在这个例子中不需要PersonUIModel.View[“Person”].CurrentFilter.OPath = “1=2”;//创建UIModelQuery代理UIModelQueryProxy queryBp = new UIModelQueryProxy();//设置传入参数queryBp.Model = model;//执行查询操作并接受返回值IUIModel result = queryBp.Do();这个例子执行时,会产生一句如下的OQLselect max(ID) as ID,Name, count(ID) as DeptType from departmentBE group by Name 实现我们加载数据的目的。
注意一个细节,我们把统计的员工数加载到了DeptType字段中,更好的实现方法是新建一个叫PersonCount或其它的字段。
3.2UIModelUpdateUIModelUpdate为UIModel提供创建,更新,删除操作。
它根据记录的状态(Record.State)的值进行相应的操作,详细信息请参见UIModel手册中记录状态一节。
3.2.1 UIModelUpdate的调用方法//创建UIModelUpdate代理UIModelUpdateProxy updateBp = new UIModelUpdateProxy();//设置传入参数updateBp.Model = model;//执行更新操作并接受返回值IUIModel result = updateBp.Do();3.2.2创建记录当记录状态为New时,UIModelUpdate会创建一条相应的记录,如下://创建新记录IEntity new = Entity.Create( view.EntityFullName,null);然后,对new对象进行赋值,将Record的值Copy到new 中,最后调用持久层Session 对象的Commit方法保存。
获得一条新增状态的Record,通常调用View.NewUIRecord方法,如下://创建新记录IUIRecord new = View.NewUIRecord();示例6:创建Dept//建立一条新的记录IUIRecord newDept = model.Views[“Dept”].NewUIRecord();//赋值操作newDept[“Name”] = “设计部”;newDept[“DeptType”] = DeptType.Normal;//此时newDept的ID为负数,State为New//将newDept加入model的Record集合中。