多人填报并发的话,建议用触发器或者自定义提交用java写,保证编码唯一不冲突
单人填报的话,可以用公式
=concatenate("固定值",format(today(),"yyyyMM"),right(concatenate(,"00",tointeger(sql("数据源","select right(max(编号),3) from 表 where 单据年月='"+format(today(),"yyyyMM")+"'",1,1))+1),3))
其中sql需要取出当前年月的编号最大值,需要根据您的数据库改一下
SQL(connectionName,sql,columnIndex,rowIndex)返回通过sql语句从connectionName中获得数据表的第columnIndex列第rowIndex行所对应的元素。
connectionName:数据库库的名字,字符串形式;
sql:SQL语句,字符串形式;
columnIndex:列序号,整形;
rowIndex:行序号,整形。
备注:行序号可以不写,这样返回值为数据列。
示例:
以我们提供的数据源HSQL为例
SQL("HSQL","SELECT * FROM CUSTOMER",2,2)等于王先生。