Я пытаюсь создать базовый скрипт метки времени. Короче говоря, я запускаю некоторые задачи, которые проходят через различные статусы (статус 1, 2, 3 и т. Д.). Я хочу отслеживать отметку времени каждого состояния для каждой задачи (строки).
У меня уже есть код, который может это сделать, но только когда я вручную вводю статус по одному в первом столбце (временные метки правильно добавляются в соответствующий столбец состояния), но я не могу обновить несколько одновременно ,
Если я вставляю несколько «status», сценарий запускает только метку времени, основанную на первой строке, и не учитывает другой статус. Вот очень короткое видео , которое демонстрирует, что он делает.
Я буду использовать скрипт в большом файле, который автоматически обновляется, но я не могу заставить его работать. Вот код, который я сейчас использую (извиняюсь, если это что-то простое, я в лучшем случае любитель).
function OnEdit(e) {
var range = e.range;
var sheet = range.getSheet();
var row = range.getRow();
var rows = range.getNumRows();
var date = new Date();
var dates = sheet
.getRange(row, 3, rows)
.getValues()
.map(function(row) {return [row[0] || date];});
if(sheet.getRange(row, 1,rows).getValue()==1) { sheet
.getRange(row, 2, rows)
.setValues(dates);
}
else
{if(sheet.getRange(row, 1,rows).getValue()==2) { sheet
.getRange(row, 3, rows)
.setValues(dates);
}
else
{if(sheet.getRange(row, 1,rows).getValue()==3) { sheet
.getRange(row, 4, rows)
.setValues(dates);
}
}
}
}
Если статус = 1, вставить метку времени в «Col B», если статус = 2, ввести метку времени в «Col C» и т. Д.
Вот лист , где я работаю.