Выделение строк в 1С 8.3: от мыши до программного кода

· 9 мин

Содержание

Чтобы выделить одну строку в 1С, достаточно кликнуть по ней мышью. Чтобы отметить несколько — зажмите Ctrl и щёлкайте по нужным строкам либо Shift и кликните по первой и последней строке диапазона. Всё видимое в списке выделяется сочетанием Ctrl+A.

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

Что именно вам нужно сделать со строкой?

Выделяем одну и несколько строк мышью

Основной способ одинаков и для списков (журнал документов , список справочника), и для табличных частей внутри документа.

  • 🖱️ Одна строка — клик левой кнопкой по любой ячейке строки. Строка становится текущей.
  • 🖱️ Диапазон подряд — клик по первой строке, затем Shift + клик по последней. Выделится всё между ними.
  • 🖱️ Несколько вразброс — зажмите Ctrl и кликайте по нужным строкам. Повторный клик с Ctrl снимает выделение с отдельной строки.
  • 🖱️ Все строки — Ctrl+A, когда курсор стоит в таблице (не в режиме редактирования ячейки).

Комбинации сочетаются: выделите диапазон через Shift, затем с Ctrl добавьте или уберите отдельные строки.

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

В табличной части документа (например, строки товаров в накладной) множественное выделение доступно сразу — разработчику ничего настраивать не нужно. А вот в некоторых списках и в формах выбора отметить несколько строк получается не всегда — это зависит от настроек формы, о них ниже.

Горячие клавиши для выделенных строк

После того как строки отмечены, с ними удобнее работать с клавиатуры. Эти сочетания одинаковы в интерфейсе «Такси» на платформе 8.3.

КлавишиДействие
Shift + ↑ / ↓Расширить выделение на строку вверх или вниз
Ctrl+AВыделить все строки
InsДобавить новую строку
F9Создать копию текущей строки
F2 или EnterПерейти к редактированию ячейки
DelУдалить выделенные строки из табличной части
Ctrl+DelПометить на удаление / снять пометку (в списках)
Ctrl+CСкопировать выделенное в буфер обмена

Два сочетания путают чаще всего:

  • Del в табличной части документа сразу удаляет строки без пометки — отмены нет, только Ctrl+Z до записи документа.
  • Ctrl+Del в списке справочника или журнала не удаляет объект, а ставит пометку на удаление — сам объект убирается потом через удаление помеченных.

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

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

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

Подсветка строк цветом: условное оформление

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

Настройка живёт в самой форме списка:

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

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

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

Множественный выбор: настройка в Конфигураторе

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

За поведение таблицы на управляемой форме отвечают два свойства элемента:

  • Множественный выбор — разрешает отмечать больше одной строки. Если выключено, выделяется только текущая строка, и Ctrl / Shift ничего не дают.
  • Режим выделения — что именно выделяется: строка целиком или отдельная ячейка. Для массовых операций со строками нужен режим выделения строки.

Чтобы включить множественный выбор:

  1. В Конфигураторе откройте форму списка или документа.
  2. Выделите на форме элемент таблицы.
  3. В палитре свойств найдите «Множественный выбор» и установите значение.
  4. Проверьте «Режим выделения» — для работы со строками подойдёт режим выделения строки.
  5. Сохраните форму и обновите конфигурацию базы данных.

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

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

Как получить выделенные строки в коде

Для разработчика выделенные строки доступны через свойство ВыделенныеСтроки элемента формы, связанного с таблицей или динамическим списком. Оно возвращает массив идентификаторов отмеченных строк.

Для динамического списка (журнал, список справочника), где ключ — ссылка, элементы этого массива и есть ссылки на объекты:

// Обход выделенных строк динамического списка
Для Каждого ВыделеннаяСтрока Из Элементы.Список.ВыделенныеСтроки Цикл
    ТекущаяСсылка = ВыделеннаяСтрока;
    Сообщить(Строка(ТекущаяСсылка));
КонецЦикла;

Текущая (активная) строка доступна отдельно:

// Данные строки, на которой стоит курсор
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
    Ссылка = ТекущиеДанные.Ссылка;
КонецЕсли;

Выделить строки можно и программно — например, подсветить нужные при открытии формы. Сначала очистите массив, затем добавьте в него нужные идентификаторы:

Элементы.Список.ВыделенныеСтроки.Очистить();
Элементы.Список.ВыделенныеСтроки.Добавить(НужнаяСсылка);

