以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教 有2个表 一个采购入库单 另一个是销售出库单 ,计算成本采用先进先出法 ? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188240) |
-- 作者:jswjyjf -- 发布时间:2023/9/10 15:31:00 -- 请教 有2个表 一个采购入库单 另一个是销售出库单 ,计算成本采用先进先出法 ? 请教 有2个表 一个采购入库单 另一个是销售出库单 ,计算成本采用先进先出法。 假如采购入库 1月1号 入库 3台 单价 100, 1月2号 入库8台 单价 120 ,2月7号 销售出库 3台 销售价150 ,2月14号 销售出库2台 销售价 160 ,如何写代码 计算出销售的5台的成本价?
|
-- 作者:有点蓝 -- 发布时间:2023/9/10 20:20:00 -- 成本价的计算逻辑是什么?按什么规则计算? |
-- 作者:jswjyjf -- 发布时间:2023/9/10 20:30:00 -- 成本按按采购入库单来计算的 |
-- 作者:有点蓝 -- 发布时间:2023/9/10 20:43:00 -- 业务的东西我不懂,要给出具体的计算步骤和方法,不要只说概念,比如直接取平均值那就是这样 (3*100+2*120) / 5= 108
|
-- 作者:jswjyjf -- 发布时间:2023/9/12 11:44:00 -- 你好 我做了一个案例 计算逻辑如下 不知道代码怎么写 你帮我看一下 手工计算流程 里面有 |
-- 作者:有点蓝 -- 发布时间:2023/9/12 14:07:00 -- 做了个简单的,但是感觉这种表结构和业务设计没有什么实用价值,一是不支持并发,二是输错数量再改就会非常麻烦。要完成这2点这个已经超出我的能力范围了。 不过可以建议一下,给进货和出库都增加一个明细表,把每一笔计算都添加到明细里,增加审核列,审核的单据再计算成本,审核后就不能再更改数据,然后库存通过汇总的方式判断处理,类似这里的用法:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=179720
|
-- 作者:jswjyjf -- 发布时间:2023/9/12 14:32:00 -- 嗯 给了点思路 也不错 谢谢 |
-- 作者:jswjyjf -- 发布时间:2023/9/12 20:14:00 -- 但还是不行 我再详细文字表达你就明白了 举例说明先进先出法: 2006年3月1日结存存货200件,单价2元;此时的结存存货成本=200x2=400元 这时库存结余200件 3月2日发出存货150件;发出存货成本=150x2=300元,此时的结存存货成本=400-300=100元 这时库存结余50件 3月5日购入存货200件,单价2.2元;购入存货成本=200x2.2=440元,此时的结存存货成本=440+100=540元 这时库存结余250件 3月7日发出100件;发出存货成本=50x2+50x2.2=210元,此时的结存存货成本=540-210=330元 这时库存结余150件 3月15日购入存货100件,单价2.1元;购入存货成本=100x2.1=210元,此时的结存存货成本=330+210=540元 这时库存结余250件 3月20日,发出120件。发出存货成本=120x2.2=264元,此时的结存存货成本=540-264=276元 这时库存结余130件 在先进先出法核算下,发出存货成本=300+210+264=774元,期末结存存货成本=276元。 以上是先进先出的逻辑思路 ,用代码怎么写 请教 |
-- 作者:huaziqiao1976 -- 发布时间:2023/9/18 12:02:00 -- 增加一列“库存量",在填制入库单时填列,以对应每次的进货量,出库时,用控件获取进货日期为正序库存量大于等于1的行库存量、单价等,够减时改写库存量,直到0为止 ,代码最好写在商品目录的下拉窗口里 Dim dr As DataRow
dr = DataTables("产品").SQLFind("产品编号 = \'03\'") \'找出编号为03的产品 With DataTables("订单") dr = .SQLFind("产品 = \'PD01\'","日期") \'找出第一次订购PD01产品的记录 dr = .SQLFind("产品 = \'PD01\'","日期",1) \'找出第二次订购PD01产品的记录 End With |