# Trabajar con tablas de MaviBot

## Crear un nuevo registro en la tabla con los valores especificados

Crear un nuevo registro en una tabla con los valores especificados.

new\_record(table\_id, data)

<table><thead><tr><th width="188.26171875">Parámetros</th><th>Descripción</th></tr></thead><tbody><tr><td>table_id </td><td>ID de la tabla</td></tr><tr><td>data</td><td>un diccionario con los datos que se van a registrar.<br><br>Ejemplo: {"column_name1": "value1", "column_name2": "value2"}. Si la columna no existe, se crea.</td></tr></tbody></table>

Respuesta: ID del nuevo registro

### Ejemplo

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

## Editar un registro existente en la tabla

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

<table><thead><tr><th width="304.22265625">Parámetros</th><th>Descripción</th></tr></thead><tbody><tr><td>table_id</td><td>ID de la tabla</td></tr><tr><td>record_id</td><td>ID del registro editado</td></tr><tr><td>data</td><td>un diccionario con los datos que se van a editar. Ejemplo: {"column_name1": "value3", "column_name2": "value4"}. Si la columna no existe, NO se crea.</td></tr></tbody></table>

Respuesta:

Devuelve los datos completos del registro editado en el formato: {"column\_name1": "value3", "column\_name2": "value4"}.

### Ejemplo

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

## Eliminar un registro de la tabla por su ID

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

<table><thead><tr><th width="298.4140625">Parámetros</th><th>Descripción</th></tr></thead><tbody><tr><td>table_id</td><td>ID de la tabla</td></tr><tr><td>record_id</td><td> ID del registro eliminado</td></tr></tbody></table>

Respuesta:

{'message': 'Registros eliminados: 1'}

## Encontrar un registro en la tabla por el valor especificado

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

<table><thead><tr><th width="304.22265625">Parámetros</th><th>Descripción</th></tr></thead><tbody><tr><td>table_id</td><td>ID de la tabla</td></tr><tr><td>value</td><td>el valor que coincida</td></tr><tr><td>find_in - </td><td>parámetro opcional. El nombre de la columna por la que se debe buscar. Si no se especifica, la búsqueda se realizará en todas las columnas.</td></tr><tr><td>return_from</td><td>parámetro opcional. El nombre de la columna de la que se devolverá el valor.</td></tr></tbody></table>

Respuesta:

Si se especifica return\_from, se devolverá el valor de la columna especificada (si existe en la tabla). Si no se especifica return\_from o la columna no existe, se devolverán en la respuesta los datos completos del registro encontrado, por ejemplo: {"column\_name1": "value3", "column\_name2": "value4"}.

### Ejemplo

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

## Obtención de un valor del registro especificado

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

<table><thead><tr><th width="298.4140625">Parámetros</th><th>Descripción</th></tr></thead><tbody><tr><td>table_id</td><td>ID de la tabla</td></tr><tr><td>record_id</td><td>ID del registro del que se obtienen los valores</td></tr><tr><td>return_column</td><td>parámetro opcional. El nombre de la columna de la que se debe devolver el valor.</td></tr></tbody></table>

Respuesta: Si se encuentra un registro, se devuelve un diccionario como {"column\_name1": "value1", "column\_name2": "value2"}. Si se proporciona el parámetro return\_column y existe dicha columna, solo se devolverá el valor de esa columna.

### ¿Dónde puedo encontrar el ID de una tabla?

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

Para trabajar con las funciones del chatbot, necesitarás el ID de la tabla. Encuentra la tabla deseada en la lista y haz clic en ella.

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

Luego, haz clic en la barra de direcciones.

En la barra de direcciones, verás una URL como&#x20;<https://salebot.pro/projects/11111/table/2>,&#x20;donde puedes encontrar el ID de la tabla deseada:

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

## Obtención de un registro de la tabla

get\_records\_from\_table(table\_id, start\_row, count, start\_col, end\_col) - obtención de un registro de la tabla.

| Parámetro  | Descripción                                                                          | Nota                                                                                                         |
| ---------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| table\_id  | ID de la tabla                                                                       |                                                                                                              |
| start\_row | Parámetro opcional, un entero. Especifica el inicio del rango de filas.              | El número de fila desde el que se comenzará a leer (incluido). Escríbelo sin comillas.                       |
| count      | Parámetro opcional, un entero. Especifica la cantidad de filas que se van a obtener. | Por defecto, el valor es 1000, con un máximo de 5000. Especifica sin comillas.                               |
| start\_col | Parámetro opcional, una cadena. Especifica el inicio del rango de columnas.          | El nombre de la columna desde la que se comenzará a leer (incluida). Escríbelo entre comillas.               |
| end\_col   | Parámetro opcional, una cadena. Especifica el final del rango de columnas.           | El nombre de la columna hasta la que se leerán los valores de la tabla (incluida). Escríbelo entre comillas. |

Si especificas solo el inicio del rango de filas o columnas, se devolverán todos los datos a partir de ese punto. También puedes omitir el inicio y especificar solo el final para obtener los datos hasta ese punto.

### Ejemplo

En el bloque donde necesitas obtener registros de la tabla, ve a la **"Calculadora"** sección en la configuración del bloque e introduce la función con los parámetros necesarios.

Veamos cómo se muestran los datos en la tabla.

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

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

Ahora, ejecuta el bloque "Inicio" en modo de prueba.

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

Podemos ver los datos que se escribieron en la variable desde la tabla en el mensaje enviado por el bot. Como referenciamos la variable en el mensaje usando la `#{}` sintaxis, los datos almacenados en ella se mostraron en el chat del bot.

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

## Obtener datos de la tabla dentro de un rango especificado

table\_read\_cells(table\_id, cell\_data) - permite obtener datos de la tabla especificando rangos.

<table><thead><tr><th width="286.37890625">Parámetro</th><th>Descripción</th></tr></thead><tbody><tr><td><mark style="color:rojo;"><strong>!</strong></mark> table_id</td><td>parámetro requerido, ID de la tabla</td></tr><tr><td><mark style="color:rojo;"><strong>!</strong></mark> cell_data</td><td>parámetro requerido, un diccionario con rangos.<br><strong>cell_data</strong> ejemplo: <code>'{"a1":"a1", "a3": "b4", "c1": "c3"}'</code></td></tr></tbody></table>

Si no ocurrieron problemas durante la solicitud, la respuesta será un diccionario que contiene el estado y todas las celdas con sus valores:

`{"status": true, "A1": "value", "A3": "value", "B3": "value", "A4": "value", "B4": "value", "C1": "", "C2": "value", "C3": "ddddddd" o, en caso de error: {"status": false, "err": "Mensaje de error o descripción"}`

### Ejemplo en la Calculadora

Por ejemplo, las celdas de la tabla contienen los siguientes valores especificados:

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

Para obtener datos de la tabla a través del bot, pasa los rangos requeridos a las funciones en la **Calculadora**.

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

En el ejemplo, la construcción #{res}, que contiene una variable, ayuda a mostrar en el mensaje los datos obtenidos mediante la función y el rango especificado:

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

Si los nombres de las columnas son diferentes (por ejemplo, "Product", "Number", "Amount"), debes especificar el rango usando el formato {"Product1":"Amount3"}, donde:

• **Product** es el nombre de la primera columna\
• **1** indica que es la columna número 1\
• **Importe** es el nombre de la tercera columna\
• **3** indica que es la columna número 3

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

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

<div data-with-frame="true"><figure><img src="/files/fb160a4c5016fc642e8286c000920d20a1a7cf19" 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/es/chatbot/functions/calculadora/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.
