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

Быстрый старт · 9 мин

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

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

Выделение строк в 1С — задача, которая возникает в двух разных ситуациях. Первая: пользователю нужно просто отметить несколько строк в списке или табличной части, чтобы выполнить с ними групповое действие — провести, удалить, распечатать. Вторая: требуется окрасить строки цветом по условию, например подсветить просроченные заказы или товары с нулевым остатком. Это принципиально разные механизмы, и путать их не стоит.

Первый случай решается штатными средствами интерфейса: клавишами Shift и Ctrl или командой «Выделить все». Второй — через условное оформление формы (в управляемых формах), настройки списка в режиме предприятия или программно через встроенный язык. Ниже разобраны оба сценария с конкретными действиями для типовых конфигураций и самописных решений.

Как выделить строки мышью и клавиатурой в списке

Базовый приём работает одинаково в большинстве списков 1С: документов, справочников, регистров. Чтобы выделить одну строку, достаточно кликнуть по ней. Чтобы выделить диапазон, кликните первую строку, затем зажмите Shift и кликните последнюю — все строки между ними будут выделены. Для выборочного выделения несмежных строк зажмите Ctrl и кликайте по нужным строкам; повторный клик с Ctrl снимает выделение.

Комбинация Ctrl+A выделяет все строки текущего списка. Учтите ограничение: если список отображается с отбором или в виде дерева, выделяются только видимые (загруженные) строки, а не вся таблица базы данных. В иерархических списках свёрнутые группы могут не попасть в выделение — разверните их заранее.

После выделения доступны групповые действия через контекстное меню или кнопку «Ещё»: провести, отменить проведение, пометить на удаление, изменить выделенные (групповое изменение реквизитов). Если команда неактивна, проверьте, поддерживает ли объект групповую обработку и есть ли у вас соответствующие права.

Порядок действий при выделении строк
  1. 1
    Кликните первую нужную строку списка
  2. 2
    Для диапазона зажмите Shift и кликните последнюю строку; для отдельных строк — Ctrl и клики по ним
  3. 3
    Проверьте, что выделены именно те строки (подсветка строк, счётчик в некоторых формах)
  4. 4
    Выполните групповое действие через контекстное меню или кнопку «Ещё»

Выделение строк в табличной части документа

Табличные части (например, «Товары» в документе «Реализация») поддерживают те же сочетания Shift и Ctrl. Выделенные строки можно удалить разом (Delete или кнопка удаления), скопировать и вставить в другой документ через буфер обмена, переместить вверх-вниз в некоторых конфигурациях.

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

Учтите: в некоторых формах множественное выделение отключено разработчиком (свойство таблицы формы «РежимВыделения»). Если Shift и Ctrl не работают, это ограничение конкретной формы, а не ошибка платформы.

Как окрасить строки по условию в режиме предприятия

В типовых конфигурациях (Управление торговлей, ERP, Бухгалтерия) многие списки позволяют настроить цветовое выделение без программирования. Откройте список, нажмите «Ещё → Настроить список» (в некоторых версиях — «Настройка списка»). Перейдите на закладку «Оформление» или «Условное оформление», добавьте элемент, задайте условие отбора (например, «Сумма документа больше 100000») и выберите оформление — цвет фона, цвет текста, шрифт.

Условие строится по полям, доступным в списке. Можно комбинировать несколько условий через группировку «И» / «ИЛИ». Например, подсветить красным документы, которые не проведены и при этом имеют прошедшую дату. Порядок элементов оформления имеет значение: при пересечении условий приоритет обычно у элемента, расположенного выше.

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

Условное оформление в конфигураторе

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

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

Для динамических списков условное оформление можно задавать и в настройках самого динамического списка (свойство «УсловноеОформление» реквизита списка). Это удобно, когда одна и та же логика подсветки нужна в нескольких формах, использующих общий запрос.

Программное выделение строк цветом

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

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

bsl
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.СветлоРозовый);
Отбор = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Просрочен");
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор.ПравоеЗначение = Истина;
Поле = ЭлементОформления.Поля.Элементы.Добавить();
Поле.Поле = Новый ПолеКомпоновкиДанных("Список");

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

Типичные ошибки и ограничения

Типичные ошибки
01
Оформление не срабатывает, потому что в условии использовано поле, отсутствующее в запросе динамического списка — добавьте поле в выборку запроса
02
Не заполнены оформляемые поля — цвет применяется не к тем колонкам или не применяется вовсе
03
Попытка выделить строки Ctrl/Shift в форме, где разработчик отключил множественное выделение — это ограничение формы, а не сбой
04
Оформление задано в конфигураторе, но пользовательские настройки списка перекрывают его — очистите или скорректируйте пользовательские настройки
05
Сравнение даты в условии без учёта времени — документы «сегодня» не попадают в выборку из-за состава даты с временем

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

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

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

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

Строки окрашены по условию
Норма

Цвет появляется сразу при открытии списка и обновляется при изменении данных

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

Цвет появляется только после принудительного обновления (F5) или не появляется вовсе

Условие отбора
Норма

Подсвечиваются только строки, реально удовлетворяющие условию — проверьте на 2–3 контрольных примерах

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

Подсвечиваются лишние строки или часть нужных пропущена

Производительность списка
Норма

Список открывается и прокручивается без заметных задержек

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

Список подтормаживает — вероятно, тяжёлый код в обработчике оформления

Часто задаваемые вопросы

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

Да, если конфигурация поддерживает настройку списка: «Ещё → Настроить список → Оформление». Там доступны условия по видимым полям списка. Если нужного поля в настройке нет или пункт меню отсутствует, потребуется доработка формы в конфигураторе.

Почему Ctrl+A выделяет не все документы, а только часть?

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

Как убрать цветовое выделение, которое настроил другой пользователь?

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

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

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

Работает ли условное оформление в мобильном клиенте и веб-клиенте?

Да, условное оформление форм поддерживается в веб-клиенте и мобильном клиенте, так как обрабатывается платформой. Однако отдельные параметры оформления (некоторые шрифтовые эффекты) могут отображаться иначе — проверяйте результат в том клиенте, которым пользуются сотрудники.

Итог

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

Выделение строк для действий — это Shift, Ctrl и Ctrl+A в списке. Окрашивание строк по условию — условное оформление: в типовых формах через «Настроить список», в конфигураторе через свойство формы. Проверяйте оформляемые поля, состав запроса списка и производительность, если используете программную подсветку.