КомментарийDOM.РазделитьТекст

Методы · SplitText

Разделяет текстовый узел. В данном узле остаются символьные данные до смещения, новый узел будет содержать символьные данные после смещения. Новый узел добавляется к родителю данного узла в качестве дочернего, следующего за данным.

Синтаксис

РазделитьТекст(<Смещение>)
Полное описание, параметры и ограничения

КомментарийDOM.РазделитьТекст (DOMComment.SplitText)

КомментарийDOM (DOMComment)

РазделитьТекст (SplitText)

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

Синтаксис:
РазделитьТекст(<Смещение>)
Параметры:

<Смещение> (обязательный)
Тип: Число.
Смещение относительно начала символьных данных.
Возвращаемое значение:
Тип: ТекстDOM.

Описание:

Разделяет текстовый узел. В данном узле остаются символьные данные до смещения, новый узел будет содержать символьные данные после смещения. Новый узел добавляется к родителю данного узла в качестве дочернего, следующего за данным.

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

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

Примечание:
Причины вызова исключения:
смещение превышает размер символьных данных;

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

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

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

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

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

КомментарийDOM: полный текст, замена и разделение

Настоящий комментарий создаётся в собственном документе. Показываем свойства только для чтения и используем возвращённый узел при замене и разделении.

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

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

Подготовка

  1. Используется только собственный XML-документ и два отдельных комментария. Смещение 4 соответствует границе после BOOK.

  2. Свойства ПолныйТекст и ЭтоПробельныеСимволыЭлемента читаются, им не присваивается значение.

Документ = Новый ДокументDOM("", "order");
Комментарий = Документ.СоздатьКомментарий("BOOK-2");
Документ.ЭлементДокумента.ДобавитьДочерний(Комментарий);
Сообщить("Полный текст: " + Комментарий.ПолныйТекст);
Сообщить("Пробельные символы: " + Строка(Комментарий.ЭтоПробельныеСимволыЭлемента));
Заменённый = Комментарий.ЗаменитьПолныйТекст("BOOK-3");
Если Заменённый <> Неопределено Тогда
    Сообщить("Замена: " + Заменённый.Данные);
КонецЕсли;
ДляРазделения = Документ.СоздатьКомментарий("BOOK-2");
Документ.ЭлементДокумента.ДобавитьДочерний(ДляРазделения);
ВторойУзел = ДляРазделения.РазделитьТекст(4);
Сообщить("До смещения: " + ДляРазделения.Данные);
Сообщить("После смещения: " + ВторойУзел.Данные);

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

  1. Создайте и прикрепите настоящий комментарий, посмотрите его текст и признак пробелов.

  2. Замените текст и используйте фактически возвращённый результат, если он определён.

  3. На отдельном комментарии покажите разделение по смещению и обе полученные части.

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

  1. После поддержанного разделения части должны содержать BOOK и -2, а не байтовые фрагменты.

  2. При пустой замене возможно Неопределено; результат не следует безусловно разыменовывать.

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

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

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

  1. Справка объявляет возврат ТекстDOM для разделения и ТекстDOM/Неопределено для замены даже у КомментарийDOM. Не обещайте, что возвращённый узел имеет тот же тип комментария.

  2. Замена полного текста затрагивает логически смежные текстовые узлы. Отдельный комментарий для второго опыта исключает выдуманную гарантию прежних границ.

  3. Ограничение только чтения или неподдержанное поведение может дать исключение; здесь запуск не проверялся.

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

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

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

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

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