Выделение нескольких документов в списке 1С 8.3: клавиши, отборы, код

· 10 мин

Содержание

Выделить документы в 1С 8.3 можно тремя путями. Несколько штук вразброс — щелчки с зажатым Ctrl. Подряд идущий диапазон — щелчок по первому и Shift+щелчок по последнему. Весь список — Ctrl+A. Если документов сотни, сначала сузьте список отбором и периодом, а потом выделяйте всё сразу.

Какой способ выбрать, зависит от задачи. Для печати пяти накладных хватает мыши. Для перепроведения квартала нужен отбор или отдельная обработка. Для подсветки «проблемных» документов в журнале — условное оформление. Разработчику пригодится свойство ВыделенныеСтроки у таблицы формы.

ЗадачаСпособКогда подходит
Несколько документов вразбросCtrl + щелчокДо 10–20 строк
Диапазон подрядщелчок + Shift + щелчок, Shift + стрелкиДокументы одного дня, одного номера-диапазона
Весь списокCtrl+AПосле отбора и установки периода
Документы по условиюОтбор в настройке спискаКонтрагент, сумма, статус, организация
Подсветить, но не выделятьУсловное оформлениеКонтроль глазами: непроведённые, крупные суммы
Сотни и тысячи документовОбработка или кодПерепроведение, массовая замена реквизита

Базовые способы выделить документы в списке

Все приёмы ниже работают в любом списке документов интерфейса «Такси»: в БП 3.0, ЗУП 3.1, УТ 11, в журналах документов. Это механизм платформы, а не конкретной конфигурации.

Мышью

  1. Щёлкните по первой нужной строке — она станет текущей.
  2. Зажмите Ctrl и щёлкайте по остальным документам. Каждый щелчок добавляет строку в выделение или снимает её, если она уже выделена.
  3. Для диапазона щёлкните по первой строке, зажмите Shift и щёлкните по последней. Выделятся все строки между ними.

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

С клавиатуры

  • ⌨️ Shift + стрелка вверх или вниз — расширяет выделение на одну строку.
  • ⌨️ Ctrl+A — выделяет все строки списка. Та же команда есть в меню Ещё над таблицей.
  • ⌨️ Щелчок по любой строке без Ctrl — снимает выделение со всех остальных.

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

Что делать сразу после выделения

Выделенные документы обрабатываются командами, которые принимают несколько объектов:

  • 📄 Печать — печатная форма формируется для каждого документа, все листы идут одним табличным документом.
  • ✅ Провести и Отмена проведения — в меню Ещё или на командной панели.
  • 🗑 Пометить на удаление / Снять пометку — клавиша Del срабатывает на все выделенные строки.
  • 📋 Ctrl+C — копирует видимые колонки выделенных строк в буфер обмена. Их можно вставить в Excel.

Команды, рассчитанные на один объект (открыть, скопировать документ через F9), работают только с текущей строкой — той, на которой стоит курсор.

Отборы и период: как выделить нужные документы из тысяч

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

Период списка

В списках документов БП 3.0 и УТ 11 есть команда Установить период (кнопка с календарём или пункт в меню Ещё). Задайте, например, 01.07 – 30.09, и в списке останутся документы за третий квартал.

Быстрые отборы над списком

Во многих формах списков над таблицей стоят поля быстрого отбора: Организация, Контрагент, иногда Склад или Ответственный. Набор полей зависит от вида документа. Заполните нужное — список сразу сократится.

Произвольный отбор

Когда быстрых полей не хватает, откройте Ещё → Настроить список, вкладка Отбор:

  1. Нажмите Добавить новый элемент или перетащите поле из левой части.
  2. Выберите поле: Сумма документа, Проведен, Пометка удаления, Комментарий и другие реквизиты.
  3. Задайте условие: Равно, Больше, Содержит, В списке.
  4. Нажмите Завершить редактирование.

Пример: отбор Проведен = Нет и Пометка удаления = Нет оставит черновики, которые забыли провести. Дальше Ctrl+A и Провести.

