Выделение нескольких строк и элементов в списках и таблицах 1С

· 9 мин

Содержание

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

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

Что 1С считает выделенной записью

В списке всегда есть текущая строка (на ней стоит курсор) и, возможно, выделенные строки (подсвечены цветом). Если вы ничего не выделяли, команды работают с текущей строкой. Если выделили несколько, команды применяются ко всем выделенным.

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

Выделять можно:

  • 📄 строки динамических списков (справочники, журналы документов);
  • 📋 строки табличных частей документов;
  • 📊 ячейки и области табличных документов (отчёты, печатные формы);
  • 🌳 элементы и группы в иерархических справочниках.

Выделение мышью и клавиатурой: базовый набор

Основные сочетания, которые хватает запомнить один раз:

Что нужноКак сделать
Выделить несколько отдельных строкCtrl + щелчок по каждой
Выделить диапазон подрядщелчок по первой, Shift + щелчок по последней
Расширить выделение на строку вниз или вверхShift+↓ или Shift+↑
Выделить все строки спискаCtrl+A
Снять выделение с одной строкиCtrl + щелчок по ней же
Снять всё выделениеобычный щелчок по любой строке
Выделить от курсора до конца или началаShift+End или Shift+Home

Мышью можно выделять протяжкой: нажмите на первой строке и, не отпуская кнопку, ведите до последней. Для длинных списков удобнее связка «щелчок + Shift + прокрутка + щелчок»: не нужно держать кнопку и следить за курсором.

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

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

Выбор записей через поиск и отбор

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

Быстрый отбор и поиск по строке

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

Расширенный поиск

В списках есть расширенный поиск: вызывается сочетанием Alt+F или через командную панель списка. В окне задаёте, по какому полю искать, как сравнивать (содержит, начинается, равно) и что искать. После поиска список показывает найденное.

Подходит, когда ищете в конкретной колонке, а не по всем полям сразу. Например, все документы с комментарием, где встречается слово «аванс».

Отбор по значению в текущей колонке

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

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

Сортировка как приём выделения

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

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

Табличная часть (товары, услуги, начисления) работает так же: Ctrl и Shift с мышью, Ctrl+A для всех строк. Но есть нюансы, которых нет в списках.

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

  1. Удалить: клавиша Delete или кнопка удаления в командной панели таблицы.
  2. Скопировать и вставить: Ctrl+C, затем Ctrl+V в другую табличную часть с совпадающими колонками. Строки добавятся в конец.
  3. Переместить вверх или вниз: кнопки со стрелками в командной панели (если порядок строк важен).
  4. Заполнить колонку одним значением для нескольких строк: в обычном режиме для этого нужна обработка или код, интерфейс сам по себе так не умеет.

Если табличная часть уже проведена, после правки строк повторно проведите документ, иначе движения не изменятся.

Копирование выделенных строк между документами экономит часы при переносе заказа в реализацию вручную: выделили строки в одном документе, вставили в другой, поправили цены.

Групповые действия над выделенными записями

Главный смысл выделения в списке. После выделения откройте меню «Ещё» в командной панели списка. Там обычно собраны групповые команды:

  • 🗑 пометка на удаление и снятие пометки;
  • 📑 копирование и вывод списка;
  • ✏️ изменение выделенных элементов: массовая смена реквизита. В полном профиле прав эта команда есть в списках справочников; если её нет, обратитесь к администратору;
  • 🖨 печать выбранных документов одной кнопкой (для документов, у которых есть печатная форма, подходящая для пакетной печати);
  • ✅ проведение выделенных документов в журнале.

Проведение пачки документов работает так: выделили в журнале нужные, нажали «Провести». Если часть документов не проведётся, 1С покажет ошибки в окне сообщений и проведёт остальные.

Перед пометкой на удаление и массовым изменением проверьте выделение второй раз. Откатить групповое изменение реквизита проще через резервную копию, чем вручную.

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

Какой способ выбрать под вашу задачу

Способы отличаются скоростью и точностью. Ориентир по ситуациям:

СитуацияЛучший способРиск
Нужны 3-5 строк в разных местахCtrl + щелчокЛегко сбросить выделение лишним щелчком
Нужен непрерывный блокShift + щелчок по краямЗахватятся лишние строки внутри блока
Нужны все записи с одним признакомОтбор по значению колонки, затем Ctrl+AЗабыть снять отбор после работы
Нужны записи по тексту в наименованииСтрока поиска или расширенный поиск, затем Ctrl+AПоиск по части слова цепляет лишнее
Нужны строки, разбросанные по тысячамСортировка по колонке и диапазон ShiftПорядок меняется при обновлении списка
Нужно обработать выделение программноВыделенныеСтроки в формеПутаница клиента и сервера

