Имя: Пароль:
1C
1С v8
v8.2 форма выбора элементов справочника....
0 milaffka
 
05.03.13
15:19
День добрый! Нужна помощь...
На форме есть кнопка, при нажатии на кнопку открываю модально форму выбора элементов справочника. Если я выделяю несколько значений, то форма возвращает массив значений, т.е. массив ссылок на выбранные элементы. Как мне получить доступ к этому массиву?
     ФормаВыбора = Справочники.СотрудникиОрганизаций.ПолучитьФормуВыбора( , ЭтаФорма);  
     ФормаВыбора.Заголовок    = "Выберите сотрудника!..";    
     ФормаВыбора.ОткрытьМодально();

Когда я выбираю по одному элементу( т.е. выбрала и закрыла), то все нормально работает, а с массивом я делаю что - то не то...
1 Fragster
 
гуру
05.03.13
15:26
ВозвращаемоеЗначение = ФормаВыбора.ОткрытьМодально();
ТипВозврата = ТипЗнч(ВозвращаемоеЗначение);
Если ТипВозврата = Тип("Массив") Тогда
 // обрабатываем массив
ИначеЕсли ТипВозврата = Тип("СправочникСсылка.Контрагенты") Тогда
 // обрабатываем одного
Иначе
 ВызватьИсключение "Выберите значение!";
КонецЕсли;
2 palpetrovich
 
05.03.13
15:27
так наверное
ТвойМассив = ФормаВыбора.ОткрытьМодально();
3 milaffka
 
05.03.13
17:26
Попробовала так сделать... В форме выбора выделяю несколько элементов, нажимаю выбрать, а значение возвращает как - будто я выбрала один элемент(1)
4 Fragster
 
гуру
05.03.13
17:28
а в форме выбора множественный выбор-то разрешен?
5 milaffka
 
05.03.13
17:33
в обработчике прописываю  формаВыбора.МножественныйВыбор = Истина;(4)
6 samozvanec
 
05.03.13
17:57
чудеса
7 milaffka
 
05.03.13
18:11
(6) ага, наколдовала по неопытности)
8 Утконос
 
05.03.13
18:16
(5) в каком обработчике, в (0) Невидно
9 milaffka
 
05.03.13
18:20
(8)вот обработчик события;
Процедура ПоРаботникуНажатие(Элемент)
     ФормаВыбора = Справочники.СотрудникиОрганизаций.ПолучитьФормуВыбора( , ЭтаФорма);
     формаВыбора.МножественныйВыбор = Истина;
     ВозвращаемоеЗначение = ФормаВыбора.ОткрытьМодально();
ТипВозврата = ТипЗнч(ВозвращаемоеЗначение);
Если ТипВозврата = Тип("Массив") Тогда
 // обрабатываем массив
   Предупреждение("Обрабатываем массив");

ИначеЕсли ТипВозврата = Тип("СправочникСсылка.СотрудникиОрганизаций") Тогда
 // обрабатываем одного
    Предупреждение("Обрабатываем одного");
Иначе
 ВызватьИсключение "Выберите значение!";
КонецЕсли;    
   КонецПроцедуры
10 milaffka
 
06.03.13
07:59
(0)

ФормаВыбора = Справочники.СотрудникиОрганизаций.ПолучитьФормуВыбора( , ЭлементыФормы.СписокСотрудников);  

Правильно прописала владельца формы выбора и теперь те элементы, которые я выбираю присваиваются таблице значений. Но мне надо получить массив ссылок на выбранные объекты справочника... Не могу разобраться(
11 milaffka
 
06.03.13
08:28
Проблема решена, стоило только быть чуточку внимательнее)
2 + 2 = 3.9999999999999999999999999999999...