Поиск по строке

  • 🔍 Ctrl+F — строка поиска над списком. Ищет по всем видимым колонкам, например по части номера или имени контрагента.
  • 🔍 Alt+F — расширенный поиск по конкретной колонке с выбором условия.

Отбор и поиск сохраняются в настройках списка. Если завтра в списке «пропали» документы, первым делом проверьте, не висит ли старый отбор. Сбросить всё можно через Ещё → Настроить список → Ещё → Установить стандартные настройки.

Группировка, подсветка цветом и сводка по выделенным документам

Иногда «выделить» значит не отметить строки галками, а сделать так, чтобы нужные документы бросались в глаза или собирались вместе.

Группировка в списке

В Ещё → Настроить список есть вкладка Группировка. Добавьте туда, например, Контрагент — список превратится в дерево: строка-группа и под ней документы этого контрагента.

Дальше удобно выделять внутри группы через Shift. Минус: в группированном списке медленнее листать, а Ctrl+A захватывает и строки-группы. Для групповых команд это обычно не страшно, а для кода важно — см. раздел про программирование.

Подсветка цветом через условное оформление

Вкладка Условное оформление в той же настройке списка красит строки по условию:

  1. Добавьте новый элемент оформления.
  2. В поле оформления выберите Цвет фона или Цвет текста, например светло-красный.
  3. В условии задайте Сумма документа больше 500 000 или Проведен = Нет.
  4. В разделе оформляемых полей оставьте пустым — тогда покрасится вся строка.

Подсветка не выделяет строки для команд. Она работает как маркер: глазами видно, что проверить, а затем вы выделяете эти строки мышью или ставите такой же отбор.

Сводная по документам

Когда нужна не операция, а цифры по группе документов, удобнее отчёт. В БП 3.0 в разделе Отчеты есть «Универсальный отчет »: в нём выбирают вид документа, ставят отбор и группировку по контрагенту или месяцу. Получается сводная таблица с итогами, которую можно сохранить в Excel.

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

Этот раздел для тех, кто дорабатывает формы через расширение или пишет внешние обработки.

Получить выделенные документы на форме списка

