Выделение нескольких строк в списках, табличных частях и отчётах 1С 8.3

· 9 мин

Содержание

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

Это работает одинаково в списках документов и справочников, в табличных частях и в отчётах, потому что поведение задаёт платформа 1С:Предприятие 8.3, а не конкретная конфигурация. Разница появляется в том, что потом делать с выделенным: провести, пометить на удаление, скопировать в Excel, изменить реквизит у сотни позиций сразу. Об этом и о том, почему иногда выделяется только одна строка, — по разделам.

Как устроено выделение в таблицах 1С

В форме 1С почти любая таблица — это элемент «таблица формы». У неё всегда есть текущая строка (на ней стоит курсор, она подсвечена рамкой) и могут быть выделенные строки (закрашены цветом выделения).

Различие важно на практике:

  • 🎯 текущая строка — всегда одна; её открывает двойной щелчок или Enter;
  • 🟦 выделенные строки — их может быть много; к ним применяются групповые команды: удаление, пометка, проведение, печать;
  • 🔒 режим выделения — свойство таблицы, которое задаёт разработчик формы: одиночный или множественный. Если стоит одиночный, никакие клавиши несколько строк не выделят.

Обычный щелчок мышью делает строку текущей и сбрасывает прежнее выделение. Поэтому большинство случаев «выделение пропало» — это просто щелчок без зажатой клавиши.

Выделение строк мышью в списках и табличных частях

Базовые приёмы одинаковы для журнала документов, списка контрагентов и табличной части «Товары» в накладной.

Несколько строк вразброс

  1. Щёлкните по первой нужной строке.
  2. Зажмите Ctrl.
  3. Щёлкайте по остальным строкам. Повторный щелчок с Ctrl снимает выделение со строки.
  4. Отпустите Ctrl только после того, как выбрали всё.

Диапазон строк подряд

  1. Щёлкните по первой строке диапазона.
  2. Прокрутите таблицу колесом мыши, не щёлкая по строкам.
  3. Зажмите Shift и щёлкните по последней строке.

Выделятся все строки между ними включительно. Если после этого нужно исключить пару строк из середины, щёлкните по ним с Ctrl.

Комбинация приёмов

Диапазон и отдельные строки можно сочетать: сначала Shift+щелчок для блока, затем Ctrl+щелчок для добавления строк за его пределами. Например, выделить документы с 1 по 15 число и ещё два документа от 28-го.

Перед массовым выделением в длинном списке включите отбор или сортировку. Отберите документы нужного контрагента или периода, и тогда Ctrl+A выделит ровно то, что нужно, без ручного перебора.

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

Клавиатура быстрее мыши, когда строк десятки, а курсор уже стоит в таблице.

СочетаниеЧто делает
Ctrl + щелчокДобавляет строку к выделению или снимает её
Shift + щелчокВыделяет диапазон от текущей строки до указанной
Shift + ↑ / ↓Расширяет выделение на строку вверх или вниз
Ctrl+AВыделяет все строки таблицы
DeleteВ списке — помечает выделенные объекты на удаление; в табличной части — удаляет выделенные строки
F9Копирует текущую строку или объект
Ctrl+CКопирует выделенное в буфер обмена

Порядок для клавиатуры такой: стрелками встаньте на первую строку, зажмите Shift и ведите стрелкой вниз. Отпустили Shift и нажали стрелку — выделение сбросится до одной строки.

Delete в табличной части удаляет все выделенные строки сразу, без вопроса. Если перед этим случайно нажали Ctrl+A, пропадёт вся табличная часть. Спасение — закрыть документ без записи и открыть заново: строки вернутся, если документ не успели сохранить.

Перед групповой операцией над выделенными строками
Выполнено: 0 / 4

Пользовательский режим и Конфигуратор: в чём разница

Режим 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; повторное нажатие снимает пометку
Изменить реквизит у многих объектовЕщё → Изменить выделенные… — откроется групповое изменение реквизитов
Распечатать несколько документовВыделите документы и выберите печатную форму в меню «Печать» — комплект откроется одним окном
Выгрузить строки в таблицуЕщё → Вывести список…, затем отметьте вывод только выделенных строк

Групповое изменение реквизитов

