GOOGLE ADS

суббота, 30 апреля 2022 г.

Попытка создать уникальный код для каждого ответа формы

У меня возникли проблемы с запуском скрипта, который может генерировать уникальный код для каждой записи ответа формы. Теперь, когда я впервые попытался написать это, я использовал имя функции onFormReply(e), так как я где-то читал его, но оказалось, что оно на самом деле не работает, поэтому я пытаюсь использовать onEdit(e), но оно помечает большинство значений переменных, которые я написал как неопределенные, даже аргумент (e) самой функции (которая теоретически должна быть пользовательской и сделана похожей на ячейку/ячейки, в которых произошло редактирование). Вот код:

 function onEdit(e) {
const ss = SpreadsheetApp.getActiveSheet();
const row = e.getRow();

var date = ss.getRange(row,1).getValue();
var department = ss.getRange(row,6).getValue();
department = department[0] + department[1]
var uniqueNumber = ss.getLastRow()
var finalCode = department + finalDate + uniqueNumber
ss.getRange(row,15).setValue(finalCode)
}


Решение проблемы

Если вы имеете дело с ответами Google Form, вы можете использовать метку времени в столбце Aв качестве уникального идентификатора. Эти метки времени точны до миллисекунды и для всех практических целей всегда будут уникальными.

Большим преимуществом этого является то, что вам не нужен скрипт для получения этих уникальных идентификаторов. Вместо этого используйте эту формулу массива в строке 1 свободного столбца справа на листе ответов формы:

=arrayformula( 
{
"Unique ID";
iferror( text( 1 / A2:A ^ -1, "yyyy-MM-dd_HH-mm-ss-000") )
}
)

Формула автоматически заполнит весь столбец и будет продолжать давать больше результатов по мере отправки новых ответов формы.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...