ДокументHTML.АдаптироватьУзел

Методы · AdoptNode

Выполняет адаптацию (заимствование) узла другого документа. Производит попытку заимствования узла из другого документа в данный. Если адаптация поддерживается для узла, то производится замена документа-владельца у данного узла, всех его дочерних узлов и атрибутов рекурсивно. Если узел имеет родительский узел, то вначале он удаляется из родительского узла. Правила заимствования для типов узлов: Атрибут - документ-владелец устанавливается в Неопределено, свойство Указан устанавливается в Истина, заимствуются все потомки узла; ФрагментДокумента - все потомки фрагмента рекурсивно заимствуются; Документ - не может быть адаптирован; ОпределениеТипаДокумента - не может быть адаптирован; Элемент - атрибуты с установленным свойством Указан заимствуются, для нового узла-элемента создаются атрибуты, имеющие значения по умолчанию. Если в данном документе определена сущность с таким же именем, то формируется значение сущности для заимствованной ссылки; Текст, Комментарий - заимствуются .

Синтаксис

АдаптироватьУзел()
Полное описание, параметры и ограничения

ДокументHTML.АдаптироватьУзел (HTMLDocument.AdoptNode)

ДокументHTML (HTMLDocument)

АдаптироватьУзел (AdoptNode)

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

Синтаксис:
АдаптироватьУзел()
Возвращаемое значение:
Тип: ДокументHTML, Неопределено.
Адаптированный узел или Неопределено, если адаптация не удалась.
Описание:

Выполняет адаптацию (заимствование) узла другого документа. Производит попытку заимствования узла из другого документа в данный.
Если адаптация поддерживается для узла, то производится замена документа-владельца у данного узла, всех его дочерних узлов и атрибутов рекурсивно.
Если узел имеет родительский узел, то вначале он удаляется из родительского узла.
Правила заимствования для типов узлов:
Атрибут - документ-владелец устанавливается в Неопределено, свойство Указан устанавливается в Истина, заимствуются все потомки узла;

ФрагментДокумента - все потомки фрагмента рекурсивно заимствуются;

Документ - не может быть адаптирован;

ОпределениеТипаДокумента - не может быть адаптирован;

Элемент - атрибуты с установленным свойством Указан заимствуются, для нового узла-элемента создаются атрибуты, имеющие значения по умолчанию. Если в данном документе определена сущность с таким же именем, то формируется значение сущности для заимствованной ссылки;

Текст, Комментарий - заимствуются
.

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

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

Примечание:
Причины вызова исключений:
попытка адаптации узлов Документ, ОпределениеТипаДокумента;

текущий документ адаптируемого узла в режиме Только для чтения.

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

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

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

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

АдаптироватьУзел: неполнота описанного синтаксиса

Описание рассказывает о заимствовании узла другого документа, но установленная справка приводит только АдаптироватьУзел() и не описывает параметр. Пример диагностический, не успешный перенос.

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

Синтаксический пример для серверного обработчика или толстого клиента. ЧтениеHTML и ПостроительDOM разбирают собственную строку в память; это не открытие страницы в браузере. Здесь код не выполнялся.

Подготовка

  1. Используется один собственный документ в памяти. Не добавляйте придуманный параметр к документированной сигнатуре.

  2. Для рабочего переноса нужен подтверждённый контракт конкретной платформы; эта карточка показывает существующую неполноту справки.

Чтение = Новый ЧтениеHTML;
Чтение.УстановитьСтроку("<html><body><span id=""label"">Книга</span></body></html>");
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Чтение);
Чтение.Закрыть();
Попытка
    Адаптированный = Документ.АдаптироватьУзел();
    Сообщить("Получен результат описанного вызова: " + Строка(Адаптированный));
Исключение
    Сообщить("Описанный вызов не выполнен; заимствование узла не подтверждено");
КонецПопытки;

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

  1. Создайте свой документ.

  2. Вызовите ровно описанный в справке вариант без параметров.

  3. Отделите фактически полученный результат или исключение от обещания переноса чужого узла.

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

  1. Пример не утверждает, что какой-либо узел был перенесён.

  2. Исключение показывается как диагностический отказ, а не как успех.

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

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

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

  1. Не заменяйте сигнатуру догадкой по браузерному JavaScript. В установленном контракте параметр отсутствует.

  2. Сам Документ и определение типа документа не допускают адаптацию по описанию справки.

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

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

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

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

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