Реплейсер
Точная замена или шаблоны с {{имя}} для любого текста: в замене оставьте только нужное — остальное из совпадения удалится. Пустые строки при поиске не учитываются.
Как работают шаблоны
Шаблон — это любой фрагмент текста (не только «Отказ»): процедуры, запросы, комментарии, произвольные блоки. Фиксированные куски ищутся как есть, а между ними стоят именованные «дыры» {{имя}}.
- Включите режим Шаблон.
- В «Что искать» — ваш произвольный каркас и дыры
{{имя}}(латиница, кириллица, цифры,_). Имена в одном шаблоне уникальны. - В «На что заменить» укажите только те
{{имя}}, которые нужно сохранить, и любой новый текст вокруг. - Всё, что не попало в замену (обёртки и неиспользованные дыры), удаляется.
- Пустая замена или «Удалить совпадения» — удалить найденные блоки целиком.
- Пустые строки при сравнении игнорируются; отступы в непустых строках важны. Для BSL вложенные
Если/КонецЕсли(и циклы) учитываются по балансу. - Кнопка Форматировать выравнивает BSL: табы по вложенности, операторы на отдельных строках, одна пустая строка между блоками, пробел перед
Возврат. - Режим Удалить строки: уберёт все строки, начинающиеся с указанной подстроки (несколько префиксов — по одному на строку).
- Для нескольких проходов подряд включите Несколько шагов и задайте пары поиск/замена через
===.
Пример 1 — любой блок: сохранить середину
Поиск:
// было начало
{{нужное}}
// было конец
Замена:
{{нужное}}
Останется только то, что попало в {{нужное}}.
Пример 2 — сменить обёртку, сохранив код
Поиск:
Попытка
{{тело}}
Исключение
// ...
КонецПопытки;
Замена:
{{тело}}
Или подставьте другую обёртку вокруг {{тело}} — шаблон не привязан к конкретному слову.
Пример 3 — несколько дыр: часть сохранить, часть выбросить
Поиск:
Начало
{{удалитьЭто}}
Середина
{{оставить}}
Конец
Замена:
{{оставить}}
В замене нет {{удалитьЭто}} — этот фрагмент и все литералы («Начало», «Середина», «Конец») исчезнут.
Пример 4 — снять обёртку «флаг / Иначе»
Типичный каркас: флаг = Ложь → проверки → Если Флаг Тогда … Иначе … КонецЕсли. Одним шаблоном оставляете только тело успеха:
Поиск:
Флаг = Ложь;
{{проверки}}
Если Флаг Тогда
{{веткаОшибки}}
Иначе
{{тело}}
КонецЕсли;
Замена:
{{тело}}
Подставьте своё имя флага вместо Флаг. Применяется ко всем таким вхождениям. Ранние проверки с Возврат до этого каркаса шаблоном не трогаются.
Пример 5 — цепочка шагов (обычный каркас + split + цикл)
Режим Шаблон → Несколько шагов. Шаги 1–3 снимают каркас с флагом (с Иначе и без него). Шаги 4–5 — типичная адаптация проверок в цикле: вместо структуры результата пишете в коллекцию ошибок и связываете проверки через ИначеЕсли. Имена и тексты замените на свои:
===
Флаг = Ложь;
{{проверки}}
Если Флаг Тогда
{{веткаОшибки}}
Иначе
{{тело}}
КонецЕсли;
===
{{тело}}
===
Флаг = Ложь;
{{проверки}}
Если Флаг Тогда
{{веткаОшибки}}
КонецЕсли;
===
===
Если НЕ Флаг Тогда
{{тело}}
КонецЕсли;
===
{{тело}}
===
Результат_ = Новый Структура("ТекстОшибки, Данные", "", Неопределено);
Флаг = Ложь;
Если НЕ Флаг И Условие1 Тогда
Результат_.ТекстОшибки = "Сообщение1";
Флаг = Истина;
КонецЕсли;
Если НЕ Флаг И Условие2 Тогда
Флаг = Истина;
КоллекцияОшибок.Добавить("Сообщение2");
Иначе
{{тело}}
КонецЕсли;
===
Если Условие1 Тогда
КоллекцияОшибок.Добавить("Сообщение1");
ИначеЕсли Условие2 Тогда
КоллекцияОшибок.Добавить("Сообщение2");
Иначе
{{тело}}
КонецЕсли;
===
Результат_.ТекстОшибки = ТекстИсключения;
===
КоллекцияОшибок.Добавить(ТекстИсключения);
Шаги идут по порядку; в статусе — число замен по каждому. Отступы (табы) должны совпадать с вашим кодом. Шаг без {{имя}} — точная замена строки.
Составьте свой шаблон под любую задачу: имена дыр и фиксированный текст задаёте вы.
В режиме «Точный текст» ищется совпадение по строкам (пустые строки не учитываются).