ОбъектМетаданных: Команда.Группа

Свойства · Group

Тип: ГруппаКоманд. Группа команд, в которую входит команда. Устанавливает расположение команды в глобальном командном интерфейсе приложения.

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

ОбъектМетаданных: Команда.Группа (MetadataObject: Command.Group)

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

Группа (Group)

Доступен, начиная с версии 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. Флаг ИзменяетДанные=Ложь нельзя использовать как разрешение без аудита выполнять штатную команду.

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

Отличить стандартную группу Создать от общей группы

Команда Номенклатура.НовыйЭлемент привязана к ПанельДействийСоздать. Не угадываем группу по подписи команды.

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

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

Подготовка

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

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

  3. Источники: CommandGroups\Документы.xml; Catalogs\Номенклатура.xml; XDTOPackages\Адрес.xml и Адрес\Ext\Package.bin; SessionParameters\АвторизованныйПользователь.xml.

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

  5. URI пакета является идентификатором уже установленного XDTO, не адресом для HTTP-запроса. Учебный город и улица вымышленные, объект XDTO создаётся только в памяти.

  6. Активные расширения и язык представлений могут менять сведения. Диагностические строки о расширениях не имеют фиксированного ожидаемого значения.

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

КонецПроцедуры

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

  1. Найти подтверждённый справочник и его команду НовыйЭлемент.

  2. Команда.Группа — объект ГруппаКоманд. Вызвать его Получить без аргументов, чтобы получить стандартное значение или метаданные пользовательской группы.

  3. В этой выгрузке результат — СтандартнаяГруппаКоманд.ПанельДействийСоздать. Общая группа Документы относится к другой категории.

  4. Вывести паспорт общей группы для сравнения. Код не вызывает команду создания номенклатуры и не открывает карточку.

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

  1. Четыре фиксированных булевых проверки дают Истина; сведения расширений диагностические.

  2. В Catalogs/Номенклатура.xml у команды НовыйЭлемент Group = ActionsPanelCreate. Нет записи нового товара.

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

Практический пример настоящего перехода от метаданных команды к её группе.

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

  1. Команда.Группа нельзя сразу сравнивать с перечислением без Получить.

  2. Результат Получить у другой команды может быть пользовательской группой, а не СтандартнаяГруппаКоманд.

  3. Название группы не доказывает фактическую видимость кнопки: это зависит от формы, интерфейса и прав.

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

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

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

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

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