常见问题
遇到问题了吗?不用担心,答案都在这。
全站搜索

一笔数据保存后自动运行公式重算

如果因某些情况你的公式并不会在数据创建时就触发,希望数据保存后可以自动重算公式的话,你可以考虑利用程序帮助你在数据保存后自动运行公式重算。

步骤一: 打开 Javascript 工作流程编辑器

从上方页签列中找到你要增加此段程序代码的表单,点击表单名称旁的三角形符号,并选择 Javascript工作流程来进入工作流程模块.

步骤二:切换至 Post-workflow

将以下程序代码拷贝贴上并调整后保存

var nodeId = param.getNewNodeId(Key Field);
var path = '/tab_path/sheet_path'; 
var query = db.getAPIQuery(path);
var entry = query.getAPIEntry(nodeId);
entry.recalculateAllFormulas();
entry.setIfDoLnls(true);
entry.setCreateHistory(true);
entry.save();

请将Key Field填入你表单的Key Field id,此信息可以从Javascript 工作流程编辑器中找到,或是你可以从 数据库定义文档查询。

以这份文档中所用的表单范例来说,这一进程式码应写为

var nodeId = param.getNewNodeId(3000210);

并且将 '/tab_path/sheet_path'改成您自己表单的页签及表单路径。

例如 如果你的表单网址为 'www.ragic.com/sample/sales/3',那这一进程式就会写为:

var path = '/sales/3'; 

如果你只想要重算指定的字段公式,而非全部字段的公式的话,那你可以把这一进程式码

entry.recalculateAllFormulas();

改成

entry.recalculateFormula(field id);

例如只针对某三个字段(字段id: 1000001、1000002、1000003)进行公式重算,

将要重算的字段其id填入field id,一个字段为一行, 所以要重算三个字段的公式则会写成:

entry.recalculateFormula(1000001);
entry.recalculateFormula(1000002);
entry.recalculateFormula(1000003);

回最上面

    马上登记
    免费试用 Ragic!

    用 Google 帐号登记

    立即科技 Ragic, Inc.
    02-7728-8692
    info@ragic.com
    台北市中正区南昌路二段81号9楼