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()); } } Как сделать так, чтобы работали оба элемента, а не перекрывали друг друга? Заранее спасибо! |
Решилось просто
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()); } } |
Марина, обычно приходится делать что-то вроде наблюдателя, который будет обрабатывать все функции, которые подписаны на вызов 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());
}
}
|
| Часовой пояс GMT +3, время: 18:34. |