Наша команда пытается разработать скрипт для повторяющихся задач в ServiceNow.У нас есть пользовательская таблица, в которой находятся start_date, end_date и интервал (number_of_days).Например, если дата начала выполнения задания 6/6/2019 и указанный интервал составляет 3 дня, мы хотим, чтобы сценарий выполнил задачу 9/9/2019, 12/06/2019, 6/15/ 2019 и т. Д.
Сначала мы подумали, что могли бы сделать что-то вроде ниже, где мы берем разницу в датах между началом и концом и, если есть остаток от 0, затем выполним задачу.Это прекрасно работает, например, если разность дат равна 10, а интервал равен 2 и хорошо делится.Однако, если разность дат равна, например, 15, а интервал остается равным 2, то это, очевидно, не сработает.
if(trigger=='recurring'){
var milestone_start = performance_start;
var milestone_end = performance_end;
var dur = GlideDateTime.subtract(milestone_start, milestone_end);
var duration = dur.getNumericValue();
var durationSeconds = (duration/1000);
var durationDays = (durationSeconds/(60*60*24));
if(durationDays % days == 0){
var runScript=new customTaskUtils();
var x = runScript.applyTasks(case_sysID,milestoneGR.sys_id);
}
}
Есть мысли о том, как мы можем написать что-то подобное?