К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как в 1С подсвечивать слова: практические способы

Как в 1С подсвечивать слова и строки: условное оформление списков, подсветка текста в полях, раскраска кода в конфигураторе. Пошаговые инструкции и примеры.

Подсветка слов в 1С решает несколько разных задач: визуальное выделение строк в списках документов и справочников, акцент на отдельных значениях в колонках, подсветка синтаксиса в модуле конфигуратора, выделение найденного текста при поиске. Универсальной кнопки «подсветить слово» в платформе нет — каждый сценарий реализуется своим инструментом.

Для пользовательских задач чаще всего применяется условное оформление: оно доступно прямо в режиме «1С:Предприятие» без изменения конфигурации и позволяет красить строки и ячейки по условию, в том числе по вхождению слова в текст. Разработчики дополнительно могут управлять оформлением программно через СКД, формы и элемент «Поле форматированного документа».

Ниже разобраны основные способы: от простой настройки «Ещё → Изменить форму» до программного оформления и подсветки текста в полях ввода. Выбор зависит от того, где нужна подсветка — в динамическом списке, табличной части, отчёте или текстовом поле.

Какие задачи решает подсветка в 1С и какой инструмент выбрать

Прежде чем настраивать, определите, что именно нужно подсветить. От этого зависит инструмент: одна и та же визуальная задача в списке документов и в отчёте реализуется по-разному.

Типовые сценарии: выделить цветом строки, где в наименовании или комментарии встречается определённое слово; подсветить ячейки с конкретным статусом; раскрасить строки отчёта по условию; подчеркнуть найденный фрагмент в длинном тексте; настроить цвета синтаксиса в конфигураторе для удобства чтения кода.

Маршрут решения

Как выбрать способ подсветки

Нужно выделить строки списка по слову без доработки конфигурацииИспользуйте условное оформление формы в режиме «1С:Предприятие»
Подсветка нужна в отчёте на СКДДобавьте условное оформление на закладке «Условное оформление» настроек отчёта
Нужно подсветить фрагмент текста внутри многострочного поляИспользуйте поле форматированного документа и программное форматирование
Нужно поменять цвета кода в конфигуратореНастройте «Сервис → Параметры → Модули → Редактирование»

Условное оформление списка через «Изменить форму»

Самый доступный способ подсвечивать строки по слову — условное оформление динамического списка в пользовательском режиме. Оно работает в типовых конфигурациях на управляемых формах («Управление торговлей», «Бухгалтерия предприятия», «ERP» и других) и не требует прав на изменение конфигурации.

Порядок действий: откройте нужный список (например, «Номенклатура» или «Реализации товаров и услуг»), нажмите «Ещё → Изменить форму». В дереве элементов найдите список, выделите его и добавьте элемент «Условное оформление» либо сразу откройте соответствующую группу настроек, если она уже есть. В новой строке оформления заполните три части: условие, оформление и оформляемые поля.

В условии выберите поле, в котором ищется слово (например, «Наименование»), вид сравнения — «Содержит», а в правом значении укажите само слово. В оформлении задайте цвет фона или цвет текста. Если поле «Оформляемые поля» оставить пустым, подсветится вся строка; если указать конкретную колонку — только она.

Подсветка строк по слову в списке
  1. 1
    Откройте список и нажмите «Ещё → Изменить форму»
  2. 2
    Выделите элемент списка и добавьте условное оформление
  3. 3
    Задайте условие: поле «Содержит» нужное слово
  4. 4
    Выберите цвет фона или текста в настройках оформления
  5. 5
    При необходимости укажите оформляемые поля, иначе подсветится вся строка
  6. 6
    Нажмите «ОК» и проверьте результат в списке

Проверка результата простая: строки, где поле содержит заданное слово, должны изменить цвет сразу после закрытия настроек. Если подсветка не появилась — чаще всего условие привязано не к тому полю, либо слово введено с лишними пробелами или в другом регистре при использовании неподходящего вида сравнения.

Подсветка в отчётах на СКД

Если слово нужно подсвечивать в отчёте, условное оформление настраивается в варианте отчёта. Откройте отчёт, перейдите в «Ещё → Прочие настройки» (или «Изменить вариант») и найдите закладку «Условное оформление». Логика та же, что и у списка: условие, оформление, область действия.

Отличие в том, что в СКД условие строится по полям компоновки данных, а область можно ограничить конкретными полями вывода. Например, можно подсвечивать жёлтым строки, где комментарий содержит слово «срочно», и при этом выводить цвет только в колонке «Комментарий».

В конфигураторе то же самое оформление задаётся в макете схемы компоновки на закладке «Настройки» — это удобно, когда подсветка должна быть частью типового варианта отчёта, а не личной настройкой пользователя. Пользовательские настройки сохраняются для конкретного пользователя, настройки в макете — для всех.

Программное условное оформление формы

Разработчику доступен тот же механизм через код: условное оформление добавляется в обработчике «ПриСозданииНаСервере» формы. Это нужно, когда условие сложное или оформление должно быть частью доработки конфигурации.

Типовой приём — добавить элемент в коллекцию «УсловноеОформление» формы, заполнить отбор (поле, вид сравнения «Содержит», значение слова), задать параметр оформления «ЦветФона» или «ЦветТекста» и при необходимости список оформляемых полей. Для динамических списков с произвольным запросом оформление добавляется в коллекцию условного оформления самого списка.

