﻿---
sidebar_position: 12
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Сформировать клавиатуру по массиву кнопок
 Формирует простую JSON клавиатуру из массив кнопок для сообщения или нижней панели



`Функция СформироватьКлавиатуруПоМассивуКнопок(Знач МассивКнопок, Знач ПодСообщением = Ложь, Знач ОднаПодОдной = Истина) Экспорт`

  | Параметр | CLI опция | Тип | Обяз. | Назначение |
  |-|-|-|-|-|
  | МассивКнопок | --buttons | Массив из Строка | &#x2714; | Массив кнопок |
  | ПодСообщением | --under | Булево | &#x2716; | Клавиатура под сообщением или на нижней панели |
  | ОднаПодОдной | --column | Булево | &#x2716; | Истина > кнопки выводятся в столбик, Ложь > в строку |

  
  Возвращаемое значение:   Строка -  JSON клавиатуры

<br/>

:::tip
О клавиатурах в документации API: [InlineKeyboardMarkup](https://core.telegram.org/bots/api#inlinekeyboardmarkup)
:::
<br/>


```bsl title="Пример использования для 1С:Предприятие/OneScript"
    МассивКнопок = Новый Массив;
    МассивКнопок.Добавить("Кнопка1");
    МассивКнопок.Добавить("Кнопка2");
    МассивКнопок.Добавить("Кнопка3");

    Результат = OPI_Telegram.СформироватьКлавиатуруПоМассивуКнопок(МассивКнопок);
```
    

 <Tabs>
  
    <TabItem value="bash" label="Bash" default>
        ```bash
            oint telegram СформироватьКлавиатуруПоМассивуКнопок \
              --buttons "['Кнопка1','Кнопка2','Кнопка3']"
        ```
    </TabItem>
  
    <TabItem value="bat" label="CMD/Bat" default>
        ```batch
            oint telegram СформироватьКлавиатуруПоМассивуКнопок ^
              --buttons "['Кнопка1','Кнопка2','Кнопка3']"
        ```
    </TabItem>
</Tabs>


```json title="Результат"
"{\r\n \"keyboard\": [\r\n  [\r\n   {\r\n    \"text\": \"Кнопка1\",\r\n    \"callback_data\": \"Кнопка1\"\r\n   }\r\n  ],\r\n  [\r\n   {\r\n    \"text\": \"Кнопка2\",\r\n    \"callback_data\": \"Кнопка2\"\r\n   }\r\n  ],\r\n  [\r\n   {\r\n    \"text\": \"Кнопка3\",\r\n    \"callback_data\": \"Кнопка3\"\r\n   }\r\n  ]\r\n ],\r\n \"resize_keyboard\": true\r\n}"
```
