Name

global.TaskTimerSNC

Description

No description available

Script

var TaskTimerSNC = Class.create();
TaskTimerSNC.prototype = {
  initialize: function() {},

  updateTaskTimer: function(taskGr, zeroWhenNoTimeWorked) {
  	if (!taskGr || !taskGr.isValid())
  		return;

  	var totalTimeworked = 0;
  	var updateRecord = zeroWhenNoTimeWorked || false;

  	//get all time worked for this task
  	var taskTimeWorkedGa = new GlideAggregate("task_time_worked");
  	taskTimeWorkedGa.addQuery("task", taskGr.getUniqueValue());
  	taskTimeWorkedGa.addAggregate("SUM", "time_worked");
  	taskTimeWorkedGa.groupBy("task");
  	taskTimeWorkedGa.query();
  	if (taskTimeWorkedGa.next()) {
  		totalTimeworked = taskTimeWorkedGa.getAggregate("SUM", "time_worked");
  		updateRecord = true;
  	}

  	if (!updateRecord)
  		return;

  	taskGr.setValue("time_worked", totalTimeworked);
  	// don't run task workflows because BR: "Task Time Worked" will create more time worked records
  	taskGr.setWorkflow(false);
  	taskGr.update();
  	return gs.getMessage("Time worked entry was modified, updated time in task {0}", taskGr.getDisplayValue());
  },

  type: 'TaskTimerSNC'
};

Sys ID

9b74c5f3532233000999ddeeff7b12eb

Offical Documentation

Official Docs: