以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  汇总求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=22963)

--  作者:实话实说
--  发布时间:2012/8/28 19:00:00
--  汇总求助
表A,按型号A汇总当前行之前的数据
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:czy
--  发布时间:2012/8/28 20:09:00
--  
流水账?
--  作者:实话实说
--  发布时间:2012/8/28 20:21:00
--  

不是流水帐,是月结表,我把实例整理一下望CZY帮我看看,我整了2天了也没有搞定

 


--  作者:实话实说
--  发布时间:2012/8/28 21:01:00
--  
月结表窗口:上月结存金额如何计算?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:czy
--  发布时间:2012/8/28 21:06:00
--  
传错文件了。
--  作者:实话实说
--  发布时间:2012/8/28 22:04:00
--  

真不好意思

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:月结表.table


--  作者:狐狸爸爸
--  发布时间: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计算时,是手工复制的.

关于出仓金额:由于库存物品是不同时期进货的,价格各不相同,一般只记录数量(厂内领用)不记金额,到月末结酸时统一按加权平均单价计算