Выделение всех строк списка в 1С 8.3: от Ctrl+A до обработки
Содержание
Чтобы выбрать весь список в 1С 8.3, щёлкните по любой строке таблицы и нажмите Ctrl+A. То же самое делает команда Еще → Выделить все в командной панели списка. Если ничего не выделилось, значит, фокус стоит не в таблице, список открыт в иерархическом виде или форма разрешает выбрать только одну строку.
Ниже разобраны все рабочие способы выделения элементов в списке: клавиатура, мышь, меню, справочники с группами, веб-клиент и выделение из кода. Описание относится к платформе 8.3 и интерфейсу «Такси», это общая механика платформы. В Бухгалтерии 3.0, ЗУП 3.1 и УТ 11 она работает одинаково.
Какой способ выделения выбрать
Сначала короткая сводка. Способ зависит от того, сколько строк нужно и что вы с ними собираетесь делать.
| Способ | Когда подходит | Ограничения |
|---|---|---|
Ctrl+A | Выделить всё, что попадает под текущий отбор | Не работает в режиме одиночного выбора и при фокусе в поле поиска |
Еще → Выделить все | Клавиатура не срабатывает, работа в браузере | Та же логика, что у Ctrl+A |
Shift + щелчок | Непрерывный диапазон строк | На длинных списках нужно прокручивать |
Ctrl + щелчок | Отдельные строки вразброс | Долго, если строк больше 20–30 |
Shift+стрелки, Shift+PageDown | Диапазон без мыши | Удобно для 10–100 строк |
Отбор + Ctrl+A | Только нужные элементы из большого справочника | Нужно правильно настроить отбор |
| Групповое изменение реквизитов | Массово поменять поле у сотен объектов | Нужны права на изменение данных |
Код ВыделенныеСтроки | Своя обработка или кнопка | Нужна доработка через расширение |
Практическое правило простое. До сотни строк выделяйте руками. Больше — сначала сузьте список отбором, потом Ctrl+A. Если цель — массово изменить реквизит, выделение не нужно вовсе: подойдёт групповая обработка.
Горячие клавиши для выделения строк в списке 1С
Клавиатура в списках 1С ведёт себя почти как в проводнике Windows. Все сочетания работают, только когда активна сама таблица: текущая строка подсвечена рамкой.
Основные сочетания
- ⌨️
Ctrl+A— выделить все строки списка с учётом отбора. - ⬆️
Shift+↑/Shift+↓— расширить выделение на строку вверх или вниз. - 📄
Shift+PageUp/Shift+PageDown— расширить выделение на экран. - ⏮️
Ctrl+Home/Ctrl+End— перейти к первой или последней строке списка. - 🖱️
Shift+ щелчок мышью — выделить диапазон от текущей строки до той, по которой щёлкнули. - 🖱️
Ctrl+ щелчок мышью — добавить строку к выделению или убрать её.
Как выделить диапазон без мыши
- Встаньте на первую нужную строку стрелками.
- Зажмите
Shift. - Нажимайте
↓илиPageDown, пока не дойдёте до последней строки диапазона. - Отпустите
Shift. Выделение сохранится, пока вы не щёлкнете по строке без модификатора.
Если случайно щёлкнули мимо и выделение сбросилось, его не вернуть. Поэтому на больших выборках надёжнее сначала поставить отбор, а потом нажать Ctrl+A, чем выделять 300 строк через Shift.
Чем выделение отличается от флажков
Выделение подсветкой и флажки в колонке — разные вещи. Подсветка живёт, пока открыта форма. Флажок — это значение в данных формы: в обработках подбора, в списках загрузки, в помощниках обмена. Для флажков Ctrl+A их не ставит. Там ищите в командной панели таблицы кнопки с иконками отметки или пункты «Установить флажки» и «Снять флажки» в меню Еще.
Выделить все через меню «Еще» и контекстное меню
Команда «Выделить все» есть в стандартном наборе команд почти любой таблицы формы. Она нужна, когда горячие клавиши перехватывает браузер, удалённый рабочий стол или сторонняя программа.
Через командную панель
- Откройте список, например
Справочники → Номенклатураили журнал документов в любом разделе. - Нажмите кнопку
Ещесправа в командной панели над таблицей. - Выберите
Выделить все. Рядом в меню подписано сочетаниеCtrl+A.
Через контекстное меню
Щёлкните правой кнопкой по строке списка. В контекстном меню повторяются основные команды таблицы. Если пункта выделения там нет, значит, разработчик формы его убрал. Тогда используйте меню Еще.
Что делать с выделенными строками
После выделения доступны групповые действия. Наиболее частые:
- 🗑️
Delили «Пометить на удаление» — пометка всех выделенных объектов разом. - 📋
Ctrl+C— копирование выделенных строк в буфер, дальше вставка в Excel. - ✏️
Еще → Изменить выделенные— групповое изменение реквизитов в типовых конфигурациях на БСП. - 📑 Проведение и отмена проведения нескольких документов в журнале.
- 🖨️ Печать — многие печатные формы выводятся сразу по всем выделенным документам.
Пометка на удаление по Ctrl+A затрагивает все строки под отбором, а не только видимые на экране. Перед Del посмотрите на счётчик или пролистайте список до конца, чтобы понимать масштаб.
Выделение элементов в справочниках с группами и в деревьях
Иерархические справочники — главная причина жалоб «Ctrl+A выделяет не всё». Номенклатура, Контрагенты, Статьи затрат обычно разбиты на папки, и вид списка определяет, что попадёт в выделение.
Три режима просмотра
Переключаются через Еще → Режим просмотра:
| Режим | Что видно | Что выделит Ctrl+A |
|---|---|---|
| Иерархический список | Содержимое одной текущей группы | Элементы и подгруппы этой группы |
| Список | Все элементы плоским списком без папок | Все элементы под отбором |
| Дерево | Группы раскрываются как ветки | Зависит от раскрытых веток, поведение неочевидно |
Как выделить все элементы справочника, включая вложенные
- Откройте справочник.
- Переключите вид:
Еще → Режим просмотра → Список. - При необходимости поставьте отбор: по группе, по виду номенклатуры, по слову в наименовании.
- Щёлкните по строке и нажмите
Ctrl+A.
В режиме «Список» папки не показываются, а элементы из всех подгрупп идут подряд. Это самый предсказуемый способ получить полную выборку.
Если в иерархическом виде выделить группу и пометить её на удаление, помечается вся папка со всем содержимым. Это не то же самое, что выделить элементы внутри неё. Проверяйте, что именно попало в выделение.
Выделить только элементы одной папки
Здесь иерархический вид как раз удобен. Войдите в нужную группу двойным щелчком и нажмите Ctrl+A. В выделение попадут элементы этой папки и её подгруппы как строки, но не содержимое подгрупп.
Особенности в интерфейсе «Такси», тонком и веб-клиенте
В «Такси» списки — это динамические списки. Они не загружают все записи сразу, а подгружают порции по мере прокрутки. Для пользователя это почти незаметно, но влияет на выделение.
Тонкий клиент
- ✅
Ctrl+Aработает стабильно. - ⏳ На справочнике в десятки тысяч позиций выделение и последующее действие могут занять заметное время. Программа передаёт ссылки на все выбранные записи.
- 🔎 Строка поиска над списком — это отбор. Всё, что вы ввели в поиск, сужает и выделение.
Веб-клиент в браузере
Браузер тоже знает Ctrl+A и выделяет им текст всей страницы. Чтобы сочетание дошло до 1С:
- Щёлкните именно по строке таблицы, а не по пустому месту формы.
- Убедитесь, что курсор не стоит в поле поиска или другом поле ввода.
- Нажмите
Ctrl+A.
Если браузер всё равно выделяет текст страницы, используйте Еще → Выделить все. На macOS в браузере вместо Ctrl может работать Cmd, проверьте оба варианта.
Удалённый рабочий стол и терминальный сервер
В сеансе RDP сочетания обычно передаются на удалённый компьютер, если окно развёрнуто на весь экран . В оконном режиме часть сочетаний перехватывает локальная система. Это настраивается в параметрах подключения к удалённому рабочему столу, в разделе локальных ресурсов и клавиатуры.
Как выделить все строки программно
Программное выделение нужно, когда вы пишете свою обработку или добавляете кнопку в форму через расширение. Опишу то, что даёт платформа.
Где хранится выделение
У элемента «Таблица формы» есть свойство ВыделенныеСтроки. Это массив:
- для динамического списка — ссылки на выделенные объекты;
- для таблицы значений или табличной части на форме — идентификаторы строк данных формы.
Чтобы пользователь мог выделить несколько строк
, у таблицы должно стоять свойство РежимВыделения = Множественный. При значении Одиночный выделить можно только одну строку, и Ctrl+A ничего не делает.
Пример: выделить все строки таблицы на форме
Пример для обработки с реквизитом формы Товары типа «Таблица значений» и элементом таблицы с тем же именем:
&НаКлиенте
Процедура ВыделитьВсеСтроки(Команда)
Элементы.Товары.ВыделенныеСтроки.Очистить();
Для Каждого СтрокаТаблицы Из Товары Цикл
Элементы.Товары.ВыделенныеСтроки.Добавить(СтрокаТаблицы.ПолучитьИдентификатор());
КонецЦикла;
КонецПроцедуры
Пример: обработать всё, что выделил пользователь
Частая задача — кнопка, которая что-то делает с выделенными элементами динамического списка. Ссылки собираются на клиенте и передаются на сервер одним вызовом:
&НаКлиенте
Процедура ОбработатьВыделенные(Команда)
Выделенные = Элементы.Список.ВыделенныеСтроки;
Если Выделенные.Количество() = 0 Тогда
ПоказатьПредупреждение(, "Выделите хотя бы одну строку.");
Возврат;
КонецЕсли;
Ссылки = Новый Массив;
Для Каждого Строка Из Выделенные Цикл
Ссылки.Добавить(Строка);
КонецЦикла;
Обработано = ОбработатьНаСервере(Ссылки);
Сообщить(СтрШаблон("Обработано объектов: %1", Обработано));
КонецПроцедуры
&НаСервереБезКонтекста
Функция ОбработатьНаСервере(Ссылки)
Для Каждого Ссылка Из Ссылки Цикл
// Здесь ваша логика: получить объект, изменить реквизит, записать
КонецЦикла;
Возврат Ссылки.Количество();
КонецФункции
В динамическом списке среди выделенных могут оказаться строки группировок. Если список сгруппирован, проверяйте тип каждого элемента перед обработкой.
Когда выделение лучше вообще не трогать
Если нужно изменить 5 000 позиций номенклатуры, выделять их в интерфейсе не нужно. Надёжнее запросом выбрать объекты по тем же условиям, что и отбор списка, и обработать их на сервере порциями. В типовых конфигурациях для этого есть групповое изменение реквизитов: в Бухгалтерии 3.0 — Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов. Там отбор задаётся прямо в форме, и выделять ничего не приходится.
Перед массовым изменением или пометкой на удаление сделайте резервную копию базы . Отменить групповое изменение одной кнопкой нельзя.
Почему не выделяются все строки и как это исправить
Большинство проблем с выделением сводятся к пяти причинам. Выберите симптом:
Еще → Режим просмотра → Список.Еще → Настроить список.Еще → Выделить все.Если пропал пункт «Выделить все»
Форму могли настроить под пользователя. Откройте Еще → Изменить форму и посмотрите состав командной панели таблицы. Если там всё на месте, а команды нет, её убрал разработчик в конфигурации или расширении. Обратитесь к тому, кто сопровождает базу.
Если выделение сбрасывается само
Выделение теряется при обновлении списка: после записи элемента, по команде «Обновить» или когда другой пользователь изменил данные и список перечитался. Выполняйте групповое действие сразу после Ctrl+A, не открывая карточки элементов.
Частые вопросы
Сколько строк можно выделить в списке 1С за раз?
Как узнать, сколько строк выделено?
Ctrl+C и вставьте в Excel — число строк покажет таблица.Можно ли выделить все строки табличной части документа?
Ctrl+A. Дальше можно удалить строки клавишей Del или скопировать их в другой документ через буфер обмена.Как выделить всё в отчёте, а не в списке?
Ctrl+A выделяет все ячейки. Сумма, количество и среднее по выделенным числовым ячейкам показываются в поле рядом с командной панелью отчёта.