Foxtable(狐表)用户栏目专家坐堂 → [求助]入库审核


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

主题:[求助]入库审核

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106035 积分:539268 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/11 15:58:00 [只看该作者]

审核的人不一样,怎么知道审核完了,你是怎么设计的?

用一个逻辑列即可,如果知道审核完了,再勾选这个逻辑列

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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/8/12 8:40:00 [只看该作者]

入库设备不一样   需要审核的人员也不一样   比方说机电设备  需要  A B C三个人审核后入库    材料有可能就是A B D F这四个人审核后才能入库    不能固定人员所以如果建好几个逻辑列  审核后  在保存库存   不现实     
所以我就想  是不可以建一个同意审核的按钮   需要审核的人员  只要点了  就会在一个列里   记录他的名字   就算是签字同意了    这个方法对于审核就不太严谨了  好在比没有强 点  
老师要是还有更好的建议   给提出来也行  

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/12 22:07:00 [只看该作者]

点击后赋值,参考

 

CurrentTable.Current("第一列") = user.name & vbcrlf & CurrentTable.Current("第一列")


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/8/13 17:09:00 [只看该作者]

老大 你给我这一条代码  我理解不了    有实例吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/13 17:14:00 [只看该作者]

同意审核按钮的代码,这样写,意思是把 user.name的值记录到审核列去

 

Tables("表A").Current("第一列") = user.name & vbcrlf & Tables("表A").Current("第一列")


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/8/14 9:22:00 [只看该作者]

Select Case e.DataCol.name
    Case "单价"
        Dim drs As List(of DataRow)
        If e.oldvalue <> Nothing  Then
            drs = DataTables("库存").Select("编号 = '" & e.DataRow("编号") & "' and 单价 = '" & e.OldValue & "'")
            If drs.count = 0 Then
                Dim dr = DataTables("库存").AddNew()
                dr("编号") = e.DataRow("编号")
                dr("单价") = e.DataRow("单价")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("类别") = e.DataRow("类别")
            Else
                For i As Integer = drs.count-1 To 1 Step -1
                    drs(i).delete
                Next
                drs(0)("单价") = e.DataRow("单价")
            End If
        End If
        drs = DataTables("库存").Select("编号 = '" & e.DataRow("编号") & "' and 单价 = '" & e.NewValue & "'")
        If drs.count = 0 Then
            Dim dr = DataTables("库存").AddNew()
            dr("编号") = e.DataRow("编号")
            dr("单价") = e.DataRow("单价")
            dr("名称") = e.DataRow("名称")
            dr("规格") = e.DataRow("规格")
            dr("单位") = e.DataRow("单位")
            dr("类别") = e.DataRow("类别")
        Else
            For i As Integer = drs.count-1 To 1 Step -1
                drs(i).delete
            Next
            drs(0)("单价") = e.DataRow("单价")
        End If
End Select

Select Case e.DataCol.name
    Case "编号"
        Dim drs As List(of DataRow)
        If e.oldvalue <> Nothing Then
            drs = DataTables("库存").Select("编号 = '" & e.OldValue & "' and 单价 = '" & e.DataRow("单价") & "'")
            If drs.count = 0 Then
                Dim dr = DataTables("库存").AddNew()
                dr("编号") = e.DataRow("编号")
                dr("单价") = e.DataRow("单价")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("类别") = e.DataRow("类别")
            Else
                For i As Integer = drs.count-1 To 1 Step -1
                    drs(i).delete
                Next
                drs(0)("编号") = e.DataRow("编号")
            End If
        End If
        drs = DataTables("库存").Select("编号 = '" & e.newvalue & "' and 单价 = '" & e.DataRow("单价") & "'")
        If drs.count = 0 Then
            Dim dr = DataTables("库存").AddNew()
            dr("编号") = e.DataRow("编号")
            dr("单价") = e.DataRow("单价")
            dr("名称") = e.DataRow("名称")
            dr("规格") = e.DataRow("规格")
            dr("单位") = e.DataRow("单位")
            dr("类别") = e.DataRow("类别")
        Else
            For i As Integer = drs.count-1 To 1 Step -1
                drs(i).delete
            Next
            drs(0)("编号") = e.DataRow("编号")
        End If
End Select

1.上面的代码是采购单的代码     为什么在   库存表   里  名称不会添加进去   


2.还有一个问题  在采购单里 如果输入的是一个新的商品(库存表里没有)就会提示很多次   “子行具有多个父行。“       然后库存表里就会出现3行这个产品信息   但是只有一行信息是完整的  其他2行都只有编号

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/14 10:18:00 [只看该作者]

1、加入msgbox,看是否进入执行了对应代码;

 

2、你库存表应该有冲突的代码,你可以用systemready防止

 

http://www.foxtable.com/webhelp/scr/2218.htm

 

