Foxtable(狐表)用户栏目专家坐堂 → 审批流程设计相关


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

主题:审批流程设计相关

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/24 14:22:00 [只看该作者]


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


加好友 发短信
等级:狐精 帖子:3150 积分:20981 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/24 15:14:00 [只看该作者]

老师,还有一个问题,我word报表中,有审核人,现在审核意见单独存放在“审核意见表”中,我报表中的审核人,只能在审核意见表中找到对应的审核人呢?同一条数据有相同的 ID 列,以前存放在一张表都直接写[审核人],以前的代码如下:


Dim  rs As List(of Row) = Tables("委托支付管理").GetCheckedRows
If rs.Count > 0 Then  '如果存在符合条件的行
    Dim tm As String  =  ProjectPath &  "Attachments\材料人工租赁费等委托支付凭证.docx" '指定模板文件
    Dim fl1 As String =  ProjectPath &  "Reports\材料人工租赁费等委托支付凭证.docx" '指定目标文件
    Dim fl2 As String =  ProjectPath &  "Reports\材料人工租赁费等委托支付凭证.pdf" '指定目标PDF文件
    Dim wrt As New WordReport(Tables("委托支付管理"),tm,fl1) '定义一个WordReport
    For Each  r As Row In rs '逐行生成报表
        wrt.BuildOne(r)
        r.Checked =False
    Next
    wrt.SaveToPDF(fl2) '保存为PDF文件
    wrt.Quit() '退出
    Dim Proc As New Process '打开PDF文件
    Proc.File = fl2
    Proc.Start()
    'wrt.Show() '显示报表
Else
    MessageBox.Show("请先勾选你需要打印的数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

[此贴子已经被作者于2020/3/24 15:19:47编辑过]

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/24 15:44:00 [只看该作者]

查表获取数据,然后使用wrt.Replace替换

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


加好友 发短信
等级:狐精 帖子:3150 积分:20981 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/27 13:42:00 [只看该作者]

老师我驳回按钮,执行到msgbox(dr5.value)正常,msgbox(dr6)出不来,报错入下:哪儿问题啊

 

参数“Prompt”无法转换为类型“String”。

 

Dim dr1 As DataRow = DataTables("审核流程表").SQLFind("表名称 = '" & vars("editTable") & "'")
If dr1 IsNot Nothing Then  '如果找到的话
    Dim dr2 As Row = Tables(vars("editTable")).Current
    Dim dr3 As DataRow = DataTables("审核流程表").SQLFind("表名称 = '" & vars("editTable") & "' and 审核状态='" & dr2("审批状态") & "'")
    Dim dr4 As DataRow = DataTables("审核流程表").SQLFind("表名称 = '" & vars("editTable") & "' And 流程编号 > '" & dr3("流程编号") & "'","流程编号")
    If _UserPost = dr4("审核人角色") Then
        Dim dr5 As String = e.Form.Controls("驳回部门")
        If dr5.value = Nothing Then
            MessageBox.Show("驳回部门不能为空,请选择驳回部门!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            e.Cancel = True
        Else
msgbox(dr5.value)
            Dim dr6 As DataRow = DataTables("审核流程表").SQLFind("表名称 = '" & vars("editTable") & "' and 审核人角色='" & dr5.value & "'")
msgbox(dr6)
            Dim dr7 As DataRow = DataTables("审核流程表").SQLFind("表名称 = '" & vars("editTable") & "' And 流程编号 < '" & dr6("流程编号") & "'","流程编号")
msgbox(dr7)
            Dim dw As Row = Tables("审核意见表").AddNew()
            If dr6("流程编号") > "1" Then
                dw("表名称")= vars("editTable")
                dw("审核部门")= _UserPost
                dw("审核人")= _UserXingMing
                dw("审核日期")= Date.Now
                dw("审核意见")= e.Form.Controls("TextBox1").text
                dw("ID")= dr2("ID")
                dr2("审批状态") = dr7("审核状态")
                dw.Save
                dr2.Save
            Else
                dw("表名称")= vars("editTable")
                dw("审核部门")= _UserPost
                dw("审核人")= _UserXingMing
                dw("审核日期")= Date.Now
                dw("审核意见")= e.Form.Controls("TextBox1").text
                dw("ID")= dr2("ID")
                dr2("审批状态") = dr6("审核状态")
                dw.Save
                dr2.Save
            End If
        End If
    Else
        MessageBox.Show("你没有审核权限","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
        e.Form.Controls("TextBox1").text = Nothing
        e.Cancel = True
    End If
Else
    MessageBox.Show("该表未加入审批流程,请给管理员联系","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning)
    e.Cancel = True
End If


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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/27 14:13:00 [只看该作者]

把控件给一个字符串?
Dim dr5 As String = e.Form.Controls("驳回部门")

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


加好友 发短信
等级:狐精 帖子:3150 积分:20981 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/27 14:31:00 [只看该作者]

我试了直接e.Form.Controls("驳回部门").value也是这样报错啊

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/27 14:35:00 [只看该作者]

msgbox(e.Form.Controls("驳回部门").value)
msgbox(vars("editTable"))
msgbox("表名称 = '" & vars("editTable") & "' and 审核人角色='" & e.Form.Controls("驳回部门").value & "'")

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


加好友 发短信
等级:狐精 帖子:3150 积分:20981 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2020/3/27 14:48:00 [只看该作者]

谢谢老师指点,终于对了,是逻辑错了,开始调试去弹出dr6,dr7的值,这是找到的行,肯定错了。

不过还是请教一下,怎么把一个控件的值定义为变量呢?

我之前定义变量的值也是这样,没有报错

Dim tx As String= e.Form.Controls("审核状态").Value
If tx = "启用"
    tx = 1
ElseIf tx = "停用"
    tx = -1
End If
If tx  <> Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter &= "标记 = '" & tx & "'"
End If

[此贴子已经被作者于2020/3/27 14:55:27编辑过]

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


加好友 发短信
等级:超级版主 帖子:109728 积分:558356 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/27 15:00:00 [只看该作者]

但是上面定义的是Dim dr5 As String = e.Form.Controls("驳回部门")
而不是Dim dr5 As String = e.Form.Controls("驳回部门").value

 回到顶部
总数 29 上一页 1 2 3