Foxtable(狐表)用户栏目专家坐堂 → [求助]老师您好请问怎么动态加权平均设计进销存表思路呢


  共有7069人关注过本帖树形打印复制链接

主题:[求助]老师您好请问怎么动态加权平均设计进销存表思路呢

帅哥哟,离线,有人找我吗?
beyond6018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
[求助]老师您好请问怎么动态加权平均设计进销存表思路呢  发帖心情 Post By:2019/8/31 11:26:00 [显示全部帖子]

老师您好 我举个例子:我现在有一张采购表,同产品价格每次采购可能不一样哦,  还有一张销售表,我怎么设计动态查询每个月的进销存呢  成本采用加权平均法核算,请老师给个设计指导思路,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:进销存.xlsx


 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
老师您好 我截个图  发帖心情 Post By:2019/8/31 15:05:00 [显示全部帖子]

老师您好就是 销售表中的加权平均单价是实时变动的,怎么设计实现呢,谢谢
图片点击可在新窗口打开查看此主题相关图片如下:进销存表.png
图片点击可在新窗口打开查看
  

 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/8/31 17:51:00 [显示全部帖子]

老师您好,您的设计思路 我看明白了,代码放到上面销售表,datacolchanged事件    录入销售数量,平均价格出不来啊,帮忙看看,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:进销存.table


 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/9/2 8:46:00 [显示全部帖子]

非常感谢老师图片点击可在新窗口打开查看图片点击可在新窗口打开查看,我是原来 把旧数据销售数量删掉重新输的数量不行  必须的重置列就好了O(∩_∩)O哈哈~            那我自己设置一个切换表重置列让它自动

 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/9/2 9:12:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:销售表没加权.png
图片点击可在新窗口打开查看
老师您好  当我输入第2行销售数据的时候  如果2行销售数量合计大于第1行采购数量它才加权平均  但是要是等于和小于 它不加权平均 它去的是第1行采购的单价  平均成本没加权平均 ?第2行 加权平均应该是88元才对  您帮忙
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:进销存.table

看看

 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/9/2 9:29:00 [显示全部帖子]

不是的老师,只要每次进货价格不一样    销售日期在后面  前面的采购成本都加权平均   可能我开始没描述清楚 谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/9/2 9:43:00 [显示全部帖子]

还得把销售日期前面的销售额减掉 除以剩余数量     销售日期前面  (采购总金额-销售总金额  )/剩余数量  =本次加权平均价格   还得写循环吧   初次接触所有多问问

 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/9/2 11:51:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:调用单价不对.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:第三行加权平均价格不对.png
图片点击可在新窗口打开查看
老师您好~我发现第三行数据开始不对了  我就自己
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:进销存.table

研究了下代码 我觉得   标红色调用单价那个地方有点不对  那个能不能调用后面算好的 加权平均价   我思考了好久实在想不出来怎么把后面的调用过来,再麻烦老师看看   

 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/9/2 12:28:00 [显示全部帖子]

好的非常感谢老师耐心指导,我在学习学习研究研究。    咨询个问题  对于我们这些小白 开发系统   学那个程序语言,以前大学学了一点C语言基础,foxtable里面用那些语言方便。

 回到顶部
帅哥哟,离线,有人找我吗?
beyond6018
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:44 积分:358 威望:0 精华:0 注册:2019/8/20 11:03:00
  发帖心情 Post By:2019/9/2 14:34:00 [显示全部帖子]

感谢老师耐心指导      我研究出来  在你的思路下 我加了几个代码    实现了
图片点击可在新窗口打开查看此主题相关图片如下:加权平均价好了.png
图片点击可在新窗口打开查看
If e.DataCol.name = "销售数量"
    Dim oldCount As Integer = e.DataTable.Compute("sum(销售数量)","货号='" & e.DataRow("货号") & "' and 日期 < #" & e.DataRow("日期") & "#")
    Dim oldCount1 As Double = e.DataTable.Compute("sum(销售成本)","货号='" & e.DataRow("货号") & "' and 日期 < #" & e.DataRow("日期") & "#")
    Dim cnt As Integer = 0
    Dim c1 As Integer = 0
    Dim c2 As Integer = 0
    Dim csum As Double = 0
    Dim csum1 As Double = 0
    Dim csum2 As Double = 0
    Dim drs As List(of DataRow) = DataTables("采购").Select("货号='" & e.DataRow("货号") & "' and 日期 <= #" & e.DataRow("日期") & "#","日期")
    Dim idx As Integer = -1
    For i As Integer = 0 To drs.count - 1
        cnt += drs(i)("数量")
        csum +=drs(i)("数量")*drs(i)("单价")
        If cnt >= oldCount Then
            idx = i
            Exit For
        End If
    Next
    If idx > -1
        Dim dr As DataRow = drs(idx)
        c1 = cnt - oldCount
        csum1 =csum-oldCount1
        For j As Integer = idx+1 To drs.count - 1
            dr = drs(j)
            c2 = dr("数量")
            csum2 = c2*dr("单价")
            csum1 += csum2
            c1 += c2
        Next
        e.DataRow("平均价格") = csum1 / c1
    End If
End If

 回到顶部
总数 12 1 2 下一页