Foxtable(狐表)用户栏目专家坐堂 → 自动编号


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

主题:自动编号

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:5733 威望:0 精华:0 注册:2017/12/19 14:46:00
自动编号  发帖心情 Post By:2019/8/13 16:40:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:电网钢材发料管理系统.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:电网钢材发料管理系统.foxdb

147258
请老师看一下,角钢进料表明细中,列“序号”是根据派单日期生成的编号,“派单日期”列是增加行时自动生成的,现在发现填写实发支数列后,派单日期会更新到当天,序号也会变化,是什么原因?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110579 积分:562791 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/13 16:55:00 [只看该作者]

实发支数更改,触发“未发数量”;“未发数量”更改,触发(DataTables("角钢进料台账").DataCols("进料表编号").RaiseDataColChanged(dr1));然后台账表"进料表编号"更改触发(dr("派单日期") = Date.today);"派单日期"更改又触发角钢进料表明细表:

If e.DataCol.Name = "派单日期"
    Dim Filter As String = "[进料表编号] = '" & e.DataRow("进料表编号") & "'"
    Dim drs As List(Of DataRow) = DataTables("角钢进料表明细").Select(Filter)
    For Each dr2 As DataRow In drs
        dr2("派单日期") = e.DataRow("派单日期")
    Next
End If

自己给自己挖坑的节奏

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:825 积分:5733 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/8/13 17:29:00 [只看该作者]

If e.DataCol.Name = "派单日期"
    Dim Filter As String = "[进料表编号] = '" & e.DataRow("进料表编号") & "'"
    Dim drs As List(Of DataRow) = DataTables("角钢进料表明细").Select(Filter)
    For Each dr2 As DataRow In drs
        dr2("派单日期") = e.DataRow("派单日期")
    Next
End If
把这段删除了,并做了一下修改

角钢进料台账
Select Case e.DataCol.name
    Case "进料表编号"
        If e.DataRow.IsNull("进料表编号") Then
            DataTables("角钢进料表明细").DeleteFor("进料表编号='" & e.DataRow("进料表编号") & "'")
            e.DataRow("状态_发料完成") = False
            e.DataRow("状态_U8出库") = False
        Else
            If e.OldValue Is Nothing
                Dim ndr As Row = Tables("角钢进料表明细").AddNew
                ndr("进料表编号") = e.DataRow("进料表编号")
                ndr("工程名称") = e.DataRow("工程名称")
                ndr("塔型") = e.DataRow("塔型")
                ndr("材料标准") = e.DataRow("材料标准")
                ndr("仓储配料员") = e.DataRow("仓储配料员")
                ndr("审核") = e.DataRow("审核")
                ndr("编制人") = e.DataRow("编制人")
                ndr.Move(0)
            End If
            If e.DataRow.GetChildRows("角钢进料表明细").Count > 0
                Dim cnt As Integer = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号='" & e.NewValue  & "' and (U8出库=false and 处置_重派=false)")
                e.DataRow("状态_U8出库") = (cnt=0)
                cnt  = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号='" & e.NewValue  & "' and (未发数量 > 0 or 未发数量 is null)")
                e.DataRow("状态_发料完成") = (cnt=0)
            End If
        End If
End Select


角钢进料表明细
If e.DataCol.Name = "进料表编号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("工程名称") = Nothing
        e.DataRow("塔型") = Nothing
        e.DataRow("仓储配料员") = Nothing
        e.DataRow("审核") = Nothing
        e.DataRow("编制人") = Nothing
    Else
        Dim dr3 As DataRow
        dr3 = DataTables("角钢进料台账").Find("[进料表编号] = '" & e.NewValue & "'")
        If dr3 IsNot Nothing
            e.DataRow("工程名称") = dr3("工程名称")
            e.DataRow("塔型") = dr3("塔型")
            e.DataRow("仓储配料员") = dr3("仓储配料员")
            e.DataRow("审核") = dr3("审核")
            e.DataRow("编制人") = dr3("编制人")
        End If
    End If
End If

还需要怎么修改?


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110579 积分:562791 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/13 17:39:00 [只看该作者]

这个业务流转的过程不应该问我们,我也不懂这个业务,自己理清楚这个业务逻辑

 回到顶部