关于业务单据主从表导入数据,销售订单(SO)的数据导入到销售退货单(SR)
关于业务单据主从表导入数据,销售订单(SO)的数据导入到销售退货单(SR)
假设我们将销售订单(SO)的数据导入到销售退货单(SR), 我们在设计时退货单要关联是那张销售单的的退货,所以退货单有个关联号码(RefSONO), 原则上两张单据的数据结构相差不大. 理解简单些, 就是数据源的DataSet A, A里面包含主从表两张表,1是主表,里面一条记录,2是明细表,里面多条记录. 我们将A的数据复制到DataSet B, 先复制主表的记录,然后打循环复制明细表的记录, 将关联的字段 一 一对应起来赋值就行了. 例子: C# Code: /// <summary> /// 从销售订单导入数据到销售退货 /// </summary> /// <param name="ds">销售订单数据(主从表)</param> public void ImportFromSO(DataSet ds) { //取销售订单数据的主从表 DataTable SOM = ds.Tables[tb_SO.__TableName]; DataTable SOD = ds.Tables[tb_SOs.__TableName]; //取销售退货数据的主从表 DataTable SRM = _CurrentBusiness.Tables[tb_SR.__TableName]; DataTable SRD = _CurrentBusiness.Tables[tb_SRs.__TableName]; DateTime dt = CommonData.ServerTime;//服务器时间 //复制主表资料 SO->SR SRM.Rows[0][tb_SR.FID] = "*自动生成*"; SRM.Rows[0][tb_SR.FDate] = new DateTime(dt.Year, dt.Month, dt.Day); SRM.Rows[0][tb_SR.CustomerCode] = SOM.Rows[0][tb_SO.CustomerCode]; SRM.Rows[0][tb_SR.CustomerName] = SOM.Rows[0][tb_SO.CustomerName]; SRM.Rows[0][tb_SR.RefSONO] = SOM.Rows[0][tb_SO.FID];//关联号码 SRM.Rows[0][tb_SR.FlagCreate] = "Y"; //复制明细表资料 SOs->SRs foreach (DataRow R in SOD.Rows) { //仅处理勾选的数据 if (ConvertEx.ToString(R["FlagCheck"]) != "Y") continue; DataRow D = SRD.Rows.Add(); D[tb_SRs.Amount] = R[tb_SOs.Amount]; D[tb_SRs.BulkQty] = R[tb_SOs.BulkQty]; D[tb_SRs.ComminnionAmt] = R[tb_SOs.ComminnionAmt]; D[tb_SRs.Commission] = R[tb_SOs.Commission]; D[tb_SRs.CommissionAmount] = R[tb_SOs.CommissionAmount]; D[tb_SRs.LanguageCode] = R[tb_SOs.LanguageCode]; D[tb_SRs.Packing] = R[tb_SOs.Packing]; D[tb_SRs.Piceces] = R[tb_SOs.Piceces]; D[tb_SRs.Price] = R[tb_SOs.Price]; D[tb_SRs.Quantity] = R[tb_SOs.Quantity]; D[tb_SRs.Queue] = R[tb_SOs.Queue]; D[tb_SRs.StockCode] = R[tb_SOs.StockCode]; D[tb_SRs.StockName] = R[tb_SOs.StockName]; D[tb_SRs.UnitCode] = R[tb_SOs.UnitCode]; D[tb_SRs.CreatedBy] = Loginer.CurrentUser.Account; D[tb_SRs.CreationDate] = dt; D[tb_SRs.LastUpdateDate] = dt; D[tb_SRs.LastUpdatedBy] = Loginer.CurrentUser.Account; } } //来源:C/S框架网(www.csframework.com) QQ:1980854898 扫一扫加作者微信
参考文档:
框架的数据库和业务数据库是放在一个数据库服务器是吧? 什么是业务单据?什么是业务数据?什么是业务窗体? CS开发框架Toolbar与数据字典,业务单据的关系 C#绑定TreeList的DataSource属性及获取DataRow数据 FastReport for .Net 实例 - 主从报表读取当前记录的数据 手动和自动生成业务单据号码UpdateKeyMode详解(1) 销售订单的附件管理bug报告 《CS框架V2.2-3.0业务单据窗体_主从表_快速开发指南》 高级版主要包含库存、采购和销售三个业务模块,是完整的实现么? 指定单据号码自动打开业务单据窗体并显示数据 Microsoft Access MDB数据库密码查看器 平台支持数据导入与导出吗? GridControl表格实现主从表展示数据(Master/Detail) 企业版:入仓单(IN)新增一份无打印窗体的报表例子,查主从表数据,支持打印图片 使用bllBaseDataDict类提交业务单据(主从表)的明细表实例|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内容管理系统 | |