页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  • 流程节点名称:用于标识每一步流程的节点名称
  • 操作者:当前流程允许的操作人。可以选择具体用户、用户组或者角色
  • 报表操作:当报表流转到这个节点的时候,报表上允许的操作,与电子表格展示界面上的功能按钮对应。
  • 流程操作:在每一个流程步骤中,【上报】、【审核】、【发布】这三个用于控制流程向下流转的功能按钮,必须选择一个,而且只能选择一个
  • 可见人设置(仅第一个填报节点有此设置):可见人设置,主要是针对操作者选择“用户组”和“角色”的情况下,其他人是否可以修改保存数据,比如我选择了“所有人可见”,操作者那里选择的是角色/用户组A,那角色/用户组A下面的一个用户a,可以填写报表保存,在没有上报的情况下,角色/用户组A下面的另外一个用户b仍然可以修改数据进行保存。若选择了“发起人可见”,那么用户a保存的数据,其他的用户不可以进行修改,只能a用户可以修改。“同机构可见”是针对我们操作者选择的是用户组 ,和上面说的逻辑一样可见人设置(仅第一个填报节点有此设置):

发起人可见

(1)填报人使用填报角色,发起人可见,执行后在待办中只能看到发起人自己的流程

(2)填报人使用填报用户组,发起人可见,执行后在待办中只能看到发起人自己的流程

(3)填报人使用填报用户,发起人可见,执行后在待办中只能看到发起人自己的流程

所有人可见

(4)使用角色,所有人可见,执行后该角色的用户在待办可以看到全部的流程

(5)使用用户组,所有人可见,执行后该组的用户在待办可以看到全部的流程

(6)使用用户,所有人可见,执行后设置的用户在待办可以看到全部的流程

同机构可见

(7)使用角色,同机构可见,执行后该角色的用户在待办可以看到全部的流程

(8)使用用户组,同机构可见,执行后该组的用户在待办可以看到全部的流程

(9)使用用户,同机构可见,执行后和发起人同组的用户在待办可以看到全部的流程

注意:流程启动后修改可见人设置不生效,可见人必须在流程配置时设置才能保证有效。

3.2.3     电子表格的右键菜单上,除了【新建流程】,还有【绑定流程】和【取消绑定】功能。

...

启动了流程之后,流程开始流转。在主界面右上角,点击【待办】菜单,在显示的界面中,点击【待办】选项卡,可以看到当前用户的待办任务。双击待办任务,打开对应的电子表格,并传递待办任务对应的参数到电子表格中。

 


切换到【已办任务】选项卡,可以查看当前用户已经处理过的流程。

...

流程的流转是通过电子表格展示时工具栏上的按钮来控制的。

...


1)      导入Excel

要使用【导入Excel】功能,需要先制作一份Excel导入模版,并在Excel中将该模版与电子表格关联。

...

电子表格的工具类上,审核功能操作按钮后面,显示当前参数标识的审核数据对应的流程状态,点击流程状态,显示整个流程步骤,并用红色标识当前所处的步骤

...


3.6       流程监控

要使用流程监控功能,必须先拥有【流程监控】的操作权限,如下图。

...

特别的,在before类型的事件中,可以针对操作做一些条件判断,例如对业务库进行检查,当不满足条件的时候,可以通过抛出异常(throw “error”)的方法,阻止按钮操作的执行。

...


3.8       权限控制

要新建流程定义,需要【流程定义】操作权限,位于【定制管理】-》【新建分析】目录下。

另外,流程定义属于资源,本身受资源权限控制。

...


3.9       其它功能

流程定义支持资源导入、导出操作,支持在资源上复制、拖动换目录,支持影响性分析和血统分析。具体操作参考Wiki相关文档

 


4      特殊场景

4.1       业务库中查询已经发布的数据

...

遇到这种情况,可以由实施人员,在发布事件中编写宏代码,使用DataSourceService的executeUpdate方法,执行sql语句或者执行存储过程,将流程状态同步到业务库中。

var util = jsloader.resolve("freequery.common.util");

var ret = util.remoteInvoke("DataSourceService", "executeUpdate", ["DS.数据源名称", "update XXXXX"]);

 


4.2       发布时将数据写入另一个库

有些时候,用户要求审核前的数据和审核后的数据不能同库。这和4.1的处理类似,可以由实施人员,在发布事件中编写宏代码,使用DataSourceService的executeUpdate方法,执行sql语句或者执行存储过程,将审核后的数据同步到业务库中。

 


4.3       汇总时执行运算逻辑

系统中的【汇总】操作,只是做了一个状态标志的处理,并没真正的对业务数据做汇总处理。业务数据的汇总处理逻辑,往往逻辑复杂且不尽相同。

...

代码块
var p1 = spreadsheetReport.paramPanelObj.findParamByName('DeptTree');
var p2 = spreadsheetReport.paramPanelObj.findParamByName('日期');
var util = jsloader.resolve("freequery.common.util");
//删除已有的汇总
var sql = "delete from factyear where dateid='" + p2.value + "' and deptid='" + p1.value + "'";
var ret = util.remoteInvoke("DataSourceService", "executeUpdate", ["DS.回写", sql]);
if (ret && ret.succeeded) {
    //计算汇总
var sql = "insert into factyear (deptid,dateid,metricid,val) " +
        "select '" + p1.value + "','" + p2.value + "',metricid,sum(val) " +
        " from factyear where dateid='" + p2.value + "' and deptid<>'" + p1.value +
        "'  group by metricid ";


    var ret = util.remoteInvoke("DataSourceService", "executeUpdate", ["DS.回写", sql]);
    if (ret && ret.succeeded) {
        spreadsheetReport.doRefresh();
        return true;
    }
}

 

...