取分录的字段做判断条件
适用场景
根据业务需要,希望通过单据分录的某些字段来判断费用报销单的流程走向:
例如费用报销单的多条分录中,任意一条分录的“业务类别”等于差旅费,流程就要走另一个分支,否则走另一个分支。
对于以上需求,工作流的聚合函数只有“第一条”或者“指定分录”,没有“其中之一”的判断条件,导致无法取值判断。可通过以下脚本取出分录中所有业务类别的名称,然后遍历判断是否含有差旅费。
步骤
1.定义内码型变量billid ,外部数据类型变量posarray,字符串类型变量ywlb,并赋初始值:非差旅费
2.在提交节点的输出单据明细将单据id绑定给变量billid
3.在提交节点的后置脚本放以下脚本
4.脚本实现的结果是当分录的业务类别含有差旅费,ywlx变量的值就是差旅费,如果分录里没有含有差旅费,那ywlx变量的值就是非差旅费。所以可以用ywlx去设置条件。
java . lang . StringBuffer sql1 = new java . lang . StringBuffer ( ) ;
sql1 . append ( "select FNAME_l2 from T_BC_OperationType where fid in (select FOPERATIONTYPEID from T_BC_BizAccountBillentry where fbillid ='"+billid+"')") ;
com.kingdee.jdbc.rowset.IRowSet rst= com.kingdee.eas.util.app.DbUtil.executeQuery(__bosContext,sql1.toString());
java . util . ArrayList list1 = new java . util . ArrayList ( ) ;
while ( rst . next ( ) ) { list1 . add ( rst . getString ( "FNAME_l2" ) . toString ( ) ) ; }
posarray = new String [ list1 . size ( ) ] ;
for ( int i = 0 ; i < list1 . size ; i ++ ) { posarray [ i ] = list1 . get ( i ) . toString ( ) ;
if ( posarray [ i ]=="差旅费" )
ywlx="差旅费";
}
取分录的字段做判断条件
本文2024-09-16 16:33:52发表“k3wise知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3wise-10078.html