Здравствуйте, подскажите пожалуйста, как выгрузить результат выборки в массив. Допустим в Выборке получаю параметр "text".
Мне необходимо собрать такой результат, при этом количество кнопок мне не известно заранее:
Мне необходимо собрать такой результат, при этом количество кнопок мне не известно заранее:
МассивСтрок = Новый Массив;
МассивКнопокСтроки = Новый Массив;
Кнопка = Новый Структура;
Кнопка.Вставить("text", "1");
Кнопка.Вставить("callback_data", "1");
МассивКнопокСтроки.Добавить(Кнопка);
Кнопка = Новый Структура;
Кнопка.Вставить("text", "2");
Кнопка.Вставить("callback_data", "2");
МассивКнопокСтроки.Добавить(Кнопка);
Кнопка = Новый Структура;
Кнопка.Вставить("text", "3");
Кнопка.Вставить("callback_data", "3");
МассивКнопокСтроки.Добавить(Кнопка);
МассивСтрок.Добавить(МассивКнопокСтроки);
Клавиатура = Новый Структура;
Клавиатура.Вставить("inline_keyboard", МассивСтрок);
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) по мимо
Нужно передать в такой структуре:
Кнопка = Новый Структура;
Кнопка.Вставить("text", "1"); // тут из выборки заполняйте что нужно
Кнопка.Вставить("callback_data", "1"); // аналогично
МассивКнопокСтроки.Добавить(Кнопка);
Нужно передать в такой структуре:
МассивСтрок = Новый Массив;
МассивКнопокСтроки = Новый Массив;
Кнопка = Новый Структура;
Кнопка.Вставить("text", "1");
Кнопка.Вставить("callback_data", "1");
МассивКнопокСтроки.Добавить(Кнопка);
МассивСтрок.Добавить(МассивКнопокСтроки);
Клавиатура = Новый Структура;
Клавиатура.Вставить("inline_keyboard", МассивСтрок);
Показать
(5)
Так не работает.
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
МассивСтрок = Новый Массив;
МассивКнопокСтроки = Новый Массив;
Пока Выборка.Следующий() Цикл
Кнопка = Новый Структура;
Кнопка.Вставить("text", Выборка.);
Кнопка.Вставить("callback_data", Выборка.Значение);
МассивКнопокСтроки.Добавить(Кнопка);
КонецЦикла;
МассивСтрок.Добавить(МассивКнопокСтроки);
Клавиатура = Новый Структура;
Клавиатура.Вставить("inline_keyboard", МассивСтрок);
ПоказатьТак не работает.
СтруктураНастроек = ПолучитьНастройкиTelegram();
МассивКнопок = Новый Массив;
МассивКнопок.Добавить("Согласовать");
МассивКнопок.Добавить("Не согласовать");
Кнопки = Новый Массив;
Для каждого кнопка ИЗ МассивКнопок Цикл
Кнопки.Добавить(Новый Структура("text, callback_data", кнопка, СтрЗаменить(кнопка, " ", "")+"/"+"Истина"+"/"+"Ложь"));
КонецЦикла;
Строки = Новый Массив;
Строки.Добавить(Кнопки);
КнопкиJs = ЗаписатьJS(Новый Структура("inline_keyboard", Строки));
Приемник = "bot" + СтруктураНастроек.token + "/sendMessage?chat_id=" + СтрЗаменить(Формат(ID_Пользователя, "ЧДЦ=; ЧС=; ЧРГ=."), ".", "") + "&text=" + ТекстСогласования + "&reply_markup="+КнопкиJs;
HTTPСоединение = Новый HTTPСоединение(СтруктураНастроек.api,443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
HTTPЗапрос = Новый HTTPЗапрос(Приемник);
Ответ = HTTPСоединение.Получить(HTTPЗапрос);
ЗаписатьИсториюОтветов(ТекстСогласования,Справочники.Telegram_КомандыСистемы.Согласование,"");
ПоказатьМожно по такому примеру
Число = 0;
МассивСтрок = Новый Массив;
МассивКнопокСтроки = Новый Массив;
Пока Выборка.Следующий() Цикл
Число = Число + 1;
Кнопка = Новый Структура;
Кнопка.Вставить(Выборка.text, Строка(Число));
Кнопка.Вставить("callback_data", Строка(Число));
МассивКнопокСтроки.Добавить(Кнопка);
КонецЦикла;
МассивСтрок.Добавить(МассивКнопокСтроки);
Клавиатура = Новый Структура;
Клавиатура.Вставить("inline_keyboard", МассивСтрок);
ПоказатьНу примерно так
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот