 设计手册
    设计手册
  
  
  Ragic 与 Excel 一样都可以编写公式进行运算,但 Ragic 的公式都是自行开发的,因此支持的公式或写法不一定相同,尤其编写公式时是直接参照字段首部。
公式不只能运算数字,也能计算字符串及日期。建议将需要进行公式运算的字段设置为对应的字段种类,例如:运行数值运算时,套用公式的字段就要设为数值或金额字段,系统才能正确判断公式并回传预期的结果,若套用公式的字段种类设置错误,则可能导致运算结果不如预期。
在表单页的设计模式下,点选字段首部后选择左侧列的公式,就可以输入公式。
例如在“销售订单”中的金额的公式为售价*数量,就在该空格中输入“C9*D9”。要注意公式要参照的单元格是首部所在的位置。
 
 
在有设置公式的字段右上方会显示 fx() 图符。
 
 
点击该图符的话,会将该公式的所有参照字段框选出来,以便快速查找。
 
 
更多公式可以查看支持的公式列表。注意:多选字段只能套用列表中的特定公式。
当不知道该输入什么公式时,可以在下方的公式小帮手输入你想要的规则和回传的数据,便可以藉由 AI 工具协助你写公式。
注意:私有主机版需要新增参数才可以打开此功能,详细说明请参阅此章节。
使用时请注意:
1. 请直接描述公式规则并描述这个字段要回传什么,如“回传今日日期”。
2. 如要表示字请在左右两边加上双引号,例如“"交易日"”。
3. 设置后请手动测试与重复验证结果是否符合需求。
点选下方的AI 帮我产公式。
 
 
便可以展开公式小帮手的接口,输入规则和回传的数据点击生成公式。
 
 
下方也有一些默认情境让你可以直接选择并根据你所设计的表单填入对应的字段。包含一般公式与签核公式。
例如:希望当“订单金额”大于“免运金额”时,“是否免运”的字段可以回传“是”,若没有大于则回传“否”时,可以先选择下方的如果“A1 大于 A2,传回 "Y",否则传回 "N"”,再修改成对应的字段以及回传值。
 
 
完成后点选生成公式,便会在下方生成对应的公式,点选公式旁的拷贝图符,系统会自动帮你把生成的公式填入上方的公式字段。
 
 
符号会决定如何运行运算。以一般运算来说,会遵循先乘除后加减的规则。但跟数学运算相同,你可以利用“括号 ()”来改变运算的顺序。但 Ragic 不能以冒号: 来加总单元格范围的值。
要运行基本的数学运算,像是加减乘除,请使用以下算数符号。
| 算数符号 | 意涵 | 例子 | 
|---|---|---|
| + (加号) | 加法 | 3+3 | 
| – (减号) | 减法 | 3–1 | 
| * (星号/米字号) | 乘法 | 3*3 | 
| / (斜线) | 除法 | 3/3 | 
| ^ (插入符号) | 次方 | 3^2 | 
你可以利用以下符号来比较两个值。你也能在条件公式中用这些符号来判断是否符合逻辑,然后显示 TRUE 或 FALSE。
| 比较符号 | 意涵 | 例子 | 
|---|---|---|
| = | 等于 | A1=B1 | 
| == | 等于 | A1==B1 | 
| > | 大于 | A1 > B1 | 
| < | 小于 | A1 < B1 | 
| > = | 大于等于 | A1 > =B1 | 
| < = | 小于等于 | A1 < =B1 | 
| != | 不等于 | IF(A1!=B1,'yes','no') | 
| <> | 不等于 | IF(A1<>B1,'yes','no') | 
你可以用“'单引号'”或“"双引号"”标注公式中的字符串。我们将使用“'单引号'”来解说,但两种格式 Ragic 都支持。
以下列出 Ragic 支持的所有公式类别,可依需求参阅各类别的公式与应用说明。
数值运算公式:用于计算数值、金额,例如获取总和、平均值、最大最小值等等。
日期与时间公式:用来获取日期与时间相关数据,例如传回年月日、时间、指定工作日等等。
字符串公式:用来获取字段值字符串或是查阅检查字段内容,例如获取字符串的字符、替换大小写、确认空值等等。
条件公式:用来设置在符合条件时回传特定字段值,例如当条件符合时回传“是”,或加总符合条件的字段值。
子表格公式:用来获取子表格字段相关数据,例如传回子表格第几笔数据、获取不重复或是非空值的子表格列数等等。
多选字段公式:在多选字段(从菜单多选、图片上载多选、文件上载多选)中,可套用特定公式进行判断与检查,例如确认是否包含指定项目、找出未包含的项目,或统计已上载的附件数量。
签核公式:用来在表单有设置签核流程时,回传与签核相关的数据。
在 Ragic 中公式是在参照字段被编辑时触发,并将运算结果保存下来。如果改变了公式,但没有重新编辑参照字段,新公式就不会被触发,既存的数据也不会依据新公式重新计算。这样设计的原因是先前根据旧公式所计算出来的数据还是有效的,不应该因为更新了公式而自动更改已经保存的数据。像是一张计算税收的表单,因为最近税率改变而更改公式,但先前保存的税收数据还是应该要以旧税率来计算没错。
某些情况下可能会需要用最新的公式将旧数据都重算一遍。你可以进入设计模式,到想要重新运行的公式中,看到两个选项:“套用这个公式到所有数据(重算单一公式)”、“套用表单上所有公式到所有数据(重算所有公式)”,根据需求选择想要重算的方式。如果你是在设计模式下修改、新增公式,记得要先保存设计再单击公式重算喔!
 
 
除了透过手动套用公式重算,也可以透过自己写程序来运行公式重算。另外如果需要常常更改特定公式或是有用到 TODAY(),可以考虑透过 Daily Workflow 来运行公式每天重新计算。
注意:透过 Workflow 公式重算,会有以下两种情况不计入数据修改纪录。
1. 公式重算后,没有任何一个字段的字段值被修改。
2. 因效能考量,系统会自动判断运算笔数,如超过 3500 笔,就不会写入修改纪录(实际上数据有正常运行重算,只是不会显示于修改纪录)。
在输入数据并保存时,若希望能触发有相关链接的表单公式重算的话,你可以在表单页设计模式左侧工具条中的表单设置 下的表单设置勾选保存时触发源表单(默认已勾选)或相关表单的全部公式重算。
 
 
关于源表单及相关表单的说明,请参阅下图范例:
 
 
源表单:A、B 为 C 的源表单。任何表单只要有子表格生成新表单,它们即为新表单的源表单;任何表单只要有显示从其他表单的链接,它们即为其他表单的源表单。
相关表单:B、C 为 A 的相关表单;A、C 为 B 的相关表单。两张表单若不是多版本表单且共享同样的子表格,它们即为相关表单;而子表格生成的新表单或显示从其他表单的链接之来源表单也是属于它们的相关表单。
注意:目前相关表单公式重算上限为 1000 笔数据,若需重算的数据超过系统限制,则会自动跳过运行,所有相关表单数据都不会进行公式重算。
以下是针对 源表单(母表单)、子表单、相关表单的设计概念示意图:
 
 
公式同样能在描述字段使用,但该字段只会显示出计算的结果,其值不会存进系统里面。
这对每次点进表单页都需要看到公式实时重算结果的人相当有用,可以参照 BBCode [formula]。
例如:要利用一个人的生日来计算年龄,只需要在字段描述中使用公式 [formula](TODAY() - A1)/365.25[/formula],如此一来他的年龄就会依据今天的日期重算了!
 
 
关于 Ragic 支持的 Math 物件,请参阅这篇。
如果新增公式的建议,欢迎来信至 Ragic Support 。