Выполняет адаптацию (заимствование) узла другого документа. Производит попытку заимствования узла из другого документа в данный. Если адаптация поддерживается для узла, то производится замена документа-владельца у данного узла, всех его дочерних узлов и атрибутов рекурсивно. Если узел имеет родительский узел, то вначале он удаляется из родительского узла. Правила заимствования для типов узлов: Атрибут - документ-владелец устанавливается в Неопределено, свойство Указан устанавливается в Истина, заимствуются все потомки узла; ФрагментДокумента - все потомки фрагмента рекурсивно заимствуются; Документ - не может быть адаптирован; ОпределениеТипаДокумента - не может быть адаптирован; Элемент - атрибуты с установленным свойством Указан заимствуются, для нового узла-элемента создаются атрибуты, имеющие значения по умолчанию. Все потомки рекурсивно заимствуются; Сущность - не может быть адаптирован; СсылкаНаСущность - заимствуется только данный узел. Если в данном документе определена сущность с таким же именем, то формируется значение сущности для заимствованной ссылки; Нотация - не может быть адаптирован; ИнструкцияОбработки, Текст, СекцияCDATA, Комментарий - заимствуются.
Синтаксис
АдаптироватьУзел()Полное описание, параметры и ограничения
ДокументDOM.АдаптироватьУзел (DOMDocument.AdoptNode)
ДокументDOM (DOMDocument)
АдаптироватьУзел (AdoptNode)
Доступен, начиная с версии 8.1.
Синтаксис:
АдаптироватьУзел()
Возвращаемое значение:
Тип: ДокументDOM, Неопределено.
Адаптированный узел или Неопределено, если адаптация не удалась.
Описание:
Выполняет адаптацию (заимствование) узла другого документа. Производит попытку заимствования узла из другого документа в данный.
Если адаптация поддерживается для узла, то производится замена документа-владельца у данного узла, всех его дочерних узлов и атрибутов рекурсивно.
Если узел имеет родительский узел, то вначале он удаляется из родительского узла.
Правила заимствования для типов узлов:
Атрибут - документ-владелец устанавливается в Неопределено, свойство Указан устанавливается в Истина, заимствуются все потомки узла;
ФрагментДокумента - все потомки фрагмента рекурсивно заимствуются;
Документ - не может быть адаптирован;
ОпределениеТипаДокумента - не может быть адаптирован;
Элемент - атрибуты с установленным свойством Указан заимствуются, для нового узла-элемента создаются атрибуты, имеющие значения по умолчанию. Все потомки рекурсивно заимствуются;
Сущность - не может быть адаптирован;
СсылкаНаСущность - заимствуется только данный узел. Если в данном документе определена сущность с таким же именем, то формируется значение сущности для заимствованной ссылки;
Нотация - не может быть адаптирован;
ИнструкцияОбработки, Текст, СекцияCDATA, Комментарий - заимствуются.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Причины вызова исключений:
попытка адаптации узлов Документ, ОпределениеТипаДокумента;
текущий документ адаптируемого узла в режиме Только для чтения.
Использование в версии:
Доступен, начиная с версии 8.1.
Методическая информация
Практические примеры
ДокументDOM.АдаптироватьУзел: точная неполная сигнатура
Описание говорит о заимствовании чужого узла, а синтаксис содержит только АдаптироватьУзел(). Параметр не выдумывается, перенос не обещается.
Где и как запускать
Синтаксический пример в серверном обработчике или толстом клиенте. Дерево создаётся из собственной строки либо собственным конструктором в памяти. Здесь 1С, браузер, файлы и сеть не запускались.
Подготовка
Создайте собственный ДокументDOM в памяти. Здесь нет произвольного входного объекта или чужого рабочего дерева.
Документ = Новый ДокументDOM("", "order");
Документ.ЭлементДокумента.ТекстовоеСодержимое = "BOOK";
Попытка
Результат = Документ.АдаптироватьУзел();
Сообщить("Результат описанного вызова: " + Строка(Результат));
Исключение
Сообщить("Адаптация не выполнена; перенос узла не подтверждён");
КонецПопытки;
Сообщить(Документ.ЭлементДокумента.ТекстовоеСодержимое);Разбор по шагам
Задайте собственное содержимое BOOK.
Покажите именно сигнатуру без параметров из установленной справки.
Отделите результат или отказ от неподтверждённого заимствования.
Как проверить результат
Результат не заменяется фиктивным узлом.
Перехват исключения не объявляет перенос успешным.
Ожидаемый результат
Приведён короткий пример синтаксиса с указанными ограничениями. Он не выполнялся здесь в 1С; проверьте реальные результаты в своём учебном контексте.
На что обратить внимание
До уточнения полного контракта нельзя приписать этому вызову конкретный перенос между двумя документами.
Документ, DTD, сущность и нотация не адаптируются по описанию справки.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.