СтандартнаяКомандаСистемыВзаимодействия.СохранитьВложение

Свойства · SaveAttachment

Команда сохранения вложения.

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

СтандартнаяКомандаСистемыВзаимодействия.СохранитьВложение (CollaborationSystemStandardCommand.SaveAttachment)

СтандартнаяКомандаСистемыВзаимодействия (CollaborationSystemStandardCommand)

СохранитьВложение (SaveAttachment)

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

Описание:
Команда сохранения вложения.
Использование в версии:

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

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

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

Исключить из собственного учебного меню: СохранитьВложение

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

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

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

Подготовка

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

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

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

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

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

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

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

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

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

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

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

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

  1. Команда удаляется из массива меню, а не исполняется. УдалитьСообщение здесь не удаляет сообщение, СохранитьВложение не сохраняет файл.

  2. Если она же была действием по умолчанию, оно сброшено: скрытая команда не остаётся незаметным действием левого нажатия.

  3. В контексте, где такой команды нет, массив остаётся без добавления искусственной неподдерживаемой команды.

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

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

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

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

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

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

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

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

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

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

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