К статье
Практический материал

Быстрый старт · 12 мин

Множественный выбор в 1С: как выбрать несколько элементов

Как работает множественный выбор в 1С: подбор в документы, выбор нескольких элементов справочника, установка отбора по списку значений и типовые ошибки.

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

Проблема в том, что эти механизмы работают по-разному в разных конфигурациях и версиях платформы. Кнопка «Подбор» есть не везде, режим множественного выбора в форме выбора нужно включать отдельно, а в отчётах на СКД список значений настраивается через параметр. Из-за этого пользователи тратят время на добавление позиций по одной или ошибочно считают, что нужной функции в программе нет.

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

Как устроен множественный выбор в платформе 1С

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

Первый механизм — форма подбора. Это специальное окно, которое открывается из документа и позволяет переносить в табличную часть любое количество позиций, не закрываясь после каждого выбора. Второй — множественное выделение строк в динамических списках с помощью клавиш Ctrl и Shift, после чего над выделенным выполняется групповое действие. Третий — отбор по списку значений с видом сравнения «В списке» в отчётах и списках. Четвёртый — режим множественного выбора в форме выбора, который включается параметром и возвращает массив выбранных элементов.

Важно понимать: наличие каждого механизма зависит от конфигурации. В типовых решениях (Бухгалтерия, Управление торговлей, ERP) подбор реализован для большинства документов с табличной частью «Товары» или «Услуги», но в самописных конфигурациях его может не быть — тогда добавление нескольких позиций возможно только через множественный выбор в форме выбора или доработку.

Подбор нескольких позиций в документ

Самая частая задача — добавить в документ (реализацию, поступление, заказ) сразу несколько товаров. Для этого в типовых конфигурациях над табличной частью есть кнопка «Подбор» или пункт меню «Добавить — Подбором». Окно подбора открывается поверх документа и не закрывается после выбора позиции.

Порядок работы с подбором
  1. 1
    Откройте документ и перейдите на вкладку с табличной частью товаров
  2. 2
    Нажмите кнопку «Подбор» над списком позиций
  3. 3
    В окне подбора найдите нужную номенклатуру поиском или по группам
  4. 4
    Дважды щёлкните позицию или нажмите Enter — она попадёт в корзину подбора или сразу в документ
  5. 5
    Повторите для всех нужных позиций, при необходимости меняя количество
  6. 6
    Нажмите «Перенести в документ» или «ОК», если подбор работает через корзину
  7. 7
    Проверьте табличную часть: количество, цены и итоги документа

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

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

Выбор нескольких элементов через форму выбора

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

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

В списках справочников и документов множественное выделение работает стандартно для Windows: удерживайте Ctrl и щёлкайте нужные строки для выборочного выделения или выделите первую строку, зажмите Shift и щёлкните последнюю для выделения диапазона. Далее над выделенным можно выполнить групповое действие: пометить на удаление, изменить реквизит через обработку «Групповое изменение реквизитов», переместить в группу.

Множественный отбор в отчётах и списках

Вторая по частоте задача — показать в отчёте данные сразу по нескольким значениям: трём складам, пяти контрагентам, двум организациям. В отчётах на системе компоновки данных (а это почти все отчёты типовых конфигураций) это делается через отбор с видом сравнения «В списке».

Как отобрать несколько значений в отчёте
  1. 1
    Откройте настройки отчёта кнопкой «Настройки» или «Ещё — Изменить вариант»
  2. 2
    На вкладке «Отбор» добавьте нужное поле, например «Склад»
  3. 3
    В колонке «Вид сравнения» выберите «В списке»
  4. 4
    В поле значения нажмите кнопку выбора и добавьте в список нужные элементы кнопкой «Добавить» или подбором
  5. 5
    Закройте настройки и сформируйте отчёт
  6. 6
    Проверьте, что в отчёт попали данные по всем указанным значениям

Тот же приём работает в динамических списках: кнопка «Ещё — Настроить список», добавление отбора с видом сравнения «В списке». Это удобно, когда нужно постоянно работать с ограниченным набором элементов — например, менеджеру, который ведёт только своих десять клиентов.

Виды сравнения в отборе

Равно

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

В списке

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

В группе из списка

Несколько групп справочника со всеми вложенными элементами. Удобно для иерархических справочников вроде номенклатуры

В группе

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

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

Множественный выбор для разработчиков

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

bsl
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("РежимВыбора", Истина);
ПараметрыФормы.Вставить("МножественныйВыбор", Истина);
ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Ложь);

Оповещение = Новый ОписаниеОповещения("ПослеВыбораНоменклатуры", ЭтотОбъект);
ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, ЭтотОбъект, , , , Оповещение);

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

Для полей ввода на управляемой форме множественный выбор включается иначе: само поле хранит одну ссылку, поэтому для хранения нескольких значений используют либо табличную часть, либо реквизит типа «СписокЗначений» с отдельной командой подбора. Пытаться «заставить» обычное поле ввода хранить массив — типичная ошибка начинающих разработчиков.

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

Ограничения и типичные ошибки

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

Типичные ошибки
01
Добавление позиций в документ по одной через обычный выбор, хотя есть кнопка «Подбор» — потеря времени на каждой позиции
02
Использование «В группе из списка» вместо «В списке» — в отчёт попадают лишние вложенные элементы
03
Ожидание флажков в форме выбора, открытой в одиночном режиме — режим задаётся вызывающим кодом, пользователь включить его не может
04
Групповое действие над выделенными строками без проверки результата — команда могла примениться только к текущей строке
05
Передача результата множественного выбора в реквизит одиночного типа — сохраняется только одно значение или возникает ошибка

Проверка результата после множественного выбора

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

Контрольные точки

Как проверить результат

Количество строк в табличной части после подбора
Норма

Число строк совпадает с числом перенесённых позиций, дублей нет

Тревожный признак

Строк больше или меньше, чем выбирали; есть повторяющиеся позиции

Список значений в отборе отчёта
Норма

В списке ровно те элементы, которые нужны, вид сравнения «В списке»

Тревожный признак

Лишние элементы, вид сравнения «В группе из списка» при ненужной вложенности

Результат групповой операции в списке
Норма

У всех выделенных элементов изменился нужный реквизит или статус

Тревожный признак

Изменения применились только к одной строке — команду нужно выполнить повторно для остальных

Итоги документа после подбора
Норма

Сумма и количество пересчитались с учётом всех добавленных строк

Тревожный признак

Итоги не изменились — позиции не перенеслись в документ

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

Итог

Что важно запомнить

Для документов используйте подбор, для списков — выделение с Ctrl и Shift, для отчётов — отбор «В списке», а разработчики включают множественный режим параметром формы выбора. После любого множественного действия проверяйте результат, а перед групповыми изменениями делайте резервную копию.

Частые вопросы о множественном выборе в 1С

Почему в моём документе нет кнопки «Подбор»?

Кнопка подбора — это функциональность конкретной конфигурации, а не платформы. Если её нет, возможны три варианта: подбор вызывается через меню «Добавить — Подбором», конфигурация вообще не предусматривает подбор для этого документа, либо у вашей роли нет прав на соответствующую команду. Проверьте меню «Ещё» и выпадающий список кнопки «Добавить».

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

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

Можно ли в отчёте сохранить список отобранных значений, чтобы не вводить заново?

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

Почему после подбора в документе появились дубли позиций?

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

Работает ли множественный выбор в веб-клиенте и на мобильной платформе?

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