Команда Изменить выделенные… есть в списках типовых конфигураций на БСП. Сценарий на примере номенклатуры:

  1. Отберите номенклатуру по нужной группе.
  2. Выделите позиции — Ctrl+A или выборочно.
  3. Выберите Ещё → Изменить выделенные….
  4. Отметьте реквизит, например ставку НДС, и укажите новое значение.
  5. Нажмите кнопку изменения и дождитесь итога: обработка покажет, сколько объектов изменено и на каких были ошибки.

Групповое изменение записывает объекты сразу и не имеет кнопки «отменить». На сотнях позиций сначала сделайте резервную копию базы .

Вывод выделенных строк списком

Ещё → Вывести список… формирует табличный документ из текущего списка. В окне настройки можно выбрать колонки и ограничиться выделенными строками. Результат сохраняют в Excel или печатают. Это самый простой способ отдать бухгалтеру выборку из 40 документов в виде таблицы.

Перенос выделенных строк в другой документ

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

Флажки вместо подсветки

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

Почему не выделяются строки в 1С и как это исправить

Диагностика: выберите симптом

Работа с выделенными строками из кода

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

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

&НаКлиенте
Процедура ОбнулитьСкидкуВыделенных(Команда)

	Для Каждого Идентификатор Из Элементы.Товары.ВыделенныеСтроки Цикл
		СтрокаТЧ = Объект.Товары.НайтиПоИдентификатору(Идентификатор);
		Если СтрокаТЧ = Неопределено Тогда
			Продолжить;
		КонецЕсли;
		СтрокаТЧ.ПроцентСкидки = 0;
	КонецЦикла;

	Модифицированность = Истина;

КонецПроцедуры

Выделить строки программно

&НаКлиенте
Процедура ВыделитьСтрокиБезЦены(Команда)

	Элементы.Товары.ВыделенныеСтроки.Очистить();

	Для Каждого СтрокаТЧ Из Объект.Товары Цикл
		Если СтрокаТЧ.Цена = 0 Тогда
			Элементы.Товары.ВыделенныеСтроки.Добавить(СтрокаТЧ.ПолучитьИдентификатор());
		КонецЕсли;
	КонецЦикла;

КонецПроцедуры

Текущую строку задают отдельно: Элементы.Товары.ТекущаяСтрока = Идентификатор. Данные текущей строки на клиенте берут через Элементы.Товары.ТекущиеДанные — но это только одна строка, и именно на этом спотыкаются самописные команды из раздела выше.

Передать выделенные документы на сервер

&НаКлиенте
Процедура ОбработатьВыделенные(Команда)

	Ссылки = Новый Массив;
	Для Каждого Элемент Из Элементы.Список.ВыделенныеСтроки Цикл
		Если ТипЗнч(Элемент) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
			Ссылки.Добавить(Элемент);
		КонецЕсли;
	КонецЦикла;

	Если Ссылки.Количество() = 0 Тогда
		ПоказатьПредупреждение(, "Выделите хотя бы один документ.");
		Возврат;
	КонецЕсли;

	ОбработатьНаСервере(Ссылки);

КонецПроцедуры

Проверка типа отсекает ключи группировок, если пользователь сгруппировал список. В табличном документе выделенные области доступны через свойство ВыделенныеОбласти самого табличного документа: у каждой области есть границы Верх, Низ, Лево, Право.

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

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

Можно ли выделить строки в 1С без мыши?
Да. Встаньте стрелками на первую строку, зажмите Shift и ведите стрелкой вниз или вверх. Ctrl+A выделит всё.
Сколько строк можно выделить за раз?
Жёсткого ограничения на число выделенных строк нет. Но групповая операция над тысячами объектов идёт долго, поэтому большие объёмы удобнее обрабатывать частями через отбор.
Как снять выделение со всех строк?
Щёлкните по любой строке без клавиш-модификаторов: выделенной останется только она.
Почему в отчёте не видно суммы выделенных ячеек?
Поле суммы есть в формах отчётов на БСП. В старых и самописных отчётах его может не быть: тогда скопируйте ячейки в Excel и посмотрите сумму там.
Сохраняется ли выделение после закрытия списка?
Нет. При следующем открытии формы выделение начинается заново. Если выборку нужно повторять, сохраните отбор в настройках списка — тогда хватит одного Ctrl+A.