主动通知下一工作流程


企业的业务流程可能有很多层,如何在某一层完成之后,自动通知负责下一层的同事,即时处理此业务的后续流程呢?

以我们上一节介绍的审批流程为例:

如何在负责录入的员工录入数据之后,主动通知有审核权限的员工加载并审核此行数据呢?
如何在负责审核的员工在审核某行数据之后,主动通知有批准权限的员工加载并批准此行数据呢?

Foxtable从2016版开始,内置了OpenQQ,可以很方便地解决这个问题,参考:利用OpenQQ高效即时同步数据

我们可以在上述代码的基础上改进一下,例如希望有新的订单需要批准时,能弹出一个窗口提醒一下经理。
为此可以将ReceivedMessage时间改为:

Dim msg As String = e.Message
Dim
dr As DataRow
If
msg.StartsWith("U#") Then '表示修改了某行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
        dr = DataTables(pts(1)).Find("[_Identify] = " & pts(2))
        If dr IsNot Nothing  Then
            dr.Load()
'
重新加载此行
        End If
    End
If

ElseIf
msg.StartsWith("A#") Then '表示增加了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
        Dim drs As List(of DataRow) = DataTables(pts(1)).AppendLoad("[_Identify] = " &  pts(2))
'
追载新增加的行.
        If drs.Count > 0 Then
            dr = drs(0)
        End If
    End
If

ElseIf
msg.StartsWith("D#") Then '表示删除了行
    Dim pts() As String = msg.Split("#")
    If pts.Length = 3 Then
        DataTables(pts(1)).RemoveFor("[_Identify] = "  & pts(2))
'
移除行
    End
If

End
If
If
User.Group = "经理" And dr.DataTable.Name = "订单"  Then
    If dr IsNot Nothing AndAlso dr.IsNull(
"
审核") = False AndAlso dr.IsNull("批准") Then
       
PopMessage("有新的订单需要审核!","提示",PopIconEnum.Infomation)
    End
If

End
If


本页地址:http://www.foxtable.com/webhelp/topics/3011.htm