• SharePoint2007状态机工作流开发案例(转载)



    必备工具

    VS2008+VSeWSSv12


    目标
    创建一个档案借阅审批流程,申请人提出申请>本部门经理审批>档案经理审批>创建归还记录。

    实现方式
    新建eaLend数据表,以存储申请单基本信息;

    Image

    新建eaLend.aspx网页,存储在layouts文件夹下,该网页用于显示申请单填写或查看;

    Image

    创建档案借阅文档库,用于存放申请单(新申请单创建时),申请单的内容指向eaLend.aspx

    Image

    申请单内容:

    <script language='javascript'>location.href='http://moss /_layouts/eaLend.aspx?f=workflowdocs/档案借阅申请00007.html00007.html'; </script>


    实际上是给eaLend.aspx传递个参数,如果参数f为空,就是新建一个申请表单,如果有值,就显示该表单。

    Image

    审批人以任务形式完成审批任务

    Image
    Image

    新建项目

    Image
    Image

    对审批任务的判断

    private void StateTask002_While_002(object sender, ConditionalEventArgs e)

    {

    try

    {

    string result = onTaskChanged2_AfterProperties1.ExtendedProperties[workflowProperties.TaskList.Fields[" 审批"].Id].ToString();

    if (result == "拒绝")

    {

    SPList cList = workflowProperties.TaskList;

    SPListItem cItem = cList.GetItemById(onTaskChanged2_AfterProperties1.TaskItemId);

    string str = cItem["修改者"].ToString();

    str = "&nbsp;审批人:" + str.Remove(0, str.IndexOf("#") + 1) + "&nbsp;审批时间:" + DateTime.Now.ToLocalTime().ToString();



    //

    e.Result = true;

    }

    else { e.Result = false; }

    }

    catch (Exception ex) { logs(ex.ToString()); }

    }

    审批完成后的结果
    Image
  • 相关阅读:
    使用 Trello 管理自己与团队的工作
    Google译者工具包
    curl的速度为什么比file_get_contents快以及具体原因
    Mac使用秘钥登录Linux服务器
    curl抓取页面时遇到重定向的解决方法
    PHP cURL 超时设置 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的区别
    max函数比较字符串类型
    Dictionary 泛型类
    .NET Framework 概念概述
    认知Web服务器
  • 原文地址:https://www.cnblogs.com/liuzhengdao/p/1341430.html
Copyright © 2020-2023  润新知