Очень новый для скрипта Google Apps здесь.Я заимствовал некоторый код для этой функции присвоения номера счета из предыдущего поста.Намерение состоит в том, чтобы автоинкрементировать поле идентификатора в листах, которые получают представления из формы.Я также предоставил поле EditURL, чтобы пользователи могли легко возвращаться и редактировать записи в форме.Триггер запускается при отправке формы для этого.Если они редактируют ранее существующую запись, то последняя запись в списке увеличивается на основе кода.(ПЛОХО) Я попытался вставить то, что, как я думал, было бы правильным оператором IF, чтобы оценить, была ли эта последняя ячейка пустой первой, но, похоже, это ничего не делает.На самом деле, вторая часть: {
nextCell.setValue(maxInColumn+1)
}
вообще не запускается в этот момент.Если я закомментирую if, это вернется к предыдущему поведению.
Не уверен, как заставить это делать то, что мне нужно ... надеюсь, что у кого-то есть идея.Вот код
... был взломан немного.
function assignInvoiceNumber() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var row = SpreadsheetApp.getActiveSheet().getActiveCell().getRow();
var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
var EmptyString = '';
//create an array of the invoice numbers already created
var colArray = sheet.getRange(2, lastColumn-3, lastRow-1, 1).getValues();
//sort the array values to find max
var maxInColumn = colArray.sort(function(a,b){return b-a})[0][0];
var nextCell = sheet.getRange(lastRow, lastColumn-3);
//assign the max+1 to the next entry
if (nextCell == "") {
nextCell.setValue(maxInColumn+1)
};
}
С уважением, Gsmo