点保存,点审核都没有消息传递提醒,帮我看看哪里不对,按帮助如下步骤:
1、首先我们要定义一个集合,用于存储收到的审核申请,在全局代码中定义一个Public变量:
Public fhs As New List(of String)
2、在报价申请单编辑窗口的保存按钮中,写入如下代码
Dim r As Row = Tables("报价申请").Current
r.Save()
QQClient.Send("研发-总监","+@|" & r("_Identify") & "|" & r("业务部_系列") & "|" & usna)
3、在发货单编辑窗口的审核按钮中,写入如下代码:
Dim r As Row = Tables("报价申请").Current
r("研发部_中心审批") = "通过"
r.Save()
'发送审核通过的消息
QQClient.Send(r("业务部_业务跟单"),"-@|" & r("业务部_系列") & "|" & usna)
4、在OpenQQ客户端的ReceivedMessage事件中编写代码
Dim pts() As String = e.Message.Split("|")
If pts.Length = 4 AndAlso pts(0) = "+@" '如果是申请审核消息
fhs.Add(pts(1) & "|" & pts(2) & "|" & pts(3)) '将主健?单号和制单人合成为一个字符串存储在集合中
ElseIf pts.Length = 3 AndAlso pts(0) = "-@" '如果是审核通过消息
PopMessage("报价申请" & pts(1) & "已由" & pts(2) & "审核通过!")
Dim drs As DataRow = DataTables("报价申请").Find("业务部_系列 = '" & pts(1) & "'")
If drs IsNot Nothing Then
drs.Load
End If
End If
5、在客户端项目新建一个下图所示的窗口,窗口名为“审核提示”,窗口类型设置为PopupForm:
这个窗口有两个Label控件,Label1用于显示提示信息,Label2的可见属性设置为False,用于存储发货单的主键(Identify)。
这是一个技巧,因为Foxtable并没有提供窗口级别的变量,所以通常用一些不可见的Label控件来存储临时信息。
查看按钮代码:
DataTables("送货单").Save() '接下来要根据主键查找,必须先保存,因为只有保存后新增行的主键才是有效值.
Dim id As String = e.Form.Controls("Label2").Text
Dim dr As DataRow = DataTables("报价申请").Find("[_Identify] = " & id)
If dr Is Nothing Then
DataTables("报价申请").AppendLoad("[_Identify] = " & id)
dr = DataTables("报价申请").Find("[_Identify] = " & id)
Else
dr.Load()
End If
6、在项目事件SystemIdle中加入代码:
If fhs.Count > 0 AndAlso Forms("审核申请").Opened = False Then
Dim pts() As String = fhs(0).Split("|")
fhs.RemoveAt(0)
With Forms("审核申请")
.Open()
.Controls("Label1").Text = pts(2) & "新增报价申请" & pts(1) & ",请审核!"
.Controls("Label2").Text = pts(0) '将发货单主健设置为Label2的标题
End With
End If
[此贴子已经被作者于2018/4/21 10:38:14编辑过]