в моем листе Google у меня есть две вкладки (Оплаченные и заказы)
Пользователь отправляет эти данные на вкладку Оплаченные:
Номер счета в столбце B и Оплаченная сумма в столбце C
На вкладке "Заказы" у меня есть заголовок "Счета" в столбце F и существующая сумма в столбце G
Мне нужно сравнить номер нового отправленного счета на вкладке "Оплаченные" с столбцом счетов на вкладке "Заказы" и всякий раз, когда мы есть совпадение, добавьте новую отправленную оплаченную сумму на вкладке «Оплачено» к существующей сумме рядом с соответствующим номером счета в столбце счетов на вкладке «Заказы»
В моем редакторе скриптов таблицы Google я попробовал следующий код gs:
function doGet() {
return HtmlService.createTemplateFromFile('Form.html');
}
function doPost (e) {
var lock = LockService.getScriptLock();
lock.tryLock(10 * 1000);
try {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheetByName("Paid");
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]
var nextRow = sheet.getLastRow() + 1
var newRow = headers.map(function(header) {
return header === 'Timestamp' ? new Date() : e.parameter[header]
})
sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])
var bill = newRow[1];
var paidAmount = newRow[2];
var sh = doc.getSheetByName("Orders");
var bills = sh.getRange(2, 6, sh.getLastRow()-1, 1).getValues();
if (bills.flat().indexOf(bill) != -1) {
var existingAmount = sh.getRange(bills.flat().indexOf(bill)+2, 7).getValue();
var total = +existingAmount + +paidAmount
sh.getRange(bills.flat().indexOf(bill)+2, 7).setValue(total);
return HtmlService.createTemplateFromFile('Confirmation.html');
}
}
catch (e) {
return ContentService
.createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))
.setMimeType(ContentService.MimeType.JSON)
}
finally { lock.releaseLock() }
}
Form. html
<!DOCTYPE html>
<head>
<base target="_top">
</head>
<body>
<form action="ScriptURL" method="POST">
<select name="Bill #" required>
<option value="" disabled selected>Select ..</option>
<option value="">1</option>
<option value="">2</option>
</select>
<input type="number" placeholder="Paid" name="Paid Amount" required>
<button type="submit">Submit</button>
</form>
</body>
</html>
Данные отправлены успешно, но установленное значение не работает, а также скрипт возвращает следующее Скрипт завершился, но ничего не вернул.
Любая помощь, я был бы очень благодарен. Заранее спасибо