3、如果自己不会处理,做个对应实例上来测试。


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/8/16 8:28:00 [只看该作者]

同意审核按钮的代码,这样写,意思是把 user.name的值记录到审核列去

 

Tables("表A").Current("第一列") = user.name & vbcrlf & Tables("表A").Current("第一列")



如果有重复的人名  不让重复显示  怎么弄


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/16 9:07:00 [只看该作者]

 

If Tables("表A").Current("第一列").contains(User.name & vbcrlf) = False Then
    Tables("表A").Current("第一列") = user.name & vbcrlf & Tables("表A").Current("第一列")
End If

 


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


加好友 发短信
等级:小狐 帖子:316 积分:2193 威望:0 精华:0 注册:2018/2/4 9:37:00
  发帖心情 Post By:2018/8/20 10:06:00 [只看该作者]

甜老师   这是我的 采购单代码和库存表的代码    你看看哪里冲突了   

Select Case e.DataCol.name
    Case "单价"
        Dim drs As List(of DataRow)
        If e.oldvalue <> Nothing  Then
            drs = DataTables("库存").Select("编号 = '" & e.DataRow("编号") & "' and 单价 = '" & e.OldValue & "'")
            If drs.count = 0 Then
                Dim dr = DataTables("库存").AddNew()
                dr("编号") = e.DataRow("编号")
                dr("单价") = e.DataRow("单价")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("类别") = e.DataRow("类别")
                dr("生产厂家") = e.DataRow("生产厂家")
            Else
                For i As Integer = drs.count-1 To 1 Step -1
                    drs(i).delete
                Next
                drs(0)("单价") = e.DataRow("单价")
            End If
        End If
        drs = DataTables("库存").Select("编号 = '" & e.DataRow("编号") & "' and 单价 = '" & e.NewValue & "'")
        If drs.count = 0 Then
            Dim dr = DataTables("库存").AddNew()
            dr("编号") = e.DataRow("编号")
            dr("单价") = e.DataRow("单价")
            dr("名称") = e.DataRow("名称")
            dr("规格") = e.DataRow("规格")
            dr("单位") = e.DataRow("单位")
            dr("类别") = e.DataRow("类别")
            dr("生产厂家") = e.DataRow("生产厂家")
        Else
            For i As Integer = drs.count-1 To 1 Step -1
                drs(i).delete
            Next
            drs(0)("单价") = e.DataRow("单价")
        End If
End Select

Select Case e.DataCol.name
    Case "编号"
        Dim drs As List(of DataRow)
        If e.oldvalue <> Nothing Then
            drs = DataTables("库存").Select("编号 = '" & e.OldValue & "' and 单价 = '" & e.DataRow("单价") & "'")
            If drs.count = 0 Then
                Dim dr = DataTables("库存").AddNew()
                dr("编号") = e.DataRow("编号")
                dr("单价") = e.DataRow("单价")
                dr("名称") = e.DataRow("名称")
                dr("规格") = e.DataRow("规格")
                dr("单位") = e.DataRow("单位")
                dr("类别") = e.DataRow("类别")
                dr("生产厂家") = e.DataRow("生产厂家")
            Else
                For i As Integer = drs.count-1 To 1 Step -1
                    drs(i).delete
                Next
                drs(0)("编号") = e.DataRow("编号")
            End If
        End If
        drs = DataTables("库存").Select("编号 = '" & e.newvalue & "' and 单价 = '" & e.DataRow("单价") & "'")
        If drs.count = 0 Then
            Dim dr = DataTables("库存").AddNew()
            dr("编号") = e.DataRow("编号")
            dr("单价") = e.DataRow("单价")
            dr("名称") = e.DataRow("名称")
            dr("规格") = e.DataRow("规格")
            dr("单位") = e.DataRow("单位")
            dr("类别") = e.DataRow("类别")
            dr("生产厂家") = e.DataRow("生产厂家")
        Else
            For i As Integer = drs.count-1 To 1 Step -1
                drs(i).delete
            Next
            drs(0)("编号") = e.DataRow("编号")
        End If
End Select

Select Case e.DataCol.name
    Case "审核"
        Dim dr As DataRow = DataTables("库存").Find("编号 = '" & e.DataRow("编号") & "' and 单价 = '" & e.DataRow("单价") & "'")
        ' If dr IsNot Nothing Then
        If e.DataRow("审核") = True
            dr("进货数量") = dr("进货数量") + e.DataRow("数量")
            'End If
        End If
End Select


’库存表
If e.DataCol.Name = "编号" Then
    e.DataRow("进货数量") = DataTables("采购明细").Compute("Sum(数量)","[编号] = '"  & e.DataRow("编号") & "' and [单价] = '" & e.DataRow("单价") & "'and [审核] = ' true '")
End If

 回到顶部
总数 39 上一页 1 2 3 4 下一页