# Робота з таблицями MaviBot

## Створити новий запис у таблиці з указаними значеннями

Створити новий запис у таблиці з указаними значеннями.

new\_record(table\_id, data)

<table><thead><tr><th width="188.26171875">Параметри</th><th>Опис</th></tr></thead><tbody><tr><td>table_id </td><td>ID таблиці</td></tr><tr><td>data</td><td>словник із даними, які потрібно записати.<br><br>Приклад: {"column_name1": "value1", "column_name2": "value2"}. Якщо стовпець не існує, його буде створено.</td></tr></tbody></table>

Відповідь: ID нового запису

### Приклад

<div data-with-frame="true"><figure><img src="/files/f2550415b8e97c8fcc033b1ef81acb522952bde9" alt="" width="563"><figcaption></figcaption></figure></div>

## Редагувати наявний запис у таблиці

edit\_record(table\_id, record\_id, data)

<table><thead><tr><th width="304.22265625">Параметри</th><th>Опис</th></tr></thead><tbody><tr><td>table_id</td><td>ID таблиці</td></tr><tr><td>record_id</td><td>ID відредагованого запису</td></tr><tr><td>data</td><td>словник із даними, які потрібно відредагувати. Приклад: {"column_name1": "value3", "column_name2": "value4"}. Якщо стовпець не існує, він НЕ створюється.</td></tr></tbody></table>

Відповідь:

Повертає повні дані відредагованого запису у форматі: {"column\_name1": "value3", "column\_name2": "value4"}.

### Приклад

<div data-with-frame="true"><figure><img src="/files/ada5d9091afbeb27348c14945b539a6499819c00" alt="" width="563"><figcaption></figcaption></figure></div>

## Видалити запис із таблиці за його ID

delete\_record(table\_id, record\_id)

<table><thead><tr><th width="298.4140625">Параметри</th><th>Опис</th></tr></thead><tbody><tr><td>table_id</td><td>ID таблиці</td></tr><tr><td>record_id</td><td> ID видаленого запису</td></tr></tbody></table>

Відповідь:

{'message': 'Видалено записів: 1'}

## Знайти запис у таблиці за вказаним значенням

find\_record(table\_id, value, find\_in, return\_from)

<table><thead><tr><th width="304.22265625">Параметри</th><th>Опис</th></tr></thead><tbody><tr><td>table_id</td><td>ID таблиці</td></tr><tr><td>value</td><td>значення для зіставлення</td></tr><tr><td>find_in - </td><td>необов’язковий параметр. Назва стовпця, за яким виконувати пошук. Якщо не вказано, пошук буде виконано по всіх стовпцях.</td></tr><tr><td>return_from</td><td>необов’язковий параметр. Назва стовпця, з якого потрібно повернути значення.</td></tr></tbody></table>

Відповідь:

Якщо return\_from вказано, буде повернено значення з указаного стовпця (якщо він існує в таблиці). Якщо return\_from не вказано або стовпець не існує, у відповіді буде повернуто повні дані знайденого запису, наприклад: {"column\_name1": "value3", "column\_name2": "value4"}.

### Приклад

<div data-with-frame="true"><figure><img src="/files/446c825cd5d1afed58ab21136382deec684e004f" alt=""><figcaption></figcaption></figure></div>

## Отримання значення з указаного запису

get\_record\_data(table\_id, record\_id)

<table><thead><tr><th width="298.4140625">Параметри</th><th>Опис</th></tr></thead><tbody><tr><td>table_id</td><td>ID таблиці</td></tr><tr><td>record_id</td><td>ID запису, з якого отримуються значення</td></tr><tr><td>return_column</td><td>необов’язковий параметр. Назва стовпця, з якого слід повернути значення.</td></tr></tbody></table>

Відповідь: якщо запис знайдено, повертається словник на кшталт {"column\_name1": "value1", "column\_name2": "value2"}. Якщо вказано параметр return\_column і такий стовпець існує, буде повернуто лише значення з цього стовпця.

### Де я можу знайти ID таблиці?

<div data-with-frame="true"><figure><img src="/files/2449b03d88df45b4d08a56a6e0d56803bebad01d" alt="" width="220"><figcaption></figcaption></figure></div>

Щоб працювати з функціями чатбота, вам знадобиться ID таблиці. Знайдіть потрібну таблицю в списку та натисніть на неї.

<div data-with-frame="true"><figure><img src="/files/b8484a331dab13281a67af3da544f7099eb316dc" alt=""><figcaption></figcaption></figure></div>

Далі натисніть на адресний рядок.

В адресному рядку ви побачите URL на кшталт&#x20;<https://salebot.pro/projects/11111/table/2>,&#x20;де можна знайти ID потрібної таблиці:

<div data-with-frame="true"><figure><img src="/files/bd28625af421a24ccbe56e470ff47459850fbe31" alt="" width="563"><figcaption></figcaption></figure></div>

## Отримання запису з таблиці

