Источником команды является вложение.
Полное описание, параметры и ограничения
ИсточникКомандСистемыВзаимодействия.Вложение (CollaborationSystemCommandSource.Attachment)
ИсточникКомандСистемыВзаимодействия (CollaborationSystemCommandSource)
Вложение (Attachment)
Доступен, начиная с версии 8.3.14.
Описание:
Источником команды является вложение.
Использование в версии:
Доступен, начиная с версии 8.3.14.
Методическая информация
Практические примеры
Своя команда для источника меню: Вложение
Полный жизненный цикл своей подписки и фактический массив описаний команд. Изменение меню отделено от выполнения действий системы взаимодействия.
Где и как запускать
Модуль собственной управляемой формы; клиентский callback регистрации менеджером системы взаимодействия.
Подготовка
Собственная отдельная учебная база и свой учебный пользователь с подключённой системой взаимодействия. Создайте свою управляемую форму УчебноеМенюКниг; код меняет только клиентские контекстные меню, пока эта учебная форма открыта.
Основной экспортный callback, клиентские переменные и оба обработчика формы разместите в одном модуле своей формы. ПриОткрытии и ПриЗакрытии назначьте соответствующим событиям формы. Не регистрируйте один обработчик повторно из каждой кнопки.
Для проверки используйте собственное учебное сообщение, вложение и гиперссылки. Не нажимайте чужие сообщения и не передавайте личные сведения ради демонстрации. Команды Удалить / Отправить не вызываются этим кодом.
В зависимости от источника исходный набор команд отличается. Код не добавляет неподдерживаемую стандартную команду искусственно; callback меняет реально переданный платформой массив.
BSL, подключение обработчика, изменение меню и работа системы взаимодействия при сборке HTML не выполнялись.
Для Сообщение нажмите правой кнопкой на своё сообщение; Вложение — на своём вложении; Действие — на своей ссылке-действии; НавигационнаяСсылка — на своей ссылке в сообщении; НавигационнаяСсылкаТекущейСтраницы — на ссылке своей текущей страницы; Пользователь — на своём пользователе. Доступность контекстов зависит от клиента и настроенной системы взаимодействия.
&НаКлиенте
Процедура МенюСвоихКниг(ПараметрыКоманд, Команды, КомандаПоУмолчанию, ДополнительныеПараметры) Экспорт
Если ПараметрыКоманд.Источник <> ИсточникКомандСистемыВзаимодействия.Вложение Тогда
Возврат;
КонецЕсли;
Оповещение = Новый ОписаниеОповещения("ПамяткаСвоихКниг", ЭтотОбъект);
Памятка = Новый ОписаниеКомандыСистемыВзаимодействия;
Памятка.Команда = Оповещение;
Памятка.Представление = "Памятка собственных книг";
Команды.Добавить(Памятка);
КомандаПоУмолчанию = Неопределено;
Сообщить("Своя памятка добавлена только для источника Вложение");
КонецПроцедурыТа же форма: клиентские переменные и регистрация при открытии
&НаКлиенте
Перем УчебноеОповещениеМеню;
&НаКлиенте
Перем УчебныеКнигиМеню;
&НаКлиенте
Процедура ПриОткрытии(Отказ)
УчебныеКнигиМеню = Новый Массив;
УчебныеКнигиМеню.Добавить("Книга");
УчебныеКнигиМеню.Добавить("Тетрадь");
УчебноеОповещениеМеню = Новый ОписаниеОповещения("МенюСвоихКниг", ЭтотОбъект);
СистемаВзаимодействия.ПодключитьОбработчикФормированияКоманд(УчебноеОповещениеМеню);
КонецПроцедурыТа же форма: отключить свою подписку при закрытии
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
Если УчебноеОповещениеМеню <> Неопределено Тогда
СистемаВзаимодействия.ОтключитьОбработчикФормированияКоманд(УчебноеОповещениеМеню);
УчебноеОповещениеМеню = Неопределено;
КонецЕсли;
КонецПроцедурыТа же форма: экспортный callback добавленной памятки
&НаКлиенте
Процедура ПамяткаСвоихКниг(ДополнительныеПараметры) Экспорт
Сообщить("Собственных изданий в уроке: " + Строка(УчебныеКнигиМеню.Количество()));
Для Каждого Название Из УчебныеКнигиМеню Цикл
Сообщить(Название);
КонецЦикла;
КонецПроцедурыРазбор по шагам
Подготовьте собственную форму и три дополнительных блока.
Откройте форму и вызовите контекстное меню на своих учебных данных.
Проверьте исключённую / добавленную команду и закройте форму, отключив ровно свою подписку.
Как проверить результат
Источник — настоящее значение из ПараметрыФормированияКомандСистемыВзаимодействия; у этого объекта нет выдуманного конструктора.
Памятка добавляет описание с настоящим ОписаниеОповещения, callback которого объявлен и экспортирован. Нажатие показывает два собственных издания из клиентского массива.
Сбрасывается только действие по умолчанию: левое нажатие показывает меню. Ни файл, ни ссылка, ни сообщение не открываются сами при формировании меню.
Ожидаемый результат
Системное значение участвует в настоящем изменении контекстного меню с корректной очисткой подписки.
На что обратить внимание
Подписка клиентская и действует в своей сессии, пока форма открыта; это не изменение глобальной политики прав.
Для отключения используется тот же экземпляр ОписаниеОповещения, не новое похожее описание.
BSL и работа подключённой системы взаимодействия при сборке HTML не выполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.