Foxtable(狐表)用户栏目专家坐堂 → 新增订单时会把已保存过的订单明细带上来


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

主题:新增订单时会把已保存过的订单明细带上来

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
新增订单时会把已保存过的订单明细带上来  发帖心情 Post By:2021/12/16 17:12:00 [显示全部帖子]

如题,有ABCD四台电脑,数据库存放在A电脑,BCD三台电脑通过数据库共享接入A。新增订单时B电脑时常把已经保存过订单的订单明细带到新订单的明细里面,CD两台电脑都没有这种情况,请问是什么原因导致?B电脑重新装系统也一样。

图片点击可在新窗口打开查看此主题相关图片如下:mmexport1639645492763_edit_10048580474507.jpg
图片点击可在新窗口打开查看
如上图,红圈里面是其他已经保存过的订单的订单明细。


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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/16 17:44:00 [显示全部帖子]

我A电脑的程序在共享文件里面,我取消试试。
CD电脑和B电脑用的是同一个版本的程序

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/21 18:09:00 [显示全部帖子]

以下是引用有点蓝在2021/12/16 20:10:00的发言:
程序/项目文件不要放到共享里使用。要共享也应该共享数据库,而不是共享程序。应该把程序安装到每台电脑使用
程序都是每个电脑安装的,之前只是A电脑的程序/项目文件也在共享文件夹里。改了以后现在只有数据库是共享的。改了以后用了几天后,B电脑暂时没有出现,但今天C电脑出现了相同情况。

