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