Foxtable(狐表)用户栏目专家坐堂 → 工作流,经理审核后,到上级副总批准


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

主题:工作流,经理审核后,到上级副总批准

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
工作流,经理审核后,到上级副总批准  发帖心情 Post By:2016/8/9 15:44:00 [只看该作者]

前提:
1、已经完成OpenQQ客户端,能正常发信息。
2、已经按版主说的用递归函数做了用户上下级表,如图用户表,是不是正确的。
3、我想实现的功能是如图:
   1)筛选出一个部门的考勤记录,部门经理审核(已实现),保存按钮(失败),保存后,审核人的记录在下次又是空白的,什么原因?
保存:
Dim r As Row = Tables("考勤统计表").Current
Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
r.Save()
'一定要在保存后合成信息,因为新增行的主键在保存后才生成
Dim msg As String = p & "表A" & "#" & r("_Identify")
For Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    End If
Next

   2)通知分管副总理代码:

将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


执行后,副总未收到提示信息?请问我代码要怎么改?


[此贴子已经被作者于2016/8/9 15:44:40编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/9 15:50:00 [只看该作者]

1、看看

 

http://www.foxtable.com/webhelp/scr/1380.htm

 

2、加入代码,看弹出什么

 

msgbox(dr is nothing)

msgbox(user.Group)

msgbox(dr.DataTable.Name)


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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/8/9 16:00:00 [只看该作者]

1、保存还是无用: 审核人,保存后,下次打开又是空白~,字符型  
2、代码修改后,出现错误,如图

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/9 16:02:00 [只看该作者]

 1、不要用表达式列啊

 

 2、在后面加上代码

 

msgbox(dr is nothing)

msgbox(user.Group)


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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/8/9 16:11:00 [只看该作者]

1、不是表达式,  普通列,见图1
2、还是显示同样的错误

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/9 16:30:00 [只看该作者]

 上传实例啊。

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/8/9 16:45:00 [只看该作者]

我就是想实现像http://www.foxtable.com/webhelp/index.htm?page=3054.htm  案例的,
由部门经理审核——通知——分管副总,分管副总审核——通知考勤统计员“黄**
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人力资源系统7-12.zip


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/9 16:50:00 [只看该作者]

 服务器端的程序发上来啊。

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


加好友 发短信
等级:童狐 帖子:220 积分:1751 威望:0 精华:0 注册:2016/3/2 9:22:00
  发帖心情 Post By:2016/8/9 16:56:00 [只看该作者]

不好意思
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:qq服务器.zip


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/9 17:24:00 [只看该作者]

1、你的审核列,明明就是表达式列啊。改成数据列啊

 

2、

 

Dim r As Row = Tables("考勤统计表").Current
Dim p As String = IIF(r.DataRow.RowState = DataRowState.Added, "A#", "U#")
r.Save()
'一定要在保存后合成信息,因为新增行的主键在保存后才生成
Dim msg As String = p & r.Table.DataTable.name & "#" & r("_Identify")
For Each bd As QQBuddy In QQClient.Buddies
    If bd.Online Then
        QQClient.Send(bd.name, msg)
    End If
Next

 

--------------------------------

 

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 QQClient.UserName.split(".")(0) = "副总" Then
msgbox(2)
    Dim pts() As String = msg.Split("#")
msgbox(pts(1))
    If pts.length = 3 AndAlso pts(1) = "考勤统计表" Then
        msgbox(dr("审核"))
        If dr IsNot Nothing AndAlso dr.IsNull("审核") = False AndAlso dr.IsNull("批准") Then
            PopMessage("有新的考勤需要审核!","提示",PopIconEnum.Infomation)
        End If
    End If
End If


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