更新另一种形式的值(Zoho Creator)

时间:2018-02-07 20:10:33

标签: zoho deluge

我可以从其他表单/报表中检索数据,但我无法更新该值并以其他形式保存。

对于下面的示例,我尝试按用户获取vacation_days_taken,然后添加新的休假日并更新employee_form中的vacation_days_taken。但是,我收到了一个错误的陈述错误。

有人可以告诉我如何在使用其他表单时更新/编辑其他表单吗?

daysOff = Employee_Form[ID == input.Employee_Name].Vacation_Days_Taken;
if(input.Number_of_Days_Requested + daysOff < 20)
{
     Employee_Form[ID == input.Employee_Name].Vacation_Days_Taken = input.Number_of_Days_Requested + daysOff;
}

2 个答案:

答案 0 :(得分:0)

您可以在Zoho Creator上轻松实现此目的。我们知道您正在尝试使用&#34;获取记录&#34;更新员工的假期,但您需要使用&#34;更新记录&#34;而不是任务。我还使用了两种形式 - 员工表格和请假表格。

第一步是创建一个集合变量(employeeRec)并从Employee表单中获取记录。

employeeRec = Employee_form[ID == input.Employee_Name];  

获取该特定员工的记录并存储在集合变量(employeeRec)

daysOff = employeeRec.Vacation_Days_Taken; 

然后让我们获取Vacation_Days_Taken并将其分配给另一个变量daysOff。之后使用IF条件来验证和更新Vacation_Days_Taken。

if(daysOff + input.No_of_days_requested < 20)
{
    employeeRec.Vacation_Days_Taken=daysOff + input.No_of_days_requested;
}

希望此代码适合您。

答案 1 :(得分:0)

您在此处提供的第二个代码段中声称无法正常工作。我看到两个问题。

  1. 员工表单集合位于状态检查块中。
  2. 不检查叶数是否超过20。
employeeForm = Employee_Form[ID == input.Employee_Name];// I have moved this assignment 
outside the if check meant for approved status. 
If this line is included inside the if check and if the status is not approved, then the 
employeeForm would not be available, which might cause issues.

if(input.Status == "Approved") { 
daysOff=employeeForm.Vacation_Days_Taken; 
daysTaken=input.Number_of_Days_Requested + daysOff;

// This check is missing
if(daystaken < 20){
employeeForm.Vacation_Days_Taken=daysTaken;
sendmail 
[from:zoho.adminuserid
 to:Employee_Form[ID == input.Employee_Name].email
 subject:"Your Request Has Been Approved"
 ....
]
}
}
  1. 我还看到您已为触发器编辑时->成功添加了此内容。这意味着应该在提交完成后执行此操作。如果要在验证后执行此脚本,则此块应为编辑时->验证。如果计数超过20,则可以取消提交以禁止提交记录。

请尝试所有这些方法,以防万一您仍然遇到问题,请告诉我们 究竟是什么导致失败/不处理错误消息,或者 值等方面的差异。