Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2017, 19:22
Новичок на форуме
Отправить личное сообщение для Марина Худякова Посмотреть профиль Найти все сообщения от Марина Худякова
 
Регистрация: 10.06.2017
Сообщений: 2

Google Apps Script функция onEdit(event)
Добрый день!

У меня есть два элемента onEdit
Элемент кода:

function onEdit(event)
{

SmartDataValidation(event);

}

function onEdit(event)
{
var sheetName = event.source.getActiveSheet().getSheetName();
var sheet = event.source.getActiveSheet();
var idCol = event.range.getColumn();
var idRow = event.range.getRow();
if (idCol === 13 && sheetName === 'Заказы'){
sheet.getRange(idRow, idCol +8).setValue(new Date().toString());
}
}

Как сделать так, чтобы работали оба элемента, а не перекрывали друг друга?
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 10.06.2017, 20:18
Новичок на форуме
Отправить личное сообщение для Марина Худякова Посмотреть профиль Найти все сообщения от Марина Худякова
 
Регистрация: 10.06.2017
Сообщений: 2

Решилось просто

function onEdit(event)
{

SmartDataValidation(event);
var sheetName = event.source.getActiveSheet().getSheetName();
var sheet = event.source.getActiveSheet();
var idCol = event.range.getColumn();
var idRow = event.range.getRow();
if (idCol === 13 && sheetName === 'Заказы'){
sheet.getRange(idRow, idCol +8).setValue(new Date().toString());
}

}
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2017, 15:26
Новичок на форуме
Отправить личное сообщение для oshliaer Посмотреть профиль Найти все сообщения от oshliaer
 
Регистрация: 17.10.2013
Сообщений: 4

Марина, обычно приходится делать что-то вроде наблюдателя, который будет обрабатывать все функции, которые подписаны на вызов onEdit()

Например,
function f1(e){
  // ...
}


function f2(e){
  // ...
}

function onEdit(e){
  f1(e);
  f2(e);
}


Т.е. в вашем варианте
function onEdit(event) {
  SmartDataValidation(event);
  onEdit1(event);
}

function onEdit1(event) {
  var sheetName = event.source.getActiveSheet().getSheetName();
  var sheet = event.source.getActiveSheet();
  var idCol = event.range.getColumn();
  var idRow = event.range.getRow();
  if (idCol === 13 && sheetName === 'Заказы') {
    sheet.getRange(idRow, idCol + 8).setValue(new Date().toString());
  }
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отладить клиентскую часть скрипта в Google Apps Script? Johnny1500 Общие вопросы Javascript 3 24.08.2016 18:15
MathJax с помощью Google Script vladb314 Общие вопросы Javascript 0 22.01.2016 17:54
скрипт Google Apps Script atyagunov Работа 1 27.10.2014 22:59
Вопрос к знатокам google apps script gtr-kaz Общие вопросы Javascript 3 22.10.2014 08:31
Написание скрипта на Google apps script 1000 рублей. azart Работа 0 27.05.2014 13:02