ИсточникКомандСистемыВзаимодействия.Вложение

Свойства · Attachment

Источником команды является вложение.

Полное описание, параметры и ограничения

ИсточникКомандСистемыВзаимодействия.Вложение (CollaborationSystemCommandSource.Attachment)

ИсточникКомандСистемыВзаимодействия (CollaborationSystemCommandSource)

Вложение (Attachment)

Доступен, начиная с версии 8.3.14.

Описание:
Источником команды является вложение.
Использование в версии:

Доступен, начиная с версии 8.3.14.

Методическая информация

Практические примеры

Своя команда для источника меню: Вложение

Полный жизненный цикл своей подписки и фактический массив описаний команд. Изменение меню отделено от выполнения действий системы взаимодействия.

Где и как запускать

Модуль собственной управляемой формы; клиентский callback регистрации менеджером системы взаимодействия.

Подготовка

  1. Собственная отдельная учебная база и свой учебный пользователь с подключённой системой взаимодействия. Создайте свою управляемую форму УчебноеМенюКниг; код меняет только клиентские контекстные меню, пока эта учебная форма открыта.

  2. Основной экспортный callback, клиентские переменные и оба обработчика формы разместите в одном модуле своей формы. ПриОткрытии и ПриЗакрытии назначьте соответствующим событиям формы. Не регистрируйте один обработчик повторно из каждой кнопки.

  3. Для проверки используйте собственное учебное сообщение, вложение и гиперссылки. Не нажимайте чужие сообщения и не передавайте личные сведения ради демонстрации. Команды Удалить / Отправить не вызываются этим кодом.

  4. В зависимости от источника исходный набор команд отличается. Код не добавляет неподдерживаемую стандартную команду искусственно; callback меняет реально переданный платформой массив.

  5. BSL, подключение обработчика, изменение меню и работа системы взаимодействия при сборке HTML не выполнялись.

  6. Для Сообщение нажмите правой кнопкой на своё сообщение; Вложение — на своём вложении; Действие — на своей ссылке-действии; НавигационнаяСсылка — на своей ссылке в сообщении; НавигационнаяСсылкаТекущейСтраницы — на ссылке своей текущей страницы; Пользователь — на своём пользователе. Доступность контекстов зависит от клиента и настроенной системы взаимодействия.

&НаКлиенте
Процедура МенюСвоихКниг(ПараметрыКоманд, Команды, КомандаПоУмолчанию, ДополнительныеПараметры) Экспорт
    Если ПараметрыКоманд.Источник <> ИсточникКомандСистемыВзаимодействия.Вложение Тогда
        Возврат;
    КонецЕсли;
    Оповещение = Новый ОписаниеОповещения("ПамяткаСвоихКниг", ЭтотОбъект);
    Памятка = Новый ОписаниеКомандыСистемыВзаимодействия;
    Памятка.Команда = Оповещение;
    Памятка.Представление = "Памятка собственных книг";
    Команды.Добавить(Памятка);
    КомандаПоУмолчанию = Неопределено;
    Сообщить("Своя памятка добавлена только для источника Вложение");
КонецПроцедуры
Та же форма: клиентские переменные и регистрация при открытии
&НаКлиенте
Перем УчебноеОповещениеМеню;
&НаКлиенте
Перем УчебныеКнигиМеню;

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

Разбор по шагам

  1. Подготовьте собственную форму и три дополнительных блока.

  2. Откройте форму и вызовите контекстное меню на своих учебных данных.

  3. Проверьте исключённую / добавленную команду и закройте форму, отключив ровно свою подписку.

Как проверить результат

  1. Источник — настоящее значение из ПараметрыФормированияКомандСистемыВзаимодействия; у этого объекта нет выдуманного конструктора.

  2. Памятка добавляет описание с настоящим ОписаниеОповещения, callback которого объявлен и экспортирован. Нажатие показывает два собственных издания из клиентского массива.

  3. Сбрасывается только действие по умолчанию: левое нажатие показывает меню. Ни файл, ни ссылка, ни сообщение не открываются сами при формировании меню.

Ожидаемый результат

Системное значение участвует в настоящем изменении контекстного меню с корректной очисткой подписки.

На что обратить внимание

  1. Подписка клиентская и действует в своей сессии, пока форма открыта; это не изменение глобальной политики прав.

  2. Для отключения используется тот же экземпляр ОписаниеОповещения, не новое похожее описание.

  3. BSL и работа подключённой системы взаимодействия при сборке HTML не выполнялись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.