Получает объект описания метаданного, которому подчинен данный объект.
Синтаксис
Родитель()Примеры платформы
Метаданные.Документы.РасходнаяНакладная.Реквизиты.Цена.Родитель();Полное описание, параметры и ограничения
ОбъектМетаданных: РегламентноеЗадание.Родитель (MetadataObject: ScheduledJob.Parent)
ОбъектМетаданных: РегламентноеЗадание (MetadataObject: ScheduledJob)
Родитель (Parent)
Доступен, начиная с версии 8.0.
Синтаксис:
Родитель()
Описание:
Получает объект описания метаданного, которому подчинен данный объект.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
// В данном примере метод вернет значение
// Метаданные.Документы.РасходнаяНакладная
Метаданные.Документы.РасходнаяНакладная.Реквизиты.Цена.Родитель();
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Прочитать описание задания, не запуская рассылки
У шаблона АнализДанныхДляОповещенийКлиентам выключено использование, нет предопределённости, задано три повтора. Это сведения метаданных, не состояние runtime-задания.
Где и как запускать
Полный серверный модуль изолированной учебной копии КА2 Progress 2.5.20.75; только чтение.
Подготовка
Отдельная учебная копия КА2 Progress 2.5.20.75 из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, платформа 8.5.1.1343. Создайте серверный общий модуль УчебныеКонтрактыОбработчиков.
Вставьте полный модуль одного урока и вызовите УчебныеКонтрактыОбработчиков.ВыполнитьПример() из своей учебной серверной команды.
Источники: Roles\ПолныеПрава.xml; EventSubscriptions\АктуализироватьСтруктуруПредприятия.xml; ScheduledJobs\АнализДанныхДляОповещенийКлиентам.xml и соответствующие CommonModules.
Код только читает метаданные и признаки прав. Он не назначает роли, не меняет параметры сеанса, не записывает организацию и не вызывает обработчик подписки или задания.
Учебная копия должна быть изолирована от рабочих фоновых заданий и внешних обменов её обычными средствами администрирования. Этот пример не выключает и не включает задания за пользователя.
Диагностика расширений и доступных прав зависит от активной базы и пользователя. Не подгоняйте права рабочей базы под ожидаемые булевы результаты.
Процедура ВыполнитьПример() Экспорт
ОписаниеЗадания = Метаданные.РегламентныеЗадания.Найти("АнализДанныхДляОповещенийКлиентам");
Если ОписаниеЗадания = Неопределено Тогда
ВызватьИсключение "Нет подтверждённого описания задания";
КонецЕсли;
Сообщить(ОписаниеЗадания.Имя = "АнализДанныхДляОповещенийКлиентам");
Сообщить(НЕ ОписаниеЗадания.Использование);
Сообщить(НЕ ОписаниеЗадания.Предопределенное);
Сообщить(ОписаниеЗадания.КоличествоПовторовПриАварийномЗавершении = 3);
Сообщить(ОписаниеЗадания.ИнтервалПовтораПриАварийномЗавершении = 10);
Сообщить(ПустаяСтрока(ОписаниеЗадания.Ключ));
Сообщить(ПустаяСтрока(ОписаниеЗадания.Наименование));
Сообщить(ОписаниеЗадания.Расписание = Неопределено);
Части = СтрРазделить(ОписаниеЗадания.ИмяМетода, ".");
Если Части.Количество() < 2 Тогда
ВызватьИсключение "Имя метода не содержит модуль и процедуру";
КонецЕсли;
ИмяМодуля = Части[Части.Количество() - 2];
ИмяПроцедуры = Части[Части.Количество() - 1];
Сообщить(ИмяМодуля = "РассылкиИОповещенияКлиентам");
Сообщить(ИмяПроцедуры = "АнализДанныхДляОповещенийКлиентам");
Модуль = Метаданные.ОбщиеМодули.Найти(ИмяМодуля);
Если Модуль = Неопределено Тогда
ВызватьИсключение "Не найден модуль метода задания";
КонецЕсли;
Сообщить(Модуль.Сервер);
Сообщить("Исходная процедура требует ВидОповещения. Создание/запуск задания без параметра здесь не выполняется.");
Сообщить(ОписаниеЗадания.Синоним);
Сообщить(ОписаниеЗадания.Комментарий);
Сообщить(ОписаниеЗадания.ПолноеИмя());
Сообщить(ОписаниеЗадания.Представление());
Сообщить(ОписаниеЗадания.ПринадлежностьОбъекта);
Сообщить(ТипЗнч(ОписаниеЗадания.ОбъектРасширяемойКонфигурации));
Сообщить(ОписаниеЗадания.ЕстьИзмененияРасширениямиКонфигурации());
Сообщить(ТипЗнч(ОписаниеЗадания.РасширениеКонфигурации()));
Сообщить(ОписаниеЗадания.Родитель() = Метаданные);
КонецПроцедурыРазбор по шагам
Найти описание задания в Метаданные.РегламентныеЗадания, не в менеджере реальных заданий.
Проверить свойства выгрузки: выключенное использование, непредопределённость, три повтора и интервал 10. Прочитать пустые ключ/наименование.
Расписание метаданных всегда Неопределено по контракту. Чтобы получить расписание реального задания, сначала нужен соответствующий существующий runtime-экземпляр.
Разобрать ИмяМетода, найти серверный модуль. В исходной экспортной процедуре обязателен ВидОповещения: одного имени метода для корректного запуска недостаточно.
Вывести паспорт описания. Регламентные/фоновые задания не создаются и не исполняются, сообщения клиентам не отправляются.
Как проверить результат
Двенадцать фиксированных проверок дают Истина; сведения происхождения диагностические.
Наличие шаблона не говорит о количестве экземпляров и их успешном выполнении. Состояние рабочих заданий этот урок не опрашивает.
Ожидаемый результат
Полный разбор реального описания задания с понятными ограничениями запуска.
На что обратить внимание
Расписание = Неопределено у метаданных не означает отсутствие расписания у реально созданного задания.
Использование шаблона не является доказательством состояния каждого существующего экземпляра.
Не вызывайте процедуру рассылок как учебный тест: она выполняет прикладную работу и требует параметр.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.