1、公式分类
单据模板支持三类公式,对NC的扩展性和个性化支持起到了非常重要的作用。
&编辑公式
可实现单据编辑中字段自动带值的功能。只在编辑状态起作用,在某字段上设置好编辑公式,当此字段编辑后,公式会被执行,并将结果填充到目的字段上。
&显示公式
可实现单据显示时加载非持久信息的功能。只在非编辑状态起作用,例如查询后加载或保存后刷新界面等,模板上的显示公式均会执行,运算结算会显示到相应字段上。
&控制公式
可实现单据保存的检查功能。只在编辑状态起作用,一般在单据保存时执行所有字段上的控制公式,根据公式类型的不同做不同的响应,可能弹出错误信息,也可能弹出确认信息等。可以起到控制及提示作用,项目上应用广泛。
如下图所示,点击某个字段(如“数量”),然后在“高级属性”页签中即可设置各种公式。
2、控制公式的使用
下面主要介绍一下单据模板控制公式的类型及使用。
2.1分类
在公式编辑器的“控制公式”页签(见下图)可以看到模板支持的所有控制公式。
2.1.1 提示公式
confirm->iif(,,"")
在保存时根据公式条件,给出提示信息,确认是否继续。
举例,在请购单单据模板“主数量”字段上配置一个控制公式:$Confirm->iif(nnum>1000,"请购量大于1000,是否继续?",""),当保存时如果主数量字段值大于1000,则会给出提示“请购量大于1000,是否继续?”,用户可进行自主选择。
$message->iif(,,"")
在保存时根据公式条件,给出提示信息,不影响保存。
2.1.2 提示公式
$error->iif(,,"")
在保存时根据公式条件,进行报错处理,如果出错则保存失败。可以起到业务检查的作用。
举例,在请购单单据模板“主数量”字段上配置一个控制公式:$Error->iif(nnum+getcolvalue(po_storereq_b,naccumbuyreqnum,pk_storereq_b,csourcebid)>getcolvalue(po_storereq_b,nnum,pk_storereq_b,csourcebid),"请购数量不能超出物资需求申请单可请购数量!",""),当保存时如果主数量字段值大于来源物资需求申请单可请购数量,则会报错,不能保存。
2.1.3 界面控制公式
- $foreground->iif(,"red","blue")
可根据条件值,将当前设置公式的字段颜色变换,起到醒目提示的作用。
举例:在请购单的表头“单据状态”字段上设置控制公式:$ForeGround->iif(fbillstatus==0,"red","blue"),保存后,当单据状态为自由状态,则显示红色,否则显示蓝色。
- $foreground[itemkey]->iif(,"red","blue")
与上一公式的功能相同,唯一不同是指定了设置哪个字段的颜色。
注:截止NC61,代码中只直接表头和表尾的字段变色功能。
- $editable->iif(,"y","n")
- $editable[itemkey]->iif(,"y","n")
- $enabled->iif(,"y","n")
- $enabled[itemkey]->iif(,"y","n")
以上几个公式能控制编辑性,使用场景不常见,但可以编辑态手工调用执行一些控制功能。
最后记得关注下小编哈!底下点赞加收藏哦,不迷路,嘻嘻~