> For the complete documentation index, see [llms.txt](https://jetbot.gitbook.io/help_docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jetbot.gitbook.io/help_docs/sozdanie-chat-botov/magazin/stranica-1.md).

# Блоки "Чтение записи/записей из списка"

![](/files/-MfrLXSV6y7sSmKk6DEp)

&#x20;Данные блоки используются для того, чтобы выводить в бота информацию, сохраненную в виде списков (списки - это инструмент в конструкторе, аналогичный эксель таблице).\
\
**Настройки блоков состоят из:**\
1\. Поле с выбором бота, в личном кабинете которого создан список\
2\. Поле с выбором нужного списка\
3\. Стандартный набор настроек (подробное описание каждой настройки можно посмотреть на примере блока "цепочка сообщений")

![](/files/-MfrLnEjxxRATWJvi9YE)

Чтобы начать использовать блоки "вывод записей списка", списки нужно для начала создать.

Для создания списка в настройках в левой части экрана нажимаем на кнопку "списки":

![](/files/-MfrLxCtJpPJ-aSK5he8)

На данном экране выводятся все списки, имеющиеся в данном боте.\
У каждого бота есть список под названием "контакты". Этот список создается автоматически и в нем записываются все пользователи бота, которые хоть один раз перешли в бота. Список контактов можно просмотреть в любой момент (в нем содержаться данные о пользователе боте - имя, телефон, username, присвоенные теги, дата первого захода в бота) и выгрузить в виде excel таблицы.

Чтобы создать свой собственный список, нажимаем кнопку "создать список":

![](/files/-MfrM2hVKeeMP0aCenzg)

Задаем имя для списка.

Далее переходим к настройкам полей в списке: \
1\. Выбираем тип информации - которая будет отражаться в поле №1. Если проводить аналогию с эксель таблицей, то поле в конструкторе - это как столбцы в эксель таблице.

В конструкторе мы можем выбрать тип информации, которая будет отображаться в поле.

1. Имя - задаем имя для поля
2. Ползунок "Обязательность заполнения поля"

   Когда мы начнем заполнять создаваемый нами список (т.е. заполнять таблицу данными), то данное поле (=данный столбец) будет являться обязательным для заполнения, если стоит включено
3. Переключатель "Скрыть поле из интерфейса" - это поле для отображения будет доступно только через API
4. Добавить еще одно поле (=столбец в таблицу)

\
После того, как все поля созданы нажимаем "создать" список и переходим к заполнению списка.

![](/files/-MfrMFdxcfo5-pM4DmAq)

Создадим для примера список, в котором будет следующая информация:&#x20;

1ый столбец - название страны&#x20;

2ой столбец - столица этой страны&#x20;

3ий столбец - количество населения в стране&#x20;

4ый столбец - фотография флага

Создаем 1ое поле (для данных по странам):\
\- выбираем тип поля - "текст", т.к. название страны - это текстовая информация\
\- задаем имя для поля - например "Название страны"

![](/files/-MfrMPBSu76ilth4d7QV)

Добавляем 2ое поле (для данных по столицам):\
\- выбираем тип поля - "текст", т.к. название столицы - это текстовая информация\
\- задаем имя для поля - например "Столица"

Добавляем 3е поле (для данных по населению):\
\- выбираем тип поля - "число", т.к. количество населения - это числовая информация\
\- задаем имя для поля - например "Население"

Добавляем 4ое поле (для флага):\
\- выбираем тип поля - "картинка"\
\- задаем имя для поля - например "Флаг"

Нажимаем кнопку "Создать" и список создается. Переходим в раздел со списками и видим новый созданный список.

![](/files/-MfrMYWKTtf21FZrvrJe)

Заходим с созданный список - он пустой, т.к. мы еще не добавляли записи.

Добавить записи можно 2му способами: \
1\. Добавить записи по одной вручную, нажав кнопку "+добавить запись" \
2\. Импортировать записи из excel файла

![](/files/-MfrMer6rlkLy9l3CkRI)

\
Добавим вручную, для примера. Нажимаем кнопку "+добавить запись" и попадаем в меню добавления записи в список.

Здесь необходимо заполнить четыре поля, которые мы с Вами задали ранее для этого списка и нажать кнопку "создать" после заполнения.

![](/files/-MfrMkam-4ZLyNPNM_kq)

Таким образом,  данные вносятся в список.

Давайте внесем 5 стран и посмотрим, как выводить эти данные в бота.

После добавление всех стран, список выглядит таким образом. Любую запись можно отредактировать/удалить или добавить новую запись в список

![](/files/-MfrNKLH5lz8CNkAonV_)

Если после создания списка Вы решили, что нужно добавить новое поле, то это можно сделать перейдя в настройки списка.

Например, мы решили, что хотим добавить в наш список еще поле - "президент": Заходим в настройки списка, добавляем новое поле "президент" (с типом данных - "текст"). Не забываем заполнить поле "президент" у записей, которые уже существует (т.к. у них это поле будет пустым).

![](/files/-MfrO187YN4VcBJAAwKc)

Еще решили добавить следующие поля:

1. Добавить поле "ВВП страны". Заходим в настройки списка, добавляем новое поле "ВВП" (с типом данных - "денежный"). Не забываем заполнить поле "ВВП" у записей, которые уже существует (т.к. у них это поле будет пустым)
2. Добавить поле "О стране" - где будет краткая информация о стране Заходим в настройки списка, добавляем новое поле "о стране" (с типом данных - "текст"). Не забываем заполнить поле "о стране" у записей, которые уже существует (т.к. у них это поле будет пустым)

После добавления всех данных - список обновляется, отображаются новые поля и показывается дата обновления списка.

![](/files/-MfrOXNSqt20tW2uGKDV)

Теперь данные из списка можно выводить в бота - для этого используются блоки "чтение записи/записей из списка".

## **НАСТРОЙКИ БЛОКОВ "Чтение записи/записей из списка"**

**1. В разделе настроек, обозначенных на скриншоте цифрой 1:**\
\- в поле "бот" - выбираете бот, в личном кабинете которого был создан список (можно выбрать список из любого бота в личном кабинете Вашего конструктора)\
\- с поле "список" - выбирается список, данные из которого Вы хотите вывести в бота

![](/files/-MfrQWqx7Q2e_apNcZIh)

-"поле для поиска" - если пользователь отправляет боту команды текстом (а не нажимает на кнопки в телеграм боте) - то в данном поле выбирается то поле, по которому осуществляется поиск в списке.

Например: мы выбрали в "поле для поиска" - столица. Пользователь бота ввел слово "Париж". Бот находит в поле "Столица" (в столбце) ту запись, у которой столица равна "Париж" и выводит данные из этой строки. Т.е. в нашем случае, если пользователь введет слово "Париж" бот отправит ему информацию из строки про Франци&#x44E;**.**

![](/files/-MfrQSpW9VKVbNL-D8pS)

**2. Дополнительные фильтры:**\
Вы можете задать дополнительные фильтры для выборки по указанному списку.\
\
И/ИЛИ:\
используется только, если задано несколько фильтров.\
при "и" - и один и второй фильтр должны выполняться\
при "или" - или один, или второй фильтр должны выполняться\
\
Выбор поля (фильтра) для отображения :\
выбираем поле, по которому будет идти фильтрация (проверка) значений\
\
Оператор сравнения:\
стандартные математические символы (равно, больше, меньше и т.д.)\
\
Значение, с которым сравнивается:\
значение для фильтраци&#x438;**.**

![](/files/-MfrQkNWK7TRapUcBVcR)

**3. Сортировка**\
Сортировка выводимых данных\
\
Поле - выбор поля (столбца) по которому будет происходить сортировка\
По возрастанию/по убыванию

![](/files/-MfrQus9JOKlGNwqysfE)

**4. Шаблон цепочки сообщений**\
Здесь настраивается, какие именно значения из списка и в каком порядке, бот будет выводить.

![](/files/-MfrR8O-g_yJSegpXGAG)

**5. Сообщение перед/после отправки списка**\
Здесь можно задать сообщения, которые бот выведет пользователю бота перед тем, как выведет все данные из списка. И после того, как выведет все данные из списка\
\
Эти поля можно оставлять пустыми.\
\
Так же в них можно писать информационные сообщения для пользователя, например:\
*для перехода на нужную страница отправьте боту "Страница n", где n - номер страницы.*

![](/files/-MfrRGjGmtPvbtAsG1sV)

**6. Настройки**\
1\. Включить пагинацию\
Если в Вашем списке много записей, их можно выводить в бота постранично, а не весь список сразу.\
При включении ползунка - вывод будет постранично\
\
2\. Количество записей в сообщении\
Когда Вы включите постраничный вывод записей, то в данном поле задается какое именно количество записей выводить на одну страницу\
\
3\. Шаблон команды выбора страницы\
Чтобы переключаться между выводимыми страницами, боту нужно отправить команду.\
Здесь задается шаблон команды, где {n} это номер страницы\
\
В данном случае, если пользователь отправить боту фразу "Страница 5" - бот выведет пятую страницу\
\
4\. Имя кнопки выбора элемента списка\
При выводе всех записей их списка, рядом с каждой записью выводится кнопка, по которой можно посмотреть подробности данной записи.\
В этом поле задается текст данной кнопки.\
\
5\. Корзина товаров\
Когда Вы создаете магазин в мессенджере, при включенном данном ползунке, выбранная запись будет добавлена в корзин&#x443;*.*\
\
\
**Остальные настройки блока (меню, теги, уведомления и т.д.) - стандартные для блоков**\
Стандартный набор настроек (подробное описание каждой настройки можно посмотреть на примере блока "цепочка сообщений")

![](/files/-MfrRb4EOWP7a8Ae9wVt)

**Теперь наконец-то посмотрим, как данные из созданных списков выводить в бота:**\
\
Стартовый блок - это обычный текстовый блок "цепочка сообщений" с одной кнопкой. Эта кнопка соединяется с блоком "чтение записей из списка".\
\
В настройках блока "чтение записей из списка" выбираем:\
1\. Выбираем своего бота, в личном кабинете которого создавался список\
2\. Выбираем созданный нами список, данные из которого мы хотим выводить\
3\. "Поле для поиска" пока можно не заполнять\
4\. Функции фильтры и сортировка - пока тоже не трогаем\
5\. В "шаблоне цепочки сообщений" задаем шаблон сообщения, которое мы хотим получить от бота с выводом информации из списка.\
В данном случае мы выбрали - "название страны" (просто нажав на кнопку под текстовым полем и переменная сама подтягивается в текст).\
Написали обычным текстом "столица:" и подтянули переменную "столица".\
Тоже самое с населением.

![](/files/-MfrRsdhgY6gPh2c5mso)

Создаем блок "чтение записи из списка" и соединяем с кнопкой "любая другая фраза" из блока "чтение записей".

В настройках блока "чтение записи из списка" выбираем: 1. Выбираем своего бота, в личном кабинете которого создавался список 2. Выбираем созданный нами список, данные из которого мы хотим выводить 3. "Поле для поиска" - выбираете поле, по которому будет происходить поиск, если пользователь отправит боту команду текстом (а не нажмет на кнопки в телеграм боте).

Например: мы выбрали в "поле для поиска" - название страны. Пользователь бота ввел слово "Россия". Бот находит в поле "Страна" (в столбце) ту запись, у которой страна равна "Россия" и выводит данные из этой строки. Т.е. в нашем случае, если пользователь введет слово "Россия" бот отправит ему всю информацию из строки про Россию. 4. Функции фильтры и сортировка - пока тоже не трогаем 5. В "шаблоне цепочки сообщений" задаем шаблон сообщения, которое мы хотим получить от бота с выводом информации из списка. В данном случае мы выводим все переменные, которые есть у нас в списке и добавляем текст от себя 6. Так же мы хотим выводить не только текст, но и картинку, которую мы сохранили в списках (т.е. фото флага страны). Нажимаем кнопку "фото" и в поле выбираем "флаг".

"текст" и "фото" можно менять между собой местами, в зависимости от того, что Вы хотите выводить первым.

![](/files/-MfrSA6cJKmIhB5G2wCx)

При запуске боте это выглядит таким образом:

Бот выводит "стартовое сообщение", в котором у нас только одна кнопка "список".

При нажатии на кнопку "список" срабатывает блок "чтение записей из списка" и выводятся все записи по очереди.

![](/files/-MfrSKqGhKeVHKvFHUg7)

Если нажать кнопку "смотреть подробности", например у записи Испания - то сработает блок "чтение записи из списка" и выведется информация из списка по шаблону, который мы задали в настройках блока (т.е. сначала фото флага, далее страна, население и т.д.)

Та же самая запись выведется, если бы мы написали боту слово "Испания", а не нажали кнопку (т.к. в настройках блока "чтение записи из списка" в "поле для поиска" мы выбрали - "название страны", соответственно бот ищет во всем списке в поле (столбце) "название страны" совпадение по слову "Испания" и выводит нужную запись.

![](/files/-MfrS_IhxldNY7E6Z87s)

Если в настройках блока "чтение записи из списка" в "поле для поиска" выбрать - "столица", то при вводе вручную в бота слова "Испания" бот выдаст "запись не найдена". Т.к. в данном случае бот ищет совпадения по слову "Испания" в столбце "Столица", а там такого слова нет. Соответственно бот ожидает увидеть слово из столбца "столица", чтобы вывести нужную запись (т.е. если нам нужна запись по Испании - нужно отправить слово "Мадрид").

Данная особенность работает только при ручном вводе от пользователя, если пользователь будет нажимать кнопку "смотреть подробности" под записью, то все будет работать, независимо от выбранного значения в "поле для поиска"

![](/files/-MfrShI2fdWE8aRxlgZh)

&#x20;

**Рассмотрим функцию "дополнительные фильтры":**\
\
Допустим перед нами стоит задача отфильтровать данные в списке и вывести только определенные, подходящие под наши условия.\
\
Например, мы хотим вывести список стран, с населением больше какого-то значения и меньше этого значения\
\
1\. В первом сообщении сделаем 2 кнопки: "население> 65 млн человек" и "население< 65 млн человек" - чтобы дать пользователю выбор\
\
2\. Создадим копию блока "чтение записей из списка".\
3\. В одном из блоков "чтение записей из списка". в "дополнительных фильтрах" выберем фильтр по "населению", выберем "оператор" сравнения ">" (т.е. больше какого-то значения") и в поле "Значение" введем 65\
4\. В во втором блоке "чтение записей из списка". в "дополнительных фильтрах" выберем фильтр по "населению", выберем "оператор" сравнения "<" (т.е. меньше какого-то значения") и в поле "Значение" введем 65\
5\. Соединим кнопки из "стартового блока" с соответствующими блоками "чтение записей"

![](/files/-MfrSrUHMQaXSvcCOAF0)

**В результате:**\
В боте, при выборе кнопки "население > 65" нам отобразится только нужный список стран.

![](/files/-MfrT2QMalo2q1ZPE1ur)

Можно задавать сразу несколько фильтров одновременно и выбирать способ их взаимной работы (через операторы и/или)\
\
при "и" - и один и второй фильтр должны выполняться,\
при "или" - или один, или второй фильтр должны выполняться.\
\
\
**Сортировка:**\
При выводе записей мы видим, что записи выводятся не по порядку, а хаотично.\
В конструкторе можно настроить сортировку вывода данных.\
\
Давайте зададим "сортировку" выводимых данных по возрастанию ВВП.

![](/files/-MfrTBwwjDzoQSZtPyHF)

Вот так это выглядит в боте:

![](/files/-MfrTLtm1j7z12VduV9B)

Когда у Вас большие списки с данными, Вы можете задавать и фильтрацию и сортировку одновременно, в зависимость от того, что пользователь хочет видеть в боте.\
\
Вы можете предоставить пользователю бота самому выбрать по каким параметрам он хочет сделать фильтрацию или сортировку данных. А так же можете уточнить у него конкретное значение для подстановки этого значение фильтр.
