Имя: Пароль:
1C
1С v8
Подбор в список значений в форме 8.3
0 breakthrough
 
04.08.14
14:07
Здравствуйте!
Во внешнем отчете не понимаю как реализовать заполнение списка значений в форме значениями с нужным типом.
Реквизит "СписокКонтрагентов" с типом "Список значений" создал, в поле ввода путь к данным указал Отчет.СписокКонтрагентов, но при подборе в список вылезают все типы, да к тому же только при щелчке правой кнопкой мыши и "выбрать".
1 Адский плющ
 
04.08.14
14:09
У реквизита типа СЗ есть свойство "Тип значения"
2 Адский плющ
 
04.08.14
14:09
А не, вру.
3 Адский плющ
 
04.08.14
14:12
Как вариант:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Объект.СписокКонтрагентов.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагент");
    
КонецПроцедуры
4 lxndr
 
04.08.14
14:16
пользуй СКД, там это реализовано :)
5 breakthrough
 
04.08.14
14:27
(3) Так и сделал. Но все равно предлагает выбор из всевозможных типов.
(4) Итак СКД, только источник - набор данных.
6 breakthrough
 
04.08.14
14:43
ауу
7 phaz
 
04.08.14
14:48
(6)Вы в каком виде хотите выбор чтобы на форме был как список выбора?
8 phaz
 
04.08.14
14:49
(7)Т.е. выпадающий список с n-возможными значениями? при этом можно выбрать лишь один вариант либо же чтобы можно было выбрать несколько значений?
9 breakthrough
 
04.08.14
14:52
(7) Да, именно!
(8) Да!
10 phaz
 
04.08.14
14:55
Еще одно уточнение вы в управляемых формах(тонкий клиент) хотите сделать?
11 breakthrough
 
04.08.14
14:59
(10) Да)
12 phaz
 
04.08.14
15:05
Если в управляемых формах то:

Добавляете в форме новый реквизит с типом соответствующему тому который вы хотите выбирать, либо если это разные типы, то ставите галку "составной тип данных" и далее выбираете несколько нужных вам типов.

Далее перетаскиваете созданный вами реквизит из списка реквизитов в список элементов формы

У элемента формы в свойствах ставите галку напротив "РежимВыбораИзСписка"

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

Например:

Элементы.СписокПрЭл.СписокВыбора.Очистить();
    
    Элементы.СписокПрЭл.СписокВыбора.Добавить("Строка1","Стр.1");
    Элементы.СписокПрЭл.СписокВыбора.Добавить("Строка2","Стр.2");

ОБРАТИТЕ ВНИМАНИЕ первый параметр в методе добавить() должен совпадать по типу с типом определенным для реквизита формы!
13 breakthrough
 
04.08.14
15:07
(12) Спасибо. Если я вас правильно понял, то необходимо сначала получить массив на сервере потом его  обойти и заполнить его значениями уже список значений в отчете?
14 breakthrough
 
04.08.14
15:08
(12) Разве нет других способов?
15 phaz
 
04.08.14
15:11
(13)В целом да. Как вы получаете наполнение для списка выбора не важно, главное что делать это надо в процедуре &НаКлиенте потому как Элементы доступны только на клиенте.
16 phaz
 
04.08.14
15:11
(14) Вы похоже путаете понятия "список выбора" и "список значений"
17 phaz
 
04.08.14
15:15
"Список выбора" может быть заполнен из списка значений
18 breakthrough
 
04.08.14
15:15
(14) Просто оговорился про список значений) имел в виду список выбора.
19 phaz
 
04.08.14
15:16
При этом список выбора в отличии от списка значений не является типом данных
20 breakthrough
 
04.08.14
15:16
Да понятно. Вот удивляет почему при установке типа все равно предлагает выбирать из множества других типов.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Объект.СписокКонтрагентов.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Контрагент");
    
КонецПроцедуры
21 phaz
 
04.08.14
15:17
Так вопросы есть еще?
22 breakthrough
 
04.08.14
15:17
По сути я хочу в отчете реализовать множественный подбор контрагентов, также как осуществлется подбор номенклатуры в УТ. Просто заполнять список выбора из справочника.
23 phaz
 
04.08.14
15:18
СписокКонтрагентов это у вас реквизит отчета? И если да то какой у него тип?
24 breakthrough
 
04.08.14
15:18
Вы же предлагаете сделать это программно. Это неудобно и неправильно на мой взгляд. А так спасибо за помощь)
25 breakthrough
 
04.08.14
15:19
(23) Да, реквизит отчета. Тип - список значений.
26 phaz
 
04.08.14
15:19
(22) Так что там с типом данных?
27 breakthrough
 
04.08.14
15:19
(23) Это указано в нулевом посте.
28 breakthrough
 
04.08.14
15:20
(22) тип - список значений.
29 phaz
 
04.08.14
15:21
Ок, Вам надо контрагентов исключительно из справочника контрагентов подбирать?
30 breakthrough
 
04.08.14
15:22
(29) Разумеется)
31 phaz
 
04.08.14
15:45
Тогда так добавляете реквизит формы в поле "Тип" выбираете список значений и в свойствах реквизита в поле "Тип значения" выбираете СправочникСсылка.Контрагенты
32 phaz
 
04.08.14
15:46
Вытаскивете в элементы и сможете выбирать список значений
33 breakthrough
 
04.08.14
16:11
(31) (32) Спасибо! Вроде то, что нужно)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.