U9 整体串联完整范例 适用版本:U9 V1.0 修改状态: 编 写 人 :覃钊 审 核 人 : 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 覃钊 2008/06/28 原始文档建立 一.问题域说明 建立一个完整的范例,从后台到前台界面的显现,并实现业务流程的流转。 二.基本原理 实体:销售订单, 销售订单体,采购订单,采购订单体,发货单,发货单单体,收款单,收款单体,物料,客户 界面:销售订单界面 采购订单界面 发货单界面 收款单界面 流程:1. 销售订单审核生成发货单 2. 发货单审核时,销售订单生成收款单 建立模型,参照各 UBF 使用手册。 装配,参照 UBF 装配手册。 三.关键代码及说明 1. 销售订单审核 源代码方件: …\Code\OrderBP\\BpImplement\OrderBP.ubfbp \ SOApprovalExtend.cs 源代码如下: public override object Do(object obj) { SOApproval bpObj = (SOApproval)obj; SaleOrder po = bpObj.EntityKey.GetEntity() as SaleOrder; if (po != null) { using (Session session = Session.Open()) { po.State ="Approved"; session.Commit(); } } return null; } 2. 销售订单生成发货单 源代码方件: …\Code\OrderBP\\BpImplement\OrderBP.ubfbp \SO2ShipExtend.cs 源代码如下: public override object Do(object obj) { SO2Ship bpObj = (SO2Ship)obj; SaleOrder so = bpObj.EntityKey.GetEntity() as SaleOrder; if (so != null) { Shipment ship = null; using (Session session = Session.Open()) { ship = Shipment.Create(); ship.Code = ""; ship.Date = DateTime.Now; ship.OriginOrder = Convert.ToString(so.ID); ship.Customer = so.Customer; ship.State = "Init"; ship.AllSum = so.AllSum; session.Commit(); } return ship; } return null; } 3. 销售订单界面审核功能调用审核 BP 源代码方件: …\Code\OrderUI\Action\ POUIModelActionExtend.cs 源代码如下: private void ApproveClick_Extend(object sender, UIActionEventArgs e) { //调用模版定义的默认实现方法.如需扩展,请直接在此编程. OrderBP.Proxy.POApprovalProxy bp = new OrderBP.Proxy.POApprovalProxy(); UFSoft.UBF.Business.BusinessEntity.EntityKey key = new UFSoft.UBF.Business.BusinessEntity.EntityKey(); key.ID = this.CurrentModel.PO.FocusedRecord.PrimaryKey; key.EntityType = this.CurrentModel.PO.EntityFullName; bp.EntityKey = key; bp.Do(); this.ApproveClick_DefaultImpl(sender,e) ; } 四.源代码使用说明 下载:http://u9scm91/isvdoc/download/U9 研发体系(整体串联完整范例).rar解压后,有两大部分,Model 目录为 UBF 模型,Code 目录为 UBF的生成部分代码。