Бизнес-процесс собирает сообщение из полей сделки, а получатель видит одну длинную строку: «Клиент: ООО Рога и копыта Сумма: 120 000 Адрес: …». Или наоборот: комментарий менеджера из трёх абзацев приходит в письмо слипшимся в один. Перенос строки — самая частая мелочь, на которой спотыкаются при настройке уведомлений. Причина почти всегда одна: в Битрикс24 текст попадает в разные места — чат, письмо, поле карточки, — и каждое понимает перенос по-своему.

Как сделать перенос строки в сообщении бизнес-процесса?

В многострочных полях действий — текст уведомления, сообщение в чат, текст комментария — перенос делается обычным Enter прямо в настройках действия. Каждая новая строка в поле настройки станет новой строкой в сообщении. Так удобнее всего собирать шаблон: «Клиент:», значение поля, Enter, «Сумма:», значение поля, Enter.

В уведомлениях и сообщениях чата работают BB-коды, и перенос можно поставить кодом [BR]. Он нужен там, где Enter не подходит: в однострочном поле настройки или когда строка собирается из кусков другим действием. Робот «Уведомить сотрудников» тоже принимает текст с BB-кодами: [B] для жирного, [BR] для переноса.

Почему в письме строки слипаются?

Письмо — это HTML, а HTML не считает перенос строки разрывом: несколько строк подряд браузер и почтовый клиент показывают одной строкой через пробел. Поэтому многострочный комментарий из поля сделки, вставленный в письмо, приходит одним абзацем. Перенос в письме — это тег <br>.

Чтобы превратить обычные переносы в <br>, перед отправкой письма пропустите текст через робот «Форматировать строку по regex»: регулярное выражение /\r?\n/, строка замены <br>. Тот же приём с заменой на [BR] подготовит многострочный текст для уведомления или чата, если он туда уходит одной строкой. О том, как вообще отправлять письма из процесса, — в статье про уведомления из бизнес-процесса.

Как убрать HTML-теги и не склеить строки?

Обратная задача: текст письма или описания пришёл с HTML-разметкой, а в поле карточки нужен чистый текст. Робот «Удалить HTML-теги из текста» удаляет все теги и по желанию превращает &amp; и другие HTML-сущности в обычные символы. Учтите одну деталь: тег <br> он удаляет, а новую строку на его месте не ставит. Строки «Москваул. Ленина» превратятся в «Москваул. Ленина». Если разбивка важна, сначала замените <br> через «Форматировать строку по regex» на пробел, точку с запятой или другой разделитель, а потом чистите теги.

Как убрать лишние пробелы и неразрывный пробел?

Данные из веб-форм и импорта часто приходят с пробелами по краям или двумя пробелами подряд — потом такая строка не совпадает при поиске дублей и в условиях. Робот «Убрать лишние пробелы» снимает пробелы в начале и конце строки, а с включённым флажком схлопывает повторные пробелы внутри.

Неразрывный пробел — частый гость в тексте, скопированном из Word или с сайта. Глазом он не отличается от обычного, но для сравнения строк это другой символ. Замените его через «Форматировать строку по regex»: выражение /\x{00A0}/u, замена — обычный пробел. Обратная ситуация, когда неразрывный пробел нужен в письме, чтобы «120 000 ₽» не разорвало по строкам, решается HTML-сущностью &nbsp; в тексте письма.

Как удалить из строки определённые символы?

Для простой замены без регулярных выражений есть робот «Заменить подстроку»: что искать, на что заменить, а пустая замена означает «удалить». Так из номера договора убирают дефисы, из названия — кавычки, из суммы — пробелы-разделители тысяч. Робот возвращает результат и число сделанных замен, так что по нулю легко понять, что искомого символа в строке не было. Когда символов много или нужен шаблон — «удалить всё, кроме цифр», — подойдёт тот же «Форматировать строку по regex» с выражением /\D/ и пустой заменой. Больше примеров шаблонов — в статье про регулярные выражения в Битрикс24.

Как перевести текст в нижний или верхний регистр?

Робот «Изменить регистр строки» переводит строку в один из четырёх видов: все заглавные, все строчные, каждое слово с заглавной или как в предложении. Нижний регистр нужен перед сравнением: email и названия компаний сравнивают в одном регистре, иначе «Info@Firma.ru» и «info@firma.ru» считаются разными. Режим «Каждое слово с заглавной» приводит к порядку имена, введённые как попало: «иванов иван» станет «Иванов Иван».

Что дальше

Если строку нужно не оформить, а разобрать — разбить по разделителю, склеить список, вырезать кусок, — это другие роботы, они описаны в статье про строки в бизнес-процессах. Все текстовые роботы собраны в каталоге. А если подходящего нет, опишите задачу: «Роботека» делает недостающие активити бесплатно и добавляет их в общую библиотеку.