Calculate Days open based on sys_created

deepanshanand
Kilo Expert

HI Experts i am trying to write code to calculate no of days a ticket has been opened based on only sys_created_on .
Below is the code that i tweaked little bit but its not working

below is script include:

var CalculateDuration = Class.create();

CalculateDuration.prototype = {

      calculate_duration : function(start) {

              var duration.seconds = {};

duration.days = parseInt(duration.seconds * 100 / 86400,10)/100;

              return duration;

      }

};

Buisness rule where i am calling

(function executeRule(current, previous /*null when async*/) {

        var start = current.sys_created_on.getDisplayValue();

      var td = new CalculateDuration();

    var duration = td.calculate_duration(start);

      current.u_days_open = duration.days;

})(current, previous);

Any leads where i am going wrong

1 ACCEPTED SOLUTION

Strange Occurence - below code is changing only 5 records , rest are not updated .


this field is a duration type field


hope that is not going wrong


find_real_file.png


View solution in original post

19 REPLIES 19

Expected output is to see the number of days in the list view under column days open
but currently its blank
FYI. the field is in table but not present in form.


i have configured it in the list


Please find the updated code above


(function executeRule(current, previous /*null when async*/) {




// Add your code here


var datedif = gs.dateDiff(current.sys_created_on.getDisplayValue(), gs.nowDateTime());  


var date1= datedif.split(" ");


gs.addInfoMessage("Days opened::"+date1[0]);




})(current, previous);


divya mishra
Tera Guru

Ok then,


try a schedule job to run every day an update the field there.



Let me know the output


Capture2.JPG



I wrote this and it runs completely fine