Выделение нескольких документов в списке 1С 8.3: клавиши, отборы, код
Содержание
Выделить документы в 1С 8.3 можно тремя путями. Несколько штук вразброс — щелчки с зажатым Ctrl. Подряд идущий диапазон — щелчок по первому и Shift+щелчок по последнему. Весь список — Ctrl+A. Если документов сотни, сначала сузьте список отбором и периодом, а потом выделяйте всё сразу.
Какой способ выбрать, зависит от задачи. Для печати пяти накладных хватает мыши. Для перепроведения квартала нужен отбор или отдельная обработка. Для подсветки «проблемных» документов в журнале — условное оформление. Разработчику пригодится свойство ВыделенныеСтроки у таблицы формы.
| Задача | Способ | Когда подходит |
|---|---|---|
| Несколько документов вразброс | Ctrl + щелчок | До 10–20 строк |
| Диапазон подряд | щелчок + Shift + щелчок, Shift + стрелки | Документы одного дня, одного номера-диапазона |
| Весь список | Ctrl+A | После отбора и установки периода |
| Документы по условию | Отбор в настройке списка | Контрагент, сумма, статус, организация |
| Подсветить, но не выделять | Условное оформление | Контроль глазами: непроведённые, крупные суммы |
| Сотни и тысячи документов | Обработка или код | Перепроведение, массовая замена реквизита |
Базовые способы выделить документы в списке
Все приёмы ниже работают в любом списке документов интерфейса «Такси»: в БП 3.0, ЗУП 3.1, УТ 11, в журналах документов. Это механизм платформы, а не конкретной конфигурации.
Мышью
- Щёлкните по первой нужной строке — она станет текущей.
- Зажмите
Ctrlи щёлкайте по остальным документам. Каждый щелчок добавляет строку в выделение или снимает её, если она уже выделена. - Для диапазона щёлкните по первой строке, зажмите
Shiftи щёлкните по последней. Выделятся все строки между ними.
Приёмы комбинируются. Можно выделить диапазон через Shift, а потом с Ctrl снять из него пару лишних документов.
С клавиатуры
- ⌨️
Shift+ стрелка вверх или вниз — расширяет выделение на одну строку. - ⌨️
Ctrl+A— выделяет все строки списка. Та же команда есть в менюЕщёнад таблицей. - ⌨️ Щелчок по любой строке без
Ctrl— снимает выделение со всех остальных.
Количество выделенных строк платформа в списке не показывает. Если важно не ошибиться, после выделения выведите список в табличный документ или посмотрите итог в отчёте, о котором ниже.
Что делать сразу после выделения
Выделенные документы обрабатываются командами, которые принимают несколько объектов:
- 📄
Печать— печатная форма формируется для каждого документа, все листы идут одним табличным документом. - ✅
ПровестииОтмена проведения— в менюЕщёили на командной панели. - 🗑
Пометить на удаление / Снять пометку— клавишаDelсрабатывает на все выделенные строки. - 📋
Ctrl+C— копирует видимые колонки выделенных строк в буфер обмена. Их можно вставить в Excel.
Команды, рассчитанные на один объект (открыть, скопировать документ
через F9), работают только с текущей строкой — той, на которой стоит курсор.
Отборы и период: как выделить нужные документы из тысяч
Выделять мышью 300 реализаций за квартал бессмысленно. Сначала оставьте в списке только нужные документы, потом нажмите Ctrl+A.
Период списка
В списках документов БП 3.0 и УТ 11 есть команда Установить период (кнопка с календарём или пункт в меню Ещё). Задайте, например, 01.07 – 30.09, и в списке останутся документы за третий квартал.
Быстрые отборы над списком
Во многих формах списков над таблицей стоят поля быстрого отбора: Организация, Контрагент, иногда Склад или Ответственный. Набор полей зависит от вида документа. Заполните нужное — список сразу сократится.
Произвольный отбор
Когда быстрых полей не хватает, откройте Ещё → Настроить список, вкладка Отбор:
- Нажмите
Добавить новый элементили перетащите поле из левой части. - Выберите поле:
Сумма документа,Проведен,Пометка удаления,Комментарийи другие реквизиты. - Задайте условие:
Равно,Больше,Содержит,В списке. - Нажмите
Завершить редактирование.
Пример: отбор Проведен = Нет и Пометка удаления = Нет оставит черновики, которые забыли провести. Дальше Ctrl+A и Провести.
Поиск по строке
- 🔍
Ctrl+F— строка поиска над списком. Ищет по всем видимым колонкам, например по части номера или имени контрагента. - 🔍
Alt+F— расширенный поиск по конкретной колонке с выбором условия.
Отбор и поиск сохраняются в настройках списка. Если завтра в списке «пропали» документы, первым делом проверьте, не висит ли старый отбор. Сбросить всё можно через Ещё → Настроить список → Ещё → Установить стандартные настройки.
Группировка, подсветка цветом и сводка по выделенным документам
Иногда «выделить» значит не отметить строки галками, а сделать так, чтобы нужные документы бросались в глаза или собирались вместе.
Группировка в списке
В Ещё → Настроить список есть вкладка Группировка. Добавьте туда, например, Контрагент — список превратится в дерево: строка-группа и под ней документы этого контрагента.
Дальше удобно выделять внутри группы через Shift. Минус: в группированном списке медленнее листать, а Ctrl+A захватывает и строки-группы. Для групповых команд это обычно не страшно, а для кода важно — см. раздел про программирование.
Подсветка цветом через условное оформление
Вкладка Условное оформление в той же настройке списка красит строки по условию:
- Добавьте новый элемент оформления.
- В поле оформления выберите
Цвет фонаилиЦвет текста, например светло-красный. - В условии задайте
Сумма документа больше 500 000илиПроведен = Нет. - В разделе оформляемых полей оставьте пустым — тогда покрасится вся строка.
Подсветка не выделяет строки для команд. Она работает как маркер: глазами видно, что проверить, а затем вы выделяете эти строки мышью или ставите такой же отбор.
Сводная по документам
Когда нужна не операция, а цифры по группе документов, удобнее отчёт. В БП 3.0 в разделе Отчеты есть «Универсальный отчет
»: в нём выбирают вид документа, ставят отбор и группировку по контрагенту или месяцу. Получается сводная таблица с итогами, которую можно сохранить в Excel.
Как программно выделить документы и получить выделенные строки
Этот раздел для тех, кто дорабатывает формы через расширение или пишет внешние обработки.
Получить выделенные документы на форме списка
У таблицы формы есть свойство ВыделенныеСтроки. Для динамического списка документов оно содержит ссылки на выделенные документы. Текущая строка — отдельно, в ТекущаяСтрока.
&НаКлиенте
Процедура ПровестиВыделенные(Команда)
Выделенные = Элементы.Список.ВыделенныеСтроки;
Если Выделенные.Количество() = 0 Тогда
Сообщить("Не выделено ни одного документа");
Возврат;
КонецЕсли;
МассивСсылок = Новый Массив;
Для Каждого Строка Из Выделенные Цикл
// В группированном списке среди выделенных бывают строки-группы
Если ТипЗнч(Строка) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
Продолжить;
КонецЕсли;
МассивСсылок.Добавить(Строка);
КонецЦикла;
ПровестиНаСервере(МассивСсылок);
Элементы.Список.Обновить();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ПровестиНаСервере(МассивСсылок)
Для Каждого Ссылка Из МассивСсылок Цикл
ДокументОбъект = Ссылка.ПолучитьОбъект();
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Сообщить(СтрШаблон("Не проведен %1: %2", Ссылка,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Массив ссылок передаётся на сервер одним вызовом. Так быстрее, чем дёргать сервер на каждый документ с клиента.
Выделить строки из кода
ВыделенныеСтроки можно менять: метод Очистить() снимает выделение, Добавить(Ссылка) добавляет документ. Строка должна быть видна в списке с текущим отбором, иначе выделение ничего не даст.
&НаКлиенте
Процедура ВыделитьДокументы(МассивСсылок)
Элементы.Список.ВыделенныеСтроки.Очистить();
Для Каждого Ссылка Из МассивСсылок Цикл
Элементы.Список.ВыделенныеСтроки.Добавить(Ссылка);
КонецЦикла;
КонецПроцедуры
Чтобы пользователь вообще мог выделять несколько строк, у таблицы формы свойство РежимВыделения должно быть Множественный. В типовых списках так и стоит. В самописных формах его часто оставляют Одиночный — и Ctrl перестаёт работать.
Отобрать документы запросом
Если формы нет, а нужен набор документов по условию, его собирают запросом:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Док
|ГДЕ
| Док.Дата МЕЖДУ &Начало И &Окончание
| И Док.Проведен = ЛОЖЬ
| И Док.ПометкаУдаления = ЛОЖЬ";
Запрос.УстановитьПараметр("Начало", НачалоДня(Дата(2026, 7, 1)));
Запрос.УстановитьПараметр("Окончание", КонецДня(Дата(2026, 9, 30)));
МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
Полученный массив передают в ту же ПровестиНаСервере или в любую другую обработку.
Массовые операции над выделенными документами
После выделения на большой выборке лучше работают не команды списка, а типовые обработки. Они показывают прогресс и пишут, какой документ не обработался.
| Операция | Где | Что учесть |
|---|---|---|
| Провести / отменить проведение | Командная панель списка, Ещё | На сотнях документов форма «висит», пока не закончит |
| Перепровести за период | Обработка «Групповое перепроведение документов», раздел Операции в БП 3.0 | Задаётся период, а не выделение |
| Изменить реквизит у многих | Ещё → Изменить выделенные в списке или Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов | Меняет поле сразу у всех выделенных |
| Удалить | Пометка Del, затем Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов | Документ со ссылками на него не удалится |
| Распечатать пачку | Печать на выделенных | Все формы в одном окне, печать одним заданием |
Групповое изменение реквизитов
Команда Ещё → Изменить выделенные открывает форму, где отмечают реквизит и новое значение. Типичные случаи: сменить ответственного
у 40 заказов, проставить комментарий «Сверено» у пачки поступлений, исправить подразделение.
Перед групповым изменением проведённых документов сделайте резервную копию базы . Обработка перезаписывает документы, движения пересчитываются, а массовой отмены у неё нет.
Если в закрытом периоде стоит дата запрета изменения данных, обработка не сможет записать такие документы и выдаст ошибку по каждому. Это нормальная защита, а не сбой.
Печать выделенных
Выделите документы и нажмите Печать → нужная форма. В окне печати будут все документы подряд. Перед отправкой на принтер проверьте количество копий: оно задаётся на всю пачку.
Типичные ошибки при выделении документов
- 🔸 Выделение сбросилось. Щелчок без
Ctrl, смена отбора или обновление списка снимают выделение. Ставьте отбор до выделения, а не после. - 🔸
Ctrl+Aвыделил больше, чем видно. Команда выделяет весь список с учётом отбора, включая строки ниже экрана. Без периода это может быть вся база за годы. - 🔸 Команда сработала только на один документ. Значит, она рассчитана на текущую строку. Это типично для
Скопировать,Изменитьи создания на основании в некоторых документах. - 🔸 Выделение не работает
совсем. В доработанной форме у таблицы стоит
РежимВыделения = Одиночный. Лечится в конфигураторе или расширении. - 🔸 Перепроведение сотен документов из списка. Порядок проведения в списке определяется сортировкой, а не хронологией. Для партионного учёта и себестоимости это критично: перепроводите обработкой по периоду, она идёт по дате.
Внешние обработки и расширения для работы с выделенными документами
Когда стандартных команд мало, добавляют свою — так, чтобы она работала прямо из списка документов.
Назначаемая внешняя обработка
В типовых конфигурациях на БСП внешнюю обработку
подключают через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Если обработку зарегистрировать как назначаемую для вида документа, её команда появится в форме списка.
При вызове обработка получает массив ссылок на выделенные документы. Код внутри работает так же, как пример выше: перебор массива и запись каждого объекта. Конфигурацию снимать с поддержки не нужно.
Команда через расширение
Второй путь — расширение конфигурации (они есть с платформы 8.3.6):
- В конфигураторе создайте расширение и заимствуйте форму списка нужного документа.
- Добавьте в форму команду и кнопку на командную панель.
- В обработчике команды используйте
Элементы.Список.ВыделенныеСтроки. - Сохраните расширение и обновите конфигурацию базы данных.
Расширение переживает обновление типовой конфигурации, но после крупного релиза его стоит проверить: заимствованная форма могла измениться.
Что выбрать
Частые вопросы
Можно ли выделить документы сразу из нескольких видов?
Все документы или журналы по разделам. Там Ctrl и Shift работают так же, а печать и проведение применяются к документам разных видов.Сохранится ли выделение, если закрыть список?
Как снять выделение со всех строк?
Ctrl и Shift. Останется выделенной только она.Почему Ctrl+C копирует не все реквизиты документа?
Ещё → Изменить форму и скопируйте снова.Работает ли выделение в веб-клиенте и в «облаке»?
Ctrl, Shift и Ctrl+A действуют в веб-клиенте так же, если браузер не перехватывает сочетание.