U9 批量生单后的结束范例说明 版 本 号 :V1.0 作者:鞠万群 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 鞠万群 2008/06/30 原始文档建立 一.问题域说明 批量生单:批量参照来源单据产生单据。 本范例的应用场景:通过批量生单操作后,在主画面显示生成集合中的第一张单据 二.基本原理 生单 BP 产生 ID 的 List,把第一个单据的 ID 存在 Session 中,在 AfterOnLoad 中,判断如果 Session 中存在该 ID,就去加载该单据 三.关键代码及说明 // batchAccrueDocToARBillBPProxy 为批量生单的BP代理 List IDList = batchAccrueDocToARBillBPProxy.Do(); //在批量生单的时候,将产生的ID列表中的第一个ID放到缓存中 if (IDList != null && IDList.Count > 0) this.CurrentState["IsReLoadARBill"] = IDList[0]; //AfterOnLoad 方法 //判断当前 Page 是否 Postback if (this.Page.IsPostBack) { //从缓存中取 IsReLoadARBill 的值,如果有,则加载该单据 if (this.CurrentState["IsReLoadARBill"] != null && this.CurrentState["IsReLoadARBill"].ToString().Length > 0) { long loadedARBillID = (long)this.CurrentState["IsReLoadARBill"]; if (loadedARBillID > 0){ //从缓存中移除IsReLoadARBill的值 this.CurrentState["IsReLoadARBill"] = null; //从缓存清除ARBillHeadView的数据 UIRuntimeHelper.Instance.ClearCache(this.Model.ARBillHead); //导航到ID为loadedARBillID的应收单 this.Action.NavigateAction.MovePageAt(null, loadedARBillID); this.Action.PriceAndMoneyDeployMethod(); this.Action.SetRecordStatusOfHeadAndLine(); this.Action.setHeadBalance(); this.Action.AddressAndContactMan(); this.Action.SourceBillStatusByAccrueBy(); } } } 四.源代码使用说明 下载:http://u9scm91/isvdoc/download/U9 研发体系(批量生单后的结束).rar直接解压缩到 E:\View\U9UICode\U9.VOB.PD.FI\AR\Code