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