Выделение строк в списках, табличных частях и отчётах 1С 8.3
Содержание
Чтобы в 1С выделить все строчки сразу, щёлкните по любой строке таблицы и нажмите Ctrl+A. Это работает в списках документов и справочников, в табличных частях документов и в отчётах. Если сочетание не срабатывает, та же команда есть в меню Ещё → Выделить все.
Типичная ситуация: бухгалтеру нужно перенести 300 строк из накладной в Excel или пометить на удаление полсотни черновиков. Выделять каждую строчку мышью долго. Ниже — все способы выделить строки в 1С 8.3 с интерфейсом «Такси», и что делать, когда таблица не даёт выделить всё.
Как выделить все строчки в 1С сразу через Ctrl+A
Порядок простой:
- Щёлкните левой кнопкой мыши по любой строке таблицы. Курсор должен стоять именно в таблице, а не в поле поиска или в шапке документа.
- Нажмите
Ctrl+A. Все строки подсветятся. - Выполните нужное действие:
Ctrl+C— скопировать,Delete— удалить строки табличной части, правая кнопка мыши — команды для выделенного.
Где Ctrl+A работает:
- 📄 списки документов, справочников, регистров;
- 📦 табличные части документов («Товары», «Услуги», «Начисления» и т. п.);
- 📊 отчёты и печатные формы — там выделяются все ячейки табличного документа;
- 🧾 таблицы внутри обработок, если разработчик разрешил множественное выделение.
Если фокус стоит в текстовом поле, Ctrl+A выделит текст этого поля, а не строки. Сначала кликните по самой таблице. В веб-клиенте при фокусе вне таблицы браузер может выделить весь текст страницы.
Удаление всех строк табличной части
Чтобы очистить табличную часть документа целиком, выделите строки Ctrl+A и нажмите Delete. Строки исчезнут из формы сразу, но в базе документ не изменится, пока вы его не запишете или не проведёте.
Удалили лишнее по ошибке — закройте форму и на вопрос о сохранении изменений ответьте «Нет». Документ останется в прежнем виде. После записи такой возможности уже не будет.
Ограничения Ctrl+A
Сочетание выделяет строки только в той таблице, где стоит курсор. Если на форме две таблицы (например, «Товары» и «Услуги»), выделять их придётся по очереди.
В иерархическом списке справочника Ctrl+A захватывает только содержимое текущей группы. Элементы вложенных групп не попадут в выделение, пока вы не переключите вид списка (об этом ниже).
И главное ограничение: если у таблицы задан режим одиночного выделения, Ctrl+A ничего не сделает. Такую настройку ставит разработчик формы, обычный пользователь её не меняет.
Как скопировать выделенные строчки в Excel
Самая частая причина выделять все строки — перенести их в таблицу Excel. Порядок такой:
- Откройте список или документ, кликните по таблице.
- Нажмите
Ctrl+A, затемCtrl+C. - Перейдите в 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 строк.
Команда «Выделить все» в меню «Ещё» и контекстном меню
Когда сочетание клавиш не нравится или клавиатура ноутбука капризничает, пользуйтесь меню.
- Кликните по таблице.
- Нажмите кнопку
Ещёна командной панели над таблицей. - Выберите
Выделить все.
Та же команда обычно есть и в контекстном меню: щёлкните правой кнопкой мыши по строке. Набор пунктов в контекстном меню зависит от формы, поэтому если там команды нет — ищите её в Ещё.
Меню Ещё подсказывает горячие клавиши справа от названий команд. Удобный способ запомнить сочетания, не открывая справку.
Что делать с выделенными строками
После выделения в типовых конфигурациях на базе БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) доступны групповые действия:
- 🗑 пометить на удаление —
Deleteв списке или команда в контекстном меню; - ✅ провести или отменить проведение выделенных документов — команды в
Ещё; - ✏️ изменить реквизит сразу у всех — команда
Изменить выделенные…в менюЕщёсписка; - 📋 скопировать в буфер обмена —
Ctrl+C, затем вставить в Excel.
Перед групповым удалением или перепроведением сделайте резервную копию базы . Отменить разом изменения у сотни документов нельзя.
Как выделить все строки в отчёте и печатной форме
Отчёт в 1С — это табличный документ, похожий на лист Excel. Строки в нём выделяются как ячейки.
Способы:
Ctrl+Aпри курсоре внутри отчёта — выделит все заполненные ячейки.- Щелчок по левому верхнему углу, где сходятся заголовки строк и колонок, — тоже выделит весь лист.
- Щелчок по номеру строки слева выделит строку целиком; с
Shift— диапазон строк. - Протяжка мышью с зажатой левой кнопкой — произвольная область.
Если заголовки строк и колонок не видны, их обычно включают в меню Ещё формы отчёта (команды отображения сетки и заголовков). В печатных формах они часто скрыты.
Сумма выделенных ячеек
В отчётах 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;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Имя реквизита ПроцентСкидки здесь условное — подставьте своё.
Динамический список
У динамического списка ВыделенныеСтроки содержит не идентификаторы, а ключи записей — для списка документов это ссылки. Перебирать их на клиенте можно так же.
Выделять «все записи» динамического списка из кода бессмысленно: на экране только загруженная порция. Если нужно обработать всё, что попадает под отбор пользователя, сделайте запрос на сервере с теми же условиями и обрабатывайте его результат.
Обычные формы и отчёты
- В обычных формах (толстый клиент) у табличного поля тоже есть свойство
ВыделенныеСтроки, но в нём лежат сами строки, а не идентификаторы. - В табличном документе выделенные области доступны через свойство
ВыделенныеОбласти.