Имя: Пароль:
1C
1С v8
Множественный выбор в динамическом списке
0 gul_Sayan
 
18.10.22
09:35
Вроде как поставил галку в МножественныйВыбор. Отображение списка иерархический список. Но при этом в событии При активизации строки и при активизации ячейки в выделенных строках максимум 1 значение и при выборе одной и той же строки часто в массиве разные значения. Что делаю не так?
1 asady
 
18.10.22
09:38
(0) при активизации (строки, ячейки) к множественному выбору отношения не имеет
Смотри обработчик события "Выбор" -
там должен быть массив выделенных строк - что тебе не нравится?
2 gul_Sayan
 
18.10.22
09:53
(1)Так в том то и дело, что Выбор не срабатывает. Бегу по списку помечаю строки а в соседней таблице вывожу связанную информацию, по конкретной строке без проблем, а по нескольким помеченным строкам глухо.
3 asady
 
18.10.22
10:44
(2) вот сейчас заморочился
кинул на форму динамический список
и текстовое поле (Описание)

у списка событие при активизации строки

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
    Описание = "";
    Для каждого стр из Элементы.Список.ВыделенныеСтроки Цикл
        Описание = Описание + Символы.ПС + Элементы.Список.ТекущиеДанные.Наименование;
    КонецЦикла;    
    Если Описание <> "" Тогда
        Описание = Сред(Описание,2);
    КонецЕсли;    
КонецПроцедуры


все прекрасно выводится
4 gul_Sayan
 
18.10.22
11:36
(3) делаю то же самое:
спПодразделенийСРуководителями.Очистить();  
    СписокПодразделений = Новый Массив();  
    Если Элементы.спПодразделенийСРуководителями.ВыделенныеСтроки.Количество() > 0 Тогда
        Для каждого ткСтрока Из Элементы.спПодразделенийСРуководителями.ВыделенныеСтроки Цикл
            ткДанные = Элементы.спПодразделенийСРуководителями.ДанныеСтроки(ткСтрока);
            Если ткДанные <> Неопределено Тогда
                СписокПодразделений.Добавить(ткДанные.Ссылка);
            Иначе
                ткДанные = Элемент.ТекущиеДанные;
                Если ткДанные <> Неопределено Тогда
                    СписокПодразделений.Добавить(ткДанные.Ссылка);
                КонецЕсли;
            КонецЕсли;    
        КонецЦикла;
    Иначе
        ткДанные = Элемент.ТекущиеДанные;
        Если ткДанные <> Неопределено Тогда
            СписокПодразделений.Добавить(ткДанные.Ссылка);
        КонецЕсли;
    КонецЕсли;
    ЗаполнитьРуководителей(СписокПодразделений);

    Элементы.спПодразделенийСРуководителями.Обновить();
Но количество() всегда 1. И не понял а стр вы в цикле не задействуете?
5 gul_Sayan
 
18.10.22
11:38
Увидел ошибку. Не к той таблице обратился.
6 asady
 
18.10.22
12:36
(4) "И не понял а стр вы в цикле не задействуете?"
конечно там неправильный копи-паст
вместо
Элементы.Список.ТекущиеДанные.Наименование
надо
Элементы.Список.ДанныеСтроки(стр).Наименование