以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 现在使用了OPENQQ进行单号生成管理 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191693) |
|
-- 作者:zhuxinhui -- 发布时间:2024/5/2 15:56:00 -- 现在使用了OPENQQ进行单号生成管理 现在使用了OPENQQ进行单号生成管理,如果重置日期、单据类型、类型其中任意一列,都会造成所有单号重新生成 如何锁死这三列不能进行重置呢
|
|
-- 作者:chnfo -- 发布时间:2024/5/4 23:08:00 -- 不要给单号过于复杂的规则,希望通过单号去识别太多信息,其实是一个很无厘头的做法。 一是单号太长,一个正常的使用者几乎是不可能通过单号去沟通的 这就象身份证号长达18位,平常在沟通时,有谁会说你去把那个身份证号是………………的人给我叫来,肯定是你把张三给我叫来啊 例如一个单号的信息包括日期、仓库编号(假设3个仓)、4种类型、还要加3位流水号,这个编号已经非常长了,完全没有必要。 而且培训成本很高啊,光让大家记住单号的规则就已经很费事了,而且各种各样的单 不允许重置,把权限不开放出来就可以了呀 |
|
-- 作者:zhuxinhui -- 发布时间:2024/5/5 13:31:00 -- 不知有没有,不允许哪列不能重置的做法 |
|
-- 作者:linyunu -- 发布时间:2024/5/5 13:49:00 -- 重置前判断一下 if 表列名 <>(日期、单据类型、类型)then
重置 end if
|
|
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2024/5/5 21:25:00 --
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 |