zoukankan      html  css  js  c++  java
  • QuickFlow如何通过QFD and ExecuteCode获取其他列表数据

    场景:有个配置列表用来配置每步的审批人,配置列表字段如下:

    Title: 工作流名称

    Level1Approver:第一步审批人

    Level2Approver:第二步审批人

    操作步骤:

    请先了解ExecuteCode活动:http://www.cnblogs.com/jianyi0115/archive/2011/04/17/2018872.html

    新建工作流,加两个string类型工作流变量:level1Approverlevel2Approver

    拖一个ExecuteCode活动,拖两个Task活动,task活动的User属性分别绑定到level1Approverlevel2Approver

    画线连接Start->ExecuteCode-Task1->Task2.

    双击ExecuteCode,写脚本如下:

    QueryField titleField = new QueryField("Title");

    SPList cfgList = this.Web.Lists["审批人配置"]; //获取列表

    var cfgItem = ListQuery.From(cfgList).Where(titleField=="名片申请").GetItems()[0]; //获取到配置项

    //获取字段值

    SPFieldUserValue user1Value = cfgItem .Fields.GetField("Level1Approver").GetFieldValue(cfgItem["Level1Approver"].ToString()) as SPFieldUserValue;

    var level1User = user1Value.User.LoginName;

    this.Log("getLevel1Approver:" + level1User); //写调试日志

    this.SetVariable("level1Approver", level1User); //设置变量

    //获取字段值

    SPFieldUserValue user2Value = cfgItem .Fields.GetField("Level2Approver").GetFieldValue(cfgItem["Level2Approver"].ToString()) as SPFieldUserValue;

    var level2User = user2Value.User.LoginName;

    this.Log("getLevel2Approver:" + level2User);

    this.SetVariable("level2Approver", level2User);

    工作流:

    添加变量:

    Code

     备注:

    1) 若有能力在自定义表单中写代码,那么还是尽量把代码写的表单提交前,通过工作流变量传入需要的数据。

    因为工作流内部执行代码出错,将造成整个工作流失败,并且无法挽回。只能重启流程。

  • 相关阅读:
    MAVEN教程--01安装|创建|解释
    树、森林与二叉树的转换
    slf4j+log4j的初次使用
    DFS--障碍在指定时间会消失
    linshi18
    首次网站(域名/解析/绑定/备案)
    2017(秋)软工作业: (1)课程学习热身
    Mac 下 Java 多版本切换
    git 命令(补充篇)的本质理解
    git 命令(提高篇)的本质理解
  • 原文地址:https://www.cnblogs.com/jianyi0115/p/3077140.html
Copyright © 2011-2022 走看看