В этой функции листа google первичный ключ автоматически добавляется в первый столбец при изменении. Проблема с этой функцией заключается в том, что при добавлении новой строки строка ниже также получает первичный ключ, несмотря на то, что другие ячейки в строке не заполнены.
Как изменить эту функцию, чтобы первичный ключ был добавлен только в том случае, если первая ячейка справа (ячейка B) не пуста?
function myFunction() {
var AUTOINC_COLUMN = 0;
var HEADER_ROW_COUNT = 1;
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var worksheet = spreadsheet.getSheetByName("Sheet1");
var rows = worksheet.getDataRange().getNumRows();
var vals = worksheet.getSheetValues(1, 1, rows+1, 2);
for (var row = HEADER_ROW_COUNT; row < vals.length; row++) {
try {
var id = vals[row][AUTOINC_COLUMN];
Logger.log(id);Logger.log((""+id).length ===0);
if ((""+id).length === 0) {
// Here the columns & rows are 1-indexed
worksheet.getRange(row+1, AUTOINC_COLUMN+1).setValue(row);
}
} catch(ex) {
// Keep calm and carry on
}
}
}