以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 汇总求助 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=22963)
|
-- 作者:实话实说
-- 发布时间:2012/8/28 19:00:00
-- 汇总求助
表A,按型号A汇总当前行之前的数据
|
-- 作者:czy
-- 发布时间:2012/8/28 20:09:00
--
流水账?
|
-- 作者:实话实说
-- 发布时间:2012/8/28 20:21:00
--
不是流水帐,是月结表,我把实例整理一下望CZY帮我看看,我整了2天了也没有搞定
|
-- 作者:实话实说
-- 发布时间:2012/8/28 21:01:00
--
月结表窗口:上月结存金额如何计算?
|
-- 作者:czy
-- 发布时间:2012/8/28 21:06:00
--
传错文件了。
|
-- 作者:实话实说
-- 发布时间:2012/8/28 22:04:00
--
真不好意思
|
-- 作者:狐狸爸爸
-- 发布时间:2012/8/28 22:19:00
--
难道每个产品,每次入库的单价都相同? 应该是变化的吧?
如果是我,我会改变设计思路,规范仓库的入库表和出库表建立关联,入库表是父表,出库表是子表,每次出库选择该产品的未出库完成的某个入库单,在对应的关联表(入库.出库)中录入出库资料,如果这个入库单的数量少于这次出库,多出的数量再找下一个入库单录入,这样入库金额、出库金额、某个入库单已经出库的数量、剩余数量、何时出路、每次出库多少、是否出库完毕,都清清楚楚。
|
-- 作者:实话实说
-- 发布时间:2012/8/28 22:41:00
--
是这样的,我公司仓库每月末月结时是按加权平均计算单价,平时是不管单价的,入仓时,记录数量和金额,出仓时,只记录数量,月末结算时先计算加权平均单价,然后根据加权平均单价计算出仓金额和库存金额,这些计算都没问题,只有一个问题:如何将上月的库存金额转换为本月的上月结存金额.
加权平均单价 = (上月结存金额 + 本月入仓金额 )/(上月结存数量 + 本月入仓数量)
|
-- 作者:czy
-- 发布时间:2012/8/28 22:43:00
--
因为出仓表中没有金额,我不知道出仓和结存金额如何获取就没有做,下面代码仅供参考
Dim s As String = e.Form.Controls("月份").Value If s <> "" Then e.Form.StopRedraw Dim n As Integer = e.Form.Controls("月份").Value DataTables("月报表").DataRows.Clear Dim Arys As List(Of String()) Arys = DataTables("入仓").GetUniqueValues("", "型号","规格") For Each Ary As String() In Arys Dim r As Row = Tables("月报表").AddNew r("型号") = Ary(0) r("规格") = Ary(1) Next Dim dt As DataTable = DataTables("入仓") Dim dt1 As DataTable = DataTables("出仓") Dim Filter As String For Each dr As DataRow In DataTables("月报表").DataRows Filter = "型号 = \'" & dr("型号") & "\' And 规格 = \'" & dr("规格") & "\'" dr("上月结存_数量") = dt.Compute("Sum(入仓数量)",Filter & " And 月份 < " & n) - dt1.Compute("Sum(出仓数量)",Filter & " And 月份 < " & n) dr("本月入仓_数量") = dt.Compute("Sum(入仓数量)",Filter & " And 月份 = \'" & s & "\'") dr("本月出仓_数量") = dt1.Compute("Sum(出仓数量)",Filter & " And 月份 = \'" & s & "\'") dr("本月结存_数量") = dr("上月结存_数量") + dr("本月入仓_数量") - dr("本月出仓_数量") Next e.Form.ResumeRedraw End If
[此贴子已经被作者于2012-8-28 22:43:51编辑过]
|
-- 作者:实话实说
-- 发布时间:2012/8/28 23:14:00
--
以下是引用czy在2012-8-28 22:43:00的发言:
因为出仓表中没有金额,我不知道出仓和结存金额如何获取就没有做,下面代码仅供参考
Dim s As String = e.Form.Controls("月份").Value If s <> "" Then e.Form.StopRedraw Dim n As Integer = e.Form.Controls("月份").Value DataTables("月报表").DataRows.Clear Dim Arys As List(Of String()) Arys = DataTables("入仓").GetUniqueValues("", "型号","规格") For Each Ary As String() In Arys Dim r As Row = Tables("月报表").AddNew r("型号") = Ary(0) r("规格") = Ary(1) Next Dim dt As DataTable = DataTables("入仓") Dim dt1 As DataTable = DataTables("出仓") Dim Filter As String For Each dr As DataRow In DataTables("月报表").DataRows Filter = "型号 = \'" & dr("型号") & "\' And 规格 = \'" & dr("规格") & "\'" dr("上月结存_数量") = dt.Compute("Sum(入仓数量)",Filter & " And 月份 < " & n) - dt1.Compute("Sum(出仓数量)",Filter & " And 月份 < " & n) dr("本月入仓_数量") = dt.Compute("Sum(入仓数量)",Filter & " And 月份 = \'" & s & "\'") dr("本月出仓_数量") = dt1.Compute("Sum(出仓数量)",Filter & " And 月份 = \'" & s & "\'") dr("本月结存_数量") = dr("上月结存_数量") + dr("本月入仓_数量") - dr("本月出仓_数量") Next e.Form.ResumeRedraw End If
[此贴子已经被作者于2012-8-28 22:43:51编辑过]
结存数量的计算都没有问题,就是金额计算有困难.我想再简述一下我公司仓库的月结表:
月结表是仓库交给财务的月报表,目前用EXCEL表计算,我想用foxtable自动生成,目前难在"上月结存金额"不能自动结转,仓管员用EXCEL计算时,是手工复制的.
关于出仓金额:由于库存物品是不同时期进货的,价格各不相同,一般只记录数量(厂内领用)不记金额,到月末结酸时统一按加权平均单价计算
|