ОбъектМетаданных: Команда.ИзменяетДанные

Свойства · ModifiesData

Тип: Булево. Если выполняется команда, для которой свойство установлено в Истина, то после ее выполнения форма перечитывает данные.

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

ОбъектМетаданных: Команда.ИзменяетДанные (MetadataObject: Command.ModifiesData)

ОбъектМетаданных: Команда (MetadataObject: Command)

ИзменяетДанные (ModifiesData)

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

Использование:
Только чтение.
Описание:
Тип: Булево.
Если выполняется команда, для которой свойство установлено в Истина, то после ее выполнения форма перечитывает данные.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

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

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

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

Отделить оформление команды НовыйЭлемент от её действия

Читаем настоящие настройки кнопки номенклатуры, не вызывая создание элемента.

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

Полный серверный общий модуль собственной учебной копии КА2 Progress 2.5.20.75, только чтение схемы.

Подготовка

  1. Используйте отдельную учебную копию КА2 Progress из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, конфигурация КомплекснаяАвтоматизация 2.5.20.75, платформа 8.5.1.1343. Это не инструкция запуска в рабочей базе.

  2. Создайте серверный общий модуль УчебныеКонтрактыИнтерфейса с флагом Сервер. Вставьте полный модуль одного урока и вызовите УчебныеКонтрактыИнтерфейса.ВыполнитьПример() из серверной учебной команды.

  3. Команды подтверждены в Catalogs\Номенклатура.xml и Documents\РеализацияТоваровУслуг.xml; форма — в Catalogs\Номенклатура\Forms\ФормаСписка.xml; нумератор — в DocumentNumerators\ДокументыРеализацииТоваров.xml.

  4. Исходники конфигурации не меняются. Код только читает метаданные и обрабатывает собственные значения в памяти: не вызывает штатную команду, не открывает форму списка, не получает новый номер и не записывает документы.

  5. При отличающейся версии или расширениях результат может отличаться от выгрузки. Сверяйте активную конфигурацию, а не исправляйте её ради зелёных сообщений.

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

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

  1. XML у НовыйЭлемент содержит Representation=Auto, ModifiesData=false, Group=ActionsPanelCreate. Первые два свойства сравниваем с нативным перечислением/Булево.

  2. ИзменяетДанные управляет перечитыванием данных формы после команды; Ложь не является доказательством, что код команды никогда ничего не записывает.

  3. Группа определяет положение в командном интерфейсе. Это не объект ГруппаФормы и не произвольная CSS-группа.

  4. Картинку и сочетание клавиш показываем только по типу, а подсказку — по заполненности. Не обещаем одинаковую видимость и геометрию в каждом интерфейсе.

  5. ПоведениеПриНедоступностиОсновногоСервера лишь читается. Оно не переводит клиента в автономную работу и не доказывает доступность сети.

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

  1. Две первые проверки ожидаются Истина на исходной схеме; остальные значения диагностические.

  2. Форма нового товара не открыта, справочник не изменён.

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

Разобраны семь настроек настоящей команды без подмены декларативной настройки поведением обработчика.

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

  1. Авто отображения не гарантирует всегда картинку или всегда текст.

  2. Флаг ИзменяетДанные=Ложь нельзя использовать как разрешение без аудита выполнять штатную команду.

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

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

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

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

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