Чтобы установить текущую строку, используйте свойство ТекущаяСтрока — в него записывается идентификатор строки.

В табличной части документа различайте текущую строку и выделенные: ТекущиеДанные даёт одну строку под курсором, а ВыделенныеСтроки — все отмеченные. Если в коде пусто там, где ожидались строки, проверьте, что читаете именно ВыделенныеСтроки, и что на форме включён множественный выбор.

Выделение строк в мобильном клиенте

В мобильном клиенте 1С всё управляется касаниями, клавиатурных сочетаний нет.

  • Короткое касание строки делает её текущей и, как правило, открывает элемент.
  • Чтобы отметить несколько строк, используется долгое нажатие на строке — оно включает режим множественного выделения, после чего остальные строки отмечаются обычным касанием.
  • Доступность множественного выделения на мобильном устройстве тоже зависит от свойства формы «Множественный выбор»: если оно выключено, отметить несколько строк не выйдет и на телефоне.

Набор массовых команд над выделенными строками на мобильном клиенте бывает уже, чем в настольном: часть функций разработчик намеренно оставляет только для desktop-версии. Если нужной команды на телефоне нет, выполните операцию в полном клиенте на компьютере.

Массовая обработка выделенных строк: обработки и расширения

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

Групповое изменение реквизитов. В типовых конфигурациях (БП 3.0, ЗУП 3.1, УТ 11) над списком в меню Ещё есть команда группового изменения. Выделите строки, вызовите команду, укажите реквизит и новое значение — программа применит его ко всем отмеченным объектам сразу. Так за один проход меняют, например, ответственного или организацию в пачке документов.

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

Массовое проведение задним числом перестраивает движения по регистрам за период. Запускайте его на участке, который закрыт к вам, и желательно в монопольном режиме, чтобы не пересечься с работой других пользователей.

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

Расширение конфигурации . Чтобы добавить свою команду прямо в командную панель списка, не меняя типовую конфигурацию , используют расширение. Расширения конфигурации доступны начиная с платформы 8.3.6. Порядок такой:

  1. В Конфигураторе создаёте расширение и добавляете в него нужную форму.
  2. Добавляете команду и её обработчик, который работает с выделенными строками.
  3. Сохраняете расширение в файл .cfe.
  4. Подключаете его в режиме «1С:Предприятие» через раздел Администрирование → управление расширениями.
  5. Обновляете конфигурацию базы данных отдельным шагом.

Расширение переживает обновления типовой конфигурации и не снимает основную конфигурацию с поддержки — это основной способ добавить массовую операцию над строками в типовую базу.

Права доступа: что можно делать с выделенными строками

Само выделение строк мышью доступно любому пользователю, который может открыть список, — отдельного права на «выделение» в 1С нет. Ограничивается не выделение, а действия с отмеченными строками.

  • 🔒 Удаление и пометка на удаление работают, только если у роли пользователя есть соответствующее право на объект.
  • 🔒 Групповое изменение реквизитов доступно при праве на изменение объекта; без него команда не сработает или будет скрыта.
  • 🔒 Видимость самих строк регулирует ограничение доступа на уровне записей (RLS): пользователь выделит Ctrl+A только те записи, которые ему разрешено видеть. Чужие строки в список просто не попадут.

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

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

Почему не выделяются несколько строк сразу?
Для таблицы на форме выключено свойство «Множественный выбор». Включается в Конфигураторе или расширением. В форме выбора одного значения множественное выделение часто отключено намеренно.
Чем отличается `Del` от `Ctrl+Del` в списке?
Del в табличной части документа сразу удаляет строки. Ctrl+Del в списке объектов не удаляет, а ставит или снимает пометку на удаление — объект убирается позже через удаление помеченных.
Как снять выделение с одной строки, не сбрасывая остальные?
Зажмите Ctrl и кликните по этой строке повторно — она перестанет быть отмеченной, остальные выделенными останутся.
«Выделить» и «покрасить строку цветом» — это одно и то же?
Нет. Выделение Ctrl / Shift — временная отметка для действия. Подсветка цветом по условию — это условное оформление, оно постоянное и настраивается в параметрах списка.
Как получить выделенные строки в обработке?
Через свойство ВыделенныеСтроки элемента формы — оно даёт массив идентификаторов. Для динамического списка со ссылочным ключом это ссылки на объекты, по которым можно пройти циклом.