get\_records\_from\_table(table\_id, start\_row, count, start\_col, end\_col) - отримання запису з таблиці.

| Параметр   | Опис                                                                        | Примітка                                                                    |
| ---------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| table\_id  | ID таблиці                                                                  |                                                                             |
| start\_row | Необов’язковий параметр, ціле число. Вказує початок діапазону рядків.       | Номер рядка, з якого почати читання (включно). Пишіть без лапок.            |
| count      | Необов’язковий параметр, ціле число. Вказує кількість рядків для отримання. | За замовчуванням значення — 1000, максимум — 5000. Вказуйте без лапок.      |
| start\_col | Необов’язковий параметр, рядок. Вказує початок діапазону стовпців.          | Назва стовпця, з якого почати читання (включно). Пишіть у лапках.           |
| end\_col   | Необов’язковий параметр, рядок. Вказує кінець діапазону стовпців.           | Назва стовпця, до якого читати значення таблиці (включно). Пишіть у лапках. |

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

### Приклад

У блоці, де потрібно отримати записи з таблиці, перейдіть до **"Калькулятор"** розділу в налаштуваннях блока та введіть функцію з потрібними параметрами.

Давайте подивимося, як дані відображаються в таблиці.

<div data-with-frame="true"><figure><img src="/files/0f2b808402ebced231ddc9381c733d18e831335e" alt=""><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/04691ad8838150aa2830fd31b43f4b3c6aea7424" alt="" width="563"><figcaption></figcaption></figure></div>

Тепер виконайте блок "Start" у тестовому режимі.

<div data-with-frame="true"><figure><img src="/files/c19fdf013e5eb5c01936234a3c6940701c4f5191" alt="" width="375"><figcaption></figcaption></figure></div>

Ми бачимо дані, які були записані в змінну з таблиці, у повідомленні, надісланому ботом. Оскільки ми посилалися на змінну в повідомленні за допомогою `#{}` синтаксису, дані, що зберігалися в ній, відобразилися в чаті бота.

<div data-with-frame="true"><figure><img src="/files/9a2c704d0a258eb4f4e519341671c1986132ddc1" alt="" width="563"><figcaption></figcaption></figure></div>

## Отримати дані з таблиці в межах указаного діапазону

table\_read\_cells(table\_id, cell\_data) - дає змогу отримувати дані з таблиці, вказуючи діапазони.

<table><thead><tr><th width="286.37890625">Параметр</th><th>Опис</th></tr></thead><tbody><tr><td><mark style="color:red;"><strong>!</strong></mark> table_id</td><td>обов’язковий параметр, ID таблиці</td></tr><tr><td><mark style="color:red;"><strong>!</strong></mark> cell_data</td><td>обов’язковий параметр, словник із діапазонами.<br><strong>cell_data</strong> приклад: <code>'{"a1":"a1", "a3": "b4", "c1": "c3"}'</code></td></tr></tbody></table>

Якщо під час запиту не виникло жодних проблем, відповідь буде словником, що містить статус і всі комірки з їхніми значеннями:

`{"status": true, "A1": "value", "A3": "value", "B3": "value", "A4": "value", "B4": "value", "C1": "", "C2": "value", "C3": "ddddddd"або, у разі помилки: {"status": false, "err": "Повідомлення або опис помилки"}`

### Приклад у калькуляторі

Наприклад, комірки таблиці містять такі задані значення:

<div data-with-frame="true"><figure><img src="/files/8e87e8cb5434eed803608ac77892a002132dc917" alt="" width="563"><figcaption></figcaption></figure></div>

Щоб отримати дані з таблиці через бота, передайте потрібні діапазони у функції в **Калькуляторі**.

<div data-with-frame="true"><figure><img src="/files/674dd371423d2222a08da52854836b28fbc77bb9" alt="" width="563"><figcaption></figcaption></figure></div>

У прикладі конструкція #{res}, яка містить змінну, допомагає показати в повідомленні дані, отримані за допомогою функції та вказаного діапазону:

<div data-with-frame="true"><figure><img src="/files/e3a2148b2ad64352e09effcf62f6a50b08797dfc" alt="" width="563"><figcaption></figcaption></figure></div>

Якщо назви стовпців різні (наприклад, "Product", "Number", "Amount"), потрібно вказати діапазон у форматі {"Product1":"Amount3"}, де:

• **Product** є назвою першого стовпця\
• **1** означає, що це стовпець номер 1\
• **Сума** є назвою третього стовпця\
• **3** означає, що це стовпець номер 3

<div data-with-frame="true"><figure><img src="/files/e5012811597412d2610dd954e674007834278f46" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/d85bc60b4ab0f13d55e44ffeb9380fa5c5f4fdc8" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/44df0f66d56b726a524f8fc40c3965d619274f25" alt="" width="563"><figcaption></figcaption></figure></div>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/uk/chatbot/functions/kalkulyator/tables.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