[此贴子已经被作者于2021/12/23 4:31:37编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/25 18:28:00 [显示全部帖子]

开单流程:
第一步,新增订单,按钮代码:
Dim id As Integer = DataTables("报价单").Compute("Max(_Identify)")
Dim Filter As String = "[_Identify] > " & id
DataTables("报价单").AppendLoad(Filter, False)

With Tables("报价单")
    If .Current Is Nothing OrElse .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改
        Tables("报价单").AllowEdit  = True
        Dim dr As Row = Tables("报价单").AddNew
        dr("日期") = Date.Today
    End If
End With

Dim xzcp As WinForm.Button = e.Form.Controls("新增产品")
xzcp.Enabled = True

Dim bc As WinForm.Button = e.Form.Controls("保存")
bc.Enabled = True

第二步,增加订单明细,按钮代码:
Dim sts() As String = {"dropbox2","DropBox4","DropBox1","NumericComboBox2"}
For Each st As String In sts
    If e.Form.Controls(st).value Is Nothing Then
        MessageBox.show("Please enter the name,phone number,Model and quantity !","Remind")
        Return
    End If
Next

Dim tbl As Table = Tables("报价明细表")
Dim r As Row = tbl.AddNew()
r("订单号") = e.Form.Controls("TextBox2").Text
r("客户名称") = e.Form.Controls("DropBox4").Text
r("客户电话") = e.Form.Controls("DropBox2").Text
r("日期") = e.Form.Controls("DateTimePicker1").Text
r("产品型号") = e.Form.Controls("dropbox1").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
'r.save

e.Form.Controls("DropBox1").Text = ""
e.Form.Controls("textbox5").Text = ""
e.Form.Controls("NumericComboBox2").Value = Nothing
e.Form.Controls("未提数量").Text = "未知"

第三步,保存,按钮代码:
If e.Form.Controls("CheckBox1").Checked = False AndAlso e.Form.Controls("CheckBox2").Checked = False Then
    MessageBox.Show("Please Choose Whether To Convert To An Order!", "Error")
    Return
End If

If Tables("报价单").Current.DataRow.RowState = DataRowState.Added AndAlso Tables("报价单").Current IsNot Nothing Then
    If Tables("报价明细表").Current Is Nothing Then
        MessageBox.Show("No details cannot be saved 无订单明细,无法保存!", "Error 错误提示")
        Tables("报价单").Current.Delete
    Else
        Tables("报价单").Current("客户名称") = e.Form.Controls("DropBox4").Text
        Tables("报价单").Current("客户电话") = e.Form.Controls("DropBox2").Text
        Tables("报价单").Current("折扣") = e.Form.Controls("TextBox3").Text
        Tables("报价单").Current("备注") = Tables("报价单").Current("备注") & e.Form.Controls("TextBox4").Text
        'Tables("报价单").Current("已付款") = e.Form.Controls("TextBox9").Text
        If Tables("报价单").Current IsNot Nothing Then
            Tables("报价单").Current.Save
            Tables("报价单").AllowEdit = False
        End If
        Tables("报价明细表").Save
    End If
End If

Dim khmc As WinForm.DropDownBox = e.Form.Controls("DropBox4")
Dim khdh As WinForm.DropDownBox = e.Form.Controls("DropBox2")
If e.Form.Controls("DropBox4").value IsNot Nothing Or e.Form.Controls("DropBox2").value IsNot Nothing Then
    '添加客户信息
    Dim tbl As Table = Tables("客户信息表")
    Dim drn As DataRow = DataTables("客户信息表").SQLFind("客户名称 = '" & khmc.Text & "'")
    Dim drp As DataRow = DataTables("客户信息表").SQLFind("客户电话 = '" & khdh.Text & "'")
    If drn Is Nothing AndAlso drp Is Nothing Then
        Dim n As Row = tbl.AddNew()
        n("客户名称") = e.Form.Controls("DropBox4").Text
        n("客户电话") = e.Form.Controls("DropBox2").Text
        tbl.Current.Save()
    Else If drn Is Nothing AndAlso drp IsNot Nothing Then
        tbl.current("客户名称") = e.Form.Controls("DropBox4").Text
        tbl.Current.Save()
    Else If drn IsNot Nothing AndAlso drp Is Nothing Then
        Dim n2 As Row = tbl.AddNew()
        n2("客户名称") = e.Form.Controls("DropBox4").Text
        n2("客户电话") = e.Form.Controls("DropBox2").Text
        tbl.Current.Save()
    End If
End If

Dim zk As WinForm.TextBox = e.Form.Controls("textbox3")
Dim cpxh As WinForm.DropDownBox = e.Form.Controls("DropBox1")
Dim sl As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox2")
Dim dj As WinForm.TextBox = e.Form.Controls("textbox5")
Dim sfje As WinForm.TextBox = e.Form.Controls("textbox9")
Dim ytsl As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox1")
Dim bz As WinForm.TextBox = e.Form.Controls("textbox4")
Dim zffs As WinForm.ComboBox = e.Form.Controls("ComboBox1")
khmc.Text = ""
khdh.Text = ""
cpxh.Text = ""
sl.Value = Nothing
dj.Text = ""
sfje.Text = ""
zk.Text = "0"
ytsl.Value = Nothing
bz.Text = ""
zffs.Text = "Cash"

Dim t As Table = Tables("Quotation_Table2")
With Tables("报价单")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter = "订单号 = '" & .Current("订单号") & "'"
    End If
End With

With Tables("报价明细表")
    Tables("报价明细表").Filter = "1=2"
    .Cols("数量").GrandTotal = True
    .Cols("金额").GrandTotal = True
    .GrandTotal = False
End With

Dim xzcp As WinForm.Button = e.Form.Controls("新增产品")
xzcp.Enabled = False

Dim bc As WinForm.Button = e.Form.Controls("保存")
bc.Enabled = False

If e.Form.Controls("CheckBox1").Checked = True Then
    If MessageBox.Show("Are You Sure To Convert This Quotation To An Order?","Confirm",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then
        Dim dr1 As Row = Tables("报价单").Current
            Dim Cols1() As String = {"日期","订单号","客户名称","客户电话","折扣","编辑者","备注"}
            Dim Cols2() As String = {"日期","订单号","客户名称","客户电话","折扣","编辑者","备注"}
            Dim Cols3() As String = {"日期","订单号","客户名称","客户电话","产品型号","产品类别","数量","销售单价","备注","单价成本"}
            Dim Cols4() As String = {"日期","订单号","客户名称","客户电话","产品型号","产品类别","数量","销售单价","备注","单价成本"}
            Dim dr2 As DataRow = DataTables("销售订单").AddNew()
            For i As Integer = 0 To Cols1.Length -1
                dr2(Cols2(i)) = dr1(Cols1(i))
            Next
            For Each dr3 As DataRow In dr1.DataRow.GetChildRows("报价明细表")
                Dim dr4 As DataRow = DataTables("销售明细表").AddNew()
                For i As Integer = 0 To Cols3.Length -1
                    dr4(Cols4(i)) = dr3(Cols3(i))
                Next
            Next
            Tables("报价单").Current.delete
            DataTables("报价单").Save()
            DataTables("销售订单").Save()
            DataTables("销售明细表").Save()
    End If
End If

帮我看看是不是代码或者逻辑有问题。
[此贴子已经被作者于2021/12/25 18:38:17编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/26 21:57:00 [显示全部帖子]

只绑定了两个字段
如果每次只能新增一个单,效率就很低了。

[此贴子已经被作者于2021/12/27 0:40:51编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/27 0:42:00 [显示全部帖子]

是已经保存过的订单明细串行到正在新增的订单明细里面,这种已经保存过的订单也会串行吗?
我测试了一下:
把产品型号、数量绑定到报价明细表后控件中不能输入内容。
如果用关联表,意思在录入窗口把原来的报价明细表主表改成报价表.报价明细表关联表就不会有串行的问题吗?
[此贴子已经被作者于2021/12/27 0:48:52编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/27 15:17:00 [显示全部帖子]

刚试了一下,把窗口表改成关联表报价单.报价明细表后看不见窗口表。添加明细也不成功。什么问题?

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/29 3:32:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:part01.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:part02.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:part03.rar


以下内容是专门发给有点蓝浏览



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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/29 3:39:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:part04.rar


文件太大,压缩成4个包请下载完成,谢谢!

操作步骤:
Quotation窗口,点击New QUOTN按钮,输入客户信息后,点击Add Product按钮,添加产品信息,最后Save按钮保存。

我改成了绑定列,还是有问题。
我也改成关联表测试了一下,也不行,添加产品信息的时候看不到行。

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2021/12/30 3:08:00 [显示全部帖子]

文件版本过高,无法正常打开,请升级foxtable
蓝老师,我的加密狗到期了(当前版本2020-5-29)无法升级,能不能帮我把改的地方代码贴出来,或者生成一个低版本的,不胜感激!
[此贴子已经被作者于2021/12/30 3:16:46编辑过]

 回到顶部
总数 12 1 2 下一页