Scripting Zoho Creator为报表创建自定义函数

Scripting Zoho Creator为报表创建自定义函数,scripting,custom-action,zoho,Scripting,Custom Action,Zoho,试图用zoho creator来概括我的想法,这并不像他们所说的构建应用程序那么简单……我有一个库存数据库,我有四个字段,我调用它们来填充一个名为库存编号(Inv_Num1)的字段 名字(名字) 姓氏 年(年) 数字(数字) 我有一个自定义函数脚本,通过表单报表中的自定义操作调用该脚本。我要做的是上传一个包含900个条目的CSV文件。当然,并不是所有这些都有这些值(first/last/number),所以我需要批量编辑所有这些值。但是,当我进行批量编辑时,Inv_Num1字段不会用新值更新。我

试图用zoho creator来概括我的想法,这并不像他们所说的构建应用程序那么简单……我有一个库存数据库,我有四个字段,我调用它们来填充一个名为库存编号(Inv_Num1)的字段

名字(名字)

姓氏

年(年)

数字(数字)

我有一个自定义函数脚本,通过表单报表中的自定义操作调用该脚本。我要做的是上传一个包含900个条目的CSV文件。当然,并不是所有这些都有这些值(first/last/number),所以我需要批量编辑所有这些值。但是,当我进行批量编辑时,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已经通过我的“编辑成功”功能进行了更新,使整个操作变得毫无意义。

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

“+”用于字符串连接-连接符,但它也将两个数字相加,因此,对于字符串,但对于数字,
1+2=3
,请考虑
“a”+“b”=“ab”


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

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

您只需对每个字段进行空检查,就可以开始了

您也可以在批量上传时生成库存编号,方法是在同一代码中添加null check,然后将代码放置在Add>on Submt上。(仅循环中的部分)

更好选项将使用公式字段,您只需将此公式放入该公式字段,您将自动生成库存编号,您可以将公式字段重命名为库存编号或您想要的任何名称

因为您直接在year字段中使用子字符串,所以我假设 年份字段作为字符串。否则您必须使用year.tostring().substring(2,4)&而不是if(year==“”,“”,…),您必须输入if(year==null,null,…)

这是公式

    if(First_Name=="","",First_Name.subString(0,1))+if(Last_Name =="","",Last_Name.subString(0,1)) + if(Year=="","",Year.subString(2,4)+Number
让我知道你的反应,如果你实施这一点