以文本方式查看主题

-  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=81654)

--  作者:zcgmxf
--  发布时间:2016/3/2 20:35:00
--  [求助]openqq相关
老师,帮助实例中,“送货单”外部表是否一定要添加或加载到服务端?
--  作者:大红袍
--  发布时间:2016/3/2 21:18:00
--  
[自定义流程通知窗口] ?服务器端也没有需要添加这个表吧?又没有用到。
--  作者:zcgmxf
--  发布时间:2016/3/2 22:12:00
--  
是的。但是我的openq登录成功,也能收发信息。就是自定义流程通知窗口没反应。
--  作者:大红袍
--  发布时间:2016/3/2 22:19:00
--  

 能收发信息,就没问题啊。加入msgbox调试是否进入触发了代码。


--  作者:zcgmxf
--  发布时间:2016/3/2 22:22:00
--  
保存按钮:
Dim r As Row  = Tables("收文处理登记表").Current
r.Save()
QQClient.Send( r("呈报领导"),"+@|" & r("_Identify") & "|" & r("文号") & "|" & User.Name)
审核按钮:
Dim r As Row  = Tables("收文处理登记表").Current
r("确认阅示") = True
r.Save()
\'发送审核通过的消息
Dim str As String = Tables("收文处理登记表").Current("阅文分管领导")
For Each s As String In str.Split(",")
    QQClient.Send(s,"-@|" & r("文号") & "|" & User.Name,True)
Next

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 dr1 As DataRow = DataTables("收文处理登记表").Find("文号 = \'" & pts(1) & "\'")

    If dr1 IsNot Nothing Then

        dr1.Load

    End If

End If


查看按钮:

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

If dr IsNot Nothing Then

    Dim wz As Integer = Tables("收文处理登记表").FindRow(dr)

    If wz < 0 Then \'如果因为筛选导致此送货单不可见

        Tables("收文处理登记表").Filter = ""

        wz =Tables("收文处理登记表").FindRow(dr)

    End If

    If wz >= 0 Then

        Tables("收文处理登记表").Position = wz

        Forms("一把手阅文窗口").Open()

    End If

End If

e.Form.Close()


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



请你看看错在哪里。



--  作者:大红袍
--  发布时间:2016/3/2 22:34:00
--  

各个事件,加入msgbox弹出值来看。


--  作者:zcgmxf
--  发布时间:2016/3/3 7:31:00
--  
红袍老师,好像是ReceivedMessage没有被触发。我用的内置身份验证,应该没影响啊?
[此贴子已经被作者于2016/3/3 7:32:36编辑过]

--  作者:Hyphen
--  发布时间:2016/3/3 8:11:00
--  
如果好友定义的是:部门.名称的格式,看看发送代码,接收者是不是这种格式

msgbox(r("呈报领导"))
QQClient.Send( r("呈报领导"),"+@|" & r("_Identify") & "|" & r("文号") & "|" & User.Name)

--  作者:zcgmxf
--  发布时间:2016/3/3 8:27:00
--  
可能是的。应该如何修改?谢谢!

If e.User IsNot Nothing Then
   
e.Success = True \'允许登录
    For Each u As UserInfo In Users
       
If u.Name <> e.User.Name  Then
            If u.Group > ""  Then
                e.Buddies.Add(u.Group & "." & u.Name)
            Else
                e.Buddies.Add(u.Name)
           
End If
        End If
   
Next

End
If



--  作者:Hyphen
--  发布时间:2016/3/3 8:29:00
--  
QQClient.Send("领导所在部门." & r("呈报领导"),"+@|" & r("_Identify") & "|" & r("文号") & "|" & User.Name)

红色字改成实际的用户组名称