1С:Підприємство 8.x: Мультивибір табличного поля

Інколи виникає необхідність встановлення мультивибору табличного поля форми, наприклад, при його збереженні між сеансами. Слід зазначити, що просте присвоєння властивості ВыделенныеСтроки значення, що було, наприклад, серіалізовано за допомогою ЗначениеВСтрокуВнутр(...) / ЗначениеИзСтрокиВнутр(...), ніякого ефекту не дасть, через те, що табличне поле форми є по суті динамічним списком.

Приклад процедури, що встановлює мультивбір, та розгортає необхідні гілки дерева:

Процедура ВыделенныеСтрокиПоСпискуЗначений(Список,ЭлФормыСписок)
 ЭлФормыСписок.ВыделенныеСтроки.Очистить();
 ПервыйПроход = Истина;
 Для каждого Стр Из Список Цикл
  Если ПервыйПроход Тогда
   ЭлФормыСписок.ТекущаяСтрока = Стр.Значение;
    ПервыйПроход = Ложь;
  КонецЕсли;
  ЭлФормыСписок.ВыделенныеСтроки.Добавить(Стр.Значение);
 КонецЦикла;
 Для каждого Стр Из ЭлФормыСписок.ВыделенныеСтроки Цикл
  ЭлФормыСписок.Развернуть(Стр);
 КонецЦикла;
КонецПроцедуры

При першому проходженні встановлюється активна стрічка. Якщо цього не зробити, то вибраними будуть не лише стрічки, які нам потрібні, а й стрічка, що була поточною до встановлення.

Додати новий коментар

Фото Капча
Введіть символи з картинки.