Содержит варианты стандартных команд системы взаимодействия.
Полное описание, параметры и ограничения
СтандартнаяКомандаСистемыВзаимодействия (CollaborationSystemStandardCommand)
СтандартнаяКомандаСистемыВзаимодействия (CollaborationSystemStandardCommand)
Доступен, начиная с версии 8.3.14.
Значения
ВыполнитьДействие (ExecuteAction)
КопироватьВложение (CopyAttachment)
КопироватьНавигационнуюСсылку (CopyURL)
КопироватьСообщение (CopyMessage)
ОткрытьВложение (OpenAttachment)
ПерейтиПоНавигационнойСсылке (GotoURL)
ПоделитьсяВложением (ShareAttachment)
ПоделитьсяСообщением (ShareMessage)
ПоказатьИнформациюОПользователе (ShowUserInfo)
ПолучитьНавигационнуюСсылкуСообщения (GetMessageURL)
РедактироватьСообщение (EditMessage)
СохранитьВложение (SaveAttachment)
УдалитьСообщение (DeleteMessage)
ЦитироватьСообщение (QuoteMessage)
Описание:
Содержит варианты стандартных команд системы взаимодействия.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.3.14.
Описание изменено в версии 8.3.25.
Методическая информация
Практические примеры
Исключить из собственного учебного меню: УдалитьСообщение
Полный жизненный цикл своей подписки и фактический массив описаний команд. Изменение меню отделено от выполнения действий системы взаимодействия.
Где и как запускать
Модуль собственной управляемой формы; клиентский callback регистрации менеджером системы взаимодействия.
Подготовка
Собственная отдельная учебная база и свой учебный пользователь с подключённой системой взаимодействия. Создайте свою управляемую форму УчебноеМенюКниг; код меняет только клиентские контекстные меню, пока эта учебная форма открыта.
Основной экспортный callback, клиентские переменные и оба обработчика формы разместите в одном модуле своей формы. ПриОткрытии и ПриЗакрытии назначьте соответствующим событиям формы. Не регистрируйте один обработчик повторно из каждой кнопки.
Для проверки используйте собственное учебное сообщение, вложение и гиперссылки. Не нажимайте чужие сообщения и не передавайте личные сведения ради демонстрации. Команды Удалить / Отправить не вызываются этим кодом.
В зависимости от источника исходный набор команд отличается. Код не добавляет неподдерживаемую стандартную команду искусственно; callback меняет реально переданный платформой массив.
BSL, подключение обработчика, изменение меню и работа системы взаимодействия при сборке HTML не выполнялись.
&НаКлиенте
Процедура МенюСвоихКниг(ПараметрыКоманд, Команды, КомандаПоУмолчанию, ДополнительныеПараметры) Экспорт
Индекс = Команды.Количество() - 1;
Пока Индекс >= 0 Цикл
Если Команды[Индекс].Команда = СтандартнаяКомандаСистемыВзаимодействия.УдалитьСообщение Тогда
Команды.Удалить(Индекс);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
Если КомандаПоУмолчанию <> Неопределено Тогда
Если КомандаПоУмолчанию.Команда = СтандартнаяКомандаСистемыВзаимодействия.УдалитьСообщение Тогда
КомандаПоУмолчанию = Неопределено;
КонецЕсли;
КонецЕсли;
Сообщить("Из учебного меню исключена команда УдалитьСообщение");
КонецПроцедурыТа же форма: клиентские переменные и регистрация при открытии
&НаКлиенте
Перем УчебноеОповещениеМеню;
&НаКлиенте
Перем УчебныеКнигиМеню;
&НаКлиенте
Процедура ПриОткрытии(Отказ)
УчебныеКнигиМеню = Новый Массив;
УчебныеКнигиМеню.Добавить("Книга");
УчебныеКнигиМеню.Добавить("Тетрадь");
УчебноеОповещениеМеню = Новый ОписаниеОповещения("МенюСвоихКниг", ЭтотОбъект);
СистемаВзаимодействия.ПодключитьОбработчикФормированияКоманд(УчебноеОповещениеМеню);
КонецПроцедурыТа же форма: отключить свою подписку при закрытии
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если УчебноеОповещениеМеню <> Неопределено Тогда
СистемаВзаимодействия.ОтключитьОбработчикФормированияКоманд(УчебноеОповещениеМеню);
УчебноеОповещениеМеню = Неопределено;
КонецЕсли;
КонецПроцедурыРазбор по шагам
Подготовьте собственную форму и три дополнительных блока.
Откройте форму и вызовите контекстное меню на своих учебных данных.
Проверьте исключённую / добавленную команду и закройте форму, отключив ровно свою подписку.
Как проверить результат
Команда удаляется из массива меню, а не исполняется. УдалитьСообщение здесь не удаляет сообщение, СохранитьВложение не сохраняет файл.
Если она же была действием по умолчанию, оно сброшено: скрытая команда не остаётся незаметным действием левого нажатия.
В контексте, где такой команды нет, массив остаётся без добавления искусственной неподдерживаемой команды.
Ожидаемый результат
Системное значение участвует в настоящем изменении контекстного меню с корректной очисткой подписки.
На что обратить внимание
Подписка клиентская и действует в своей сессии, пока форма открыта; это не изменение глобальной политики прав.
Для отключения используется тот же экземпляр ОписаниеОповещения, не новое похожее описание.
BSL и работа подключённой системы взаимодействия при сборке HTML не выполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.