如何根据提报单分录信息决定工作流走向

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

如何根据提报单分录信息决定工作流走向

【适用版本】 

s-HR Cloud V8.6 SP1及以上

【应用场景】 

       提报单流程设计中,时常会面临要根据提报单分录字段值确定流程走向的需求。提报单特殊的地方在于,提报单分录包含哪些字段取决于提报方案,不能直接通过实体属性获取。因此,面对这一问题,需要通过后置脚本来取分录字段值,以便用于流程设计。

【操作步骤】

1、创建一个流程变量(例如命名为flag),后续将用这个流程变量决定流程走向

     

2、后置脚本准备

     步骤1:获取提报单分录所在的表。在查询分析器中执行以下SQL(注意修改提报方案编码):

SELECT rel.FBillEntryTableName 

FROM T_HR_SCalShemeTableRelation rel 

inner join T_HR_SCalSubmitScheme sc on rel.FSubmitSchemeID = sc.fid

where sc.FNumber = '提报方案编码'

       例如,下图得到的分录表名为:T_HR_SchemeBillEntry024cmp

       


      步骤2:获取分录字段名名称。在查询分析器中执行以下SQL(注意修改提报项目编码):

        select FieldSn from T_HR_SCalSubmitItem where FNumber ='提报项目编码'

        用字母[S]和查询到结果得到的数字凭借,就得到了分录提报项目的字段名称。以下图为例,得到的字段名为:S72

        


3、在自动化节点编写后置脚本,以提报项目【网络费】累计值是否大于1000为例给流程变量flag赋值:

      

    StringBuffer sql = new StringBuffer(); 
  // 注意,这条sql中的[S72]和表名[T_HR_SchemeBillEntry024cmp]是第二步准备好的
  sql.append( "select S72 from T_HR_SchemeBillEntry024cmp where FBillId = '" +billId+"'"); 
  com.kingdee.jdbc.rowset.IRowSet row=                       com.kingdee.eas.util.app.DbUtil.executeQuery(__bosContext,sql.toString()); 
  var sumVal = 0;
  while (row.next()) { 
      var val = row.getDouble("S72") ;
     sumVal += val;
  }
  if (sumVal < 1000.0) {
      flag = 1;
  } else {
    flag = 2;
  }

4. 在流程中使用flag作为流程走向的判断标准

【注意事项】

   编写后置脚本需要具备一定的编程能力,本文仅仅提供的是编写脚本的的格式和方法,不针对实际的业务流程。


如何根据提报单分录信息决定工作流走向

【适用版本】 s-HR Cloud V8.6 SP1及以上【应用场景】 提报单流程设计中,时常会面临要根据提报单分录字段值确定流程走向的需...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息