Часто бывает что людей, выполняющих свою работу, необходимо подгонять, напоминать о сроках выполнения взятых на себя обязательств.
Как контролировать проекты в автоматическом режиме?
Да это таблица Google с небольшим дополнением, а точнее скриптом который раскрашивает столбик Осталось в зависимости от текущей даты и времени.
function onEdit() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
var timeX = sheet.getRange(i+1,6).getDisplayValue().split(':')[0];
var nowX = new Date();
var timeXX=timeX*1000*60*60;
var finish = new Date(data[i][4]);
var finishTime = new Date(finish.getTime()+timeXX);
var cell = sheet.getRange(i+1,7);
var dayX=(finishTime-nowX)/1000/60/60/24;
if (Math.abs(dayX)>1){
cell.setValue(dayX.toString().split('.')[0]+" д");
if (dayX<0)
{
cell.setBackground('red');
cell.setFontColor('white');
}
else{
if (dayX<3) {
cell.setBackground('yellow');
cell.setFontColor('red')
}
else{
cell.setBackground('green');
cell.setFontColor('white')
}
}}
else
{
if (Math.abs(dayX*24)<1){
cell.setValue((dayX*24*60).toString().split('.')[0]+" м");
}
else {
cell.setValue((dayX*24).toString().split('.')[0]+" ч");
}
cell.setBackground('red');
cell.setFontColor('white')
}
}
}
Что же делает скрипт?
- Вычисляет текущее время
- Берёт данные из столбиков E и F - дату и время финиша выполнения работы в цикле
- Вычисляет разницу между текущим временем и часом X
- В столбик Осталось прописывает оставшееся время (или просроченное) в цикле в днях или часах или минутах округляя в меньшую сторону
- Раскрашивает ячейки в зависимости от времени
- Происходит всё это при изменении данных в таблице
Добавляем триггер выполнения каждый час, триггер на открытие. Можно добавить отправку оповещений на почту при достижении времени, например, 1 час.
Надеюсь, скрипт кому-то принесёт пользу.
Бог интернета есть
ОтветитьУдалитьСогласен. Сидит в облаках и воздаёт каждому за флуд в комментариях. Превозносит и делает равным себе за дела интернетоугодные.
УдалитьУсловное форматирование решает эту задачу.
ОтветитьУдалитьДоброго дня.
УдалитьДа, конечно же решает. И даже 4 года назад решало когда была написана статья.)