主动通知下一工作流程
企业的业务流程可能有很多层,如何在某一层完成之后,自动通知负责下一层的同事,即时处理此业务的后续流程呢?
以我们上一节介绍的审批流程为例:
如何在负责录入的员工录入数据之后,主动通知有审核权限的员工加载并审核此行数据呢?
如何在负责审核的员工在审核某行数据之后,主动通知有批准权限的员工加载并批准此行数据呢?
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