ОбъектМетаданных: WebСервис.Родитель

Методы · Parent

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

Синтаксис

Родитель()

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

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

ОбъектМетаданных: WebСервис.Родитель (MetadataObject: WebService.Parent)

ОбъектМетаданных: WebСервис (MetadataObject: WebService)

Родитель (Parent)

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

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

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

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

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

Пример:

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

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

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

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

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

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

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

Прочитать контракт SOAP-сервиса до проверки публикации

CustomerOrdersExchange описывает обмен заказами. Пространство имён XDTO и файл .1cws не являются доказательством работающей веб-публикации.

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

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

Сервис = Метаданные.WebСервисы.Найти("CustomerOrdersExchange");
Если Сервис = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует WebСервисы.CustomerOrdersExchange";
КонецЕсли;
Сообщить(Сервис.Имя = "CustomerOrdersExchange");
Сообщить("Синоним: " + Сервис.Синоним);
Сообщить("Комментарий: " + Сервис.Комментарий);
Сообщить(Сервис.ПолноеИмя());
Сообщить(Сервис.Представление());
Сообщить("Принадлежность: " + Строка(Сервис.ПринадлежностьОбъекта));
Сообщить("Идентификатор заимствования: " + Строка(Сервис.ОбъектРасширяемойКонфигурации));
Сообщить("Изменён расширениями: " + Строка(Сервис.ЕстьИзмененияРасширениямиКонфигурации()));
Сообщить("Расширение-владелец: " + Строка(Сервис.РасширениеКонфигурации()));
Родитель = Сервис.Родитель();
Если Родитель = Неопределено Тогда
    ВызватьИсключение "Не получен родитель своего описания контракта";
КонецЕсли;
Сообщить(Родитель = Метаданные);
Сообщить(Сервис.ПространствоИмен = "http://www.1c.ru/CustomerOrders/Exchange");
Сообщить(Сервис.ИмяФайлаПубликации = "CustomerOrdersExchange.1cws");
Варианты = Метаданные.СвойстваОбъектов;
Сообщить(Сервис.ПовторноеИспользованиеСеансов = Варианты.РежимПовторногоИспользованияСеансов.НеИспользовать);
Сообщить(Сервис.ВремяЖизниСеанса = 20);
Сообщить(Сервис.ПакетыXDTO.Количество() > 0);
Сообщить("Объявлено пакетов: " + Строка(Сервис.ПакетыXDTO.Количество()));
Сообщить("Объявлено операций: " + Строка(Сервис.Операции.Количество()));
Сообщить(Сервис.Модуль = Неопределено);
Сообщить("Исходник обработчиков смотрите в файловой выгрузке, не в свойстве Модуль");

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

  1. Сервис найден по реальному имени из XML. ПолноеИмя и родитель относятся к дереву метаданных, не к сетевому адресу.

  2. ПространствоИмен идентифицирует контракт. ИмяФайлаПубликации — настройка файла дескриптора, не полный адрес сервера.

  3. ПовторноеИспользованиеСеансов = НеИспользовать и время 20 сверяются с XML; число времени само по себе не включает повторное использование.

  4. ПакетыXDTO перечисляют допустимые пакеты типов, Операции — определения операций. Считаются описания, не вызовы или сообщения.

  5. Модуль имеет тип Неопределено в этом API. Его значение не экспортирует BSL обработчиков. Источник читают из выгрузки отдельно.

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

  1. Восемь контрольных Истина плюс диагностические имена, флаги, количество операций/пакетов.

  2. Не было запроса WSDL, SOAP, открытия соединения или выполнения обработчика.

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

Для будущего теста публикации получено реальное описание контракта.

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

  1. URI пространства имён может выглядеть как HTTP-ссылка, но код не открывает его.

  2. Проверка описания не подтверждает публикацию, сертификат, авторизацию или успешный SOAP-ответ.

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

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

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

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

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