У таблицы формы есть свойство ВыделенныеСтроки. Для динамического списка документов оно содержит ссылки на выделенные документы. Текущая строка — отдельно, в ТекущаяСтрока.

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

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

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

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

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

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

	Для Каждого Ссылка Из МассивСсылок Цикл
		ДокументОбъект = Ссылка.ПолучитьОбъект();
		Попытка
			ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
		Исключение
			Сообщить(СтрШаблон("Не проведен %1: %2", Ссылка,
				КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
		КонецПопытки;
	КонецЦикла;

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

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

Выделить строки из кода

ВыделенныеСтроки можно менять: метод Очистить() снимает выделение, Добавить(Ссылка) добавляет документ. Строка должна быть видна в списке с текущим отбором, иначе выделение ничего не даст.

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

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

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

Чтобы пользователь вообще мог выделять несколько строк, у таблицы формы свойство РежимВыделения должно быть Множественный. В типовых списках так и стоит. В самописных формах его часто оставляют Одиночный — и Ctrl перестаёт работать.

Отобрать документы запросом

Если формы нет, а нужен набор документов по условию, его собирают запросом:

Запрос = Новый Запрос;
Запрос.Текст =
	"ВЫБРАТЬ
	|	Док.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.РеализацияТоваровУслуг КАК Док
	|ГДЕ
	|	Док.Дата МЕЖДУ &Начало И &Окончание
	|	И Док.Проведен = ЛОЖЬ
	|	И Док.ПометкаУдаления = ЛОЖЬ";
Запрос.УстановитьПараметр("Начало", НачалоДня(Дата(2026, 7, 1)));
Запрос.УстановитьПараметр("Окончание", КонецДня(Дата(2026, 9, 30)));

МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");

Полученный массив передают в ту же ПровестиНаСервере или в любую другую обработку.

Массовые операции над выделенными документами

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

ОперацияГдеЧто учесть
Провести / отменить проведениеКомандная панель списка, ЕщёНа сотнях документов форма «висит», пока не закончит
Перепровести за периодОбработка «Групповое перепроведение документов», раздел Операции в БП 3.0Задаётся период, а не выделение
Изменить реквизит у многихЕщё → Изменить выделенные в списке или Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитовМеняет поле сразу у всех выделенных
УдалитьПометка Del, затем Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектовДокумент со ссылками на него не удалится
Распечатать пачкуПечать на выделенныхВсе формы в одном окне, печать одним заданием

Групповое изменение реквизитов

Команда Ещё → Изменить выделенные открывает форму, где отмечают реквизит и новое значение. Типичные случаи: сменить ответственного у 40 заказов, проставить комментарий «Сверено» у пачки поступлений, исправить подразделение.

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

Если в закрытом периоде стоит дата запрета изменения данных, обработка не сможет записать такие документы и выдаст ошибку по каждому. Это нормальная защита, а не сбой.

Печать выделенных

Выделите документы и нажмите Печать → нужная форма. В окне печати будут все документы подряд. Перед отправкой на принтер проверьте количество копий: оно задаётся на всю пачку.

Типичные ошибки при выделении документов

  • 🔸 Выделение сбросилось. Щелчок без Ctrl, смена отбора или обновление списка снимают выделение. Ставьте отбор до выделения, а не после.
  • 🔸 Ctrl+A выделил больше, чем видно. Команда выделяет весь список с учётом отбора, включая строки ниже экрана. Без периода это может быть вся база за годы.
  • 🔸 Команда сработала только на один документ. Значит, она рассчитана на текущую строку. Это типично для Скопировать, Изменить и создания на основании в некоторых документах.
  • 🔸 Выделение не работает совсем. В доработанной форме у таблицы стоит РежимВыделения = Одиночный. Лечится в конфигураторе или расширении.
  • 🔸 Перепроведение сотен документов из списка. Порядок проведения в списке определяется сортировкой, а не хронологией. Для партионного учёта и себестоимости это критично: перепроводите обработкой по периоду, она идёт по дате.
Перед массовой операцией с выделенными документами
Выполнено: 0 / 5

Внешние обработки и расширения для работы с выделенными документами

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

Назначаемая внешняя обработка

В типовых конфигурациях на БСП внешнюю обработку подключают через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Если обработку зарегистрировать как назначаемую для вида документа, её команда появится в форме списка.

При вызове обработка получает массив ссылок на выделенные документы. Код внутри работает так же, как пример выше: перебор массива и запись каждого объекта. Конфигурацию снимать с поддержки не нужно.

Команда через расширение

Второй путь — расширение конфигурации (они есть с платформы 8.3.6):

  1. В конфигураторе создайте расширение и заимствуйте форму списка нужного документа.
  2. Добавьте в форму команду и кнопку на командную панель.
  3. В обработчике команды используйте Элементы.Список.ВыделенныеСтроки.
  4. Сохраните расширение и обновите конфигурацию базы данных.

Расширение переживает обновление типовой конфигурации, но после крупного релиза его стоит проверить: заимствованная форма могла измениться.

Что выбрать

Как автоматизировать работу с выделенными документами?

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

Можно ли выделить документы сразу из нескольких видов?
Да, в журнале документов: например, Все документы или журналы по разделам. Там Ctrl и Shift работают так же, а печать и проведение применяются к документам разных видов.
Сохранится ли выделение, если закрыть список?
Нет. Выделение живёт только пока открыта форма. Сохраняются отбор, сортировка и оформление, поэтому повторить выборку легко.
Как снять выделение со всех строк?
Щёлкните по любой строке без Ctrl и Shift. Останется выделенной только она.
Почему Ctrl+C копирует не все реквизиты документа?
Копируются только колонки, видимые в списке. Нужна колонка — добавьте её через Ещё → Изменить форму и скопируйте снова.
Работает ли выделение в веб-клиенте и в «облаке»?
Да. Клавиши Ctrl, Shift и Ctrl+A действуют в веб-клиенте так же, если браузер не перехватывает сочетание.