Имя: Пароль:
1C
1С v8
УФ как правильно передать массив в параметр динамического списка?
0 Чужой
 
20.08.13
12:58
Приветствую.
Изучаю конфигурирование. В форме выбора справочника - динамический список. В качестве параметра формы поставил - список значений. Уперся в то что отрабатывается только первый элемент из списка значений, нашел что нужно в параметр передавать массив. Но в типах параметра нет значения Массив. Что же правильно выбрать в типе значений? Если оставляю тип "список значения" то он приходит пустой при открытии формы

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Список.Параметры.УстановитьЗначениеПараметра("СписокЗанятых", Параметры.СписокЗанятых);
КонецПроцедуры

хотя передается заполненный массив - проверил в отладчике. Понимаю что решение гдето на поверхности но уже просто туплю.
1 fimanich
 
20.08.13
13:08
(0) наверное нужно произвольный запрос динамического списка в студию
2 Чужой
 
20.08.13
13:12
вот текст запроса

ВЫБРАТЬ
    СправочникВодители.Ссылка,
    СправочникВодители.ВерсияДанных,
    СправочникВодители.ПометкаУдаления,
    СправочникВодители.Предопределенный,
    СправочникВодители.Наименование,
    СправочникВодители.ФизЛицо
ИЗ
    Справочник.Водители КАК СправочникВодители
ГДЕ
    СправочникВодители.Ссылка В(&СписокЗанятых)
3 Чужой
 
20.08.13
13:15
но я по шагам смотрел в отладчике - до открытия формы

ПараметрыФормы = Новый Структура("СписокЗанятых",СписокЗанятых);
ОткрытьФорму("Справочник.Водители.Форма.ФормаВыбора", ПараметрыФормы);

СписокЗанятых - это массив и в нем есть элементы.

а при открытии
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Список.Параметры.УстановитьЗначениеПараметра("СписокЗанятых", Параметры.СписокЗанятых);
КонецПроцедуры

это СписокЗначений и он пуст.
Дело я так понимаю в типе параметра СписокЗначений - там стоит СписокЗначений. Но что нужно ставить для массива?
4 Csar
 
20.08.13
13:17
(3) Может из массива надо в СЗ перевести?
5 Чужой
 
20.08.13
13:19
(4) Да вроде нет, вот тут такая же проблема была, но до конца не обьяснил человек как исправил

v8: ДинамическийСписок и СписокЗначений.
6 Чужой
 
20.08.13
13:22
(3) >>в типе параметра СписокЗначений
   нужно читать
в типе параметра СписокЗанятых
7 Чужой
 
20.08.13
14:01
Ап
8 fimanich
 
20.08.13
14:54
Попробуй все же список значений, а не массив передавать... А вдруг взлетит...
9 Чужой
 
20.08.13
15:03
(8) да взлетает оно, но только с одним элементом в списке )))
в произвольном запросе работает так как будто в списке значений один элемен а не несколько. в (5) а нашел, там тоже было такое, человек как то через массив решил
10 fimanich
 
20.08.13
15:24
(9) предлагаю не параметр передавать в динамический список, а программно устанавливать отбор СКД по Ссылка в Списке.
11 fimanich
 
20.08.13
15:29
Кстати, у управляемой формы динамического списка есть параметр Отбор - это структура, вот ты и устанавливай в эту структуру свой массив.
Отбор = Новый Структура;
Отбор.Вставить("Ссылка", Массив);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Отбор", Отбор);
ОткрытьФорму("Справочник.Водители.Форма.ФормаВыбора", ПараметрыФормы);
как-то так
Тогда при создании на сервере кода не надо...
12 Чужой
 
20.08.13
15:44
в общем нашлось. Работает если ТипЗначения для Параметра установить в Произвольный. Тогда принимает массив и отрабатывает верно в произвольном запросе
13 fimanich
 
20.08.13
16:02
(12) все же попробуй (11), ибо это более просто и кода в форме писать не надо, и даже не надо, чтобы был произвольный запрос, т.е. форму списка вообще можно не трогать.
14 Чужой
 
20.08.13
16:34
(13) я бы с удовольствием попробовал но не могу. Учусь на курсах и преподаватель рекомендовал сделать именно через произвольный запрос.
15 fimanich
 
20.08.13
16:45
(14) а ты сделай так как вариант, думаю препод похвалит, ибо он либо забыл, что так можно, либо если не знает, то это довольно странно...
Т.к. это классика, так сказать, "Радченко 1-я часть"
16 DexterMorgan
 
20.08.13
17:01
(8) наоборот, СЗ косячит, массив отрабатывает норм