# Find and Replace

> Находит слово или фразу во всём модуле, показывает каждое место с новым текстом и заменяет его везде сразу.

Source: https://widgets.doorsnext.com/ru/widgets/find-and-replace/

- Дисциплина: Качество содержимого
- Где работает: Модуль IBM DOORS Next
- Поддерживаемые продукты: RM (IBM Engineering Requirements Management DOORS Next (Requirements Management))
- Изменяет данные
- Keywords: поиск и замена DOORS Next, замена текста в требованиях, массовая замена текста, переименование термина в модуле, глобальная замена, поиск и замена требований, массовое редактирование DOORS Next
- Версия: 2.10 (Выпущено 2026-10-28)
- Vendor: SmarterProcess (https://doorsnext.com, info@smarterprocess.pl)
- Ход работы: 1. Введите, что искать и что вставить → 2. Поиск по модулю и показ каждого места → 3. Проверьте список и подтвердите (При необходимости: Только некоторые: выделите их и используйте Selection) → 4. Текст заменён во всех → 5. Отчёт об изменениях в Excel

## Что это и зачем
Меняется название продукта, термин получает новое имя, заглушка вроде «TBD» наконец получает значение или старую единицу нужно убрать. В спецификации из сотен требований один и тот же текст приходится менять сразу во многих артефактах.

DOORS Next позволяет редактировать только один артефакт за раз. Find and Replace просматривает весь модуль или выделение, показывает каждое место с текстом и то, как оно будет выглядеть, и после одного подтверждения заменяет текст везде. Меняется только видимый текст: форматирование, ссылки, рисунки и таблицы остаются как есть.

## Какие проблемы решает
- Открывать сотни артефактов по одному, чтобы изменить одно и то же слово или фразу.
- Пропущенные места: старый термин остаётся в нескольких требованиях, которые никто не нашёл.
- Массовые изменения, ломающие форматирование или ссылки, потому что сохранённый текст правили вслепую.
- Нет записи о том, что сделало массовое изменение, и нет простого пути назад.

## Преимущества
- **Сначала посмотреть, потом менять:** каждый артефакт с текстом, а в каждом месте старый текст зачёркнут и новый стоит после него.
- **Точные совпадения:** Match case и Whole words only, чтобы «pump» не менял «pumps» или «Pump», если вы этого не хотите.
- **Форматирование сохраняется:** жирный шрифт, списки, ссылки и рисунки остаются; меняется только искомый текст.
- **Имена тоже:** по желанию поиск идёт и по именам артефактов, а не только по основному тексту.
- **Целые модули за один запуск,** без ограничения в 200 артефактов для выделения, и отчёт об изменениях в Excel с каждым текстом до и после.

## Как пользоваться
1. В **Settings** (если раздел свёрнут, нажмите **Change**) введите текст в **Find what** и новый текст в **Replace with** (оставьте поле пустым, чтобы удалить текст). Выберите **Match case**, **Whole words only** и где искать: **Primary text**, **Name** или оба. **Done** сворачивает Settings в одну строку.
2. Откройте модуль, выберите **Whole module** в разделе **Replace** и нажмите **Find**. Результат показывает, в скольких артефактах есть текст и сколько раз; раскройте строку, чтобы увидеть каждое место: старый текст зачёркнут, новый идёт сразу за ним.
3. Нажмите **Replace**, прочитайте подтверждение и нажмите **Replace in N artifacts**. Карточка хода выполнения показывает запуск, и его можно в любой момент остановить кнопкой **Stop**. Нажмите **Log** в результате, чтобы скачать отчёт об изменениях.
4. Чтобы изменить только отдельные артефакты, выделите их в DOORS Next и выберите **Selection · N**: виджет сразу выполнит в них поиск. Нажмите **Replace** и подтвердите.

## Полезно знать
- Запускайте Find and Replace в наборе изменений (change set), чтобы его можно было отменить, если результат не устраивает.
- Текст ищется точно так, как введён, включая пробелы; подстановочных знаков нет. Пробел находит и неразрывный пробел.
- Текст, разделённый форматированием (часть слова жирным), не заменяется; поиск считает такие места, чтобы их можно было исправить вручную.
- Рисунки и другие файлы сохраняют содержимое; при выборе Name меняется только их имя.
- Для всего модуля **Replace** работает и без предварительного поиска: каждый артефакт читается, а текст заменяется там, где он есть; итоговые числа известны в конце.
- На очень больших модулях браузер может замедлиться. Остановите запуск кнопкой **Stop**, перезагрузите страницу и снова откройте модуль: **Continue from …** продолжит с места остановки с теми же настройками.
