Таблицы Google: Есть ли способ уведомлять только одного пользователя, если кто-либо изменяет значения в диапазоне ячеек на определенное значение

#google-apps-script #google-sheets

#google-приложения-скрипт #google-sheets

Вопрос:

У меня есть электронная таблица, которая большую часть времени открыта на столе нескольких пользователей, указывающая на прогресс по заказам. Одна точка данных, которую вводит лицо, оформляющее заказ, — это номер приоритета. Я хочу, чтобы на экране определенного пользователя (лица, выполняющего заказ) отображалось диалоговое окно, когда для заказа установлен приоритет один, независимо от того, на какой странице он находится.

     function onEdit(e){
  {
    var editRange = { //where New Order information is entered:
    top : 2,
    bottom : 299,
    left : 3,
    right : 4
  };
    //Is it in the right sheet for a new order?
   var thisSheet = e.source.getActiveSheet()
    if (thisSheet.getName() != "Sheet1") return;
  // Exit if we're out of range
  var thisRow = e.range.getRow();
  if (thisRow < editRange.top || thisRow > editRange.bottom) return;

  var thisCol = e.range.getColumn();
    //This part, right here:
    **if (thisCol == 8 amp;amp; e.range.getValue()=='1') {SpreadsheetApp.getUi().alert("An order has been moved to priority One.")
    return;}**

    
  if (thisCol < editRange.left || thisCol > editRange.right) return;

  // We're in range; timestamp the edit
  var ss = e.range.getSheet();
  ss.getRange(thisRow,14)   // "G" is column 7
    .setValue(new Date()).setNumberFormat("MM/dd/YYYY"); 
 
    
} 
  

Код, окружающий его, добавляет отметку даты к любым новым или измененным заказам. Я надеялся, что смогу поместить это в те же каскадные «Если», потому что это происходит с той же страницы. В настоящее время он только уведомляет лицо, внесшее изменение. Если уведомление только определенного пользователя невозможно, уведомление всех с открытой в данный момент электронной таблицей также было бы приемлемым результатом.
Я бы также хотел, чтобы в диалоговом окне отображалось, какой порядок был обновлен до приоритетного, но это всего лишь манипуляция со строками, и я, вероятно, смогу заставить его работать.

У меня есть фотография с поддельными данными:https://i.stack.imgur.com/N9WO2.png

Комментарии:

1. Возможно, вы сможете добиться желаемого поведения, развернув скрипт в качестве дополнения, которое будет установлено всеми вашими пользователями. Другой обходной путь, о котором я могу подумать, — создать комментарий к документу и назначить его лицу, обрабатывающему полное заполнение. При этом также будет отправлено оповещение по электронной почте. Дай мне знать, что ты думаешь

2. Я думаю, что вы используете и устанавливаете триггер onEdit, вы должны иметь возможность отправлять электронное письмо. Каждый должен будет это санкционировать.