【问题标题】:Zoho Creator making a custom function for a reportZoho Creator 为报表制作自定义函数
【发布时间】:2015-05-22 19:52:22
【问题描述】:

试图围绕 zoho creator 展开我的头脑,它并不像他们为构建应用程序所描述的那么简单……我有一个库存数据库,我有四个字段,我调用它们来填充一个名为 Inventory Number (Inv_Num1) 的字段) -

名字 (First_Name)

姓氏(Last_Name)

年(年)

数字(数字)

我有一个自定义函数脚本,我通过表单报告中的自定义操作调用它。我想要做的是上传一个包含 900 个条目的 CSV 文件。当然,并非所有这些都有这些值(第一个/最后一个/数字),所以我需要批量编辑所有这些值。但是,当我进行批量编辑时,Inv_Num1 字段不会使用新值进行更新。我使用自定义操作用其他 4 个字段的值填充 Inv_Num1 字段。

这是我的脚本:

void onetime.UpdateInv()
{
    for each Inventory_Record in Management
    {
        FN = Inventory_Record.First_Name.subString(0,1);
        LN = Inventory_Record.Last_Name.subString(0,1);
        YR = Inventory_Record.Year.subString(2,4);
        NO = Inventory_Record.Number;
        outputstr = FN + LN + YR + NO;
        Inventory_Record.Inv_Num1 = outputstr;
    }
}

当我尝试运行这个函数时,我得到了这个错误

Error.
    Error in executing UpdateInv workflow.
        Error in executing For Each Record task.
            Error in executing Set Variable task. Unable to update template variable FN.
                Error evaluating STRING expression :

例如,即使有一个名字,它仍然认为没有。这只发生在我使用批量编辑更改的字段上。如果我手动完成每个操作,那么自定义操作就可以工作了——当然,Inv_Num1 已经通过我对成功函数的编辑进行了更新,并且使整个事情变得毫无意义。

【问题讨论】:

    标签: scripting custom-action zoho


    【解决方案1】:

    在不知道数据类型的情况下很难修复,但假设您的 Inventory_Record.number 是数字数据项,您正在向数字添加字符串:

    “+”用于字符串连接 - 连接符,但它也将两个数字相加,所以认为 "a" + "b" = "ab" 用于字符串,但用于数字 1 + 2 = 3

    一切都好,但是当您执行"a" + 2 时,系统不知道是添加还是连接,因此会出错。

    【讨论】:

      【解决方案2】:

      这可能晚了一年,您可能已经找到了解决方案,但只是强调一下,您面临的错误只是由于名字中的空值。

      您刚刚对每个字段进行了空检查,然后您就可以开始了。

      您也可以在批量上传时生成 inv_number,方法是在同一代码中添加空检查并将代码放在 Add> On Submt 上。(只是循环内的部分)

      更好选项将使用公式字段,您只需将此公式放入该公式字段中,您将自动生成您的 inventory_number ,您可以将 formula_field 重命名为 Inv Number 或其他你想要。

      由于您直接在 year 字段中使用子字符串,我假设 年份字段为 string.else 你必须使用 Year.tostring().substring(2,4) & 而不是 if(Year=="","",...) 你必须把 if(Year==空,空,...);

      这是公式

          if(First_Name=="","",First_Name.subString(0,1))+if(Last_Name =="","",Last_Name.subString(0,1)) + if(Year=="","",Year.subString(2,4)+Number
      

      如果你实施这个,请告诉我你的回应。

      【讨论】:

        猜你喜欢
        • 2015-03-11
        • 1970-01-01
        • 2017-11-15
        • 2011-02-06
        • 2018-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多