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

· 9 мин

Содержание

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

Типичная ситуация: бухгалтеру нужно перенести 300 строк из накладной в Excel или пометить на удаление полсотни черновиков. Выделять каждую строчку мышью долго. Ниже — все способы выделить строки в 1С 8.3 с интерфейсом «Такси», и что делать, когда таблица не даёт выделить всё.

Как выделить все строчки в 1С сразу через Ctrl+A

Порядок простой:

  1. Щёлкните левой кнопкой мыши по любой строке таблицы. Курсор должен стоять именно в таблице, а не в поле поиска или в шапке документа.
  2. Нажмите Ctrl+A. Все строки подсветятся.
  3. Выполните нужное действие: Ctrl+C — скопировать, Delete — удалить строки табличной части, правая кнопка мыши — команды для выделенного.

Где Ctrl+A работает:

  • 📄 списки документов, справочников, регистров;
  • 📦 табличные части документов («Товары», «Услуги», «Начисления» и т. п.);
  • 📊 отчёты и печатные формы — там выделяются все ячейки табличного документа;
  • 🧾 таблицы внутри обработок, если разработчик разрешил множественное выделение.

Если фокус стоит в текстовом поле, Ctrl+A выделит текст этого поля, а не строки. Сначала кликните по самой таблице. В веб-клиенте при фокусе вне таблицы браузер может выделить весь текст страницы.

Удаление всех строк табличной части

Чтобы очистить табличную часть документа целиком, выделите строки Ctrl+A и нажмите Delete. Строки исчезнут из формы сразу, но в базе документ не изменится, пока вы его не запишете или не проведёте.

Удалили лишнее по ошибке — закройте форму и на вопрос о сохранении изменений ответьте «Нет». Документ останется в прежнем виде. После записи такой возможности уже не будет.

Ограничения Ctrl+A

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

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

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

Как скопировать выделенные строчки в Excel

Самая частая причина выделять все строки — перенести их в таблицу Excel. Порядок такой:

  1. Откройте список или документ, кликните по таблице.
  2. Нажмите Ctrl+A, затем Ctrl+C.
  3. Перейдите в Excel, встаньте в ячейку A1 и нажмите Ctrl+V.

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

Числа иногда вставляются как текст: Excel не считает по ним сумму. Выделите колонку и замените пробел-разделитель тысяч через Ctrl+H — значения станут числами.

Выделение части строк: мышь, Shift и Ctrl

Выделять все строки нужно не всегда. Чаще нужен диапазон или несколько строк вразбивку.

ЗадачаКак сделать
Диапазон подрядЩёлкните первую строку, зажмите Shift и щёлкните последнюю
Несколько строк вразбивкуЗажмите Ctrl и щёлкайте по нужным строкам
Снять выделение с одной строкиCtrl + щелчок по уже выделенной строке
Расширить выделение на строкуShift+↓ или Shift+↑
Расширить выделение на экранShift+PageDown или Shift+PageUp
От текущей строки до конца спискаCtrl+Shift+End
Снять всё выделениеОбычный щелчок по любой строке

Приём для длинного списка: щёлкните первую нужную строку и нажмите Ctrl+Shift+End. Выделение протянется до последней записи, и не придётся крутить колесо мыши через тысячу строк. В обратную сторону, до начала списка, работает Ctrl+Shift+Home.

Комбинации можно совмещать. Например, выделили Shift-ом строки с 1 по 40, затем с зажатым Ctrl сняли выделение с 12-й и 27-й. Получится 38 строк.

Команда «Выделить все» в меню «Ещё» и контекстном меню

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

  1. Кликните по таблице.
  2. Нажмите кнопку Ещё на командной панели над таблицей.
  3. Выберите Выделить все.

Та же команда обычно есть и в контекстном меню: щёлкните правой кнопкой мыши по строке. Набор пунктов в контекстном меню зависит от формы, поэтому если там команды нет — ищите её в Ещё.

Меню Ещё подсказывает горячие клавиши справа от названий команд. Удобный способ запомнить сочетания, не открывая справку.

Что делать с выделенными строками

После выделения в типовых конфигурациях на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) доступны групповые действия:

  • 🗑 пометить на удаление — Delete в списке или команда в контекстном меню;
  • ✅ провести или отменить проведение выделенных документов — команды в Ещё;
  • ✏️ изменить реквизит сразу у всех — команда Изменить выделенные… в меню Ещё списка;
  • 📋 скопировать в буфер обмена — Ctrl+C, затем вставить в Excel.

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

Как выделить все строки в отчёте и печатной форме

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

Способы:

  1. Ctrl+A при курсоре внутри отчёта — выделит все заполненные ячейки.
  2. Щелчок по левому верхнему углу, где сходятся заголовки строк и колонок, — тоже выделит весь лист.
  3. Щелчок по номеру строки слева выделит строку целиком; с Shift — диапазон строк.
  4. Протяжка мышью с зажатой левой кнопкой — произвольная область.

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

