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

Типы · MetadataObject: CommandGroup

Используется для обращения к метаданным группы команд.

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

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

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

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

Свойства:
Имя (Name)
Комментарий (Comment)
ОбъектРасширяемойКонфигурации (ExtendedConfigurationObject)
ПринадлежностьОбъекта (ObjectBelonging)
Синоним (Synonym)
Картинка (Picture)
Категория (Category)
Отображение (Representation)
Подсказка (Tooltip)

Методы:
ЕстьИзмененияРасширениямиКонфигурации (ChangedByConfigurationExtensions)
ПолноеИмя (FullName)
Представление (Presentation)
РасширениеКонфигурации (ConfigurationExtension)
Родитель (Parent)

Описание:

Используется для обращения к метаданным группы команд.

Доступность:

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

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

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

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

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

Разобраться, где размещается группа Документы

Группа Документы в этой КА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. Сравнить категорию, отображение и подсказку с исходным XML. Картинка может быть пустой: тип Картинка не доказывает наличие видимой иконки.

  3. Вывести полное имя и представление. Представление зависит от языка и настроек, это не ключ для поиска в коллекции.

  4. Прочитать принадлежность и сведения расширений. Родитель общей группы — конфигурация, не командная панель конкретной формы.

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

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

  2. В исходном XML Name = Документы, русское Synonym = Документ, Category = FormCommandBar. Команды и права пользователя этот урок не меняет.

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

Самостоятельная диагностика группы интерфейса по реальной конфигурации.

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

  1. Категория не означает, что группа уже отображается на любой форме.

  2. Метаданные не проверяют доступность команды текущему пользователю.

  3. Не присваивайте новые значения свойствам реальных метаданных ради изменения интерфейса во время выполнения.

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

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

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

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

Полный серверный модуль учебной копии КА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С» и не аффилирован с ней.