Foxtable(狐表)用户栏目专家坐堂 → 分隔符显示


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

主题:分隔符显示

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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
分隔符显示  发帖心情 Post By:2017/2/12 12:02:00 [只看该作者]


    Dim drs As List(of DataRow) = DataTables("销售出库单列表").Select("邮箱 is null and 业务员 is not null")
    For Each dr As DataRow In drs
        dr("邮箱") = GetPy(dr("业务员")).Replace(" ","") & "@bdcom.com.cn"
        Dim d2 As new ClassLibrary2.Class2()
        Dim Multi As String =d2.getInvoiceInfoByONo(dr("出库单号"))
        If Multi.Length = 0 Then
            dr("发货要求") = "请采用老的发货方式"
            dr.save
        Else
            Dim data As object
            Dim JscriptCode = "function toObject(json) {eval(""var o=""+json);return o;}"
            Dim ScriptControl = CreateObject("MSScriptControl.ScriptControl")
            With ScriptControl
                .Language = "Javascript"
                .Timeout = -1
                .AddCode(JscriptCode)
                data = .Run("toObject", Multi)
            End With
            For Each level2 As object In data.BDinvoiceBody
                For Each level4 As object In level2.iall.workInfos
                    dr("发货要求")  &= level4.whpiDl.workNo_level4.whpiDl.workLineNo_level4.whpiDl.permitCount & "|"
                    dr.save
                Next
            Next
        End If
    Next
    现在dr("发货要求")最后一个字符肯有"|",不希望最后有"|"。
效果就是想去掉最后一个那个字符"|"
A_B_C|A1_B1_C1|A2_B2_C2-------这是想要的。不是A_B_C|A1_B1_C1|A2_B2_C2|

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/12 12:16:00 [只看该作者]


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2017/2/12 14:45:00 [只看该作者]

有发货单号和发货要求2列
发货要求的值为:201701_10_10|201702_01_11|201702_02_12
If e.Col.name = "发货单号"  Then
    e.Cancel = True
    Dim str As String = e.Row("发货要求")
    Dim gdh,gdhh As String
    Dim sum As Integer
    Dim gdsl() As String = str.Split("|")
    For Index As Integer = 0 To gdsl.Length - 1
        Dim gds() As String = gdsl(Index).Split("_")
        For Index1 As Integer = 0 To gds.Length -1
            msgbox(gds(index1))------能正确取出各个值gds(index1),问题是我想把取出来的值存起来,这个怎么弄?
        Next
    Next
end if


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/12 15:39:00 [只看该作者]

 你要赋值的列,不是固定的吗?你可以弄一个数组嘛

 

Dim cs() As String = {"A", "B", "C"}

 

 或者你可以用0、1、2、3那样取出。

 


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


加好友 发短信
等级:五尾狐 帖子:1182 积分:8225 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2017/2/13 15:35:00 [只看该作者]

If e.Col.name = "发货单号"  Then
    e.Cancel = True
    Dim str As String = e.Row("发货要求")
    If str = "请采用老的发货方式" Then
        Return
    Else
        Dim gdh,gdhh As String
        Dim msg As String = ""
        Dim gdsl() As String = str.Split("|")
        For Index As Integer = 0 To gdsl.Length - 1
            Dim gds() As String = gdsl(Index).Split("_")
            For Index1 As Integer = 0 To gds.Length -1
                Dim sum As Integer = DataTables("库位数量统计").SQLCompute("Sum(数量)","物料编码 = '" & e.Row("存货编码") & "' and 生产订单号码 = '" & gds(0) & "' and 工单行号 = '" & gds(1) & "'")
                If sum <  gds(2)  Then
                    msg &= "工单号:" & gds(0) & "工单行号:" & gds(1) & "需要发货:" & gds(2) & "库存可用数量:" & sum  & "不满足出库条件" & vbcrlf
                End If
            Next
        Next
        If msg > "" Then
            MessageBox.show(msg,"下面工单不满足出库条件",MessageBoxButtons.OK,MessageBoxIcon.Error)
        Else
            
            vars("u8fhdh") = e.Row("发货单号")
            vars("chbm") = e.Row("存货编码")
            Vars("xsddh") = e.Row("销售订单号")
            vars("xsckdph") =  "发货单号:" & e.Row("发货单号") & "---" & "物料编码:" & e.Row("存货编码") & "- - -" & "需要配货(" & e.Row("挪货数量") & ")"  & e.Row("主计量单位") & "分别为:" & e.Row("发货要求")
            vars("xsckdck") = "发货单号:" & e.Row("发货单号") & "---" & "物料编码:" & e.Row("存货编码") & "- - -" & "需要出库(" & e.Row("挪货数量") & ")"  & e.Row("主计量单位") & "分别为:" & e.Row("发货要求")
            If e.Row("配货状态")  = False   Then
                forms("配货整理").open
            ElseIf e.Row("配货状态") = True And e.Row("出库状态") = False Then
                Forms("A-Z出库扫描").open
            End If
        End If
    End If
End If

请帮忙看看for 循环怎么改,才能避免对以"_"为分隔符的数组多次循环。不然就出现附件的现象,重复循环显示。

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


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/13 16:00:00 [只看该作者]

这个循环 For Index1 As Integer = 0 To gds.Length -1

 

根本就不需要加进来。


 回到顶部