案例二:聚合函数的应用

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

案例二:聚合函数的应用

场景一:流程定义中工作流连接弧条件判断经常需要取分录上的某个字段的值或取合计值,平均值,第一行的值情况,需要使用聚合函数输出。具体位置如图:

场景二:流程定义中如标题中需要用到取分录的变量时,需写脚本来实现。脚本参考如下:

//获取分录的个数,比如说 费用报销单.分录 ,定义一个 整型的 流程变量entrySize
entrySize = BizAccountBill.entries.size();

//分录某个 数字字段 求和,比如说 费用报销单.分录.金额:
//先在流程属性中定义一个外部数据类型的变量:sumResult
//脚本如下
//对 费用报销单.分录.金额 的所有行 求和
var size = BizAccountBill.entries.size();
var temp = 0;
 for(var i=0;i<size;i++){
      temp += BizAccountBill.entries[i].amount;
}
sumResult = temp;

//分录某个 数字字段 的平均值,比如说 费用报销单.分录.金额:
//先在流程属性中定义一个外部数据类型的变量:avgResult
//脚本如下
//对 费用报销单.分录.金额 的所有行 求平均值
var size = BizAccountBill.entries.size();
var temp = 0;
 for(var i=0;i<size;i++){
      temp += BizAccountBill.entries[i].amount;
}
avgResult = temp/size;

//分录某个 数字字段 求最大值, 比如说 费用报销单.分录.金额:
//先在流程属性中定义一个外部数据类型的变量:maxResult
var size = BizAccountBill.entries.size();
var _tempArray_ = [];
 for(var i=0;i<size;i++){
      _tempArray_.add(BizAccountBill.entries[i].amount);
}
maxResult = java.util.Collections.max(_tempArray_);


//分录某个 数字字段 求最小值, 比如说 费用报销单.分录.金额:
//先在流程属性中定义一个外部数据类型的变量:minResult
var size = BizAccountBill.entries.size();
var _tempArray_ = [];
 for(var i=0;i<size;i++){
      _tempArray_.add(BizAccountBill.entries[i].amount);
}
minResult = java.util.Collections.min(_tempArray_);

//取分录某的一行 数字字段 , 比如说 费用报销单.分录.金额,取第一行:
//先在流程属性中定义一个外部数据类型的变量:numResult
numResult = BizAccountBill.entries[0].amount;
//同理,如果取第n行,就要写成
numResult = BizAccountBill.entries[n-1].amount;

//获取费用报销单.分录.金额 的所有行,
//先在流程属性中定义一个外部数据类型的变量:numArray, 需要是 数组
var size = BizAccountBill.entries.size();
numArray = new java.lang.Object[SIZE];
for(var i=0;i<size;i++){
      numArray[i] = BizAccountBill.entries[i].amount;
}



案例二:聚合函数的应用

场景一:流程定义中工作流连接弧条件判断经常需要取分录上的某个字段的值或取合计值,平均值,第一行的值情况,需要使用聚合函数输出。具体...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息