以另一种形式(Zoho创建者)更新值



我能够从其他表单/报告中检索数据,但是我无法更新值并将其保存在其他表单中。

在下面的示例中,我正在尝试获取用户的attric_days_taken,然后添加新的假期,然后更新员工中的atmopere_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;
}

您可以在Zoho Creator上轻松实现此目标。我们了解您正在尝试使用"获取记录"来更新员工所取的叶子,但是您需要使用"更新记录"任务。我还使用了两种形式 - 员工表格和请请求表格。

第一步是创建一个集合变量(emplyerec(并从员工表格中获取记录。

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

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

daysOff = employeeRec.Vacation_Days_Taken; 

然后,让我们获取gatuary_days_taken并将其分配给另一个变量的日期。之后,使用IF条件来验证和更新attacon_days_taken。

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

希望此代码对您有用。

在您在这里提供的第二个代码段中,声称不起作用。我看到了两个问题。

  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"
         ....
        ]
      }
    }
    
  3. 我还看到您已在edit -&gt;在成功上。这意味着在提交完成后应该执行此操作。如果您想在验证后执行此脚本,则该块应在edit -&gt上为;在validate 上。如果计数超过20,则可以实施取消提交以禁止提交记录。

请尝试所有这些,如果您仍然面临问题,请告诉我们到底是什么是失败/不使用错误消息或值的差异,等等。

最新更新