Действие кнопки выполняет переход по навигационной ссылке, указанной в свойстве НавигационнаяСсылка кнопки.
Полное описание, параметры и ограничения
ДействиеКнопкиПанелиКнопокСообщенияСистемыВзаимодействия.ПерейтиПоНавигационнойСсылке (CollaborationSystemMessageButtonPanelButtonAction.GotoURL)
ДействиеКнопкиПанелиКнопокСообщенияСистемыВзаимодействия (CollaborationSystemMessageButtonPanelButtonAction)
ПерейтиПоНавигационнойСсылке (GotoURL)
Доступен, начиная с версии 8.3.25.
Описание:
Действие кнопки выполняет переход по навигационной ссылке, указанной в свойстве НавигационнаяСсылка кнопки.
Использование в версии:
Доступен, начиная с версии 8.3.25.
См. также:
КнопкаПанелиКнопокСообщенияСистемыВзаимодействия, свойство Действие
Методическая информация
Практические примеры
Панель своего бота: ДействиеКнопкиПанелиКнопокСообщенияСистемыВзаимодействия.ПерейтиПоНавигационнойСсылке
Точная цепочка производства: идентификатор события → черновик сообщения → readonly-панель → ряд → настоящая кнопка.
Где и как запускать
Модуль собственного бота УчебныеКнигиБот; серверная функция и настоящее событие своего обсуждения.
Подготовка
Редкий API: своя отдельная учебная база с подключённой системой взаимодействия, свой бот УчебныеКнигиБот и собственное учебное обсуждение. Бота создайте в метаданных и штатно зарегистрируйте в своей системе взаимодействия. Транспорт и сервис этим кодом не устанавливаются.
Весь код панели размещайте именно в модуле своего бота. РядКнопок.Добавить вне модуля бота по документации вызывает исключение, даже если код находится в обычном серверном общем модуле.
Конкретный ИдентификаторОбсуждения приходит от платформы в событие создания собственного обсуждения с ботом. Он не конструируется из произвольной строки / UUID.
Самостоятельные уроки не устанавливайте все одновременно в одноимённое событие. BSL, создание бота, обсуждения и отправка сообщений при сборке HTML не выполнялись.
Основная функция возвращает настоящий черновик сообщения с заполненной панелью. Дополнительный обработчик создания обсуждения вызывает её с настоящим идентификатором и проверяет число рядов. Записать здесь намеренно не вызывается — кнопка никому не отправлена.
ОбработатьБотом вызывает событие нажатия в модуле бота. ОбработатьНаКлиенте вызывает ПриНажатииКнопкиПанелиКнопокСообщенияСистемыВзаимодействия клиентского приложения и не работает в интеграциях с мессенджерами.
ЗапроситьТелефон / ЗапроситьМестоположение доступны в мобильном клиенте и интеграциях с мессенджерами, но не в тонком, толстом и веб-клиенте. В этом черновике личные сведения не запрашиваются.
ОтправитьСообщениеСДанными не доступно в интеграциях с мессенджерами; в свойство Данные нового сообщения копируются собственные сериализуемые данные кнопки. Не вкладывайте секреты.
Функция ПодготовитьПанельКниг(ИдентификаторОбсуждения)
Черновик = СистемаВзаимодействия.СоздатьСообщение(ИдентификаторОбсуждения);
Черновик.Текст = "Собственная учебная памятка книг";
Панель = Черновик.ПанельКнопок;
Панель.ВидКнопок = ВидКнопкиПанелиКнопокСообщенияСистемыВзаимодействия.ОбычнаяКнопка;
Ряд = Панель.РядыКнопок.Добавить();
Кнопка = Ряд.Добавить(ДействиеКнопкиПанелиКнопокСообщенияСистемыВзаимодействия.ПерейтиПоНавигационнойСсылке, "Книга: 3 штуки");
Кнопка.ИмяДействия = "УчебныеКниги.Сводка";
Кнопка.ТекстСообщения = "Учебная книга: 3 штуки";
Кнопка.Данные = Новый Структура("КодКниги,Количество", "BOOK-001", 3);
Возврат Черновик;
КонецФункцииТот же модуль бота: настоящий вызов от события, без отправки черновика
Процедура ПриСозданииОбсужденияСистемыВзаимодействия(ИдентификаторОбсуждения, ДополнительныеПараметры)
Черновик = ПодготовитьПанельКниг(ИдентификаторОбсуждения);
ЧислоРядов = Черновик.ПанельКнопок.РядыКнопок.Количество();
Сообщить("В собственном черновике рядов кнопок: " + Строка(ЧислоРядов));
Сообщить("Черновик подготовлен, но не отправлен");
КонецПроцедурыРазбор по шагам
Подготовьте своего зарегистрированного учебного бота.
Разместите функцию и дополнительное событие в его модуле.
Создайте своё обсуждение с ботом и проверьте подготовленный черновик, не объявляя его отправленным сообщением.
Как проверить результат
Сообщение.ПанельКнопок readonly: панель берётся у настоящего черновика, не создаётся несуществующим конструктором.
Ряд.Добавить принимает действие первым параметром, текст вторым. ИмяДействия — собственный идентификатор кнопки, не имя исполняемой процедуры.
ВидКнопок меняет представление кнопок, а не разрешения на телефон / геопозицию и не способ отправки.
Ожидаемый результат
Показан реальный короткий синтаксис редкого API с точным модулем и ограничениями клиента.
На что обратить внимание
Подготовка черновика не нажимает кнопку и не подтверждает поддержку действия выбранной внешней интеграцией.
Для фактической отправки нужен отдельный осознанный Записать только в своё учебное обсуждение; этого вызова здесь нет.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Интеграция: возможности, участники и изменение подписи
Находим реально настроенную учебную интеграцию, читаем ее возможности и сохраняем только новое представление.
Где и как запускать
Серверный общий модуль или серверная процедура управляемой формы; своя настроенная система взаимодействия.
Подготовка
В отдельной учебной базе подключите собственную систему взаимодействия и заранее настройте свою интеграцию.
В форме создайте строковые реквизиты КлючИнтеграции и НоваяПодпись. Укажите действительный ключ своей интеграции. Для записи требуется право Администрирование данных; получайте объект с этим правом.
&НаСервере
Процедура ПоказатьИОбновитьИнтеграцию()
Интеграция = Неопределено;
Для Каждого Кандидат Из СистемаВзаимодействия.ПолучитьИнтеграции() Цикл
Если Кандидат.Ключ = КлючИнтеграции Тогда
Интеграция = СистемаВзаимодействия.ПолучитьИнтеграцию(Кандидат.Идентификатор);
Прервать;
КонецЕсли;
КонецЦикла;
Если Интеграция = Неопределено Тогда
Сообщить("Учебная интеграция не найдена");
Возврат;
КонецЕсли;
Сообщить("Идентификатор: " + Строка(Интеграция.Идентификатор));
Сообщить("Подпись: " + Интеграция.Представление);
Сообщить("Редактирование: " + Строка(Интеграция.ДоступноРедактированиеСообщения));
Сообщить("Видеозвонки: " + Строка(Интеграция.ДоступныВидеоконференции));
Сообщить("Точка подключения: " + Интеграция.НавигационнаяСсылкаТочкиПодключения);
Сообщить("Участников по умолчанию: " + Строка(Интеграция.Участники.Количество()));
Действие = ДействиеКнопкиПанелиКнопокСообщенияСистемыВзаимодействия.ПерейтиПоНавигационнойСсылке;
Сообщить("Кнопка перехода: " + Строка(Интеграция.ПоддерживаетсяДействиеКнопкиПанелиКнопокСообщения(Действие)));
Интеграция.Представление = НоваяПодпись;
Интеграция.Записать();
Прочитано = СистемаВзаимодействия.ПолучитьИнтеграцию(Интеграция.Идентификатор);
Сообщить("Сохраненная подпись: " + Прочитано.Представление);
КонецПроцедурыРазбор по шагам
Список интеграций дает настоящий идентификатор выбранной записи.
Возможности и участники читаются без изменения.
Новое представление записывается и проверяется повторным получением.
Как проверить результат
Сопоставьте возможности с типом интеграции: для WhatsApp редактирование недоступно.
Проверьте новую подпись в настройках именно своей интеграции.
Ожидаемый результат
Сведения реальной интеграции и сохраненное представление; сообщения не отправляются.
На что обратить внимание
Записать меняет настройку на сервере взаимодействия. Адрес точки подключения бывает заполнен только для Webhook; пустая строка нормальна. Не выполняйте этот опыт для рабочей интеграции.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.