Как в 1С выделить несколько строк одновременно
Выделить 20 строк мышкой по одной — потеря минут. Разбираем все способы сделать это за секунды в 1С 8.3
Основные способы выделения строк
В 1С:Предприятие 8.3 (актуальные версии 8.3.20+) поддерживаются стандартные и расширенные методы выделения строк в табличных документах и формах.
Горячие клавиши и мышь
- Ctrl + клик — выделение отдельных строк
- Shift + клик — выделение диапазона от текущей строки до выбранной
- Ctrl + A — выделение всех строк (если форма поддерживает)
Программное выделение в коде
// Программное выделение строк в управляемых формах 1С 8.3
// ВАЖНО: в управляемых формах используется свойство ВыделенныеСтроки,
// а НЕ метод ВыделитьСтроки() — такого метода не существует!
// Для элемента формы типа "Таблица" (динамический список)
МассивВыделенных = Новый Массив;
МассивВыделенных.Добавить(СтрокаТаблицы1); // передаём ссылку на строку, не индекс
МассивВыделенных.Добавить(СтрокаТаблицы2);
Элементы.Список.ВыделенныеСтроки = МассивВыделенных;
Особенности в разных конфигурациях
Поведение может отличаться в типовых решениях (ERP, УТ, Документооборот).
ERP 2.5 и УТ 11
- В списках документов поддерживается множественное выделение через Ctrl/Shift
- В отчетах с группировками выделение работает только для конечных строк
БСП 3.1.6+
// Пример для форм на управляемых формах (БСП)
&НаКлиенте
Процедура ВыделитьНесколькоСтрок(Команда)
МассивВыделенных = Новый Массив;
МассивВыделенных.Добавить(0);
МассивВыделенных.Добавить(2);
Элементы.Список.ВыделенныеСтроки = МассивВыделенных;
КонецПроцедуры
Сравнение возможностей по версиям платформы
| Версия 1С | Множественное выделение | Поддержка в формах |
|---|---|---|
| 8.3.17 и ниже | Только через код | Ограниченная |
| 8.3.18–8.3.22 | Ctrl/Shift + клик | Базовые списки |
| 8.3.23+ | Полная поддержка | Все типы форм |
Важно: в версиях младше 8.3.18 при программном выделении может потребоваться обновление формы методом ОбновитьОтображение().
Типичные ошибки и решения
- Выделение не работает в отчете — проверьте свойство
ДопускМножественногоВыделения - Сбрасывается выделение при обновлении — используйте
СохранитьЗначения()перед обновлением - Ошибка "Индекс за пределами" — проверьте номера строк (индексация с 0 или 1)
Быстрая проверка: работает ли выделение
- Проверьте версию платформы через
О программе - Для форм: добавьте обработчик
ПриИзмененииВыделенныхСтрок - Тестируйте выделение в разных режимах (группировка, иерархия)
// Чек-лист для программиста
Если Не ЗначениеЗаполнено(Элементы.Список) Тогда
Сообщить("Элемент формы 'Список' не найден!");
ИначеЕсли Не Элементы.Список.ДопускМножественногоВыделения Тогда
Элементы.Список.ДопускМножественногоВыделения = Истина;
КонецЕсли;
Читайте также
Профессиональные решения для 1С и marketplace-интеграций — каталог отчётов и инструментов на витрине НОПи.
Перейти в каталог решений →
Перейти в каталог решений →