新增文章
文章标题
分类
C#
云星空
K3 BOS
K3 功能
用友
Oracle
python
SQL
MySql
PHP
HTML
script
windows
Access
影视后期
财务
服务
生活
内容
var aHead = this.Model.DataObject; // 单据头 var aEntity = aHead["Entity"] as DynamicObjectCollection; // 明细 var aEntitySum = aHead["F_EntitySum"] as DynamicObjectCollection; // 汇总信息 F_EntitySub var aEntityRpt = aHead["F_EntityRpt"] as DynamicObjectCollection; // 汇报信息 if (aEntitySum.Count == 0) { this.View.ShowErrMessage("【汇总信息】没有数据,无法分摊 !"); return; } #region| 取得:分摊清单 aList | var aList1 = new List<dynamic>(); // 分摊清单 var i = -1; foreach (var aRow1 in aEntitySum) { i++; var aFMaterialId = Convert.ToInt32( ((DynamicObject)aRow1["F_RVFJ_CLBM"])["Id"] ); // 材料编码 var aFUnitId = Convert.ToInt32( ((DynamicObject)aRow1["F_RVFJ_KCDW"])["Id"] ); // 单位 var aFSource = Convert.ToString(aRow1["F_Source2"]); // 数据来源 var aEntitySub = aRow1["F_EntitySub"] as DynamicObjectCollection; // 汇总来源 foreach (var aRow2 in aEntitySub) { var aFRowId = Convert.ToInt32(aRow2["F_RowId2"]); // 行标识 var aFAppQty = Convert.ToDecimal(aRow2["F_Qty1"]); // 申请数量 var aFActualQty = Convert.ToDecimal(aRow2["F_Qty2"]); // 分摊实耗数量 = 实发数量 dynamic aRow = new ExpandoObject(); aRow.Id = i + 1; // 顺序 aRow.F_RowId = aFRowId; // 行标识 aRow.F_Source1 = aFSource; // 数据来源 aRow.FMaterialId = aFMaterialId; // 物料编码 aRow.FUnitId = aFUnitId; // 单位 aRow.FAppQty = aFAppQty; // 申请数量 aRow.FActualQty = aFActualQty; // 实发数量 aList1.Add(aRow); } } var aList = aList1.OrderBy(x => x.F_Source1) // 排序 .ThenBy(x => x.F_RowId) .ThenBy(x => x.Id) .ToList(); #endregion
返回
保存