以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  局域网开单订单号冲突  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122544)

--  作者:whx007
--  发布时间:2018/7/27 16:45:00
--  局域网开单订单号冲突


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


 


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

如上图所示,局域网内A和B同时开单,当A,B先后点Save按钮保存时,报错存在相同的订单号。怎么解决这个问题。

订单号采用内部函数自动生成。

 

[此贴子已经被作者于2018/7/27 16:46:04编辑过]

--  作者:有点甜
--  发布时间:2018/7/27 17:04:00
--  

你订单号生成有问题。

 

生成订单号以后,请立马保存本行数据。

 

如果提示确实偶尔存在相同订单号的情况,你可以重新获取生成一个订单号。


--  作者:whx007
--  发布时间:2018/7/27 17:42:00
--  

我是先生成销售明细表,后生成销售订单的。

添加明细的时候就保存当前行了。

Add Product 按钮代码:

        Dim tbl As Table = Tables("销售明细表")
        Dim r As Row = tbl.AddNew()
        r("订单号") = e.Form.Controls("TextBox2").Text
        r("产品型号") = e.Form.Controls("dropbox2").Text
        r("产品类别") = e.Form.Controls("产品类别").Text
        r("单价成本") = e.Form.Controls("单价成本").Text
        r("销售单价") = e.Form.Controls("TextBox5").Text
        r("数量") = e.Form.Controls("NumericComboBox2").Text
        \'r("已提数量") = e.Form.Controls("NumericComboBox1").Text
        If tbl.Current IsNot Nothing Then
            tbl.Current.Save()
        End If
        If e.Form.Controls("NumericComboBox1").Value <> 0 Then
            Dim tb As Table = Tables("订单出库明细表")
            Dim r1 As Row = tb.AddNew()
            r1("提货日期") = e.Form.Controls("datetimepicker1").Text
            r1("订单号") = e.Form.Controls("TextBox2").Text
            r1("产品型号") = e.Form.Controls("dropbox2").Text
            r1("数量") = e.Form.Controls("NumericComboBox2").Text
            r1("已提数量") = e.Form.Controls("NumericComboBox1").Text
            If tb.Current IsNot Nothing Then
                tb.Current.Save()
            End If
        End If

   


--  作者:有点甜
--  发布时间:2018/7/27 17:46:00
--  

1、只有同时开单的时候才生成相同编号?其余时候会不会生成相同编号?

 

2、如果生成相同编号了,你可以重新获取一个编号赋值回去。

 

3、不然参考

 

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

 

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

 


--  作者:whx007
--  发布时间:2018/7/27 18:10:00
--  

1、只有多人同时开单的时候订单号才会冲突,其余时候不会。

2、订单号生成是自动的,怎么才能重新获取一个编号呢

3、尝试过网络环境下的复杂编号,不知道窗口中的订单号控件怎么和表中的订单号结合起来


--  作者:有点甜
--  发布时间:2018/7/27 18:18:00
--  

你的订单号如何生成的?用什么代码生成的?

 

你重新执行代码以后得到编号重新赋值进去。


--  作者:whx007
--  发布时间:2018/7/27 19:35:00
--  

不知道什么原因代码发不上来。截图发上来

内部函数:计算自动增长,代码如下

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

 

窗口AfterLoad

Dim ddh As WinForm.TextBox = e.Form.Controls("TextBox2")
Dim bh As String = Format(Date.Today,"TCyyMMdd")
ddh.Text = Functions.Execute("计算自动增长","销售订单","订单号",bh,4,2,"database")


[此贴子已经被作者于2018/7/27 19:37:17编辑过]

--  作者:whx007
--  发布时间:2018/7/27 19:45:00
--  

如果采用“网络环境下的复杂编号”的例子,窗口中的订单号控件怎么和销售订单表的订单号列结合起来(窗口的订单号和销售订单表的订单号列一样)。

采用控件绑定订单号列行不通。

[此贴子已经被作者于2018/7/27 20:10:25编辑过]

--  作者:有点蓝
--  发布时间:2018/7/27 20:50:00
--  
销售订单表的订单号列是怎么生成订单号的,为什么行不通?
--  作者:whx007
--  发布时间:2018/7/27 21:32:00
--  
如果采用帮助文件的“网络环境下的复杂编号”的例子,销售订单表的订单号列当你增加行时会自动生成订单号,如果窗口订单号控件绑定此列,那么窗口中显示的订单号并不是新增行的订单号,二是上一行的订单号。