这里的表达式其实就是表达公式,自动编号引进了表达式之后,让自动编号的灵活性与通用上上升到了一个新的层次。我们在生成自动编码前会先计算出表达公式中的值,并将值返回传递给服务器,让这个值作为其中一个参数来生成最终的自动编码。此类型适合生成编号时机在“BeforeSave”时使用。再配合“废号重用类型”为“CustomGroup”模式,基本可以实现任意想法的自动编号。之所以这么说的原因就是,表达公式是支持Vb.net语法的,可以实现你无尽的想象。
我们下面就通过几个示例来看看表达式编号可以实现什么样的骚操作。
我们可以通过一些表达式来返回一个字符串作为自动编号的一部分。
表达式:IIF(Len([Color])>0,Left([Color],1),"")
数据规范设置如下:注意“设置明细”中是否分组一定记得要设置。
我们可以通过引用查询参数到数据库查找对应结果的方式来生成编号中的一部分。
表达式:Proj.SysDataFactory("UserDB").ExecuteScalar("select ColorText From 颜色字典 where Color='" & [Color] & "'")< /FONT>
颜色字典表结构及表数据如下:
数据规范设置如下:注意“设置明细”中是否分组一定记得要设置。
上面两种自动编号数据规范最终生成的编号效果如下:
我们可以看到在表达公式的加持下,基本上在自动编码上,我们已经可以做到实现任意复杂度的编号需求了。