Массовое выделение в 1С 8.3: списки, табличные части, отчёты и конфигуратор

· 9 мин

Содержание

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

Частое заблуждение: «в 1С нельзя выделить сразу много документов, только по одному». Можно. Платформа 8.3 поддерживает множественное выделение во всех списках справочников и документов, в табличных частях и в отчётах. Дальше всё зависит от того, какую команду вы примените к выделенному.

Клавиши и мышь: как выделить всё или часть списка

Правила выделения в 1С почти такие же, как в Проводнике Windows. Они работают в интерфейсе «Такси» в любой типовой конфигурации: Бухгалтерии 3.0, ЗУП 3.1, УТ 11.

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

Несколько практических деталей:

  • 🖱️ Ctrl+A срабатывает, только когда курсор стоит в самой таблице. Если перед этим вы искали что-то в поле поиска, сначала щёлкните по строке списка.
  • 📌 Выделенные строки подсвечиваются цветом, текущая строка дополнительно обведена рамкой. Команды применяются ко всем подсвеченным строкам, а не только к текущей.
  • 🔄 Щелчок без Ctrl сбрасывает всё выделение. Если случайно кликнули мимо — выделяйте заново.

В табличной части документа (например, «Товары» в реализации) Ctrl+A и затем Delete удаляют все строки разом. Это быстрее, чем чистить таблицу построчно перед повторным заполнением.

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

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

Что удобно делать с группой строк:

  • 🗑️ Удалить — Delete убирает все выделенные строки сразу, без вопросов. Отменить можно, только закрыв документ без записи.
  • 📄 Скопировать в другой документ — в Бухгалтерии 3.0 в меню Ещё табличной части есть команды копирования и вставки строк. Выделяете строки в одном документе, копируете, открываете другой и вставляете. Так переносят спецификацию из поступления в реализацию без повторного подбора.
  • 🔢 Проверить итог — после выделения нескольких строк сравните сумму в подвале таблицы с первичным документом поставщика.

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

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

Что делать с выделенными объектами: команды меню «Ещё»

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

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

Групповое изменение реквизитов перезаписывает объекты, а проведённые документы перепроводит. Перед массовой правкой сделайте резервную копию базы — откатить изменение сотни документов одной кнопкой не получится.

Если нужна массовая операция по документам за период

Для перепроведения всего периода выделять документы вручную не нужно. В Бухгалтерии 3.0 есть обработка «Групповое перепроведение документов ». Найти её можно так:

  1. Включите полное меню: Главное меню (☰) → Сервис → Параметры, флажок «Отображать команду “Все функции”».
  2. Откройте Главное меню → Все функции → Обработки.
  3. В списке обработок найдите групповое перепроведение по названию.

Там задаётся период и виды документов, а программа сама переберёт все подходящие.

Сначала отбор, потом выделение

Главная ошибка массовых операций — выделить «всё» и зацепить лишнее. В списке накладных за три года Ctrl+A выделит все три года. Поэтому порядок такой: сузить список, проверить, выделить.

Чем сужать список:

  • 🔍 Строка поиска над таблицей. Введите номер, контрагента или сумму — останутся только совпадения.
  • 📅 Период — команда «Установить период » в списках документов. Ограничивает список месяцем или кварталом.
  • 🎯 Быстрые отборы над списком (организация, контрагент, склад — набор зависит от формы).
  • ⚙️ Настройки списка через меню Ещё: на вкладке отбора можно задать любое условие по реквизитам, например «Проведён = Нет» или «Ответственный = Иванов».
  • ↕️ Сортировка по колонке — щелчок по заголовку. Нужные строки соберутся подряд, и их удобно выделить через Shift.

После отбора посмотрите на число строк. Если список короткий, пролистайте его до конца, прежде чем нажимать Delete или «Изменить выделенные».

Иерархические справочники

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

Пометка на удаление группы распространяется на элементы внутри неё. Проверьте содержимое группы, прежде чем помечать её целиком.

Отчёты и табличные документы: выделение ячеек

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

Что нужноКак сделать
Весь отчётCtrl+A или щелчок по левому верхнему углу, где сходятся заголовки строк и колонок
Целую строкущелчок по номеру строки слева
Целую колонкущелчок по букве или номеру колонки сверху
Несмежные областиCtrl + выделение мышью
ДиапазонShift + щелчок или Shift + стрелки

