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

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

    若因某些情况导致公式未在数据创建时就触发,而你希望在数据保存后自动重算公式,可以考虑利用程序,在数据保存完成后自动运行公式重算。

    步骤一:打开 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();
    

    调整方式:

    1. 将 Key Field 填入表单的 Key Field ID,此信息可以从 Javascript 工作流程编辑器(选择 Pre-workflow 时的页面)中找到,或是从数据库定义文档查询。

    以上图表单范例来说,这一进程式码应写为:

    var nodeId = param.getNewNodeId(3000841);
    

    2. 将 '/tab_path/sheet_path' 改成这份表单的页签及表单路径。

    如果你的表单网址为 www.ragic.com/sample/sales/3?PAGEID=wSM (忽略 ?PAGEID=wSM 的部分),将这一进程式写为:

    var path = '/sales/3'; 
    

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

    entry.recalculateAllFormulas();
    

    改成

    entry.recalculateFormula(field id);
    

    例如:只针对某三个字段(字段 ID: 1000001、1000002、1000003)进行公式重算,将要重算的字段 ID 填入 field id 中,一个字段为一行, 所以要重算三个字段的公式则会写成三行:

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

    提供回馈给 Ragic

    请告诉我们您的意见:(多选, 必填)

    请针对上方勾选项目提供详细说明:

    截屏能够让我们更清楚了解您的建议:

    感谢您的宝贵意见!

    马上登记
    免费试用 Ragic!

    用 Google 帐号登记

    立即科技 Ragic, Inc.
    02-7728-8692
    info@ragic.com
    台北市中正区南昌路二段81号9楼
    用户条款 | 隐私权政策