Я новичок в написании сценариев, поэтому, если кто-нибудь знает, как это сделать, это было бы здорово!
У меня есть пользователь, который входит в систему по рабочим дням примерно в 9 утра и должен делать что-то до 9.30. Чтобы напомнить и настоять на том, что это сделано, я хочу иметь предупреждение, в котором говорится, что нужно сделать это, если определенная ячейка не пуста. В идеале он должен проверять в 9, 9.10, 9.20 и 9.30 и всплывать каждый раз, пока это не будет сделано.
Я пытался настроить триггер каждые 10 минут, но я читал, что вы не можете использовать триггеры с UI.
function startCustomTrigger()
{
ScriptApp.newTrigger('alerta').timeBased().everyMinutes(10).create();
}
Итак, я подумал о том, чтобы сделать его скриптом onEdit, когда new date().getMinutes()
равен 0/10/20/30, и он работал, но затем он продолжает появляться, когда вы продолжаете работать с листом для целую минуту. Добавление new date().getSeconds()
не работает, потому что у него слишком мало временного окна, и его легко пропустить.
Это мой текущий код:
function alerta() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var s = ss.getActiveSheet();
var motosS = ss.getSheetByName("Motos - mañana");
var motosRange = motosS.getRange(3, 1)
var ui = SpreadsheetApp.getUi();
var date = new Date();
var day = date.getDay();
var hrs = date.getHours();
var min = date.getMinutes()
var sec = date.getSeconds()
Logger.log(date)
Logger.log(day)
Logger.log(hrs)
Logger.log(min)
Logger.log(sec)
if (motosRange == "" && (day >= 1) && (day <= 5) && (hrs = 9)){
if (min == 0 || min == 14 || min == 20 || min == 30){
var response = ui.alert('IMPRIMIR MOTOS PARA LA MAÑANA',
"Hay que anotar el sector de las ventas de ayer e imprimir las motos para la mañana.",
ui.ButtonSet.OK_CANCEL);
}
}
}