|
Динамический список. Отбор. Список значений. | ☑ | ||
---|---|---|---|---|
0
Realist_x1
24.09.12
✎
13:33
|
На форме есть динамический список. Пытаюсь добавить отбор:
Элементотбора = ЗаказыКлиентов.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); // ЭлементОтбора= ЗаказыКлиентов.Отбор.Элементы[1]; ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлементОтбора.ПравоеЗначение= ЗаполнитьСписокСтатусов(); ЭлементОтбора.Использование = Истина; ЗаполнитьСписокСтатусов() - возвращает список значений. В итоге на форме вместо возвращаемого списка значения - пустой список. В отладчике все нормально,правому значению все присваивается. ЧЯДНТ ? |
|||
1
Goggy
24.09.12
✎
13:35
|
А точно надо компоновкой?
Или может проще установить параметр в запросе? |
|||
2
vicof
24.09.12
✎
13:35
|
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Статус");
я думаю, что эта строчка не нужна |
|||
3
Goggy
24.09.12
✎
13:36
|
(0)Если компоновкой то это делается вот так...
Процедура УстановитьЭлементОтбораСписка(Список, ИмяПоля, ПравоеЗначение, ВидСравнения = Неопределено) Экспорт ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля); ЭлементОтбора.ВидСравнения = ?(ВидСравнения = Неопределено, ВидСравненияКомпоновкиДанных.Равно, ВидСравнения); ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ПравоеЗначение; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; КонецПроцедуры // УстановитьЭлементОтбораСписка() |
|||
4
Goggy
24.09.12
✎
13:37
|
(2) Не угадал :)
|
|||
5
Realist_x1
24.09.12
✎
13:39
|
(3) и что нового ты написал ? у меня точно так и устанавливается. ВСе отличное работает для ВидСравненияКомпоновкиДанных.Равно и ПравоеЗначение - конкретная ссылка, а не список значений. Повторяюсь - не работает именно со списком.
|
|||
6
Goggy
24.09.12
✎
13:44
|
(5) Так для каждого элемента списка и установи, ну или список фигню возвращает
|
|||
7
Realist_x1
24.09.12
✎
13:47
|
(6) список фигню возвращает - см. выше. Список возвращает все хорошо и правильно.
Так для каждого элемента списка и установи - вопрос изначально стоит по другому. Больше вариантов по теме нет? |
|||
8
vmv
24.09.12
✎
13:47
|
ЗаполнитьСписокСтатусов();
шо за хреновина? (5) понты не колоты - выкладывай код шо там за список вылазеет, напихал туда пустых значений и пургометишь тут |
|||
9
hhhh
24.09.12
✎
13:55
|
(7) может
ЭлементОтбора= ЗаказыКлиентов.Отбор.Элементы[0]; ?? |
|||
10
Realist_x1
24.09.12
✎
13:56
|
(8) ЗаполнитьСписокСтатусов();
шо за хреновина? Функция,возвращающая список значений. Код большой, не имеет смысла выкладывать. Заменял в качестве пробы на: ФФ = Новый списокЗначений(); ФФ.Добавить(Справочники.СтатусыДокументов.НайтиПоКоду("001")); ФФ.Добавить(Справочники.СтатусыДокументов.НайтиПоКоду("002")); ФФ.Добавить(Справочники.СтатусыДокументов.НайтиПоКоду("003")); возврат ФФ; Результат тот же. Повторяюсь - в отладчике все нормально. |
|||
11
Realist_x1
24.09.12
✎
13:56
|
(9) этот отбор идет вторым поэтому 1, а не 0.
|
|||
12
hhhh
24.09.12
✎
13:59
|
(11) ну, значит, первый отбор копайте.
|
|||
13
Realist_x1
24.09.12
✎
14:01
|
(12) удалял. результат тот же.
|
|||
14
Jaap Vduul
24.09.12
✎
14:05
|
В свойствах параметра в СКД - "доступен список значений"
|
|||
15
Realist_x1
24.09.12
✎
14:07
|
(14) ну причем тут параметры скд....
|
|||
16
vicof
24.09.12
✎
14:22
|
В у поля какой тип?
|
|||
17
Realist_x1
24.09.12
✎
14:44
|
В общем вышел из ситуации через параметр, как в (1), но вопрос остался открытым.
|
|||
18
Goggy
24.09.12
✎
15:32
|
(10) Так это ты получается на сервере делал?
Пробни переделать под клиент... |
|||
19
DexterMorgan
24.09.12
✎
16:14
|
(0) ЗаполнитьСписокСтатусов() верни не СписокЗначений а Массив
|
|||
20
DexterMorgan
24.09.12
✎
16:14
|
У меня была такая проблема, с массивом работало, со списком значений - нет
|
|||
21
vmv
24.09.12
✎
16:20
|
в запросе ДСписка если программно передавать в качестве параметра список, а не массив - 100% не хавает, т.е. нужно всегда передавать массив. Я сошелся на том с точки зрения платформы экономичнее в ДСписки получать в качестве простой коллекции массив, правда разработчики "забыли" уточнить, что список передавать нельзя.
И все же я думаю, что "Функция,возвращающая список значений. Код большой, не имеет смысла выкладывать." в этом большом коде косяк с попаданием в список пустого значения - итого маемо то шо маемо. В первую очередь нужно смотреть в отладчике состав коллекции и если в ней нет пустых и результат ноль, то заменять на массив. все - хватит сопли жувать |
|||
22
Realist_x1
25.09.12
✎
16:45
|
(21)то заменять на массив.
Благодарствую. Помогло. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |