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

Учебные задачи

Группа Документы в этой КА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. Не присваивайте новые значения свойствам реальных метаданных ради изменения интерфейса во время выполнения.

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

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

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

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

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