跳转至

获取表单当前操作

获取表单当前操作示例代码:

(function(){
    var flowType = getParameter("_flowType");
    if(flowType === "81"){
        return "回退的时候是81";
    }else if(flowType === "80"){
        return "实测目前暂存/保存/提交 3种操作都会出现80....";
    }else{
        return "别的值用的很少的";
    }
})();

获取相应的备注:

var remark = getParameter("_attitude");  //获取相应的备注

脚本说明

该脚本用于获取表单当前的操作类型。通过 getParameter("_flowType") 获取流程操作类型参数,可以判断当前是回退、暂存、保存还是提交操作。

操作类型说明

  • 81: 回退操作
  • 80: 暂存/保存/提交操作(这三种操作都会返回80)
  • 其他值: 其他操作类型,使用较少

使用场景

  • 根据操作类型执行不同的业务逻辑
  • 在保存前、提交前、回退前等不同时机执行不同操作
  • 记录操作日志
  • 操作权限控制

扩展示例

示例1:根据操作类型执行不同逻辑

(function(){
    var flowType = getParameter("_flowType");
    var doc = getCurrentDocument();

    if(flowType === "81"){
        // 回退操作
        doc.findItem("操作类型").setValue("回退");
        return "执行回退操作";
    }else if(flowType === "80"){
        // 暂存/保存/提交操作
        var operation = getParameter("_operation");  // 可以尝试获取更具体的操作类型
        doc.findItem("操作类型").setValue("保存/提交");
        return "执行保存或提交操作";
    }else{
        return "其他操作";
    }
})();

示例2:获取操作备注

(function(){
    var flowType = getParameter("_flowType");
    var remark = getParameter("_attitude");  // 获取操作备注

    if(remark != null && remark.trim().length > 0){
        var doc = getCurrentDocument();
        doc.findItem("操作备注").setValue(remark);
    }

    return "操作类型:" + flowType + ",备注:" + remark;
})();

示例3:在保存前脚本中使用

(function(){
    var flowType = getParameter("_flowType");

    if(flowType === "80"){
        // 保存/提交/暂存时的操作
        var doc = getCurrentDocument();
        // 执行保存前的业务逻辑
        doc.findItem("最后操作时间").setValue(format(new Date(), "yyyy-MM-dd HH:mm:ss"));
    }
})();

示例4:在回退前脚本中使用

(function(){
    var flowType = getParameter("_flowType");

    if(flowType === "81"){
        // 回退操作
        var doc = getCurrentDocument();
        var remark = getParameter("_attitude");

        // 记录回退信息
        doc.findItem("回退原因").setValue(remark);
        doc.findItem("回退时间").setValue(format(new Date(), "yyyy-MM-dd HH:mm:ss"));
    }
})();

关键函数说明

  • getParameter("_flowType"): 获取流程操作类型参数
  • 返回 "81" 表示回退
  • 返回 "80" 表示暂存/保存/提交
  • getParameter("_attitude"): 获取操作备注/意见

参数说明

_flowType 参数值

说明
81 回退操作
80 暂存/保存/提交操作(三种操作都会返回此值)
其他 其他操作类型,使用较少

_attitude 参数

  • 用于获取操作时的备注或意见
  • 通常在审批、回退等操作时使用
  • 可能为空,需要判断

注意事项

  • ⚠️ 重要: 暂存、保存、提交三种操作都会返回 _flowType = "80",无法通过此参数区分这三种操作
  • 如果需要区分暂存、保存、提交,可能需要使用其他参数或方法
  • _attitude 参数可能为空,使用前需要判断
  • 该参数在不同脚本位置(保存前、提交前、回退前等)都可以获取
  • 建议结合其他参数或业务逻辑来判断具体的操作类型

常见应用

  1. 操作日志记录: 根据操作类型记录不同的日志信息
  2. 业务逻辑分支: 根据操作类型执行不同的业务处理
  3. 数据验证: 在不同操作时进行不同的数据验证
  4. 字段自动填充: 根据操作类型自动填充相关字段

本文档内容来源于 http://doc.myapps.cn/docs/common-script/common-script-1f1a4e1m4aiuc
文档更新时间: 2023-09-16 06:50 作者:admin