# Як використати пошук з автодоповненням у Custom Data?

Пошук з автодоповненням дозволяє користувачам швидко знаходити потрібні записи, обираючи з унікальних значень, які зберігаються в базі. Користувач обирає з унікальних значень, які зберігаються в його константу.

## Коли знадобиться

- Потрібно дозволити користувачам вибирати значення з існуючих записів у таблиці.
- Треба створити каскадний пошук (кожен наступний вибір залежить від попереднього).
- Потрібно спростити введення даних, запропонувавши готові варіанти.

## Що важливо знати

- **Пошук з автодоповненням** — блок пошуку, який показує унікальні значення з колонки моделі.
- Користувач обирає з унікальних значень, які зберігаються в його константу.
- Можна використовувати кілька блоків пошуку послідовно — кожен наступний враховує вибір у попередньому.
- Після вибору всіх значень використайте дію `custom_modules__get` для отримання запису.

## Перед початком

- [x] Ви увійшли в систему з правами інтегратора або адміністратора.
- [x] У системі є створена модель Custom Data з записами та унікальними значеннями.
- [x] Ви маєте доступ до конструктора сценаріїв.

## Покрокова інструкція

### Налаштування блоку пошуку

1. Перейдіть у **конструктор сценаріїв** бота.
2. Додайте блок **"Пошук з автодоповненням"** (або аналогічний блок для пошуку в Custom Data).
3. У налаштуваннях блоку вкажіть конфігурацію (JSON):

```json
{
  "module_name": "textile",
  "field": "collection"
}
```

- `module_name` — назва моделі (наприклад, "textile", "product", "customer")
- `field` — назва колонки, з якої вибираються унікальні значення (наприклад, "collection", "category", "brand")

4. Збережіть зміни в блоці.

### Каскадний пошук (кілька блоків послідовно)

Якщо потрібно використати кілька блоків пошуку послідовно:

1. Додайте перший блок пошуку з полем першого рівня (наприклад, "collection").
2. Додайте другий блок пошуку з полем другого рівня (наприклад, "color").
3. Кожен наступний блок автоматично враховує вибір у попередньому, фільтруючи доступні варіанти.
4. Після вибору всіх значень додайте блок "Дія" з функцією `custom_modules__get` для отримання повного запису.

### Отримання запису після пошуку

1. Після вибору значень у блоках пошуку додайте блок **"Дія"**.
2. Оберіть функцію **`custom_modules__get`**.
3. Налаштуйте параметри для отримання запису (див. інструкцію "Як використати дію custom_modules__get").

## Приклад використання

**Сценарій каскадного пошуку:**
1. Блок пошуку → `module_name: "textile"`, `field: "collection"` → користувач обирає колекцію
2. Блок пошуку → `module_name: "textile"`, `field: "color"` → користувач обирає колір (враховується вибрана колекція)
3. Блок "Дія" з `custom_modules__get` → отримує повний запис з усіма полями

## Що відбувається після

Після вибору значень у блоках пошуку вибрані значення зберігаються в константи користувача. Після використання `custom_modules__get` повний запис стає доступним для використання в наступних блоках сценарію.

## Як переконатися, що все вдалось

- Перевірте, що блок пошуку налаштовано з правильною назвою моделі та полем.
- Переконайтеся, що в моделі є унікальні значення для обраного поля.
- Протестуйте сценарій та перевірте, що користувач бачить список унікальних значень.
- Перевірте, що після вибору значення воно зберігається в константу.

## Пов'язані матеріали

- [Використати дію custom_modules__get](/uk/customdata/how-to/use-custom-modules-get.md)
- [Використати дію custom_modules__set](/uk/customdata/how-to/use-custom-modules-set.md)
- [Створити модель](/uk/customdata/how-to/create-model.md)