Выделение в форме подбора и выбора

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

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

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

Выделение ячеек и областей в отчётах

Отчёт в 1С — это табличный документ. Выделение там работает по ячейкам, а не по строкам:

  • 🖱 протяжка мышью по прямоугольной области;
  • Ctrl + щелчок — отдельные ячейки, не рядом друг с другом;
  • щелчок по номеру строки слева выделяет строку целиком, по заголовку колонки — колонку целиком;
  • Ctrl+A в табличном документе выделяет всю таблицу.

Зачем выделять в отчёте:

  1. Быстрая сумма. Выделите ячейки с числами, и в нижней части окна платформа покажет их сумму. Это полезно, когда нужно сложить несколько строк оборотно-сальдовой ведомости без выгрузки в Excel.
  2. Копирование. Ctrl+C на выделенной области, затем вставка в Excel или Word. Форматирование сохраняется.
  3. Расшифровка. Двойной щелчок по ячейке открывает расшифровку, если она настроена в отчёте.

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

Выделение в режиме 1С:Предприятие через код

Разработчик может прочитать, какие строки выделил пользователь. Этим пользуются команды форм и обработки.

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

В форме со списком выделенные строки лежат в свойстве ВыделенныеСтроки элемента формы. Для динамического списка там ключи строк, то есть ссылки:

&НаКлиенте
Процедура ПоказатьВыделенные(Команда)
	Для Каждого ВыделеннаяСсылка Из Элементы.Список.ВыделенныеСтроки Цикл
		Сообщить(Строка(ВыделеннаяСсылка));
	КонецЦикла;
КонецПроцедуры

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

Для табличной части в ВыделенныеСтроки лежат идентификаторы строк. По идентификатору находят строку данных:

&НаКлиенте
Процедура СуммаВыделенных(Команда)
	Итого = 0;
	Для Каждого Идентификатор Из Элементы.Товары.ВыделенныеСтроки Цикл
		СтрокаТаблицы = Объект.Товары.НайтиПоИдентификатору(Идентификатор);
		Итого = Итого + СтрокаТаблицы.Сумма;
	КонецЦикла;
	Сообщить("Сумма выделенных строк: " + Формат(Итого, "ЧДЦ=2"));
КонецПроцедуры

Для одной текущей строки используйте Элементы.Товары.ТекущиеДанные: свойство возвращает данные строки под курсором или Неопределено, если курсор никуда не стоит. Перед обращением к полям проверяйте это условие.

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

Что делать на сервере

Список идентификаторов или ссылок передайте на сервер параметром процедуры. Сам элемент формы сервер не видит. Сначала прочитайте ВыделенныеСтроки на клиенте и передайте массив в серверную процедуру.

Частые ошибки при выделении

Типичные ситуации, из-за которых выделение «не работает » или даёт не тот результат:

  • Щёлкнули без Ctrl и потеряли прежнее выделение. Лечится только повторным выделением.
  • Перед Ctrl+A в списке стоял отбор, и «все» оказались только отфильтрованными.
  • Выделение не охватывает содержимое группы в иерархическом справочнике.
  • Команды «Ещё» недоступны: у пользователя нет права на групповое изменение или список в режиме выбора (форма выбора из поля документа).
  • В форме выбора можно выбрать несколько значений только если поле допускает множественный выбор. Обычное поле ввода принимает одно значение.
  • В отчёте выделили ячейки с текстом и ждёте сумму. Сумма считается только по числовым ячейкам.

Если команда групповой обработки отсутствует, проверьте, открыт ли список в обычном режиме, а не как окно выбора, и есть ли у вашей роли нужные права.

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

Как выделить сразу все записи справочника, включая вложенные группы?
Переключите отображение справочника в плоский список без иерархии и нажмите Ctrl+A. В иерархическом виде выделяется только открытая группа.
Можно ли выделить строки через одну?
Да, зажмите Ctrl и щёлкайте по каждой нужной строке. Либо отсортируйте и отфильтруйте список так, чтобы нужные строки встали подряд.
Почему после выделения пропала кнопка «Изменить выделенные»?
Скорее всего, у вашей роли нет права на групповое изменение или список открыт как форма выбора. Откройте справочник из раздела, а не из поля документа, и проверьте права у администратора.
Как скопировать выделенные строки в Excel?
Выделите нужные строки, нажмите Ctrl+C и вставьте в Excel. Для табличного документа (отчёта) копируется выделенная область с форматированием.
Как отменить случайное выделение всех записей?
Щёлкните мышью по любой одной строке: выделение сбросится, останется только эта строка.