【套打】分录某字段值在单元格横向打印,并且去掉重复
打印要求:需要将分录某字段横向排列打印在某一单元格中,并且去掉重复值,相同值只值保留一个,值与值之间用”/”隔开。
比如:某分录有5条,某字段值分别是:西瓜,西瓜,香蕉,香蕉,苹果,打印的效果需要是:西瓜/香蕉/苹果
需要用脚本进行控制,脚本见最后面
数据表前处理脚本:
数据行后处理脚本:
单元格后处理脚本:
1、单元格之前创建一个数据表,数据表前处理脚本中编写脚本:
system.setProperty("zd","");//提前声明一个全局变量,用来存放字段值
2、数据表数据行编写后处理脚本:
var a = getFieldValue("数据源名称","字段名称");//获取当前字段值
var zd = system.getProperty("zd");//获取全局变量
var sb = new StringBuilder(zd);//创建StringBuilder命名sb,将全局变量添加进去,用来拼接值
if(sb.indexOf(a) < 0){//判断sb中是否存在当前值,也就是判断是否有重复值
sb.append(a+"/");//如果没有的话那就在sb后面加上当前值和"/"
}
system.setProperty("zd",sb.toString());//将sb装换成字符串,然后复制给全局变量
3、单元格编写脚本:
var zd = system.getProperty("zd");//对应单元格获取全局变量
setValue(zd.substring(0,zd.length()-1));//从最开始位置截取到倒数第二位的字符,否则最后会有一个“/”,然后打印
另,数据行中的脚本每加载一行分录就会执行一次,写在数据行中的脚本相当于是写在for循环中。
脚本声明变量支持var,也支持java的各种类型。
可咨询现场开发人员
【套打】分录某字段值在单元格横向打印,并且去掉重复
本文2024-09-22 20:15:07发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-112416.html