以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  出入库  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150053)

--  作者:cd_tdh
--  发布时间:2020/5/19 15:49:00
--  出入库

老师,我按照帮助修改了一个出入库,

1、我需要按照项目结存,入库后,库存里面的入库信息没增加,请看看什么问题?

2、一个项目完成后,需要转库又怎么来弄呢?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:出入库.foxdb

[此贴子已经被作者于2020/5/19 15:48:50编辑过]

--  作者:有点蓝
--  发布时间:2020/5/19 16:25:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:出入库.zip


--  作者:有点蓝
--  发布时间:2020/5/19 16:26:00
--  
转库具体指什么?按照什么规则和逻辑处理?
--  作者:cd_tdh
--  发布时间:2020/5/19 16:34:00
--  

比如我:项目名称1  这个是项目部的库,当这个项目完成后,所有剩余的库存的材料需要运回到公司库存或是转入到:项目名称2 的的库存,

相当于把项目名称1  这个库的剩余材料全部出库一次,在公司库存 或 项目名称2 入库一次。

 


--  作者:有点蓝
--  发布时间:2020/5/19 16:46:00
--  
那就按照这个逻辑操作就行了,比如添加一个按钮:
1、把某个入库表某个项目需要移库的数据全部新增到出库表
2、入库表个项目需要移库的数据按照新的项目名称在入库表全部新增


--  作者:cd_tdh
--  发布时间:2020/5/19 17:40:00
--  
在请老师看看出库的代码应该怎么修改呢,出库后,库存也没信息
--  作者:有点蓝
--  发布时间:2020/5/19 20:10:00
--  
 参考入库的逻辑,完全一样的,只是列名不一样而已 
--  作者:cd_tdh
--  发布时间:2020/5/20 9:08:00
--  

老师,出库这样写:

If e.DataCol.Name  =  "项目名称" OrElse e.DataCol.Name  = "产品名称" OrElse e.DataCol.Name  = "规格型号"
    If e.DataRow.IsNull("项目名称") = False AndAlso e.DataRow.IsNull("产品名称") = False  AndAlso  e.DataRow.IsNull("规格型号") = False Then
        Dim dw As DataRow = DataTables("库存").Find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 产品名称 = \'" & e.DataRow("产品名称") & "\' And 规格型号 = \'" & e.DataRow("规格型号") & "\'")
        If dw IsNot Nothing Then
            If e.DataRow("出库_数量") > dw("库存_数量") Then
                MessageBox.Show("该产品库存数量小于出库数量,请核对库存量是否充足!","提示",MessageBoxButtons.OK,MessageBoxIcon.None)
                Return
            Else
                e.DataRow("出库_单价") = dw("库存_单价")
                e.DataRow.Save
            End If
        Else
            MessageBox.Show("该产品无库存,请核对库存是否有该产品!","提示",MessageBoxButtons.OK,MessageBoxIcon.None)
            Return
        End If
    End If
End If

Select Case e.DataCol.Name
    Case  "出库_数量","出库_单价","出库_金额"
        Dim pr  As  DataRow
        pr = DataTables("库存").Find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 产品名称 = \'" & e.DataRow("产品名称") & "\'And 规格型号 = \'" & e.DataRow("规格型号") & "\'")
        If pr IsNot Nothing  Then
            DataTables("库存").DataCols("项目名称").RaiseDataColChanged(pr)
        End  If
End Select

 

存在一个问题,我库存单价是按照库存金额/库存数量计算的,我在出库中引用库存单价后,库存的数量发生了变化,单价也变化了,就是个死循环,这样没法获得库存单价,怎么来处理呢?

我在论坛看到一个移动平均的方法,麻烦看看我的怎么按照这个修改?

 

 

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


--  作者:有点蓝
--  发布时间:2020/5/20 9:38:00
--  
没看懂,请上传自己的实例说明
--  作者:cd_tdh
--  发布时间:2020/5/20 11:18:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:出入库.foxdb

 

入库后,入库的金额如果用:数量*单价(这个单价的税后单价),这个入库金额需要加上税额部分

比如下面这张票:

  


图片点击可在新窗口打开查看此主题相关图片如下:img_20200520_111525.jpg
图片点击可在新窗口打开查看

如果这样是不是不同的单价、税率都需要单独入一次库呢?

出库后需要给不砼的领料人结算,这个又怎么来核算准确的出库金额呢?

[此贴子已经被作者于2020/5/20 11:21:18编辑过]