

Синхронизация пользовательских полей с Google Таблицами
Подробное руководство по работе с виджетом "Динамические поля из Google Таблиц в amoCRM"


Добавить поля из таблицы, в нашем случаи это Марка и Модель
Важно: Названия полей должны быть уникальными, т.е. в сделке или в компании или в контакте должно быть только одно поле с названием Марка и одно поле с названием Модель. Если в сделке будут 2 поля с одинаковым названием, то виджет не сможет найти нужное вам поле, аналогично если в сделке будет поле с названием Марка и в компании/контакте будет поле с таким же названием, то виджет не сможет найти нужное вам поле.
Важно: В настройках доступа нужно указать что редактировать могут все у кого есть ссылка или дать доступ нашей docs.nova.agency@gmail.com

При клике на поле Марка появится подсказки марок авто или начать ввод марки в поле

После выбора марки, кликнуть по полю Модель и появится модели выбранной марки

После подготовке таблицы с данными:
1. Перейдите в "Расширения" -> "Apps Script"

2. Вставьте следующий код в редактор:
function createTrigger() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var triggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < triggers.length; i++) {
if (triggers[i].getHandlerFunction() === 'onEdit') {
return;
}
}
ScriptApp.newTrigger('onEdit')
.forSpreadsheet(spreadsheet)
.onEdit()
.create();
}
function onEdit(e) {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// Получаем активный лист (тот, где произошло изменение)
var activeSheet = e.source.getActiveSheet();
// Получаем ID листа (gid)
var sheetId = activeSheet.getSheetId();
// Получаем базовый URL таблицы
var baseUrl = spreadsheet.getUrl();
// Формируем полный URL с gid параметром
var fullUrl = baseUrl + "?gid=" + sheetId + "#gid=" + sheetId;
var url = "https://sp1-nova.ru/api/gt-cache-update/";
var payload = {
url: fullUrl, // Теперь отправляем полный URL с gid
subdomain: "subdomain"
};
var options = {
method: "post",
contentType: "application/x-www-form-urlencoded",
payload: payload,
muteHttpExceptions: true
};
try {
var response = UrlFetchApp.fetch(url, options);
Logger.log("Лист: " + activeSheet.getName() + " (gid: " + sheetId + ")");
Logger.log("Отправленный URL: " + fullUrl);
Logger.log("Код ответа: " + response.getResponseCode());
Logger.log("Тело ответа: " + response.getContentText());
} catch (error) {
Logger.log("Ошибка запроса: " + error.toString());
}
}
3. Вместо subdomain нужно написать свой субдомен без .amocrm.ru.

4. Далее кликните на "Сохранить".
5. Выберите функцию createTrigger и нажмите "Выполнить", предоставив все разрешения.
6. Кликните на "Run".
Теперь при изменении таблицы данные автоматически подгружаются в amoCRM.
