CSFrameworkV6旗舰版 - 业务单据复制功能,支持复制多级明细表
CSFrameworkV6旗舰版 - 业务单据复制功能,支持复制多级明细表
添加一个复制按钮: C# Code: public override void InitButtons() { base.InitButtons(); //复制单据 if (this.ButtonAuthorized(ButtonAuthority.ADD)) { IButtonInfo btnClone = this.ToolbarRegister.CreateButton(ButtonNameList.btnClone, "复制单据", ToolBarGroup.扩展功能1, Globals.LoadBitmap("32_Copy.png"), new Size(57, 28), true, true, this.DoClone); _buttons.AddButton(btnClone); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 按钮的Click事件: C# Code: public virtual void DoClone(IButtonInfo sender) { this.AssertFocusedRow(); //获取当前单据 this.DoViewContent(this.Buttons.GetButtonByName(ButtonNameList.btnView)); Hashtable hash = new Hashtable(); if (this.IsViewMode) { //重置主表的数据 SetEditorBindingValue(txtSONO, "*自动生成*", true); _BLL.DataBinder.isid = IdHelper.GetId(); _BLL.DataBinder.DocDate = DateTime.Today; _BLL.DataBinder.FlagApp = "N"; _BLL.DataBinder.AppUser = ""; _BLL.DataBinder.AppDate = null; _BLL.DataBinder.CreatedBy = Loginer.CurrentUser.Account; _BLL.DataBinder.CreationDate = DateTime.Now; //重置明细表的数据 - 订单明细表 foreach (var R in _BLL.CurrentBusiness.SOs) { //生成新的isid, 这里需要存起来,因为SOs表的isid作为主键,有多个明细表关联isid hash[R.isid] = IdHelper.GetId(); R.isid = hash[R.isid] as String; R.SONO = DBNull.Value.ToString();//清空外键 R.CreatedBy = Loginer.CurrentUser.Account; R.CreationDate = DateTime.Now; } //用料表 foreach (var R in _BLL.CurrentBusiness.SOsMaterials) { R.isid = IdHelper.GetId(); R.Detail_isid = hash[R.Detail_isid] as String; //获取最新外键值 R.SONO = DBNull.Value.ToString();//清空外键 R.CreatedBy = Loginer.CurrentUser.Account; R.CreationDate = DateTime.Now; } //工序表 foreach (var R in _BLL.CurrentBusiness.SOsProcess) { R.isid = IdHelper.GetId(); R.Detail_isid = hash[R.Detail_isid] as String; //获取最新外键值 R.SONO = DBNull.Value.ToString();//清空外键 R.CreatedBy = Loginer.CurrentUser.Account; R.CreationDate = DateTime.Now; } //成本表 foreach (var R in _BLL.CurrentBusiness.SOsCost) { R.isid = IdHelper.GetId(); R.Detail_isid = hash[R.Detail_isid] as String; //获取最新外键值 R.SONO = DBNull.Value.ToString();//清空外键 R.CreatedBy = Loginer.CurrentUser.Account; R.CreationDate = DateTime.Now; } //成本表 foreach (var R in _BLL.CurrentBusiness.SOsCostCompare) { R.isid = IdHelper.GetId(); R.Detail_isid = hash[R.Detail_isid] as String; //获取最新外键值 R.SONO = DBNull.Value.ToString();//清空外键 R.CreatedBy = Loginer.CurrentUser.Account; R.CreationDate = DateTime.Now; } //唛头图片表 foreach (var R in _BLL.CurrentBusiness.SOsLogoFiles) { R.FileID = IdHelper.GetId(); R.DocID = DBNull.Value.ToString();//清空外键 R.RowISID= hash[R.RowISID] as String; //获取最新外键值 } //以下处理多个明细表 _UpdateType = UpdateType.Add; this.SetEditMode(); this.ButtonStateChanged(UpdateType.Add); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 二、复制标准主、从表业务单据 添加一个复制按钮: C# Code: public override void DoClone(IButtonInfo sender) { this.AssertFocusedRow(); //获取当前单据 this.DoViewContent(this.Buttons.GetButtonByName(ButtonNameList.btnView)); if (this.IsViewMode) { //重置主表的数据 SetEditorBindingValue(txtSONO, "*自动生成*", true); _BLL.DataBinder.isid = IdHelper.GetId(); _BLL.DataBinder.ReceiveDay = DateTime.Today; _BLL.DataBinder.FlagApp = "N"; _BLL.DataBinder.AppUser = ""; _BLL.DataBinder.AppDate = null; _BLL.DataBinder.CreatedBy = Core.Loginer.CurrentUser.Account; _BLL.DataBinder.CreationDate = DateTime.Now; //重置明细表的数据 foreach (var R in _BLL.CurrentBusiness.Details) { R.isid = IdHelper.GetId(); R.SONO = DBNull.Value.ToString();//清空外键 R.CreatedBy = Core.Loginer.CurrentUser.Account; R.CreationDate = DateTime.Now; } //以下处理多个明细表 _UpdateType = UpdateType.Add; this.SetEditMode(); this.ButtonStateChanged(UpdateType.Add); } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加作者微信
参考文档:
CS开发框架 - 业务单据自动生成功能设计(原) CS开发框架旗舰版主从从表(多级明细表)实例,自动生成主从表代码 C/S系统开发框架多级明细表(三级表/主从从表)数据结构参考 使用bllBaseDataDict类提交业务单据(主从表)的明细表实例|C/S框架网 支持主从表BLL单独提交明细表优化UpdateDetailKey方法|C/S框架网 开发框架旗舰版V5支持制单人多选查询以及组织架构权限查询数据 C/S开发框架新功能:批量更新业务单据的业务员、制单人制表人 CSFramework旗舰版多语言支持两种存储策略:XML文件及SQL数据库 CSFrameworkV5旗舰版ClientFoundation基础架构增加报表模块及其他功能 WinFramework轻量级框架与旗舰版V5.1功能差异与区别|C/S开发框架 C/S快速开发框架旗舰版V5.1 | 业务单据主表字段命名规范|软件手册 C/S快速开发框架旗舰版V5.1 | 业务单据明细表字段命名规范|软件手册 C/S快速开发框架旗舰版V5.1 | 业务窗体命名规范|软件手册 生产单(PN) | 多级明细表 | 实例源码 | C/S快速开发框架旗舰版V5|软件手册 扩展按钮功能:数据字典窗体复制记录单据数据 | CSFrameworkV5旗舰版开发指南|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |