# Списки й таблиці

Блоки цієї групи працюють із даними, які зберігаються окремо від контакту: каталог товарів, розклад, заявки, промокоди. Бот може показати такі дані людині, додати новий запис, перевірити, чи він є, або видалити його.

Дані зберігаються в одному з трьох місць:

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

Як додавати блоки та з'єднувати їхні виходи — в [огляді розділу](https://support.watbot.org/uk/chatbots/blocks).

## Спільні налаштування блоків списків

Ці налаштування повторюються в блоках списків. На сторінках блоків описано лише відмінності.

### Список

У полі «Список» виберіть, з яким списком працює блок. Списки належать проєкту й доступні будь-якому його боту. Якщо списків багато, спочатку йдуть «Створені в цьому боті», потім «Інші списки проєкту» — з підписом, де список завели.

Кнопка «Відкрити списки» поруч із полем відкриває вікно списків: у ньому можна створити список, змінити його поля й переглянути записи, не виходячи зі схеми.

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

Решта налаштувань з'являється після вибору списку. У блоках читання під час вибору іншого списку фільтри, сортування та шаблони скидаються.

### Фільтри

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

- **«І» / «АБО»** — як умова пов'язана з попередніми.
- **Поле** — поле списку. Крім власних полів доступні «Дата створення запису» та «Дата поновлення запису».
- **Порівняння** — `=`, `>`, `<`, `>=`, `<=`, `!=`.
- **«Значення»** — з чим порівнювати, до 64 символів.

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

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

Нову умову додає кнопка «Додати поле».

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

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

### Пошук за фразою контакту

У блоках «Читання записів зі списку», «Читання запису зі списку» та «Видалення запису зі списку» запис можна шукати за текстом, який надіслала людина:

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

![Пошук за фразою контакту: поле «Назва», «Пошукова фраза міститься в тексті»](https://support.watbot.org/_media/uk/01-chatbots/03-blocks/07-lists/_images/lists-search.webp?v=1791781231)

### Шаблон ланцюжка повідомлень

Блоки читання не зберігають запис у змінні. Вони одразу надсилають його людині — у тому вигляді, який задано в розділі «Шаблон ланцюжка повідомлень». Шаблон збирається з частин, для кожного запису бот надсилає їх по черзі:

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

Частини можна міняти місцями перетягуванням. Якщо одразу після фото йде текст, він стане підписом до картинки. Якщо в запису немає фото або файлу, ця частина пропускається.

![Шаблон ланцюжка повідомлень: текст із підстановками полів і кнопки «Шаблон», «Фото», «Файл»](https://support.watbot.org/_media/uk/01-chatbots/03-blocks/07-lists/_images/lists-template.webp?v=1791781231)

Грошове поле підставляється вже оформленим — із роздільниками та знаком валюти, тому знак валюти поруч писати не потрібно. Щоб показати суму в іншій валюті, укажіть її код після риски: `{{ cena | USD }}`.

У тексті шаблону працюють і звичайні [автопідстановки](https://support.watbot.org/uk/chatbots/templates) — наприклад, `{{ first_name }}`.

> [!TIP]
> Вивести запис списку можна і в будь-якому іншому повідомленні бота — функціями `getListRow` і `getListRows`. Їх описано в [довіднику функцій](https://support.watbot.org/uk/chatbots/templates/functions#списки).

### Сортування

У розділі «Сортування» виберіть поле (або «ID») і порядок: «За зростанням» або «За зменшенням». Можна задати до трьох полів.

![Сортування: спершу за ціною, потім за назвою, за зростанням](https://support.watbot.org/_media/uk/01-chatbots/03-blocks/07-lists/_images/lists-sort.webp?v=1791781231)

## Спільні налаштування блоків 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.org/uk/chatbots/templates) з простими функціями.

Порівняння:

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

Рядок має підійти під усі умови одразу. Регістр літер у `=`, `!=`, `in` і `not in` не враховується. Числа порівнюються як числа — і з крапкою, і з комою.

### Обмеження

- Кількість звернень до Google за хвилину обмежена. Коли контактів багато, блок чекає своєї черги, і бот відповідає із затримкою.
- Якщо Google повернув помилку, бот надішле людині повідомлення про помилку й далі не піде. Подробиці — у розділі «Лог виконання» блоку.
