DataTables("月结").DataRows.Clear Dim dt As DataTable = DataTables("明细") Dim str As String = e.Form.Controls("月").Text Dim d As Date = new Date(str.SubString(0, 4), str.SubString(4,2), 1) For Each cl As String In dt.GetValues("材料", "月 = '" & str & "'") Dim dr As DataRow = DataTables("月结").AddNew dr("月") = str dr("材料") = cl Dim Filter As String = "材料 = '" & cl & "' And 月 = '" & str & "'" Dim dr1 As DataRow = DataTables("期初").Find("材料='" & cl & "' and 月 = '" & Format(d.AddMonths(-1), "yyyyMM") & "'") If dr1 IsNot Nothing Then dr("上月结存_数量") = dr1("期初数量") dr("上月结存_金额") = dr1("期初金额") End If dr("本月入仓_数量") = dt.Compute("Sum(入仓数量)",Filter) dr("本月入仓_金额") = dt.Compute("Sum(入仓金额)",Filter) dr("本月出仓_数量") = dt.Compute("Sum(出仓数量)",Filter) dr("本月结存_数量") = dr("上月结存_数量") + dr("本月入仓_数量") - dr("本月出仓_数量") dr("本月加权平均单价") = (dr("上月结存_金额") + dr("本月入仓_金额"))/(dr("上月结存_数量") + dr("本月入仓_数量")) dr("本月出仓_金额") = dr("本月加权平均单价") * dr("本月出仓_数量") dr("本月结存_金额") = dr("上月结存_金额") + dr("本月入仓_金额") - dr("本月出仓_金额") Next
|