Что делать с выделенным:

  • 📋 Ctrl+C копирует область. При вставке в Excel сохраняется табличная структура.
  • ➕ Сумма выделенных чисел видна в поле над отчётом или в нижней панели формы отчёта. Рядом можно переключить показатель: сумма, количество, среднее. Это быстрая проверка без калькулятора.
  • 💾 Весь отчёт удобнее сохранять целиком через кнопку сохранения в файл, а не копировать Ctrl+A → Ctrl+C: так не теряются форматы и объединённые ячейки.

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

Конфигуратор и EDT: выделение в дереве метаданных и в модулях

В конфигураторе массовое выделение устроено иначе, чем в пользовательском режиме.

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

В дереве метаданных конфигуратор традиционно работает с текущим объектом: свойства, перенос, удаление делаются для одного объекта. Поэтому задачи «выделить все объекты» в конфигураторе решают другими механизмами:

  1. Отбор по подсистемам — команда в меню Действия, когда дерево конфигурации в фокусе. Оставляет в дереве только объекты выбранных подсистем, как фильтр в списке.
  2. Сравнение и объединение конфигураций — в окне сравнения у каждого объекта есть флажок, а контекстное меню позволяет ставить и снимать флажки сразу для подчинённых объектов. Так отбирают, что именно переносить при обновлении нетиповой базы.
  3. Выгрузка в файлы — Конфигурация → Выгрузить конфигурацию в файлы. Даёт все объекты в виде XML, где массовые правки делают внешними инструментами.
  4. Глобальный поиск — Ctrl+Shift+F ищет текст сразу по всем модулям. Список найденных мест заменяет «выделение всех процедур с нужным вызовом».

В 1C:EDT дерево навигатора поддерживает множественное выделение через Ctrl и Shift, как в любой среде на базе Eclipse. Если вы регулярно делаете однотипные правки во многих объектах, это весомый аргумент перейти на EDT.

Редактор ролей

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

Почему 1С не выделяет несколько строк

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

Ещё одна ловушка — группировки в динамическом списке. Если в настройках списка включена группировка по контрагенту, Ctrl+A выделит и строки-группировки. Команды платформы их пропускают, а вот самописная обработка может споткнуться. Об этом — в следующем разделе.

Программное выделение строк в коде 1С

Для разработчика выделение — это свойство ВыделенныеСтроки элемента формы «Таблица». Это коллекция идентификаторов строк (для табличной части) или ссылок (для динамического списка).

Чтобы разрешить множественное выделение, установите свойство таблицы РежимВыделения в значение «Множественный» в конструкторе формы или в коде:

Элементы.Список.РежимВыделения = РежимВыделенияТаблицы.Множественный;

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

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

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

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

В табличную часть добавляется не сама строка, а её идентификатор: ВыделенныеСтроки у таблицы формы хранит именно идентификаторы.

Обработать выделенные объекты динамического списка

Типичная задача — своя кнопка в списке, которая что-то делает со всеми выделенными документами. Ссылки собираются на клиенте, а запись идёт на сервере:

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

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

	Если МассивСсылок.Количество() = 0 Тогда
		Сообщить("Не выделено ни одного объекта");
		Возврат;
	КонецЕсли;

	ПометитьНаСервере(МассивСсылок);
	Элементы.Список.Обновить();

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

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

	Для Каждого Ссылка Из МассивСсылок Цикл
		ОбъектБазы = Ссылка.ПолучитьОбъект();
		ОбъектБазы.УстановитьПометкуУдаления(Истина);
	КонецЦикла;

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

Что здесь сделано и почему:

  • ✅ Ссылки передаются на сервер одним массивом — один серверный вызов вместо сотни.
  • ✅ Строки группировок отсеиваются: у них нет метода ПолучитьОбъект(), и без проверки процедура упадёт с ошибкой.
  • ✅ После записи список обновляется, чтобы пользователь сразу увидел пометки.

Для тысяч объектов такой цикл в одной процедуре идёт долго, а при ошибке на середине часть объектов уже будет изменена. Для действительно массовых операций используйте фоновое задание и записывайте объекты порциями.

Выделенные области отчёта

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

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

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