ОбъектМетаданных: РегламентноеЗадание.Родитель

Методы · Parent

Получает объект описания метаданного, которому подчинен данный объект.

Синтаксис

Родитель()

Примеры платформы

Метаданные.Документы.РасходнаяНакладная.Реквизиты.Цена.Родитель();
Полное описание, параметры и ограничения

ОбъектМетаданных: РегламентноеЗадание.Родитель (MetadataObject: ScheduledJob.Parent)

ОбъектМетаданных: РегламентноеЗадание (MetadataObject: ScheduledJob)

Родитель (Parent)

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

Синтаксис:
Родитель()
Описание:

Получает объект описания метаданного, которому подчинен данный объект.

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

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

Пример:

// В данном примере метод вернет значение

// Метаданные.Документы.РасходнаяНакладная

Метаданные.Документы.РасходнаяНакладная.Реквизиты.Цена.Родитель();

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

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

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

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

Прочитать описание задания, не запуская рассылки

У шаблона АнализДанныхДляОповещенийКлиентам выключено использование, нет предопределённости, задано три повтора. Это сведения метаданных, не состояние runtime-задания.

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

Полный серверный модуль изолированной учебной копии КА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. Вставьте полный модуль одного урока и вызовите УчебныеКонтрактыОбработчиков.ВыполнитьПример() из своей учебной серверной команды.

  3. Источники: Roles\ПолныеПрава.xml; EventSubscriptions\АктуализироватьСтруктуруПредприятия.xml; ScheduledJobs\АнализДанныхДляОповещенийКлиентам.xml и соответствующие CommonModules.

  4. Код только читает метаданные и признаки прав. Он не назначает роли, не меняет параметры сеанса, не записывает организацию и не вызывает обработчик подписки или задания.

  5. Учебная копия должна быть изолирована от рабочих фоновых заданий и внешних обменов её обычными средствами администрирования. Этот пример не выключает и не включает задания за пользователя.

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

Процедура ВыполнитьПример() Экспорт
    ОписаниеЗадания = Метаданные.РегламентныеЗадания.Найти("АнализДанныхДляОповещенийКлиентам");
    Если ОписаниеЗадания = Неопределено Тогда
        ВызватьИсключение "Нет подтверждённого описания задания";
    КонецЕсли;
    Сообщить(ОписаниеЗадания.Имя = "АнализДанныхДляОповещенийКлиентам");
    Сообщить(НЕ ОписаниеЗадания.Использование);
    Сообщить(НЕ ОписаниеЗадания.Предопределенное);
    Сообщить(ОписаниеЗадания.КоличествоПовторовПриАварийномЗавершении = 3);
    Сообщить(ОписаниеЗадания.ИнтервалПовтораПриАварийномЗавершении = 10);
    Сообщить(ПустаяСтрока(ОписаниеЗадания.Ключ));
    Сообщить(ПустаяСтрока(ОписаниеЗадания.Наименование));
    Сообщить(ОписаниеЗадания.Расписание = Неопределено);
    Части = СтрРазделить(ОписаниеЗадания.ИмяМетода, ".");
    Если Части.Количество() < 2 Тогда
        ВызватьИсключение "Имя метода не содержит модуль и процедуру";
    КонецЕсли;
    ИмяМодуля = Части[Части.Количество() - 2];
    ИмяПроцедуры = Части[Части.Количество() - 1];
    Сообщить(ИмяМодуля = "РассылкиИОповещенияКлиентам");
    Сообщить(ИмяПроцедуры = "АнализДанныхДляОповещенийКлиентам");
    Модуль = Метаданные.ОбщиеМодули.Найти(ИмяМодуля);
    Если Модуль = Неопределено Тогда
        ВызватьИсключение "Не найден модуль метода задания";
    КонецЕсли;
    Сообщить(Модуль.Сервер);
    Сообщить("Исходная процедура требует ВидОповещения. Создание/запуск задания без параметра здесь не выполняется.");
    Сообщить(ОписаниеЗадания.Синоним);
    Сообщить(ОписаниеЗадания.Комментарий);
    Сообщить(ОписаниеЗадания.ПолноеИмя());
    Сообщить(ОписаниеЗадания.Представление());
    Сообщить(ОписаниеЗадания.ПринадлежностьОбъекта);
    Сообщить(ТипЗнч(ОписаниеЗадания.ОбъектРасширяемойКонфигурации));
    Сообщить(ОписаниеЗадания.ЕстьИзмененияРасширениямиКонфигурации());
    Сообщить(ТипЗнч(ОписаниеЗадания.РасширениеКонфигурации()));
    Сообщить(ОписаниеЗадания.Родитель() = Метаданные);

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

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

  1. Найти описание задания в Метаданные.РегламентныеЗадания, не в менеджере реальных заданий.

  2. Проверить свойства выгрузки: выключенное использование, непредопределённость, три повтора и интервал 10. Прочитать пустые ключ/наименование.

  3. Расписание метаданных всегда Неопределено по контракту. Чтобы получить расписание реального задания, сначала нужен соответствующий существующий runtime-экземпляр.

  4. Разобрать ИмяМетода, найти серверный модуль. В исходной экспортной процедуре обязателен ВидОповещения: одного имени метода для корректного запуска недостаточно.

  5. Вывести паспорт описания. Регламентные/фоновые задания не создаются и не исполняются, сообщения клиентам не отправляются.

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

  1. Двенадцать фиксированных проверок дают Истина; сведения происхождения диагностические.

  2. Наличие шаблона не говорит о количестве экземпляров и их успешном выполнении. Состояние рабочих заданий этот урок не опрашивает.

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

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

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

  1. Расписание = Неопределено у метаданных не означает отсутствие расписания у реально созданного задания.

  2. Использование шаблона не является доказательством состояния каждого существующего экземпляра.

  3. Не вызывайте процедуру рассылок как учебный тест: она выполняет прикладную работу и требует параметр.

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

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

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

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

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