Сумма выделенных ячеек

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

Пример: в оборотно-сальдовой ведомости выделили обороты по дебету у пяти контрагентов — 12 000, 8 500, 3 200, 40 000 и 1 300. Поле покажет 65 000 без калькулятора.

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

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

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

Бывает, что Ctrl+A и команда меню не дают результата. Причины и решения сведены в диагностику:

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

Таблица с флажками вместо выделения

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

Ищите на панели таблицы кнопки с галочками: одна ставит флажки во всех строках, другая снимает. Если кнопок нет, выделите строки и попробуйте щёлкнуть по флажку в выделенной области — в части форм это меняет пометку у всех выделенных строк. Не сработало — остаётся отметка по одной или доработка обработки.

Большие списки: 10 000 строк и больше

Динамические списки (журналы документов, справочники) не загружают все записи сразу. Платформа подгружает их порциями по мере прокрутки. Поэтому на базе с сотнями тысяч документов «выделить всё и скопировать» может занять минуты.

Что помогает:

  • 🔎 Сначала отбор, потом выделение. Поставьте период, организацию, контрагента. Вместо 80 000 строк останется 600 — с ними Ctrl+A отработает мгновенно.
  • 📤 «Вывести список» вместо копирования. Команда Ещё → Вывести список… формирует табличный документ. В окне можно оставить только нужные колонки. Готовый документ выделяется Ctrl+A и сохраняется в Excel.
  • ✏️ Групповое изменение вместо ручной правки. Чтобы поменять реквизит у тысяч объектов, используйте Изменить выделенные… или обработку «Групповое изменение реквизитов» в разделе Администрирование. Обработка работает по отбору и не требует выделять строки руками.
  • 🧮 Отчёт вместо списка. Если нужны данные для анализа, а не правка, — постройте отчёт или запрос. Табличный документ отчёта на 10 000 строк выделяется и копируется быстрее, чем динамический список.

Групповое изменение тысяч объектов нагружает базу. В клиент-серверном варианте с десятками пользователей запускайте его вне рабочего времени, иначе коллеги будут ловить ожидание блокировок.

В табличных частях документов порог другой: строки формы хранятся в памяти, и на 5–10 тысячах строк форма открывается и прокручивается заметно медленнее. Если документ разросся до такого размера, разумнее разбить его на несколько.

Выделение строк из встроенного языка (для разработчиков)

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

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

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

	Элементы.Товары.РежимВыделения = РежимВыделенияТаблицы.Множественный;
	Элементы.Товары.ВыделенныеСтроки.Очистить();

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

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

Режим выделения удобнее один раз задать в свойствах элемента в конфигураторе, а в коде оставить только заполнение.

Обработка выделенных строк на сервере

Выделение доступно только на клиенте. Чтобы обработать строки на сервере, соберите идентификаторы в массив и передайте его в серверную процедуру:

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

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

	ОбнулитьСкидкуНаСервере(Идентификаторы);

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

&НаСервере
Процедура ОбнулитьСкидкуНаСервере(Идентификаторы)

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

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

Имя реквизита ПроцентСкидки здесь условное — подставьте своё.

Динамический список

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

Выделять «все записи» динамического списка из кода бессмысленно: на экране только загруженная порция. Если нужно обработать всё, что попадает под отбор пользователя, сделайте запрос на сервере с теми же условиями и обрабатывайте его результат.

Обычные формы и отчёты

  • В обычных формах (толстый клиент) у табличного поля тоже есть свойство ВыделенныеСтроки, но в нём лежат сами строки, а не идентификаторы.
  • В табличном документе выделенные области доступны через свойство ВыделенныеОбласти.

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

Можно ли выделить строки сразу в двух таблицах формы?
Нет. Выделение живёт внутри одной таблицы. Выделите и скопируйте строки по очереди, или выведите обе таблицы через «Вывести список» и соберите данные в Excel.
Сколько строк выделено — где посмотреть?
В списках счётчика выделенных строк обычно нет. Проще скопировать строки Ctrl+C и вставить в Excel — он покажет количество в строке состояния. В отчёте поможет поле расчёта с показателем «Количество».
Выделение пропадает после обновления списка. Это нормально?
Да. При обновлении динамического списка или повторном открытии формы выделение сбрасывается. Действие с выделенными строками выполняйте сразу.
Почему при копировании в Excel строки склеиваются в одну ячейку?
Excel разбирает вставку по символу табуляции. Если склеилось, вставьте через «Специальная вставка → Текст» или воспользуйтесь «Вывести список» и сохраните файл в формате xlsx.
Попадут ли в копию скрытые колонки?
Нет. Копируются только колонки, которые видны в таблице. Если нужна скрытая колонка, сначала включите её через «Ещё → Изменить форму» или настройку списка.