|
Как в элементе формы созданном программно задать свой список выбора? |
☑ |
0
vi0
02.02.15
✎
18:42
|
Добрый день
Как в элементе формы созданном программно задать свой список выбора?
В коде приведенном ниже СписокВыбора в результате содержит все значения перечисления + мои добавленные.
В момент изменения мной СписокВыбора он пустой.
Создаю в ПриСозданииНаСервере.
ДобавляемыеРеквизиты = Новый Массив;
Реквизит = Новый РеквизитФормы("Статус", Новый ОписаниеТипов("ПеречислениеСсылка.Статусы"));
ДобавляемыеРеквизиты.Добавить(Реквизит);
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
Элемент = Элементы.Добавить("Статус", Тип("ПолеФормы"));
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = "Статус";
Элемент.СписокВыбора.Добавить(Перечисления.Статусы.Статус1, "А");
Элемент.СписокВыбора.Добавить(Перечисления.Статусы.Статус2, "Б");
|
|
1
vi0
03.02.15
✎
10:00
|
подниму
|
|
2
Smallrat
03.02.15
✎
10:08
|
создать элемент руками - убедится что так работает. в отладчике вывести его свойства, сохранить в таблицу, тоже самое с программным. сравнить две таблицы - посмотреть какие свойства отличаются.
|
|
3
Lys
03.02.15
✎
10:10
|
Элемент.РежимВыбораИзСписка = Истина;
|
|
4
hhhh
03.02.15
✎
10:18
|
(1) ну это, Элемент.СписокВыбора.Очистить();
|
|
5
Smallrat
03.02.15
✎
10:48
|
(3) это необязательно. А еще эта галка приводит к интересным эффектам - например вам нужен список из элементов справочника, у которых проставлена Актуальность=Истина, так вот если взять объект, у которого в поле выбора выбран элемент с Актуальность=Ложь (какой-нить старый документ), то формирование списка выбора с галкой РежимВыбораИзСписка проставит проставит пустое значение в поле выбора.
Надо еще знать в каком режиме совместимости работает интерфейс - если режим отключен, там не работает выбор из списка как в 8.2, не срабатывает событие "НачалоВыбораИзСписка" - вышеприведённый пример как раз для отключенного режима.
|
|
6
vi0
03.02.15
✎
11:11
|
(3) так получилось, тут я протупил - список задал, а флаг РежимВыбораИзСписка не установил
список при этом содержит только мои 2 элемента, а вывод что СписокВыбора содержит все значения перечисления + мои добавленные я сделал т.к. в результате в выпадающем списке платформа таки показывает все элементы перечисления + элементы списка выбора
спасибо
|
|
7
vi0
03.02.15
✎
12:17
|
(5) а что ты имел ввиду под "это необязательно" ?
|
|
8
Smallrat
03.02.15
✎
12:24
|
(7) ну вот так вот, например, тоже работает:
чтобы лишних элементов не появлялось: выключен быстрый выбор и история выбора.
Но это все с отлюченным режимом совместимости - там со выборами из списка все переработали.
|
|
9
vi0
03.02.15
✎
12:59
|
(8) а список выбора задан?
|
|
10
Smallrat
03.02.15
✎
13:14
|
(9) естественно
Список = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Пакет");
Элементы.ПакетПерсональныхУслуг.СписокВыбора.ЗагрузитьЗначения(Список);
|
|
11
vi0
03.02.15
✎
14:40
|
(10) понятно, ну вариант (3) у меня сейчас решил вопрос
|
|