Выделение текста в 1С 8.3 — от мыши до форматированной строки
Содержание
Выделить слово в 1С можно тремя способами, и выбор зависит от цели. Чтобы скопировать или заменить фрагмент, его выделяют мышью или клавишами Shift + стрелки. Чтобы строки в списке или отчёте бросались в глаза, настраивают условное оформление. Чтобы слово было жирным или цветным в печатной форме или на форме обработки, текст форматируют в макете или в коде через ФорматированнаяСтрока и объект Шрифт.
Обычное поле ввода в 1С хранит простую строку. Выделить в нём одно слово жирным нельзя — для этого нужен другой элемент формы. Ниже разобраны все варианты, от пользовательских до программных.
Какой способ выделения текста выбрать
| Задача | Где | Способ | Нужен конфигуратор? |
|---|---|---|---|
| Скопировать, удалить, заменить слово | Любое поле ввода | Мышь, Shift + стрелки, двойной щелчок | Нет |
| Подсветить строки списка по условию | Журнал документов, справочник | Условное оформление списка | Нет |
| Выделить итоги или суммы в отчёте | Отчёты на СКД | Условное оформление отчёта | Нет |
| Сделать слово жирным в одном документе | Открытая печатная форма | Режим редактирования табличного документа | Нет |
| Сделать слово жирным во всех печатных формах | Макет печатной формы | Изменение макета или расширение | Иногда |
| Подсветить найденное слово в тексте | Форма обработки | ФорматированнаяСтрока в коде | Да |
| Смешанное оформление в одном тексте | Письмо, заметка | Поле форматированного документа или HTML | Да |
Выделение текста мышью и клавиатурой в полях 1С
Поля ввода 1С 8.3 ведут себя как обычные текстовые поля Windows. Работают привычные приёмы:
- 🖱️ Двойной щелчок по слову — выделяет это слово.
- ⌨️
Shift+ стрелки — расширяют выделение посимвольно. - ⌨️
Ctrl+Shift+ стрелки влево/вправо — выделяют по словам. - ⌨️
Shift+Home/End— от курсора до начала или конца строки. - ⌨️
Ctrl+A— весь текст поля, например весь комментарий.
После выделения действуют Ctrl + C, Ctrl + X, Ctrl + V. Если начать печатать, выделенный фрагмент заменится новым текстом.
Выделение в табличном документе
В отчётах и печатных формах текст лежит в ячейках табличного документа. Здесь логика другая:
- Щелчок по ячейке выделяет ячейку целиком, а не слово в ней.
Shift+ щелчок выделяет прямоугольную область.- Щелчок по заголовку строки или колонки выделяет всю строку или колонку (если заголовки показаны).
Ctrl+Cкопирует выделенную область. В Excel она вставится таблицей.
Чтобы выделить одно слово внутри ячейки, нужен режим редактирования: двойной щелчок по ячейке или F2. Он доступен только когда документ не защищён от изменения.
В отчётах БП 3.0 при выделении нескольких ячеек с числами в шапке отчёта показывается их сумма. Это быстрый способ сверить итог, не выгружая отчёт в Excel.
Поиск слова в отчёте
Длинный отчёт удобнее не пролистывать, а искать в нём. Нажмите Ctrl + F, введите слово — 1С выделит первую ячейку, где оно встречается. Для следующего совпадения повторите поиск.
Цветное выделение строк в списках и отчётах
Условное оформление — главный пользовательский инструмент выделения. Оно меняет цвет текста, цвет фона и шрифт строки, если строка отвечает условию. Код писать не нужно.
Как настроить условное оформление списка
Пример: в журнале «Счета покупателям» нужно выделить красным все документы, где в комментарии есть слово «срочно».
- Откройте журнал.
- В меню
Ещёоткройте настройку списка. - Перейдите на вкладку условного оформления и нажмите «Добавить».
- В поле «Оформление» задайте цвет текста — красный, шрифт — жирный.
- В поле «Условие» выберите поле
Комментарий, вид сравнения «Содержит», значениесрочно. - В «Оформляемых полях» оставьте пусто, чтобы выделялась вся строка, или выберите конкретные колонки.
- Нажмите «Завершить редактирование».
Настройка сохранится за вашим пользователем. У коллег список останется прежним.
Условное оформление выделяет строку или ячейку целиком. Подсветить только слово «срочно» внутри длинного комментария этим способом нельзя.
Условное оформление в отчёте на СКД
Большинство отчётов в БП 3.0, ЗУП 3.1 и УТ 11 построены на системе компоновки данных. Выделение в них настраивается так:
- Откройте отчёт и нажмите «Настройки».
- Переключите вид настроек на расширенный.
- На вкладке условного оформления добавьте правило: условие и оформление, как в списке.
- Сформируйте отчёт заново.
Типичные сценарии:
- 🔴 отрицательные остатки — красным цветом текста;
- 🟡 просроченная задолженность — жёлтым фоном;
- 🟢 итоги по группам — жирным шрифтом;
- ⚪ нулевые значения — серым, чтобы не отвлекали.
Чтобы настройка не пропала, сохраните вариант отчёта под своим именем. Иначе при следующем открытии загрузится стандартный вариант.
Как выделить слово жирным или цветом в печатной форме
Печатная форма — это табличный документ, собранный из макета. Есть два уровня правки: разовая и постоянная.
Разовое выделение в открытой печатной форме
Подходит, когда нужно один раз подчеркнуть сумму или условие в счёте перед отправкой.
- Сформируйте печатную форму.
- Включите режим редактирования — кнопка с карандашом в командной панели формы печати.
- Выделите ячейку со словом.
- Через контекстное меню (правая кнопка мыши) откройте свойства ячейки и задайте шрифт, цвет текста или цвет фона.
- Сохраните или отправьте документ.
Правка живёт только в этом экземпляре. При следующем формировании печатной формы оформление вернётся к исходному.
Если выделить нужно часть текста в ячейке, проще сохранить форму в .xlsx или .docx и отформатировать там. Платформа хранит шрифт на уровне ячейки, а не отдельного слова.
Постоянное выделение через макет
Если слово должно быть выделено в каждом документе, правят макет. В типовых конфигурациях на БСП для этого не нужен конфигуратор:
- Откройте
Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм. - Найдите макет по названию формы, например «Счет на оплату».
- Откройте его на изменение.
- Выделите ячейку, в свойствах задайте шрифт: жирный, курсив, размер, цвет.
- Сохраните макет.
Изменённый макет используется вместо поставляемого. При обновлении конфигурации он не затирается, но новые правки разработчиков в нём не появятся. Поэтому после крупных обновлений сравнивайте свой макет с поставляемым — там же есть команда, которая возвращает стандартный вариант.
Если макет правит программист в конфигураторе, делайте это в расширении конфигурации, а не в основной конфигурации. Иначе типовая база снимается с поддержки, и обновления усложняются.
Свойства ячейки, которые отвечают за выделение
| Свойство | Что меняет | Пример значения |
|---|---|---|
Шрифт | Начертание, размер, жирность, курсив, подчёркивание | Arial, 10, жирный |
ЦветТекста | Цвет букв | Красный |
ЦветФона | Заливка ячейки | Светло-жёлтый |
Рамка... / линии | Обводка ячейки | Сплошная линия |
Заполнение | Текст, параметр или шаблон | Шаблон Итого: [Сумма] |
Программное выделение текста в коде 1С
Когда выделение должно зависеть от данных — сумма больше лимита, найдено слово, просрочен срок, — пишут код. Три основных инструмента: свойства области табличного документа, ФорматированнаяСтрока и условное оформление.
Жирный шрифт и цвет в табличном документе
Область макета получают через ПолучитьОбласть, а свойства ячеек меняют до вывода:
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Заполнить(ДанныеСтроки);
Если ДанныеСтроки.Сумма > 100000 Тогда
Ячейка = ОбластьСтрока.Область("R1C5");
Ячейка.Шрифт = Новый Шрифт(Ячейка.Шрифт, , , Истина); // жирный
Ячейка.ЦветТекста = WebЦвета.Красный;
Ячейка.ЦветФона = WebЦвета.СветлоЖелтый;
КонецЕсли;
ТабДок.Вывести(ОбластьСтрока);
Конструктор Новый Шрифт принимает исходный шрифт первым параметром. Остальные: имя, размер, жирный, наклонный, подчёркнутый, зачёркнутый. Так шрифт ячейки сохраняет имя и размер, а меняется только жирность.
Адрес R1C5 указан относительно области. Если в макете поменяют колонки, адрес съедет. Надёжнее дать ячейке имя в макете и обращаться к ней по имени.
ФорматированнаяСтрока: одно слово жирным внутри текста
ФорматированнаяСтрока позволяет выделить именно слово, а не весь текст. Её выводят в декорацию «Надпись» на управляемой форме:
ЖирныйКрасный = Новый ФорматированнаяСтрока("не проведён",
Новый Шрифт(, , , Истина), WebЦвета.Красный);
Элементы.НадписьСтатус.Заголовок = Новый ФорматированнаяСтрока(
"Документ ", ЖирныйКрасный, ": проверьте остатки.");
Конструктор склеивает части: обычные строки, другие форматированные строки и картинки.
Подсветка найденного слова в тексте
Частая задача — показать текст и подсветить в нём искомое слово, как в поисковике. Функция режет строку по совпадениям без учёта регистра:
Функция ПодсветитьСлово(Текст, Слово) Экспорт
Если ПустаяСтрока(Слово) Тогда
Возврат Новый ФорматированнаяСтрока(Текст);
КонецЕсли;
ДлинаСлова = СтрДлина(Слово);
ШрифтВыделения = Новый Шрифт(, , , Истина);
Части = Новый Массив;
Остаток = Текст;
Поз = СтрНайти(НРег(Остаток), НРег(Слово));
Пока Поз > 0 Цикл
Части.Добавить(Лев(Остаток, Поз - 1));
Части.Добавить(Новый ФорматированнаяСтрока(Сред(Остаток, Поз, ДлинаСлова),
ШрифтВыделения, , WebЦвета.Желтый));
Остаток = Сред(Остаток, Поз + ДлинаСлова);
Поз = СтрНайти(НРег(Остаток), НРег(Слово));
КонецЦикла;
Части.Добавить(Остаток);
Возврат Новый ФорматированнаяСтрока(Части);
КонецФункции
Вызов: Элементы.НадписьТекст.Заголовок = ПодсветитьСлово(Комментарий, СтрокаПоиска);
Проверим на примере. Текст «Счёт срочно, оплатить срочно», слово «срочно». Первое совпадение на позиции 6: в массив уйдут «Счёт », выделенное «срочно» и остаток «, оплатить срочно». Второе совпадение в остатке на позиции 12: уйдут «, оплатить » и второе «срочно». Остаток пуст — цикл закончен, в массиве пять частей.
В типовых конфигурациях на БСП есть готовая функция СтроковыеФункцииКлиентСервер.ФорматированнаяСтрока(). Она разбирает строку с тегами <b> и <a href> и превращает её в форматированную строку. Удобно, когда текст надписи хранится в одном месте и переводится.
Условное оформление динамического списка из кода
Если подсветка строк должна работать у всех пользователей, правило добавляют программно при создании формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элемент = Список.УсловноеОформление.Элементы.Добавить();
Отбор = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Комментарий");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
Отбор.ПравоеЗначение = "срочно";
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);
Элемент.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(, , , Истина));
КонецПроцедуры
В типовой конфигурации такой код кладут в расширение, в обработчик формы списка с аннотацией &После("ПриСозданииНаСервере"), чтобы не трогать основной модуль.
HTML и форматированный документ для сложного оформления
Когда в одном тексте нужно несколько стилей — жирный, курсив, цвет, списки, ссылки, — подходят два элемента формы.
Поле форматированного документа
Реквизит типа ФорматированныйДокумент, выведенный в поле формы, работает как простой текстовый редактор. Пользователь выделяет слово и меняет начертание. Чтобы были кнопки «Жирный», «Курсив», «Цвет», к полю добавляют командную панель редактирования форматированного документа.
Программно текст задают и читают через HTML:
ТекстHTML = "<p>Оплатить до <b>25 числа</b>, иначе <span style=""color:red"">пени</span>.</p>";
Объект.Заметка.УстановитьHTML(ТекстHTML, Новый Структура);
Метод ПолучитьHTML возвращает содержимое обратно в HTML — удобно для писем и выгрузки на сайт.
Поле HTML-документа
Поле HTML показывает произвольную разметку. Слово подсвечивают тегом <mark> или стилями:
<p>Найдено: <mark>ЕГАИС</mark> — 3 документа</p>
Плюс — полная свобода оформления. Минусы — текст нельзя редактировать как в поле ввода, а внешний вид зависит от встроенного браузера платформы и от клиента (тонкий, веб).
Сравнение элементов формы
| Элемент | Выделение слова | Редактирует пользователь | Где применять |
|---|---|---|---|
| Поле ввода (строка) | Нет | Да | Обычные реквизиты |
| Декорация-надпись | Да, через ФорматированнаяСтрока | Нет | Статусы, подсказки, результаты поиска |
| Поле форматированного документа | Да | Да | Заметки, тексты писем |
| Поле HTML-документа | Да | Нет | Отчёты-справки, сложная вёрстка |
Ошибки при выделении текста и как их избежать
- ❌ Пытаются выделить слово жирным в обычном поле ввода. Строковый реквизит не хранит оформление. Нужна декорация с
ФорматированнаяСтрокаили поле форматированного документа. - ❌ Меняют шрифт через
Новый Шрифт("Arial", 10, Истина). Порядок параметров другой: первым идёт исходный шрифт. Строка на месте исходного шрифта не задаст имя и размер так, как задумано. - ❌ Слишком много правил условного оформления. Пять цветов в одном журнале уже не выделяют, а рябят. Оставьте 2–3 правила с понятным смыслом.
- ❌ Не сохраняют вариант отчёта. Оформление пропадает при следующем открытии.
- ❌ Подсветка в цикле по тысячам строк на клиенте. Сборку форматированных строк и оформления делайте на сервере, а на клиент передавайте результат.
- ❌ Цвет — единственный признак. Для печати на чёрно-белом принтере красный текст станет серым. Дублируйте важное жирным шрифтом.
Частые вопросы
Можно ли выделить слово жирным в комментарии документа?
Почему условное оформление не работает в веб-клиенте?
Как выделить цветом строку в табличной части документа?
Сохранится ли изменённый макет печатной формы после обновления?
Можно ли подсветить слово в тексте модуля в конфигураторе?
Ctrl + F в модуле или глобальный поиск по конфигурации.