Тип: ОбъектМетаданных: Реквизит.
Полное описание, параметры и ограничения
ОбъектМетаданных: Задача.ОсновнойРеквизитАдресации (MetadataObject: Task.MainAddressingAttribute)
ОбъектМетаданных: Задача (MetadataObject: Task)
ОсновнойРеквизитАдресации (MainAddressingAttribute)
Доступен, начиная с версии 8.1.
Использование:
Только чтение.
Описание:
Тип: ОбъектМетаданных: Реквизит.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
Проверить соответствие реквизитов адресации измерениям регистра
Для каждого реквизита адресации читаем связанное измерение и сравниваем владельца измерения с регистром задачи. Исполнителей и записи регистра не читаем.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.
Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.
Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.
В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.
Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.
Описание = Метаданные.Задачи.Найти("ЗадачаИсполнителя");
Если Описание = Неопределено Тогда
ВызватьИсключение "В учебной конфигурации отсутствует Задачи.ЗадачаИсполнителя";
КонецЕсли;
Регистр = Описание.Адресация;
Если Регистр = Неопределено Тогда
ВызватьИсключение "Не задан регистр адресации учебной задачи";
КонецЕсли;
Сообщить(Регистр.ПолноеИмя());
Сообщить("Реквизитов адресации: " + Строка(Описание.РеквизитыАдресации.Количество()));
Для Каждого Реквизит Из Описание.РеквизитыАдресации Цикл
Сообщить(СтрШаблон("%1 (%2): %3", Реквизит.Имя, Реквизит.Синоним, Реквизит.Тип));
Измерение = Реквизит.ИзмерениеАдресации;
Если Измерение = Неопределено Тогда
Сообщить("Связанное измерение не получено — проверьте схему адресации");
Иначе
Сообщить(Измерение.ПолноеИмя());
Сообщить(Измерение.Родитель() = Регистр);
КонецЕсли;
КонецЦикла;
Главный = Описание.ОсновнойРеквизитАдресации;
Если Главный <> Неопределено Тогда
Сообщить("Основной реквизит: " + Главный.ПолноеИмя());
КонецЕсли;
Сообщить(Описание.ТекущийИсполнитель = Неопределено);Разбор по шагам
Адресация указывает описание регистра сведений, не выбранного сотрудника.
РеквизитыАдресации — отдельная коллекция: не подменяем её обычными Реквизиты задачи.
Связь ИзмерениеАдресации позволяет проверить принадлежность измерения регистру.
ТекущийИсполнитель в данном метаданном API имеет тип Неопределено; реального пользователя этим свойством не извлекаем.
Как проверить результат
В XML основной реквизит — Исполнитель, адресация — ИсполнителиЗадач. Проверьте соответствие измерений в Конфигураторе.
Для полученных измерений принадлежность ожидаемо Истина; отсутствие измерения выводится отдельно. Последнее сравнение даёт Истина по справке.
Ожидаемый результат
Проверена структура адресации без раскрытия фактических исполнителей.
На что обратить внимание
Корректная схема не доказывает наличие нужных записей регистра или правильность назначения задачи.
Не изменяйте параметр АвторизованныйПользователь и не назначайте задачи ради проверки этого фрагмента.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.