如何在项目管理中根据截止日期自动更新任务状态?
大家好,
在项目管理中,任务状态是一项帮助您跟踪任务进度的功能。在项目管理工具中,您可以根据任务的进度更新其状态。任务创建时,状态为“打开”。用户开始处理任务后,任务状态会更新为“进行中”,任务关闭后,状态最终会更新为“已完成”。
项目管理工具还允许用户创建自定义任务状态。例如,除了默认的任务状态外,用户还可以根据业务需求添加“审核中”、“进度正常”等状态,然后他们可以创建此类自定义状态来跟踪任务。Zoho Projects 等项目管理工具中还有一项名为“状态时间线”的功能,可以帮助跟踪任务何时从一个状态转换为另一个状态,以及哪些用户修改了任务状态。
然而,当用户处理多个任务时,可能需要根据任务的截止日期自动更新某些任务的状态。在这种情况下,可以使用自定义功能代码来实现此需求。
自定义函数是一种可用于自动化流程的软件代码,它允许您自动发送通知、调用 Webhook 或在触发工作流规则后立即执行逻辑。此功能有助于自动化复杂的任务和计算。
以下是用例 ::
在任务布局中添加了自定义状态“延迟并关闭”。当任务关闭时,它会自动将当前日期与截止日期进行比较。如果当前日期超过截止日期,则必须将状态更新为“延迟并关闭”。
此功能可以通过自定义函数和任务工作流规则来实现。首先,使用范围“ZohoProjects.projects.READ、ZohoProjects.portals.ALL、ZohoProjects.tasks.UPDATE”与 Zoho Projects 服务建立连接。
请确保在下面提供的代码中将连接链接名称设置为“projects”。参数和任务工作流规则的屏幕截图也已附上,以供参考。
自定义函数代码:
endPoint = "https://projects.zoho.in/restapi/portal/";
currentDate = zoho.currenttime.toString("MM-dd-YYYY","Asia/Calcutta");
newDateFormatConversion = toString(currentDate,format);
if(endDate != null){
updateTaskParameter = Map();
dateFormatConversion = toString(endDate,format);
daysDifference = daysBetween(dateFormatConversion,newDateFormatConversion);
if(daysDifference > 0)
{
// Get task layout details
taskLayoutDetailsResponse = invokeurl
[
url :endPoint + portalId + "/projects/" + projectId + "/tasklayouts"
type :GET
connection:"projects"
];
statusDetails = taskLayoutDetailsResponse.get("status_details");
for each status in statusDetails
{
if(status.get("name").containsIgnoreCase("Delayed"))
{
delayedStatusId = status.get("id");
break;
}
}
updateTaskParameter.put("custom_status",delayedStatusId);
updateTaskResponse = zoho.projects.update(portalId,projectId,"tasks",taskId,updateTaskParameter,"projects");
}
}
return "success";


在 Zoho Projects 中创建自定义函数非常简单,且文档齐全。Zoho 提供了一系列内置函数,您可以将其作为起点,也可以使用 Zoho 的脚本语言 Deluge 轻松定义您自己的函数。不妨一试,看看它如何节省您的时间并提高您的工作效率!

浙公网安备 33010602011771号