
随着规模的不断扩大,业务量激增,任务审批不可避免的增加甚至超出项目经理的负荷。如何自动批准待处理的时间记录?这离不开项目管理软件中自动化审批的加持。
一、什么是自定义函数
自定义函数是一种可用于自动化流程的软件代码,它允许你在触发工作流规则后立即自动发送通知、调用 webhook 或执行逻辑。
自定义函数的作用
自定义函数有助于自动执行复杂的任务和计算。
二、客户案例
Zoho Projects的一位客户提出了自动化需求。简单来说即所有待处理的时间记录应在每个月的第一周自动获得批准。同样,也可以根据管理员的要求进行时间配置。
根据指定的时间表(例如每小时、每天、每周或每月)执行自定义功能。且可用于重复操作,例如生成月度报告或向门户用户发送有关即将到来的公共里程碑或截止日期的自动电子邮件,而无需依赖特定事件。
Zoho Projects中创建连接,范围为“ZohoProjects.timesheets.ALL”,以将 “Projects”替换为连接名称。
自动函数代码:
endPointV3 = "https://projects.zoho.com/api/v3/portal/";
logParamList = List();
moduleTemplate = Map();
moduleTemplate.put("type","task");
timesheetParam = Map();
timesheetParam.put("view_type","month");
timesheetParam.put("module",moduleTemplate);
timesheetParam.put("start_date",zoho.currentdate.addMonth(-1));
timesheetParam.put("end_date",zoho.currentdate);
taskTimesheetResponse = invokeurl
[
url :endPointV3 + portalId + "/timesheet"
type :GET
parameters:timesheetParam
connection:"projects"
];
// info taskTimesheetResponse;
if(taskTimesheetResponse != null)
{
for each time_log in taskTimesheetResponse.get("time_logs")
{
for each logs in time_log.get("log_details")
{
logDetail = Map();
logDetail.put("approval_status","approved");
logDetail.put("module","task");
logDetail.put("id",logs.get("id"));
logParamList.add(logDetail);
}
}
}
genralLogIds = Map();
moduleTemplate.clear();
timesheetParam.remove("module");
moduleTemplate.put("type","general");
timesheetParam.put("module",moduleTemplate);
generalTimesheetResponse = invokeurl
[
url :endPointV3 + portalId + "/timesheet"
type :GET
parameters:timesheetParam
connection:"projects"
];
// info generalTimesheetResponse;
if(generalTimesheetResponse != null)
{
for each time_log in generalTimesheetResponse.get("time_logs")
{
for each logs in time_log.get("log_details")
{
logDetail = Map();
logDetail.put("approval_status","approved");
logDetail.put("module","general");
logDetail.put("id",logs.get("id"));
logParamList.add(logDetail);
}
}
}
issueLogIds = Map();
moduleTemplate.clear();
timesheetParam.remove("module");
moduleTemplate.put("type","issue");
timesheetParam.put("module",moduleTemplate);
issueTimesheetResponse = invokeurl
[
url :endPointV3 + portalId + "/timesheet"
type :GET
parameters:timesheetParam
connection:"projects"
];
// info issueTimesheetResponse;
if(issueTimesheetResponse != null)
{
for each time_log in issueTimesheetResponse.get("time_logs")
{
for each logs in time_log.get("log_details")
{
logDetail = Map();
logDetail.put("approval_status","approved");
logDetail.put("module","issue");
logDetail.put("id",logs.get("id"));
logParamList.add(logDetail);
}
}
}
approveTimesheets = invokeurl
[
url :endPointV3 + portalId + "/logs"
type :PATCH
parameters: "["+logParamList.toString()+"]"
connection:"projects"
];
info approveTimesheets;
在Zoho Projects中创建自定义函数非常简单,并且有详尽的文档。Zoho Projects提供了一系列内置函数,你可以将其用作起点,还可以使用脚本语言Deluge轻松定义自己的函数。
三、常见问题(FQA)
1. 什么是时间记录的自动化审批?
时间记录的自动化审批是指通过预设的规则或条件,使用任务自动化工具对员工提交的时间记录进行审核和批准。无需人工干预,系统会根据设定的逻辑(比如工作时长、项目分配等)自动完成审批流程。
2. 如何设置自动化审批规则?
设置自动化审批规则通常需要以下几个步骤:
- 明确审批条件:比如每天工作时长是否符合规定,是否超出预算等。
- 选择自动化工具:市面上有许多支持自动化审批的工具,如HR管理系统或企业协作平台。
- 配置规则:在工具中输入审批条件,例如“若日工作时长为8小时以内,则自动批准”。
- 测试流程:在正式使用前,先进行模拟测试,确保规则运行正常。
3. 自动化审批安全吗?
绝对安全!管理员可以设置处理规则,比如当时间记录超出某个范围时,系统会自动提醒人工复核,避免潜在问题。
Zoho Projects项目管理软件,深受国内外项目协作团队一致喜爱,Zoho是专业项目管理软件厂商。
欢迎咨询:400-660-8680转841。立即免费体验: https://www.zoho.com.cn/projects/
Zoho Projects项目管理系统是一款SaaS云端项目管理工具,多次荣获项目管理国际大奖。180多个国家的20万+企业在Zoho Projects的帮助下,管理项目进度、分配任务、制作甘特图、计算工时等,加强团队协作能力,保障项目成功交付。