Foxtable(狐表)用户栏目专家坐堂 → 现在使用了OPENQQ进行单号生成管理


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

主题:现在使用了OPENQQ进行单号生成管理

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:6291 威望:0 精华:0 注册:2017/11/8 17:37:00
现在使用了OPENQQ进行单号生成管理  发帖心情 Post By:2024/5/2 15:56:00 [只看该作者]

现在使用了OPENQQ进行单号生成管理,如果重置日期、单据类型、类型其中任意一列,都会造成所有单号重新生成
如何锁死这三列不能进行重置呢

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


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2024/5/4 23:08:00 [只看该作者]

不要给单号过于复杂的规则,希望通过单号去识别太多信息,其实是一个很无厘头的做法。
一是单号太长,一个正常的使用者几乎是不可能通过单号去沟通的
这就象身份证号长达18位,平常在沟通时,有谁会说你去把那个身份证号是………………的人给我叫来,肯定是你把张三给我叫来啊

例如一个单号的信息包括日期、仓库编号(假设3个仓)、4种类型、还要加3位流水号,这个编号已经非常长了,完全没有必要。
而且培训成本很高啊,光让大家记住单号的规则就已经很费事了,而且各种各样的单

不允许重置,把权限不开放出来就可以了呀




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


加好友 发短信
等级:八尾狐 帖子:1989 积分:6291 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2024/5/5 13:31:00 [只看该作者]

不知有没有,不允许哪列不能重置的做法

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


加好友 发短信
等级:童狐 帖子:249 积分:1859 威望:0 精华:2 注册:2018/1/16 20:53:00
  发帖心情 Post By:2024/5/5 13:49:00 [只看该作者]

重置前判断一下
if 表列名 <>(日期、单据类型、类型)then
重置
end if

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


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/5/5 21:02:00 [只看该作者]

重置列这种功能正常不应该给普通用户使用的。因为一般是事件代码更改后,希望重置列处理一下旧数据。而发布后的程序是无法编辑事件代码的,也就不存在处理旧数据这种情况。

另外可以参考一下这里的方法是对编号数据做一个基础判断:http://www.foxtable.com/webhelp/topics/2403.htm,即如果编号的前n位是不符合要求的才去获取新的编号

        If QQClient.Ready = False Then
            PopMessage("QQClient未启动,无法生成编号!","提示",PopIconEnum.Infomation,5)
        Else
                Dim bh As String = e.DataRow("工程代码"& "-" &  Format(e.DataRow("制单日期"),"yyyyMM")
        If e.DataRow("编号").StartsWith(bh) = False '如果编号的前6位不符
                Dim rt As String =  QQClient.SendWait(":g" & bh & "g:")
                
Dim id As Integer
                If rt > "" Then
……
        End If

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:6291 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2024/5/5 21:25:00 [只看该作者]

  
1、
重置列这种功能正常不应该给普通用户使用的。因为一般是事件代码更改后,希望重置列处理一下旧数据。而发布后的程序是无法编辑事件代码的,也就不存在处理旧数据这种情况。
这个也有道理,一重置就会把所有历史数据都修改了

2、这个写也是不能起到判断的作用
If CurrentTable.cols(CurrentTable.ColSel).name <> "日期" Or CurrentTable.cols(CurrentTable.ColSel).name <> "单据类型" Or CurrentTable.cols(CurrentTable.ColSel).name <> "类型"Or CurrentTable.cols(CurrentTable.ColSel).name <> "类别"Or CurrentTable.cols(CurrentTable.ColSel).name <> "单据类别"Then
            If CurrentTable IsNot Nothing AndAlso CurrentTable.ColSel >= 0 Then
                Dim dc As DataCol = CurrentTable.Cols(CurrentTable.ColSel).DataCol
                dc.RaiseDataColchanged()
            End If
        End If



 回到顶部