# Списки и таблицы

Блоки этой группы работают с данными, которые хранятся отдельно от контакта: каталог товаров, расписание, заявки, промокоды. Бот может показать такие данные человеку, добавить новую запись, проверить, есть ли она, или удалить её.

Данные хранятся в одном из трёх мест:

- **Списки** — раздел «Списки» проекта. У списка есть поля с названиями и типами: текст, число, дата, деньги, изображение, файл и другие. Бот умеет в них всё: читать, добавлять, обновлять, проверять и удалять записи. Для данных, которые сценарий сам пишет и сам читает, это самый простой вариант.
- **Таблицы** — раздел «Таблицы» проекта. Это электронная таблица с листами, строками и столбцами A, B, C… Бот умеет только читать её строки.
- **Google Таблицы** — таблица в вашем аккаунте Google. Бот читает, добавляет, обновляет и удаляет строки, но сначала к боту нужно подключить аккаунт Google. Подходит, когда с данными работают и вне платформы.

Как добавлять блоки и соединять их выходы — в [обзоре раздела](https://support.watbot.ru/chatbots/blocks).

## Общие настройки блоков списков

Эти настройки повторяются в блоках списков. На страницах блоков описаны только отличия.

### Список

В поле «Список» выберите, с каким списком работает блок. Списки принадлежат проекту и доступны любому его боту. Если списков много, сначала идут «Созданы в этом боте», затем «Другие списки проекта» — с подписью, где список завели.

Кнопка «Открыть списки» рядом с полем открывает окно списков: в нём можно создать список, изменить его поля и посмотреть записи, не выходя из схемы.

![Окно списков, открытое из блока: записи списка «Букеты»](https://support.watbot.ru/_media/ru/01-chatbots/03-blocks/07-lists/_images/lists-window.webp?v=1791781230)

Остальные настройки появляются после выбора списка. В блоках чтения при выборе другого списка фильтры, сортировка и шаблоны сбрасываются.

### Фильтры

Фильтр отбирает записи по значениям полей. Каждое условие состоит из четырёх частей:

- **«И» / «ИЛИ»** — как условие связано с предыдущими.
- **Поле** — поле списка. Кроме своих полей доступны «Дата создания записи» и «Дата обновления записи».
- **Сравнение** — `=`, `>`, `<`, `>=`, `<=`, `!=`.
- **«Значение»** — с чем сравнивать, до 64 символов.

В значении работают [автоподстановки](https://support.watbot.ru/chatbots/templates). Так запись находят по данным контакта: например, поле «Телефон» `=` `{{ phone }}` или поле «Клиент» `=` `{{ id }}`.

Значение приводится к типу поля: для числа — к числу, для денег — к сумме, для даты — к дате. Дату пишите в виде `2026-10-02` или `2026-10-02 14:30`. Для поля с контактом или ботом укажите его номер.

Новое условие добавляет кнопка «Добавить поле».

![Фильтр блока чтения: поле «Цена» меньше или равно переменной «бюджет»](https://support.watbot.ru/_media/ru/01-chatbots/03-blocks/07-lists/_images/lists-filters.webp?v=1791781230)

> [!WARNING]
> В блоках чтения условие с пустым значением пропускается, как будто его нет. Пустой считается и переменная, которой у контакта нет; `0` пустым не считается. Если так пропадут все условия, блок покажет весь список целиком. Блок «Удаление записей из списка» с пустым условием ничего не удаляет.

### Поиск по фразе контакта

В блоках «Чтение записей из списка», «Чтение записи из списка» и «Удаление записи из списка» запись можно искать по тексту, который прислал человек:

- **«Поле для поиска»** — поле списка, в котором искать. Бот ищет текст, с которым человек попал в блок: по выходу «Любая другая фраза» предыдущего блока или из блока «Встроенный бот Телеграм».
- **«Тип поиска»** — как сравнивать текст поля с фразой: «Поисковая фраза содержится в тексте», «Поисковая фраза совпадает с текстом», «Текст начинается с поисковой фразы», «Текст заканчивается поисковой фразой».

![Поиск по фразе контакта: поле «Название», «Поисковая фраза содержится в тексте»](https://support.watbot.ru/_media/ru/01-chatbots/03-blocks/07-lists/_images/lists-search.webp?v=1791781230)

### Шаблон цепочки сообщений

Блоки чтения не сохраняют запись в переменные. Они сразу отправляют её человеку — в том виде, который задан в разделе «Шаблон цепочки сообщений». Шаблон собирается из частей, для каждой записи бот отправляет их по порядку:

- **«Шаблон»** — текст сообщения. Под полем есть кнопки «ID», «Дата создания» и кнопки с названиями полей списка. Кнопка вставляет в текст подстановку поля, например `{{ nazvanie }}`. При отправке на её месте окажется значение из записи.
- **«Фото»** — картинка из поля списка, в котором хранится изображение.
- **«Файл»** — файл из поля списка, в котором хранится файл.

Части можно менять местами перетаскиванием. Если сразу после фото идёт текст, он станет подписью к картинке. Если у записи нет фото или файла, эта часть пропускается.

![Шаблон цепочки сообщений: текст с подстановками полей и кнопки «Шаблон», «Фото», «Файл»](https://support.watbot.ru/_media/ru/01-chatbots/03-blocks/07-lists/_images/lists-template.webp?v=1791781230)

Денежное поле подставляется уже оформленным — с разделителями и знаком валюты, поэтому знак валюты рядом писать не нужно. Чтобы показать сумму в другой валюте, укажите её код после черты: `{{ cena | USD }}`.

В тексте шаблона работают и обычные [автоподстановки](https://support.watbot.ru/chatbots/templates) — например, `{{ first_name }}`.

> [!TIP]
> Вывести запись списка можно и в любом другом сообщении бота — функциями `getListRow` и `getListRows`. Они описаны в [справочнике функций](https://support.watbot.ru/chatbots/templates/functions#списки).

### Сортировка

В разделе «Сортировка» выберите поле (или «ID») и порядок: «По возрастанию» или «По убыванию». Можно задать до трёх полей.

![Сортировка: сначала по цене, затем по названию, по возрастанию](https://support.watbot.ru/_media/ru/01-chatbots/03-blocks/07-lists/_images/lists-sort.webp?v=1791781230)

## Общие настройки блоков Google Таблиц

### Подключение аккаунта Google

Блоки обращаются к таблице от имени аккаунта Google, который подключён к боту. Подключите его один раз:

1. Откройте настройки бота и перейдите на вкладку «Интеграции».
2. Выберите «Google Таблицы» — откроется окно «Интеграция с Google Таблицами».
3. Нажмите кнопку входа через Google и разрешите доступ.
4. Выберите привязанный аккаунт в поле «Аккаунт» и сохраните.

Таблица должна быть доступна этому аккаунту. Без подключения блок отправит человеку «Добавьте интеграцию с Google Таблицами в разделе Интеграции.» и остановится.

### Таблица и лист

- **«Ссылка на таблицу»** — адрес таблицы из браузера, вида `https://docs.google.com/spreadsheets/d/...`.
- **«Лист»** — лист таблицы. Список листов загружается после вставки ссылки.

> [!IMPORTANT]
> Подходят только таблицы формата Google Таблиц. Файлы Microsoft Excel (`.xlsx`), открытые в Google, не поддерживаются.

### Диапазон строк для обработки

Поля «От» и «до» задают, с какой по какую строку листа блок читает данные. По умолчанию — со 2-й по 100000-ю: первая строка считается заголовком. Чем меньше диапазон, тем быстрее работает блок. Фильтры и сортировка действуют только внутри диапазона.

### Фильтры по столбцам

Условие состоит из столбца (буква: A, B, C…), сравнения и значения. Значение добавляется одной из кнопок:

- «Добавить переменную» — переменная контакта;
- «Добавить константу» — данные контакта: «ID», «ID мессенджера», «Bot ID», «Username», «Имя», «Телефон», «Email», «Адрес», «Дата создания», «Referrer ID»;
- «Добавить глобальную переменную» — глобальная переменная бота;
- «Добавить текст» — произвольный текст, в нём работают [автоподстановки](https://support.watbot.ru/chatbots/templates) с простыми функциями.

Сравнения:

| Сравнение | Когда строка подходит |
|---|---|
| `=` | Ячейка равна значению |
| `!=` | Ячейка не равна значению |
| `>`, `>=`, `<`, `<=` | Ячейка больше или меньше значения. Пустая ячейка не подходит никогда |
| `in` | Ячейка содержит значение |
| `not in` | Ячейка не содержит значение |

Строка должна подойти под все условия сразу. Регистр букв в `=`, `!=`, `in` и `not in` не учитывается. Числа сравниваются как числа — и с точкой, и с запятой.

### Ограничения

- Число обращений к Google в минуту ограничено. Когда контактов много, блок ждёт своей очереди, и бот отвечает с задержкой.
- Если Google вернул ошибку, бот отправит человеку сообщение об ошибке и дальше не пойдёт. Подробности — в «Логе выполнения» блока.
