试图将我的头围绕着zoho创建者,它并不像它们用于构建应用程序那么简单...我有一个库存数据库,我有四个字段,我打电话来填充一个名为库存号的字段(Inv_Num1 ) -
名字(First_Name)
姓氏(Last_Name)
年(年)
号码(号码)
我有一个自定义函数脚本,我通过表单报告中的自定义操作调用。我要做的是上传一个包含900个条目的CSV文件。当然,并非所有这些都具有这些值(第一个/最后一个/数字),因此我需要批量编辑所有这些值。但是,当我进行批量编辑时,Inv_Num1字段不会使用新值更新。我使用自定义操作使用其他4个字段的值填充Inv_Num1字段。
Heres是我的剧本:
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已经通过我对成功函数的编辑进行了更新,并使整个事情变得毫无意义。
答案 0 :(得分:0)
在不知道数据类型难以修复的情况下,但假设您的IQueryable
是一个数字数据项,您正在为一个数字添加一个字符串:
" +"用于字符串连接 - Joiner,但它也会将两个数字相加,因此请将Inventory_Record.number
视为字符串,而不是数字"a" + "b" = "ab"
。
一切都很好,但当你1 + 2 = 3
时,系统不知道是添加还是连接,所以会出错。
答案 1 :(得分:0)
这可能会延迟一年,您可能已经找到了解决方案,但只是为了突出显示,您面临的错误只是由于名字中的空值。
你只是对每个字段进行了空检查,你就可以了。
您可以在批量上传时生成inv_number,方法是在相同的代码中添加null check并将代码放在Add>上。在Submt。(只是循环内的部分)
更好选项将使用公式字段,您只需将此公式放在该公式字段中,您将自动生成inventory_number,您可以将formula_field重命名为Inv Number或whaterver你想要的。由于您在年份Field中直接使用子字符串,我假设 year field as string.else你必须使用用户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
如果您执行此操作,请告诉我您的回复。