Как в обработке на управляемых формах выбрать несколько документов одного типа?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Использование реквизита типа «Список значений»

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

  1. Откройте форму обработки в конфигураторе.
  2. Перейдите на вкладку «Реквизиты» и создайте новый реквизит.
  3. В поле «Тип» выберите СписокЗначений.
  4. Перетащите созданный реквизит на форму. В поле «Вид» элемента формы укажите «Поле списка».
  5. Для того чтобы список автоматически предлагал нужный тип документа (например, ДокументСсылка.ЗаказПоставщику), необходимо программно или через настройки формы указать тип значения для списка.

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

Реализация множественного выбора через стандартную форму

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

Для реализации этого метода необходимо в событии НачалоВыбора (или в процедуре по нажатию кнопки) вызвать форму выбора с соответствующим параметром:


&НаКлиенте
Процедура СписокДокументовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ПараметрыВыбора = Новый Структура(\"МножественныйВыбор\", Истина);
    ОткрытьФорму(\"Документ.ЗаказПоставщику.ФормаВыбора\", ПараметрыВыбора, Элемент);
КонецПроцедуры

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

Расширенные возможности и рекомендации

Для создания более профессионального интерфейса можно использовать элемент формы Таблица. Вместо простого списка значений вы можете создать реквизит формы с типом ТаблицаЗначений. Это дает ряд преимуществ:

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

Заключение

Подводя итог, выбор способа зависит от ваших задач:

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

← На главную