Выделение нескольких строк в списках, табличных частях и отчётах 1С 8.3
Содержание
Чтобы выделить несколько строк
в 1С, удерживайте Ctrl и щёлкайте по нужным строкам по одной. Чтобы выделить диапазон подряд, щёлкните по первой строке, зажмите Shift и щёлкните по последней. Всё содержимое таблицы выделяет Ctrl+A.
Это работает одинаково в списках документов и справочников, в табличных частях и в отчётах, потому что поведение задаёт платформа 1С:Предприятие 8.3, а не конкретная конфигурация. Разница появляется в том, что потом делать с выделенным: провести, пометить на удаление, скопировать в Excel, изменить реквизит у сотни позиций сразу. Об этом и о том, почему иногда выделяется только одна строка, — по разделам.
Как устроено выделение в таблицах 1С
В форме 1С почти любая таблица — это элемент «таблица формы». У неё всегда есть текущая строка (на ней стоит курсор, она подсвечена рамкой) и могут быть выделенные строки (закрашены цветом выделения).
Различие важно на практике:
- 🎯 текущая строка — всегда одна; её открывает двойной щелчок или
Enter; - 🟦 выделенные строки — их может быть много; к ним применяются групповые команды: удаление, пометка, проведение, печать;
- 🔒 режим выделения — свойство таблицы, которое задаёт разработчик формы: одиночный или множественный. Если стоит одиночный, никакие клавиши несколько строк не выделят.
Обычный щелчок мышью делает строку текущей и сбрасывает прежнее выделение. Поэтому большинство случаев «выделение пропало» — это просто щелчок без зажатой клавиши.
Выделение строк мышью в списках и табличных частях
Базовые приёмы одинаковы для журнала документов, списка контрагентов и табличной части «Товары» в накладной.
Несколько строк вразброс
- Щёлкните по первой нужной строке.
- Зажмите
Ctrl. - Щёлкайте по остальным строкам. Повторный щелчок с
Ctrlснимает выделение со строки. - Отпустите
Ctrlтолько после того, как выбрали всё.
Диапазон строк подряд
- Щёлкните по первой строке диапазона.
- Прокрутите таблицу колесом мыши, не щёлкая по строкам.
- Зажмите
Shiftи щёлкните по последней строке.
Выделятся все строки между ними включительно. Если после этого нужно исключить пару строк из середины, щёлкните по ним с Ctrl.
Комбинация приёмов
Диапазон и отдельные строки можно сочетать: сначала Shift+щелчок для блока, затем Ctrl+щелчок для добавления строк за его пределами. Например, выделить документы с 1 по 15 число и ещё два документа от 28-го.
Перед массовым выделением в длинном списке включите отбор или сортировку. Отберите документы нужного контрагента или периода, и тогда Ctrl+A выделит ровно то, что нужно, без ручного перебора.
Горячие клавиши для выделения строк в 1С
Клавиатура быстрее мыши, когда строк десятки, а курсор уже стоит в таблице.
| Сочетание | Что делает |
|---|---|
Ctrl + щелчок | Добавляет строку к выделению или снимает её |
Shift + щелчок | Выделяет диапазон от текущей строки до указанной |
Shift + ↑ / ↓ | Расширяет выделение на строку вверх или вниз |
Ctrl+A | Выделяет все строки таблицы |
Delete | В списке — помечает выделенные объекты на удаление; в табличной части — удаляет выделенные строки |
F9 | Копирует текущую строку или объект |
Ctrl+C | Копирует выделенное в буфер обмена |
Порядок для клавиатуры такой: стрелками встаньте на первую строку, зажмите Shift и ведите стрелкой вниз. Отпустили Shift и нажали стрелку — выделение сбросится до одной строки.
Delete в табличной части удаляет все выделенные строки сразу, без вопроса. Если перед этим случайно нажали Ctrl+A, пропадёт вся табличная часть. Спасение — закрыть документ без записи и открыть заново: строки вернутся, если документ не успели сохранить.
Пользовательский режим и Конфигуратор: в чём разница
Режим 1С:Предприятие
Всё описанное выше относится к режиму, в котором работают бухгалтеры и кладовщики. Здесь пользователь не может переключить режим выделения таблицы. Если в каком-то списке Ctrl+щелчок не срабатывает, значит, разработчик формы разрешил выделять только одну строку.
Такое встречается в формах выбора: когда документ просит выбрать одного контрагента, множественное выделение отключают намеренно. В обычных списках разделов («Продажи», «Покупки», «Справочники») оно, как правило, включено.
Конфигуратор: настройка формы
В Конфигураторе выделением управляют свойства элемента таблицы формы. Откройте форму, выберите элемент таблицы и откройте палитру свойств (Alt+Enter):
- Режим выделения (
РежимВыделения) —ОдиночныйилиМножественный; - Режим выделения строки (
РежимВыделенияСтроки) —Ячейка(подсвечивается одна ячейка) илиСтрока(вся строка целиком).
Меняйте эти свойства в расширении конфигурации, а не в основной конфигурации типового решения. Иначе форма снимется с поддержки, и обновления станут сложнее.
Конфигуратор: текст модуля
В редакторе модуля выделение текста подчиняется обычным правилам текстовых редакторов: Shift со стрелками, Shift+Home / Shift+End для строки до начала или конца, Ctrl+A для всего модуля. Выделенный блок сдвигают клавишами Tab и Shift+Tab, а закомментировать или раскомментировать его можно через меню Текст → Блок.
Выделение ячеек и строк в отчётах
Отчёт в 1С — это табличный документ, похожий на лист Excel. Здесь выделяют не строки списка, а ячейки и области.
- 🖱 Одна ячейка — щелчок.
- 📐 Прямоугольная область — протяжка мышью с зажатой левой кнопкой или
Shift+щелчокпо противоположному углу. - ➕ Несколько несмежных областей — каждую следующую выделяйте с зажатым
Ctrl. - ↔ Строка целиком — щелчок по номеру строки на левой серой полосе заголовков, если она показана в отчёте; иначе протяжка от первой до последней ячейки строки.
- 🧾 Весь отчёт —
Ctrl+A.
Сумма выделенных ячеек
В отчётах типовых конфигураций на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) над табличным документом есть поле, которое показывает сумму выделенных ячеек. Выделите с Ctrl нужные числа в оборотно-сальдовой ведомости — и сразу видно итог, без калькулятора. Если выделены нечисловые ячейки, они в сумму не попадают.
Перенос выделенного в Excel
Выделите область, нажмите Ctrl+C, перейдите в Excel и вставьте Ctrl+V. Структура таблицы сохраняется, числа вставляются числами. Для крупного отчёта надёжнее сохранить его целиком в .xlsx через кнопку сохранения на панели отчёта.
Свёрнутые группировки отчёта при копировании могут попасть в буфер не так, как видно на экране. Если нужны детальные строки, сначала разверните группировки до нужного уровня.
Что сделать с выделенными строками через меню «Ещё» и контекстное меню
Выделение — только подготовка. Пользу оно даёт вместе с групповыми командами. Их ищут на кнопке Ещё над таблицей и в контекстном меню, которое открывается правой кнопкой по любой выделенной строке.
| Задача | Как сделать |
|---|---|
| Провести пачку документов | Выделите документы в журнале и нажмите кнопку проведения на панели списка |
| Пометить на удаление | Выделите и нажмите Delete; повторное нажатие снимает пометку |
| Изменить реквизит у многих объектов | Ещё → Изменить выделенные… — откроется групповое изменение реквизитов |
| Распечатать несколько документов | Выделите документы и выберите печатную форму в меню «Печать» — комплект откроется одним окном |
| Выгрузить строки в таблицу | Ещё → Вывести список…, затем отметьте вывод только выделенных строк |
Групповое изменение реквизитов
Команда Изменить выделенные… есть в списках типовых конфигураций на БСП. Сценарий на примере номенклатуры:
- Отберите номенклатуру по нужной группе.
- Выделите позиции —
Ctrl+Aили выборочно. - Выберите
Ещё → Изменить выделенные…. - Отметьте реквизит, например ставку НДС, и укажите новое значение.
- Нажмите кнопку изменения и дождитесь итога: обработка покажет, сколько объектов изменено и на каких были ошибки.
Групповое изменение записывает объекты сразу и не имеет кнопки «отменить». На сотнях позиций сначала сделайте резервную копию базы .
Вывод выделенных строк списком
Ещё → Вывести список… формирует табличный документ из текущего списка. В окне настройки можно выбрать колонки и ограничиться выделенными строками. Результат сохраняют в Excel или печатают. Это самый простой способ отдать бухгалтеру выборку из 40 документов в виде таблицы.
Перенос выделенных строк в другой документ
В табличных частях документов Бухгалтерии 3.0 и УТ 11 есть команды копирования и вставки строк. Выделите строки товаров в одной накладной, найдите в меню Ещё табличной части команду копирования строк, затем откройте другой документ и вставьте их той же командой из его меню Ещё. Номенклатура, количество и цены перенесутся, а итоги пересчитаются. В старых релизах команды может не быть — тогда поможет только кнопка Подбор.
Флажки вместо подсветки
В обработках загрузки, в помощниках обмена и в формах групповой печати строки часто отмечают не подсветкой, а флажком в первой колонке. Это другой механизм: флажок — реквизит строки, он не сбрасывается от щелчка и сохраняется при прокрутке. Чтобы отметить всё, ищите над таблицей кнопки установки и снятия флажков. Выделение Ctrl+A в таких формах флажки не ставит.
Почему не выделяются строки в 1С и как это исправить
Работа с выделенными строками из кода
В обработках и расширениях выделенные строки получают через свойство элемента формы ВыделенныеСтроки. Для табличной части это массив идентификаторов строк, для динамического списка — массив ссылок на объекты (для группировок там могут оказаться ключи группировки, поэтому тип стоит проверять).
Обойти выделенные строки табличной части
&НаКлиенте
Процедура ОбнулитьСкидкуВыделенных(Команда)
Для Каждого Идентификатор Из Элементы.Товары.ВыделенныеСтроки Цикл
СтрокаТЧ = Объект.Товары.НайтиПоИдентификатору(Идентификатор);
Если СтрокаТЧ = Неопределено Тогда
Продолжить;
КонецЕсли;
СтрокаТЧ.ПроцентСкидки = 0;
КонецЦикла;
Модифицированность = Истина;
КонецПроцедуры
Выделить строки программно
&НаКлиенте
Процедура ВыделитьСтрокиБезЦены(Команда)
Элементы.Товары.ВыделенныеСтроки.Очистить();
Для Каждого СтрокаТЧ Из Объект.Товары Цикл
Если СтрокаТЧ.Цена = 0 Тогда
Элементы.Товары.ВыделенныеСтроки.Добавить(СтрокаТЧ.ПолучитьИдентификатор());
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Текущую строку задают отдельно: Элементы.Товары.ТекущаяСтрока = Идентификатор. Данные текущей строки на клиенте берут через Элементы.Товары.ТекущиеДанные — но это только одна строка, и именно на этом спотыкаются самописные команды из раздела выше.
Передать выделенные документы на сервер
&НаКлиенте
Процедура ОбработатьВыделенные(Команда)
Ссылки = Новый Массив;
Для Каждого Элемент Из Элементы.Список.ВыделенныеСтроки Цикл
Если ТипЗнч(Элемент) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
Ссылки.Добавить(Элемент);
КонецЕсли;
КонецЦикла;
Если Ссылки.Количество() = 0 Тогда
ПоказатьПредупреждение(, "Выделите хотя бы один документ.");
Возврат;
КонецЕсли;
ОбработатьНаСервере(Ссылки);
КонецПроцедуры
Проверка типа отсекает ключи группировок, если пользователь сгруппировал список. В табличном документе выделенные области доступны через свойство ВыделенныеОбласти самого табличного документа: у каждой области есть границы Верх, Низ, Лево, Право.
Если обработка меняет много объектов, не записывайте их в цикле на клиенте. Передайте массив ссылок одним серверным вызовом, как в примере, — так быстрее и меньше нагрузки на сеть.