ЭлементОформления = УсловноеОформление.Элементы.Добавить();

ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Комментарий");

ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;

ЭлементОтбора.ПравоеЗначение = "срочно";

ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СветлоЖелтый);

Программный способ даёт гибкость: можно комбинировать несколько условий по «И/ИЛИ», менять оформление в зависимости от роли пользователя или состояния данных. Минус — требуется доработка конфигурации и последующая поддержка кода при обновлениях.

Типичные ошибки
01
Условие привязано к полю, которого нет в запросе списка — оформление молча не срабатывает
02
Используется вид сравнения «Равно» вместо «Содержит», и слово внутри длинного текста не находится
03
Оформление добавлено программно, но пользовательские настройки формы перекрывают его — помогает сброс настроек формы
04
Слово указано с учётом регистра в запросе через ПОДОБНО, а данные хранятся в другом регистре

Подсветка текста внутри поля: форматированный документ

Условное оформление красит ячейку или строку целиком, но не умеет выделять отдельное слово внутри многострочного текста. Для этой задачи предназначен элемент формы «Поле форматированного документа»: он отображает форматированный документ, в котором программно можно менять цвет, фон и начертание отдельных фрагментов.

Механика такая: текст загружается в объект «ФорматированныйДокумент», затем в цикле находятся позиции нужного слова (например, через «НайтиТекст» или посимвольный разбор), и для каждого найденного диапазона устанавливается цвет фона или текста. После этого документ привязывается к реквизиту формы.

Ограничения способа: форматированный документ тяжелее обычного текстового поля, поэтому для больших текстов подсветка может замедлять открытие формы. Кроме того, элемент доступен только в управляемых формах, и редактирование текста пользователем потребует повторного применения подсветки после изменения.

Подсветка синтаксиса и поиска в конфигураторе

Отдельная задача — цвета кода в конфигураторе. Платформа подсвечивает ключевые слова встроенного языка, строки, числа, комментарии и операторы автоматически, а цвета настраиваются через «Сервис → Параметры», закладка «Модули», группа «Редактирование». Там можно изменить цвет и шрифт для каждой категории синтаксиса.

При поиске по тексту модуля (Ctrl+F) найденные вхождения слова подсвечиваются платформой автоматически; переход между вхождениями выполняется клавишей F3. В окне результатов глобального поиска (Ctrl+Shift+F) совпадения также выделяются в строках-результатах.

Если подсветка синтаксиса внезапно пропала, проверьте, не открыт ли модуль как обычный текстовый документ, и не сброшены ли настройки редактора. Возврат к типовым цветам выполняется в тех же параметрах кнопкой установки стандартных значений.

Контрольные точки

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

Подсветка строк в списке
Норма

Строки со словом окрашены сразу после настройки, при обновлении списка цвет сохраняется

Тревожный признак

Цвет не появляется или пропадает после обновления — проверьте условие и поле отбора

Подсветка в отчёте
Норма

Цвет применяется к нужным колонкам и сохраняется в варианте отчёта

Тревожный признак

Оформление применяется ко всему отчёту или не сохраняется — проверьте область и вариант

Подсветка в тексте
Норма

Выделяются именно найденные слова, остальной текст не меняется

Тревожный признак

Меняется форматирование всего документа — проверьте границы диапазонов

Ограничения и частые проблемы

Условное оформление не работает в обычных формах старых конфигураций так же, как в управляемых: там раскраска строк делается только программно через события «ПриПолученииДанных» или «ПриВыводеСтроки» табличного поля. Если база на обычном приложении, пользовательская настройка «Изменить форму» может отсутствовать.

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

Наконец, вид сравнения «Содержит» в условном оформлении работает по правилам СУБД и зависит от регистронезависимости базы. В большинстве файловых и клиент-серверных баз поиск подстроки регистронезависим, но при сомнениях проверьте на тестовой строке со словом в другом регистре.

Итог

Что важно запомнить

Подсветка слов в 1С делается условным оформлением (списки и отчёты), программным оформлением формы или форматированным документом для текста. Выбирайте инструмент под задачу, проверяйте вид сравнения и помните, что пользовательские настройки видны только их автору.

Частые вопросы

Можно ли подсветить слово в списке без прав администратора?

Да, если конфигурация на управляемых формах и у пользователя есть доступ к команде «Ещё → Изменить форму». Условное оформление сохраняется в личных настройках и не требует изменения конфигурации. Если команда недоступна — её отключил администратор или разработчик формы.

Почему условие «Содержит» не находит слово?

Чаще всего поле отбора не совпадает с тем, что выведено в колонку, либо в слове есть лишние пробелы. Также проверьте, что поле присутствует в запросе динамического списка: условное оформление по полю, не выбранному в запросе, не сработает.

Как сделать подсветку для всех пользователей, а не только для себя?

Добавьте условное оформление в конфигураторе — в модуле формы программно или в настройках динамического списка/СКД. Альтернатива без доработки — скопировать файл настроек формы другим пользователям через механизм копирования настроек, если он включён в конфигурации.

Можно ли подсветить несколько разных слов разными цветами?

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

Работает ли подсветка в мобильном клиенте 1С?

Условное оформление форм в мобильном клиенте поддерживается частично и зависит от версии платформы. Перед внедрением проверьте отображение на целевых устройствах: цвет фона строк обычно работает, а сложные комбинации оформления могут игнорироваться.