Чтобы получить текстовые значения списочных полей вместо их числовых идентификаторов при использовании Bitrix24 API и Apps Script, вам нужно включить параметр "runtime" в ваш url-запрос.
Измените ваш url-запрос следующим образом:
https://xxx.bitrix24.ru/rest/1/xxx/crm.deal.list?select[]=UF_xxx&runtume=UF_xxx
Замените "UF_xxx" на фактическое название вашего пользовательского поля. Это позволит вам получить текстовые значения, связанные с пользовательским полем, вместо идентификаторов.
Чтобы передать названия пользовательских полей в заголовках Google таблицы, вам нужно указать эти названия вручную в вашем скрипте Apps Script. Ниже приведен пример кода, который выполняет это:
```javascript
function writeToSheet() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var headers = {
UF_xxx: "Название поля 1",
UF_yyy: "Название поля 2",
UF_zzz: "Название поля 3"
};
var data = getBitrixData(); // Ваш код для получения данных из Bitrix24 API
// Запись названий полей в заголовки таблицы
var row = 1;
var col = 1;
for (var field in headers) {
sheet.getRange(row, col).setValue(headers[field]);
col++;
}
// Запись данных в таблицу
row = 2;
col = 1;
for (var i = 0; i < data.length; i++) {
for (var field in headers) {
if (data[i][field]) {
sheet.getRange(row, col).setValue(data[i][field]);
}
col++;
}
row++;
col = 1;
}
}
```
В этом примере `headers` - это объект, который сопоставляет названия пользовательских полей с соответствующими названиями заголовков таблицы. Ваш код для получения данных из Bitrix24 API должен быть вставлен в функцию `getBitrixData()`, чтобы получить данные из API и вернуть их в формате массива объектов.
Этот код записывает названия полей в первую строку таблицы и данные в следующие строки, в соответствии с их положением в заголовке.
Убедитесь, что вы правильно настроили URL-запрос и измените код Apps Script в соответствии с вашими конкретными требованиями и структурой данных.