Выделение нескольких строк и элементов в списках и таблицах 1С
Содержание
Чтобы выделить несколько записей в списке 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 для всех строк. Но есть нюансы, которых нет в списках.
Что можно делать с выделенными строками табличной части:
- Удалить: клавиша
Deleteили кнопка удаления в командной панели таблицы. - Скопировать и вставить:
Ctrl+C, затемCtrl+Vв другую табличную часть с совпадающими колонками. Строки добавятся в конец. - Переместить вверх или вниз: кнопки со стрелками в командной панели (если порядок строк важен).
- Заполнить колонку одним значением для нескольких строк: в обычном режиме для этого нужна обработка или код, интерфейс сам по себе так не умеет.
Если табличная часть уже проведена, после правки строк повторно проведите документ, иначе движения не изменятся.
Копирование выделенных строк между документами экономит часы при переносе заказа в реализацию вручную: выделили строки в одном документе, вставили в другой, поправили цены.
Групповые действия над выделенными записями
Главный смысл выделения в списке. После выделения откройте меню «Ещё» в командной панели списка. Там обычно собраны групповые команды:
- 🗑 пометка на удаление и снятие пометки;
- 📑 копирование и вывод списка;
- ✏️ изменение выделенных элементов: массовая смена реквизита. В полном профиле прав эта команда есть в списках справочников; если её нет, обратитесь к администратору;
- 🖨 печать выбранных документов одной кнопкой (для документов, у которых есть печатная форма, подходящая для пакетной печати);
- ✅ проведение выделенных документов в журнале.
Проведение пачки документов работает так: выделили в журнале нужные, нажали «Провести». Если часть документов не проведётся, 1С покажет ошибки в окне сообщений и проведёт остальные.
Перед пометкой на удаление и массовым изменением проверьте выделение второй раз. Откатить групповое изменение реквизита проще через резервную копию, чем вручную.
Какой способ выбрать под вашу задачу
Способы отличаются скоростью и точностью. Ориентир по ситуациям:
| Ситуация | Лучший способ | Риск |
|---|---|---|
| Нужны 3-5 строк в разных местах | Ctrl + щелчок | Легко сбросить выделение лишним щелчком |
| Нужен непрерывный блок | Shift + щелчок по краям | Захватятся лишние строки внутри блока |
| Нужны все записи с одним признаком | Отбор по значению колонки, затем Ctrl+A | Забыть снять отбор после работы |
| Нужны записи по тексту в наименовании | Строка поиска или расширенный поиск, затем Ctrl+A | Поиск по части слова цепляет лишнее |
| Нужны строки, разбросанные по тысячам | Сортировка по колонке и диапазон Shift | Порядок меняется при обновлении списка |
| Нужно обработать выделение программно | ВыделенныеСтроки в форме | Путаница клиента и сервера |
Выделение в форме подбора и выбора
Когда вы подбираете товары в документ или выбираете значение для поля, список открывается в режиме выбора. Поведение здесь иное: двойной щелчок или Enter возвращает значение в документ и закрывает форму, а не открывает карточку элемента.
Групповые команды («Ещё», изменение выделенных, пометка на удаление) в форме выбора обычно скрыты. Если нужно массово править справочник, откройте его из панели раздела, а не из поля документа.
💡 Отбор, который вы выставили в списке, нужен только для работы с текущим окном. Закончили массовую операцию — снимите отбор, иначе в следующий раз часть записей окажется «пропавшей».
Выделение ячеек и областей в отчётах
Отчёт в 1С — это табличный документ. Выделение там работает по ячейкам, а не по строкам:
- 🖱 протяжка мышью по прямоугольной области;
Ctrl+ щелчок — отдельные ячейки, не рядом друг с другом;- щелчок по номеру строки слева выделяет строку целиком, по заголовку колонки — колонку целиком;
Ctrl+Aв табличном документе выделяет всю таблицу.
Зачем выделять в отчёте:
- Быстрая сумма. Выделите ячейки с числами, и в нижней части окна платформа покажет их сумму. Это полезно, когда нужно сложить несколько строк оборотно-сальдовой ведомости без выгрузки в Excel.
- Копирование.
Ctrl+Cна выделенной области, затем вставка в Excel или Word. Форматирование сохраняется. - Расшифровка. Двойной щелчок по ячейке открывает расшифровку, если она настроена в отчёте.
💡 Если нужно сложить значения из разных частей отчёта, выделяйте ячейки с зажатым Ctrl: сумма пересчитается по всему набору.
Выделение в режиме 1С:Предприятие через код
Разработчик может прочитать, какие строки выделил пользователь. Этим пользуются команды форм и обработки.
Выделенные строки динамического списка
В форме со списком выделенные строки лежат в свойстве ВыделенныеСтроки элемента формы. Для динамического списка там ключи строк, то есть ссылки:
&НаКлиенте
Процедура ПоказатьВыделенные(Команда)
Для Каждого ВыделеннаяСсылка Из Элементы.Список.ВыделенныеСтроки Цикл
Сообщить(Строка(ВыделеннаяСсылка));
КонецЦикла;
КонецПроцедуры
Выделенные строки табличной части
Для табличной части в ВыделенныеСтроки лежат идентификаторы строк. По идентификатору находят строку данных:
&НаКлиенте
Процедура СуммаВыделенных(Команда)
Итого = 0;
Для Каждого Идентификатор Из Элементы.Товары.ВыделенныеСтроки Цикл
СтрокаТаблицы = Объект.Товары.НайтиПоИдентификатору(Идентификатор);
Итого = Итого + СтрокаТаблицы.Сумма;
КонецЦикла;
Сообщить("Сумма выделенных строк: " + Формат(Итого, "ЧДЦ=2"));
КонецПроцедуры
Для одной текущей строки используйте Элементы.Товары.ТекущиеДанные: свойство возвращает данные строки под курсором или Неопределено, если курсор никуда не стоит. Перед обращением к полям проверяйте это условие.
Если вы удаляете выделенные строки из табличной части в цикле, сначала соберите нужные строки в массив, потом удаляйте. Удаление прямо в цикле по ВыделенныеСтроки сдвигает коллекцию, и пропускаются строки.
Что делать на сервере
Список идентификаторов или ссылок передайте на сервер параметром процедуры. Сам элемент формы сервер не видит. Сначала прочитайте ВыделенныеСтроки на клиенте и передайте массив в серверную процедуру.
Частые ошибки при выделении
Типичные ситуации, из-за которых выделение «не работает » или даёт не тот результат:
- Щёлкнули без
Ctrlи потеряли прежнее выделение. Лечится только повторным выделением. - Перед
Ctrl+Aв списке стоял отбор, и «все» оказались только отфильтрованными. - Выделение не охватывает содержимое группы в иерархическом справочнике.
- Команды «Ещё» недоступны: у пользователя нет права на групповое изменение или список в режиме выбора (форма выбора из поля документа).
- В форме выбора можно выбрать несколько значений только если поле допускает множественный выбор. Обычное поле ввода принимает одно значение.
- В отчёте выделили ячейки с текстом и ждёте сумму. Сумма считается только по числовым ячейкам.
Если команда групповой обработки отсутствует, проверьте, открыт ли список в обычном режиме, а не как окно выбора, и есть ли у вашей роли нужные права.
Частые вопросы
Как выделить сразу все записи справочника, включая вложенные группы?
Ctrl+A. В иерархическом виде выделяется только открытая группа.Можно ли выделить строки через одну?
Ctrl и щёлкайте по каждой нужной строке. Либо отсортируйте и отфильтруйте список так, чтобы нужные строки встали подряд.Почему после выделения пропала кнопка «Изменить выделенные»?
Как скопировать выделенные строки в Excel?
Ctrl+C и вставьте в Excel. Для табличного документа (отчёта) копируется выделенная область с форматированием.